Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: RORXU004

RORXU004.m

Go to the documentation of this file.
  1. RORXU004 ;HCIOFO/SG - REPORT UTILITIES (STATISTICS) ; 9/23/03 10:51am
  1. ;;1.5;CLINICAL CASE REGISTRIES;;Feb 17, 2006
  1. ;
  1. Q
  1. ;
  1. ;***** CALCULATES THE MEDIAN VALUE OF THE CROSS-REFERENCE
  1. ;
  1. ; XREFNODE Root node of the old-style cross-reference
  1. ; NUM Total number of elements in the array
  1. ;
  1. ; Return Values:
  1. ; "" Error (or an empty array)
  1. ; '="" Median Value
  1. ;
  1. XREFMDNV(XREFNODE,NUM) ;
  1. Q:NUM'>0 ""
  1. N FLT,FLTL,I,MV,N,PI,VPOS
  1. S FLTL=$L(XREFNODE)-1,FLT=$E(XREFNODE,1,FLTL)
  1. S N=(NUM+1)\2,VPOS=$QL(XREFNODE)+1
  1. ;--- Find the median value
  1. S PI=XREFNODE
  1. F I=1:1:N S PI=$Q(@PI) Q:$E(PI,1,FLTL)'=FLT
  1. Q:$E(PI,1,FLTL)'=FLT ""
  1. ;--- Calculate median value if NUM is even
  1. S MV=$QS(PI,VPOS)
  1. I '(NUM#2) D Q:I="" "" S MV=(MV+I)/2
  1. . S PI=$Q(@PI),I=$S($E(PI,1,FLTL)=FLT:$QS(PI,VPOS),1:"")
  1. Q MV