GMVHW0 ;HIOFO/YH,FT-HP LASER WEIGHT CHART - DATA ARRAY ;12/6/01 11:35
;;5.0;GEN. MED. REC. - VITALS;;Oct 31, 2002
;
; This routine uses the following IAs:
; #10061 - ^VADPT calls (supported)
;
EN1 ;
S GMRHT=0 K ^TMP($J,"GMR"),^TMP($J,"GMRK"),^TMP($J,"GDT"),^TMP($J,"GTNM"),GWT S GWT=0
S GSTART1=(9999999-GMRFIN)-.0001,GEND1=9999999-GMRSTRT
F GTYPE="H","W" D SETT^GMVWT0
F I=1:1:8 S GWT(I)=""
I GWT>0 S GWT=GWT\10*10-40,J=0 F I=1:1:8 S GWT(I)=GWT+(10*J),J=J+1,GWT(I)=GWT(I)_"/"_$J(GWT(I)/2.2,0,2)
U IO D GRAPH
Q1 D Q1^GMVWT0 K GRAPHW Q
GRAPH ;
D DEM^VADPT,INP^VADPT S SSN=$P(VADM(2),"^",2)
S GPG=0 D SETV^GMVWT1 F GK="H","W" S ^TMP($J,"GTNM",GK)=0 F GI=0:0 S GI=$O(^TMP($J,"GMRVG",GK,GI)) Q:GI'>0 S GJ="" F X=0:0 S GJ=$O(^TMP($J,"GMRVG",GK,GI,GJ)) Q:GJ="" S ^TMP($J,"GTNM",GK)=^TMP($J,"GTNM",GK)+1,^TMP($J,"GDT",GI)=""
S GTNM=0 F X=0:0 S X=$O(^TMP($J,"GDT",X)) Q:X'>0 S GTNM=GTNM+1
S GPG=$S(GTNM=0:1,1:GTNM\10+''(GTNM#10)),GDT1=0
F GPGS=1:1:GPG K GMRQUAL S ^TMP($J,"GMRK","G199")="Page "_GPGS D SETP^GMVWT1,DATE,PAGE D ^GMVHW1
D KVAR^VADPT K VA Q
PAGE ;
;DATA FOR WEIGHT GRAPH
K GRAPHW S GRAPHW=0,I=1,J=161,GPA=0 F GI=141:1:150 S GRAPHW=0.6+(1.6*(I-1)) D:^TMP($J,"GMRK","G"_GI)'="" S I=I+1,J=J+1
.S GRAPHW(I)=$S(GPA=0:"PA",1:"PD")_GRAPHW_","_^TMP($J,"GMRK","G"_GI)_";LB"_^TMP($J,"GMRK","G"_J)_"#;",GPA=1
I $D(GMRQUAL) D LEGEND^GMVLGQU
K GPA Q
DATE F GCNTD=1:1:10 S:$L(GDT1) GDT1=$O(^TMP($J,"GDT",GDT1)) S ^TMP($J,"GMRK","G"_GCNTD)=$S($L(GDT1):$E(GDT1,4,5)_"-"_$E(GDT1,6,7)_"-"_$E(GDT1,2,3),1:"") D DATE1
Q
DATE1 S Y=$E($P(GDT1,".",2)_"0000",1,4),^TMP($J,"GMRK","G"_(GCNTD+16))=$S($L(GDT1):$E(Y,1,2)_":"_$E(Y,3,4),1:"") D SETD
Q
SETD F GI="H","W" S GJ=$S(GI="W":100,1:160),GK=$S($L(GDT1):$O(^TMP($J,"GMRVG",GI,GDT1,"")),1:"") D SETA
Q
SETA ;
I GK="Unavailable" S GK="Unavail"
S (GMRSITE,GMRSITE(1),GMRSITE(2),GMRINF,GMRVJ)=""
I GK'="" D
. S GMRSITE(1)=$P($G(^TMP($J,"GMRVG",GI,GDT1,GK)),"^"),GMRVJ=$P($G(^(GK)),"^",2),GMRINF=$P($G(^(GK)),"^",4)
. I GMRSITE(1)'="" D SYNOARY^GMVLGQU
I GI="H" S ^TMP($J,"GMRK","G"_(300+GCNTD))=GK,^("G"_(340+GCNTD))=GMRSITE,^TMP($J,"GMRK","G"_(320+GCNTD))=$S(GK>0:$J(GK*2.54,0,2),1:"") S:GK>0 GMRHT=GK*2.54/100 Q
S ^TMP($J,"GMRK","G"_(180+GCNTD))=GMRSITE
I GK>0 D
. S GMRBMI="",GMRBMI(1)=GDT1,GMRBMI(2)=GK D CALBMI^GMVBMI(.GMRBMI)
. S ^TMP($J,"GMRK","G"_(210+GCNTD))=$S(GMRBMI>0:GMRBMI,1:"") K GMRBMI
S ^TMP($J,"GMRK","G"_(100+GCNTD))=GK,^TMP($J,"GMRK","G"_(120+GCNTD))=$S(GK>0:$J(GK/2.2,0,2),1:"")
S ^TMP($J,"GMRK","G"_(140+GCNTD))=$S(GK>0:GK-(GWT-10)/5,1:"") S:GK>0 ^TMP($J,"GMRK","G"_(160+GCNTD))="W"
I GK>0 S ^TMP($J,"GMRK","G"_(140+GCNTD))=$S(^TMP($J,"GMRK","G"_(140+GCNTD))<0.4:0.4,^("G"_(140+GCNTD))>16.5:16.5,1:^("G"_(140+GCNTD))) S:^("G"_(140+GCNTD))<0.5!(^("G"_(140+GCNTD))>16.4) ^TMP($J,"GMRK","G"_(160+GCNTD))="W**"
Q
GMVHW0 ;HIOFO/YH,FT-HP LASER WEIGHT CHART - DATA ARRAY ;12/6/01 11:35
+1 ;;5.0;GEN. MED. REC. - VITALS;;Oct 31, 2002
+2 ;
+3 ; This routine uses the following IAs:
+4 ; #10061 - ^VADPT calls (supported)
+5 ;
EN1 ;
+1 SET GMRHT=0
KILL ^TMP($JOB,"GMR"),^TMP($JOB,"GMRK"),^TMP($JOB,"GDT"),^TMP($JOB,"GTNM"),GWT
SET GWT=0
+2 SET GSTART1=(9999999-GMRFIN)-.0001
SET GEND1=9999999-GMRSTRT
+3 FOR GTYPE="H","W"
DO SETT^GMVWT0
+4 FOR I=1:1:8
SET GWT(I)=""
+5 IF GWT>0
SET GWT=GWT\10*10-40
SET J=0
FOR I=1:1:8
SET GWT(I)=GWT+(10*J)
SET J=J+1
SET GWT(I)=GWT(I)_"/"_$JUSTIFY(GWT(I)/2.2,0,2)
+6 USE IO
DO GRAPH
Q1 DO Q1^GMVWT0
KILL GRAPHW
QUIT
GRAPH ;
+1 DO DEM^VADPT
DO INP^VADPT
SET SSN=$PIECE(VADM(2),"^",2)
+2 SET GPG=0
DO SETV^GMVWT1
FOR GK="H","W"
SET ^TMP($JOB,"GTNM",GK)=0
FOR GI=0:0
SET GI=$ORDER(^TMP($JOB,"GMRVG",GK,GI))
IF GI'>0
QUIT
SET GJ=""
FOR X=0:0
SET GJ=$ORDER(^TMP($JOB,"GMRVG",GK,GI,GJ))
IF GJ=""
QUIT
SET ^TMP($JOB,"GTNM",GK)=^TMP($JOB,"GTNM",GK)+1
SET ^TMP($JOB,"GDT",GI)=""
+3 SET GTNM=0
FOR X=0:0
SET X=$ORDER(^TMP($JOB,"GDT",X))
IF X'>0
QUIT
SET GTNM=GTNM+1
+4 SET GPG=$SELECT(GTNM=0:1,1:GTNM\10+''(GTNM#10))
SET GDT1=0
+5 FOR GPGS=1:1:GPG
KILL GMRQUAL
SET ^TMP($JOB,"GMRK","G199")="Page "_GPGS
DO SETP^GMVWT1
DO DATE
DO PAGE
DO ^GMVHW1
+6 DO KVAR^VADPT
KILL VA
QUIT
PAGE ;
+1 ;DATA FOR WEIGHT GRAPH
+2 KILL GRAPHW
SET GRAPHW=0
SET I=1
SET J=161
SET GPA=0
FOR GI=141:1:150
SET GRAPHW=0.6+(1.6*(I-1))
IF ^TMP($JOB,"GMRK","G"_GI)'=""
Begin DoDot:1
+3 SET GRAPHW(I)=$SELECT(GPA=0:"PA",1:"PD")_GRAPHW_","_^TMP($JOB,"GMRK","G"_GI)_";LB"_^TMP($JOB,"GMRK","G"_J)_"#;"
SET GPA=1
End DoDot:1
SET I=I+1
SET J=J+1
+4 IF $DATA(GMRQUAL)
DO LEGEND^GMVLGQU
+5 KILL GPA
QUIT
DATE FOR GCNTD=1:1:10
IF $LENGTH(GDT1)
SET GDT1=$ORDER(^TMP($JOB,"GDT",GDT1))
SET ^TMP($JOB,"GMRK","G"_GCNTD)=$SELECT($LENGTH(GDT1):$EXTRACT(GDT1,4,5)_"-"_$EXTRACT(GDT1,6,7)_"-"_$EXTRACT(GDT1,2,3),1:"")
DO DATE1
+1 QUIT
DATE1 SET Y=$EXTRACT($PIECE(GDT1,".",2)_"0000",1,4)
SET ^TMP($JOB,"GMRK","G"_(GCNTD+16))=$SELECT($LENGTH(GDT1):$EXTRACT(Y,1,2)_":"_$EXTRACT(Y,3,4),1:"")
DO SETD
+1 QUIT
SETD FOR GI="H","W"
SET GJ=$SELECT(GI="W":100,1:160)
SET GK=$SELECT($LENGTH(GDT1):$ORDER(^TMP($JOB,"GMRVG",GI,GDT1,"")),1:"")
DO SETA
+1 QUIT
SETA ;
+1 IF GK="Unavailable"
SET GK="Unavail"
+2 SET (GMRSITE,GMRSITE(1),GMRSITE(2),GMRINF,GMRVJ)=""
+3 IF GK'=""
Begin DoDot:1
+4 SET GMRSITE(1)=$PIECE($GET(^TMP($JOB,"GMRVG",GI,GDT1,GK)),"^")
SET GMRVJ=$PIECE($GET(^(GK)),"^",2)
SET GMRINF=$PIECE($GET(^(GK)),"^",4)
+5 IF GMRSITE(1)'=""
DO SYNOARY^GMVLGQU
End DoDot:1
+6 IF GI="H"
SET ^TMP($JOB,"GMRK","G"_(300+GCNTD))=GK
SET ^("G"_(340+GCNTD))=GMRSITE
SET ^TMP($JOB,"GMRK","G"_(320+GCNTD))=$SELECT(GK>0:$JUSTIFY(GK*2.54,0,2),1:"")
IF GK>0
SET GMRHT=GK*2.54/100
QUIT
+7 SET ^TMP($JOB,"GMRK","G"_(180+GCNTD))=GMRSITE
+8 IF GK>0
Begin DoDot:1
+9 SET GMRBMI=""
SET GMRBMI(1)=GDT1
SET GMRBMI(2)=GK
DO CALBMI^GMVBMI(.GMRBMI)
+10 SET ^TMP($JOB,"GMRK","G"_(210+GCNTD))=$SELECT(GMRBMI>0:GMRBMI,1:"")
KILL GMRBMI
End DoDot:1
+11 SET ^TMP($JOB,"GMRK","G"_(100+GCNTD))=GK
SET ^TMP($JOB,"GMRK","G"_(120+GCNTD))=$SELECT(GK>0:$JUSTIFY(GK/2.2,0,2),1:"")
+12 SET ^TMP($JOB,"GMRK","G"_(140+GCNTD))=$SELECT(GK>0:GK-(GWT-10)/5,1:"")
IF GK>0
SET ^TMP($JOB,"GMRK","G"_(160+GCNTD))="W"
+13 IF GK>0
SET ^TMP($JOB,"GMRK","G"_(140+GCNTD))=$SELECT(^TMP($JOB,"GMRK","G"_(140+GCNTD))<0.4:0.4,^("G"_(140+GCNTD))>16.5:16.5,1:^("G"_(140+GCNTD)))
IF ^("G"_(140+GCNTD))<0.5!(^("G"_(140+GCNTD))>16.4)
SET ^TMP($JOB,"GMRK","G"_(160+GCNTD))="W**"
+14 QUIT