| Last change
 on this file since 1103 was             613, checked in by George Lilly, 16 years ago | 
        
          | 
initial load of WorldVistAEHR
 | 
        
          | File size:
            822 bytes | 
      
      
| Line |  | 
|---|
| 1 | RORXU004 ;HCIOFO/SG - REPORT UTILITIES (STATISTICS) ; 9/23/03 10:51am | 
|---|
| 2 | ;;1.5;CLINICAL CASE REGISTRIES;;Feb 17, 2006 | 
|---|
| 3 | ; | 
|---|
| 4 | Q | 
|---|
| 5 | ; | 
|---|
| 6 | ;***** CALCULATES THE MEDIAN VALUE OF THE CROSS-REFERENCE | 
|---|
| 7 | ; | 
|---|
| 8 | ; XREFNODE      Root node of the old-style cross-reference | 
|---|
| 9 | ; NUM           Total number of elements in the array | 
|---|
| 10 | ; | 
|---|
| 11 | ; Return Values: | 
|---|
| 12 | ;       ""  Error (or an empty array) | 
|---|
| 13 | ;     '=""  Median Value | 
|---|
| 14 | ; | 
|---|
| 15 | XREFMDNV(XREFNODE,NUM) ; | 
|---|
| 16 | Q:NUM'>0 "" | 
|---|
| 17 | N FLT,FLTL,I,MV,N,PI,VPOS | 
|---|
| 18 | S FLTL=$L(XREFNODE)-1,FLT=$E(XREFNODE,1,FLTL) | 
|---|
| 19 | S N=(NUM+1)\2,VPOS=$QL(XREFNODE)+1 | 
|---|
| 20 | ;--- Find the median value | 
|---|
| 21 | S PI=XREFNODE | 
|---|
| 22 | F I=1:1:N  S PI=$Q(@PI)  Q:$E(PI,1,FLTL)'=FLT | 
|---|
| 23 | Q:$E(PI,1,FLTL)'=FLT "" | 
|---|
| 24 | ;--- Calculate median value if NUM is even | 
|---|
| 25 | S MV=$QS(PI,VPOS) | 
|---|
| 26 | I '(NUM#2)  D  Q:I="" ""  S MV=(MV+I)/2 | 
|---|
| 27 | . S PI=$Q(@PI),I=$S($E(PI,1,FLTL)=FLT:$QS(PI,VPOS),1:"") | 
|---|
| 28 | Q MV | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.