GMVVS1 ;HIOFO/YH,FT-PATIENT VITAL SIGNS-I/O SF 511 GRAPH - 1 ;11/6/01  14:43
 ;;5.0;GEN. MED. REC. - VITALS;;Oct 31, 2002
 ;
 ; This routine uses the following IAs:
 ; #10104 - ^XLFSTR calls          (supported)
 ;
GRAPH ;
 S GMRPGC=0,GMRX1="" F X=1:1:111 S GMRX1=GMRX1_$S(X#11:" ",1:"|")
 S (GMRX,GMRX2)=GMRX1 F X=1:1:10 S $P(GMRX,"|",X)="__________",$P(GMRX2,"|",X)="----------"
 S GMRPG=GMRTNM\10+$S(GMRTNM#10>0:1,1:0) I GMRPG=0 D HEADER^GMVVS2 W !,"THERE IS NO DATA FOR THIS REPORT" X "F Y=$Y:1:(IOSL-6) W !" D FOOTER^GMVVS2 Q
 F GMRPGS=1:1:GMRPG S GMRTLO=105.8335,GMRPLO=198.335 D PAGE Q:GMROUT
 Q
PAGE ;
 K GMRQUAL,GLINE,GVAR D HEADER^GMVVS2 W "T: Temperature   P: Pulse   BMI: Body Mass Index   C/G: Circumference/Girth   * - Abnormal value   ** - Abnormal value off of graph",! D DATES^GMVVS2 W !,?10,"|",?11,GMRX
 F GMRI=0:0 Q:$Y>51  W ! D SETHD^GMVVS4 W GMRHDR1,?9,$S(GMR3!($Y=28):"-",1:""),?10,"|" D DATAPRT^GMVVS4 W $S(GMR3!($Y=28):"-",1:""),?106,GMRHDR2
 W !,?10,"|",GMRX2 F GMRI="T","P","R","B","B1","B2","W","H","P1","BMI" S GMRLINE(GMRI)=GMRX1,GVAR(GMRI)=""
 F GMRI="PO2","OX1","OX2","OX3","CVP","CVP1","CG","CG1","CG2" K GVAR(GMRI)
 S GMRNM=0 F GMRDT=0:0 S GMRDT=$O(^TMP($J,"GMRDT",GMRDT)) Q:GMRDT'>0  S GMRNM=GMRNM+1 Q:GMRNM>12  F GMRI="T","P","R","H","W" D STLNP
 S GMRNM=0 F GMRDT=0:0 S GMRDT=$O(^TMP($J,"GMRDT",GMRDT)) Q:GMRDT'>0  S GMRNM=GMRNM+1 Q:GMRNM>12  D BP^GMVVS2
 F GMRI="T","P","P1","R","B","B1","B2","W","BMI","H" I $D(GVAR(GMRI)) D
 .I IOSL<($Y+6) S GMRI(1)=GMRI D FOOTER^GMVVS2,HEADER^GMVVS2,DATES^GMVVS2 S GMRI=GMRI(1) W !,?10,"|",?11,GMRX
 . S G=$S(GMRI="T":"TEMP.",GMRI="P":"PULSE",GMRI="R":"RESP.",GMRI="W":"WEIGHT(LB)",GMRI="H":"HEIGHT(IN)",GMRI="B":"BLOOD",GMRI="B1":"  PRESSURE",GMRI="BMI":"BMI",1:"")
 . I G="" S G=$S(GMRI="PO2":"PULSE OX.",GMRI="OX1":"  L/MIN",GMRI="OX2":"  %",GMRI="OX3":"  METHOD",GMRI="CG":"C/G (IN)",GMRI="CVP":"CVP cm H2O",GMRI="CVP1":"    mmHg",GMRI="CG1":"          ",GMRI="CG2":"    (CM)",1:"")
 . W !,G,?10,"|",GMRLINE(GMRI)
 D IO^GMVVS2 I 'GMROUT W !,?10,"|",GMRX,!
 I IOSL<($Y+6) D FOOTER^GMVVS2,HEADER^GMVVS2
 I $D(GMRQUAL),'GMROUT W ! S GLINE="Qualifier: " S G="" F  S G=$O(GMRQUAL(G)) Q:G=""  D LEGEND^GMVLGQU
 I 'GMROUT W GLINE F X=0:0 W ! Q:IOSL<($Y+6)
 D FOOTER^GMVVS2 S GMRDT="" F GMRNM=1:1:12 S GMRDT=$O(^TMP($J,"GMRDT",GMRDT)) Q:GMRDT'>0  K ^TMP($J,"GMRDT",GMRDT)
 Q
STLNP ;
 S GMR(GMRI)=$O(^TMP($J,"GMR",GMRI,GMRDT,"")) Q:GMR(GMRI)=""
 S (GMRSITE,GMRSITE(1),GMRINF,GMRVJ)=""
 S GMRSITE(1)=$P($G(^TMP($J,"GMR",GMRI,GMRDT,GMR(GMRI))),"^"),GMRSITE(2)=$P($G(^(GMR(GMRI))),"^",3),GMRINF=$P($G(^(GMR(GMRI))),"^",4) I GMRSITE(1)'="" S GI=GMRI D SYNOARY^GMVLGQU
 I GMRI'="CVP" S GI=$S(GMR(GMRI)>0:$J(GMR(GMRI),0,$S(GMRI="W"!(GMRI="H")!(GMRI="CG"):2,GMRI'="T":0,1:1)),1:GMR(GMRI))
 E  S GI=$S(GMR(GMRI)>0!(GMR(GMRI)<0)!($E(GMR(GMRI))="0"):$J(GMR(GMRI),0,1),1:GMR(GMRI))
 I "UNAVAILABLEPASSREFUSED"'[$$UP^XLFSTR(GI) S GI=GI_$S($P(^TMP($J,"GMR",GMRI,GMRDT,GMR(GMRI)),"^",2)'=1:" ",1:"*")
 I GMRI="P",($P(^TMP($J,"GMR",GMRI,GMRDT,GMR(GMRI)),"^",1)["DORSALIS PEDIS"),(+GI=1) S:$E(GI,$L(GI))="*" GI=$E(GI,1,$L(GI)-1)
 S $P(GMRLINE(GMRI),"|",GMRNM)=GI_$S(GMRI="P"&($L(GMRSITE," ")>3):""_$P(GMRSITE," "),GMRI="R"!(GMRI="T")!(GMRI="H")!(GMRI="W")!(GMRI="CG"):""_GMRSITE,1:"")
 S $P(GMRLINE(GMRI),"|",GMRNM)=$E($P(GMRLINE(GMRI),"|",GMRNM)_"          ",1,10)
 D SETLN
 I GMRI="CG",$D(GMRLINE("CG2")) S $P(GMRLINE("CG2"),"|",GMRNM)=$E($S(GMR(GMRI)>0:$J(GMR(GMRI)/.3937,0,2),1:"")_"          ",1,10)
 I GMRI="P" S $P(GMRLINE("P1"),"|",GMRNM)=$E($S($L(GMRSITE," ")>3:$P(GMRSITE," ",2,4),1:GMRSITE)_"          ",1,10)
 I GMRI="H",$D(GMRLINE("H1")) S:GMR(GMRI)>0 $P(GMRLINE("H1"),"|",GMRNM)=$E($S(GMR(GMRI)>0:$J(GMR(GMRI)*2.54,0,2),1:GMR(GMRI))_"          ",1,10)
 I GMRI="W",$D(GMRLINE("W1")) S:GMR(GMRI)>0 $P(GMRLINE("W1"),"|",GMRNM)=$E($S(GMR(GMRI)>0:$J(GMR(GMRI)/2.2,0,2),1:GMR(GMRI))_"          ",1,10)
 I GMRI="W",$D(GMRLINE("BMI")),GMR(GMRI)>0 D
 . S GMRBMI="",GMRBMI(1)=GMRDT,GMRBMI(2)=GMR(GMRI) D CALBMI^GMVBMI(.GMRBMI)
 . S $P(GMRLINE("BMI"),"|",GMRNM)=$E(GMRBMI_"          ",1,10) K GMRBMI
 I GMRI="PO2",$D(GMRLINE("OX1")) D
 . S $P(GMRLINE("OX3"),"|",GMRNM)=$E(GMRSITE_"          ",1,10)
 . S GMRINF=$P(^TMP($J,"GMR",GMRI,GMRDT,GMR(GMRI)),"^",4),(GMRINF(1),GMRINF(2))="" D
 . . I GMRINF="" S $P(GMRLINE("OX1"),"|",GMRNM)="          ",$P(GMRLINE("OX2"),"|",GMRNM)="          "
 . . E  D PO2^GMVLGQU(.GMRINF) S $P(GMRLINE("OX1"),"|",GMRNM)=$E(GMRINF(1)_"          ",1,10),$P(GMRLINE("OX2"),"|",GMRNM)=$E(GMRINF(2)_"          ",1,10)
 I GMRI="CVP",$D(GMRLINE("CVP1")) S $P(GMRLINE("CVP1"),"|",GMRNM)=$E($S(GMR(GMRI)>0!(GMR(GMRI)<0)!($E(GMR(GMRI))="0"):$J(GMR(GMRI)/1.36,0,1),1:"")_$S(GI["*":"*",1:"")_"          ",1,10)
 I GMRI="PN",$D(GMRLINE("PN")) S $P(GMRLINE("PN"),"|",GMRNM)=$E($S(GMR(GMRI)?1.2N&(GMR(GMRI)'>10):GMR(GMRI),GMR(GMRI)=99:GMR(GMRI),1:"")_"          ",1,10)
 K GI Q
SETLN ;
 S GVAR(GMRI)=""
 I GMRI="PO2" S (GVAR("PO2"),GVAR("OX1"),GVAR("OX2"),GVAR("OX3"))="" Q
 I GMRI="CVP" S (GVAR("CVP"),GVAR("CVP1"))="" Q
 I GMRI="CG" S (GVAR("CG"),GVAR("CG2"))="" Q
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMVVS1   5103     printed  Sep 23, 2025@19:36:14                                                                                                                                                                                                      Page 2
GMVVS1    ;HIOFO/YH,FT-PATIENT VITAL SIGNS-I/O SF 511 GRAPH - 1 ;11/6/01  14:43
 +1       ;;5.0;GEN. MED. REC. - VITALS;;Oct 31, 2002
 +2       ;
 +3       ; This routine uses the following IAs:
 +4       ; #10104 - ^XLFSTR calls          (supported)
 +5       ;
GRAPH     ;
 +1        SET GMRPGC=0
           SET GMRX1=""
           FOR X=1:1:111
               SET GMRX1=GMRX1_$SELECT(X#11:" ",1:"|")
 +2        SET (GMRX,GMRX2)=GMRX1
           FOR X=1:1:10
               SET $PIECE(GMRX,"|",X)="__________"
               SET $PIECE(GMRX2,"|",X)="----------"
 +3        SET GMRPG=GMRTNM\10+$SELECT(GMRTNM#10>0:1,1:0)
           IF GMRPG=0
               DO HEADER^GMVVS2
               WRITE !,"THERE IS NO DATA FOR THIS REPORT"
               XECUTE "F Y=$Y:1:(IOSL-6) W !"
               DO FOOTER^GMVVS2
               QUIT 
 +4        FOR GMRPGS=1:1:GMRPG
               SET GMRTLO=105.8335
               SET GMRPLO=198.335
               DO PAGE
               if GMROUT
                   QUIT 
 +5        QUIT 
PAGE      ;
 +1        KILL GMRQUAL,GLINE,GVAR
           DO HEADER^GMVVS2
           WRITE "T: Temperature   P: Pulse   BMI: Body Mass Index   C/G: Circumference/Girth   * - Abnormal value   ** - Abnormal value off of graph",!
           DO DATES^GMVVS2
           WRITE !,?10,"|",?11,GMRX
 +2        FOR GMRI=0:0
               if $Y>51
                   QUIT 
               WRITE !
               DO SETHD^GMVVS4
               WRITE GMRHDR1,?9,$SELECT(GMR3!($Y=28):"-",1:""),?10,"|"
               DO DATAPRT^GMVVS4
               WRITE $SELECT(GMR3!($Y=28):"-",1:""),?106,GMRHDR2
 +3        WRITE !,?10,"|",GMRX2
           FOR GMRI="T","P","R","B","B1","B2","W","H","P1","BMI"
               SET GMRLINE(GMRI)=GMRX1
               SET GVAR(GMRI)=""
 +4        FOR GMRI="PO2","OX1","OX2","OX3","CVP","CVP1","CG","CG1","CG2"
               KILL GVAR(GMRI)
 +5        SET GMRNM=0
           FOR GMRDT=0:0
               SET GMRDT=$ORDER(^TMP($JOB,"GMRDT",GMRDT))
               if GMRDT'>0
                   QUIT 
               SET GMRNM=GMRNM+1
               if GMRNM>12
                   QUIT 
               FOR GMRI="T","P","R","H","W"
                   DO STLNP
 +6        SET GMRNM=0
           FOR GMRDT=0:0
               SET GMRDT=$ORDER(^TMP($JOB,"GMRDT",GMRDT))
               if GMRDT'>0
                   QUIT 
               SET GMRNM=GMRNM+1
               if GMRNM>12
                   QUIT 
               DO BP^GMVVS2
 +7        FOR GMRI="T","P","P1","R","B","B1","B2","W","BMI","H"
               IF $DATA(GVAR(GMRI))
                   Begin DoDot:1
 +8                    IF IOSL<($Y+6)
                           SET GMRI(1)=GMRI
                           DO FOOTER^GMVVS2
                           DO HEADER^GMVVS2
                           DO DATES^GMVVS2
                           SET GMRI=GMRI(1)
                           WRITE !,?10,"|",?11,GMRX
 +9                    SET G=$SELECT(GMRI="T":"TEMP.",GMRI="P":"PULSE",GMRI="R":"RESP.",GMRI="W":"WEIGHT(LB)",GMRI="H":"HEIGHT(IN)",GMRI="B":"BLOOD",GMRI="B1":"  PRESSURE",GMRI="BMI":"BMI",1:"")
 +10                   IF G=""
                           SET G=$SELECT(GMRI="PO2":"PULSE OX.",GMRI="OX1":"  L/MIN",GMRI="OX2":"  %",GMRI="OX3":"  METHOD",GMRI="CG":"C/G (IN)",GMRI="CVP":"CVP cm H2O",GMRI="CVP1":"    mmHg",GMRI="CG1":"          ",GMRI="CG2":"    (CM)",1:"")
 +11                   WRITE !,G,?10,"|",GMRLINE(GMRI)
                   End DoDot:1
 +12       DO IO^GMVVS2
           IF 'GMROUT
               WRITE !,?10,"|",GMRX,!
 +13       IF IOSL<($Y+6)
               DO FOOTER^GMVVS2
               DO HEADER^GMVVS2
 +14       IF $DATA(GMRQUAL)
               IF 'GMROUT
                   WRITE !
                   SET GLINE="Qualifier: "
                   SET G=""
                   FOR 
                       SET G=$ORDER(GMRQUAL(G))
                       if G=""
                           QUIT 
                       DO LEGEND^GMVLGQU
 +15       IF 'GMROUT
               WRITE GLINE
               FOR X=0:0
                   WRITE !
                   if IOSL<($Y+6)
                       QUIT 
 +16       DO FOOTER^GMVVS2
           SET GMRDT=""
           FOR GMRNM=1:1:12
               SET GMRDT=$ORDER(^TMP($JOB,"GMRDT",GMRDT))
               if GMRDT'>0
                   QUIT 
               KILL ^TMP($JOB,"GMRDT",GMRDT)
 +17       QUIT 
STLNP     ;
 +1        SET GMR(GMRI)=$ORDER(^TMP($JOB,"GMR",GMRI,GMRDT,""))
           if GMR(GMRI)=""
               QUIT 
 +2        SET (GMRSITE,GMRSITE(1),GMRINF,GMRVJ)=""
 +3        SET GMRSITE(1)=$PIECE($GET(^TMP($JOB,"GMR",GMRI,GMRDT,GMR(GMRI))),"^")
           SET GMRSITE(2)=$PIECE($GET(^(GMR(GMRI))),"^",3)
           SET GMRINF=$PIECE($GET(^(GMR(GMRI))),"^",4)
           IF GMRSITE(1)'=""
               SET GI=GMRI
               DO SYNOARY^GMVLGQU
 +4        IF GMRI'="CVP"
               SET GI=$SELECT(GMR(GMRI)>0:$JUSTIFY(GMR(GMRI),0,$SELECT(GMRI="W"!(GMRI="H")!(GMRI="CG"):2,GMRI'="T":0,1:1)),1:GMR(GMRI))
 +5       IF '$TEST
               SET GI=$SELECT(GMR(GMRI)>0!(GMR(GMRI)<0)!($EXTRACT(GMR(GMRI))="0"):$JUSTIFY(GMR(GMRI),0,1),1:GMR(GMRI))
 +6        IF "UNAVAILABLEPASSREFUSED"'[$$UP^XLFSTR(GI)
               SET GI=GI_$SELECT($PIECE(^TMP($JOB,"GMR",GMRI,GMRDT,GMR(GMRI)),"^",2)'=1:" ",1:"*")
 +7        IF GMRI="P"
               IF ($PIECE(^TMP($JOB,"GMR",GMRI,GMRDT,GMR(GMRI)),"^",1)["DORSALIS PEDIS")
                   IF (+GI=1)
                       if $EXTRACT(GI,$LENGTH(GI))="*"
                           SET GI=$EXTRACT(GI,1,$LENGTH(GI)-1)
 +8        SET $PIECE(GMRLINE(GMRI),"|",GMRNM)=GI_$SELECT(GMRI="P"&($LENGTH(GMRSITE," ")>3):""_$PIECE(GMRSITE," "),GMRI="R"!(GMRI="T")!(GMRI="H")!(GMRI="W")!(GMRI="CG"):""_GMRSITE,1:"")
 +9        SET $PIECE(GMRLINE(GMRI),"|",GMRNM)=$EXTRACT($PIECE(GMRLINE(GMRI),"|",GMRNM)_"          ",1,10)
 +10       DO SETLN
 +11       IF GMRI="CG"
               IF $DATA(GMRLINE("CG2"))
                   SET $PIECE(GMRLINE("CG2"),"|",GMRNM)=$EXTRACT($SELECT(GMR(GMRI)>0:$JUSTIFY(GMR(GMRI)/.3937,0,2),1:"")_"          ",1,10)
 +12       IF GMRI="P"
               SET $PIECE(GMRLINE("P1"),"|",GMRNM)=$EXTRACT($SELECT($LENGTH(GMRSITE," ")>3:$PIECE(GMRSITE," ",2,4),1:GMRSITE)_"          ",1,10)
 +13       IF GMRI="H"
               IF $DATA(GMRLINE("H1"))
                   if GMR(GMRI)>0
                       SET $PIECE(GMRLINE("H1"),"|",GMRNM)=$EXTRACT($SELECT(GMR(GMRI)>0:$JUSTIFY(GMR(GMRI)*2.54,0,2),1:GMR(GMRI))_"          ",1,10)
 +14       IF GMRI="W"
               IF $DATA(GMRLINE("W1"))
                   if GMR(GMRI)>0
                       SET $PIECE(GMRLINE("W1"),"|",GMRNM)=$EXTRACT($SELECT(GMR(GMRI)>0:$JUSTIFY(GMR(GMRI)/2.2,0,2),1:GMR(GMRI))_"          ",1,10)
 +15       IF GMRI="W"
               IF $DATA(GMRLINE("BMI"))
                   IF GMR(GMRI)>0
                       Begin DoDot:1
 +16                       SET GMRBMI=""
                           SET GMRBMI(1)=GMRDT
                           SET GMRBMI(2)=GMR(GMRI)
                           DO CALBMI^GMVBMI(.GMRBMI)
 +17                       SET $PIECE(GMRLINE("BMI"),"|",GMRNM)=$EXTRACT(GMRBMI_"          ",1,10)
                           KILL GMRBMI
                       End DoDot:1
 +18       IF GMRI="PO2"
               IF $DATA(GMRLINE("OX1"))
                   Begin DoDot:1
 +19                   SET $PIECE(GMRLINE("OX3"),"|",GMRNM)=$EXTRACT(GMRSITE_"          ",1,10)
 +20                   SET GMRINF=$PIECE(^TMP($JOB,"GMR",GMRI,GMRDT,GMR(GMRI)),"^",4)
                       SET (GMRINF(1),GMRINF(2))=""
                       Begin DoDot:2
 +21                       IF GMRINF=""
                               SET $PIECE(GMRLINE("OX1"),"|",GMRNM)="          "
                               SET $PIECE(GMRLINE("OX2"),"|",GMRNM)="          "
 +22                      IF '$TEST
                               DO PO2^GMVLGQU(.GMRINF)
                               SET $PIECE(GMRLINE("OX1"),"|",GMRNM)=$EXTRACT(GMRINF(1)_"          ",1,10)
                               SET $PIECE(GMRLINE("OX2"),"|",GMRNM)=$EXTRACT(GMRINF(2)_"          ",1,10)
                       End DoDot:2
                   End DoDot:1
 +23       IF GMRI="CVP"
               IF $DATA(GMRLINE("CVP1"))
                   SET $PIECE(GMRLINE("CVP1"),"|",GMRNM)=$EXTRACT($SELECT(GMR(GMRI)>0!(GMR(GMRI)<0)!($EXTRACT(GMR(GMRI))="0"):$JUSTIFY(GMR(GMRI)/1.36,0,1),1:"")_$SELECT(GI["*":"*",1:"")_"          ",1,10)
 +24       IF GMRI="PN"
               IF $DATA(GMRLINE("PN"))
                   SET $PIECE(GMRLINE("PN"),"|",GMRNM)=$EXTRACT($SELECT(GMR(GMRI)?1.2N&(GMR(GMRI)'>10):GMR(GMRI),GMR(GMRI)=99:GMR(GMRI),1:"")_"          ",1,10)
 +25       KILL GI
           QUIT 
SETLN     ;
 +1        SET GVAR(GMRI)=""
 +2        IF GMRI="PO2"
               SET (GVAR("PO2"),GVAR("OX1"),GVAR("OX2"),GVAR("OX3"))=""
               QUIT 
 +3        IF GMRI="CVP"
               SET (GVAR("CVP"),GVAR("CVP1"))=""
               QUIT 
 +4        IF GMRI="CG"
               SET (GVAR("CG"),GVAR("CG2"))=""
               QUIT 
 +5        QUIT