LR7OSUM6 ;DALOI/dcm - Silent Patient cum cont. ;Mar 11, 2003
 ;;5.2;LAB SERVICE;**121,201,187,286,356**;Sep 27, 1994;Build 8
 ;
LRUDT(X) ;Get output date/time
 N LRTIM,I
 S LRTIM=$E(X,9,12) F I=0:0 Q:$L(LRTIM)=4  S LRTIM=LRTIM_0
 S LRTIM=$S(LRTIM?4"0":"     ",1:$E(LRTIM,1,2)_":"_$E(LRTIM,3,4)),LRUDT=$$FMTE^XLFDT($P(X,"."),"5Z")_" "_$J(LRTIM,5)_" "
 Q LRUDT
 ;
 ;
HEAD ;from LR7OSUM3, LR7OSUM4, LR7OSUM5
 D LRBOT,TOP
 Q
 ;
 ;
LRBOT ;from LR7OSUM3
 N L1 D LINE^LR7OSUM4
Y D LINE^LR7OSUM4
 Q
 ;
 ;
TOP ;from LR7OSUM3
 S LRAG=0
 Q
 ;
 ;
KILL D HEAD Q
 Q
 ;
 ;
LRMISC S LRFDT=0,LRPG=1 D TOP
 ;
MHI S LRMHN=$P(^TMP($J,LRDFN,LRMH),U,1),LRCNT=12 D WR
 ;
MDT S LRFDT=$O(^TMP($J,LRDFN,"MISC",LRFDT)) G:LRFDT<1 END
 S LRUDT=$$LRUDT(9999999-LRFDT) D LRCNT S LRMIT=0
 ;
LRMIT S LRMIT=$O(^TMP($J,LRDFN,"MISC",LRFDT,LRMIT)) G:LRMIT="TX" TXT G:LRMIT="" MDT S X=^(LRMIT) G:LRMIT=.1 MSG
 ;
 S LRVAL=$P(X,U,1),LRSPE=$P(X,U,2),LRTEST=$P(X,U,3),X1=$P(X,U,4)
 ;S LRLO="",LRHI=","LRUNT=""
 S LRLO=$P(X,"^",6),LRHI=$P(X,"^",7),LRUNT=$P(X,"^",8)
 S LRSPEM=$S($L(LRSPE):$P(^LAB(61,LRSPE,0),U,1),1:"")
 G:'LRTEST COMM
 S LRNAME=$P(^LAB(60,LRTEST,.1),U,1)
 ;S:$L(LRSPE)&($D(^LAB(60,LRTEST,1,LRSPE,0))) X=^(0),@("LRLO="_$S($L($P(X,U,2)):$P(X,U,2),1:"""""")),@("LRHI="_$S($L($P(X,U,3)):$P(X,U,3),1:"""""")),LRUNT=$P(X,U,7)
 ;
WR1 D LINE^LR7OSUM4
 S LRREF=""
 I LRLO'="",LRHI'="" S LRREF=LRLO_" to "_LRHI
 I LRLO'="",LRHI="" S LRREF=$S(LRLO?.AP:LRLO,1:"low: "_LRLO)
 I LRLO="",LRHI'="" S LRREF=$S(LRHI?.AP:LRHI,1:"high: "_LRHI)
 S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,LRUDT)_$$S^LR7OS(19,CCNT,$E(LRSPEM,1,16))_$$S^LR7OS(37,CCNT,LRNAME_":")_$$S^LR7OS(50,CCNT,LRVAL_" "_X1_"  "_LRUNT)_$$S^LR7OS(67,CCNT,LRREF)
 S:'$P($G(^TMP("LRT",$J,LRNAME)),"^",2) $P(^(LRNAME),"^",2)=GCNT
 K LRREF
 G LRMIT
 ;
 ;
MSG D LINE^LR7OSUM4,LINE^LR7OSUM4
 X X ;Need to see what is in X
 G LRMIT
 ;
 ;
COMM D LN
 S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,"COMMENT: "_LRVAL)
 G LRMIT
 ;
 ;
WR ;
 D LINE^LR7OSUM4
 S X=GIOM/2-($L(LRMHN)/2+5)
 S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(X,CCNT,"---- "_LRMHN_" ----"),^TMP("LRH",$J,LRMHN)=GCNT
 D LINE^LR7OSUM4
 D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(4,CCNT,"DATE    TIME   SPECIMEN")_$$S^LR7OS(37,CCNT,"TEST")_$$S^LR7OS(50,CCNT,"VALUE")_$$S^LR7OS(64,CCNT,"Ref ranges")
 D LN S X="",$P(X,"-",GIOM)="",^TMP("LRC",$J,GCNT,0)=X
 Q
 ;
 ;
TXT S I=0
 F  S I=$O(^TMP($J,LRDFN,"MISC",LRFDT,"TX",I)) Q:I<1  S GCNT=GCNT+1,^TMP("LRC",$J,GCNT,0)=^(I,0)
 G LRMIT
 ;
 ;
END S X="",$P(X,"=",GIOM)="",GCNT=GCNT+1,^TMP("LRC",$J,GCNT,0)=X
 D LRBOT S LRLO=""
 K LRSB,LRMISC
 Q
 ;
 ;
PRE ;from LR7OSUM3
 Q:$D(^TMP($J,LRDFN,"MISC"))'=11
 S LRMISC=1,LRPG=0,LRMH="MISC"
 G LRMISC
 ;
 ;
LRCNT ;
 S LRCNT=0,I=0
 F  S I=$O(^TMP($J,LRDFN,LRMH,LRFDT,I)) Q:I<1  S LRCNT=LRCNT+1
 S LRCTN=0
 I $D(^TMP($J,LRDFN,LRMH,LRFDT,"TX")) D
 . S J=0
 . F  S J=$O(^TMP($J,LRDFN,LRMH,LRFDT,"TX",J)) Q:J<1  S LRCTN=LRCTN+1
 S LRCNT=LRCNT*2+5+LRCTN
 Q
 ;
 ;
LN ;
 S CCNT=1,GCNT=GCNT+1
 Q
