- 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 Feb 18, 2025@23:26:32 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