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

GMVSC2.m

Go to the documentation of this file.
  1. GMVSC2 ;HIRMFO/YH,FT-CUMULATIVE V/M - CONTINUED ;10/30/07 10:16
  1. ;;5.0;GEN. MED. REC. - VITALS;**23**;Oct 31, 2002;Build 25
  1. ;
  1. ; This routine uses the following IAs:
  1. ; #10104 - ^XLFSTR calls (supported)
  1. ;
  1. SETLN ; {called from GMVSC1}
  1. N GMRVPO,GMVLOOP,GMVQNAME
  1. K GMRVARY
  1. S GMRVER=$P(^TMP($J,"GMRV",GMRDATE,GMRVTY,GMRVDA),"|",1)
  1. S GMRVARY=$P(^TMP($J,"GMRV",GMRDATE,GMRVTY,GMRVDA),"|",3)
  1. D:IOSL<($Y+9) HDR Q:GMROUT W ! W:GMRVER "(E)"
  1. I GPRT(GMRVTY)=0 D
  1. . W ?4,$S(GMRVTY="T":"T: ",GMRVTY="P":"P: ",GMRVTY="R":"R: ",GMRVTY="BP":"B/P: ",GMRVTY="WT":"Wt: ",GMRVTY="HT":"Ht: ",GMRVTY="CG":"Circumference/Girth: ",GMRVTY="CVP":"Central Venous Pressure: ",GMRVTY="PO2":"Pulse Oximetry: ",1:"")
  1. . I GMRVTY="PN" W ?4,"Pain: "
  1. S GPRT(GMRVTY)=1
  1. S GMRDAT=$P(^TMP($J,"GMRV",GMRDATE,GMRVTY,GMRVDA),"|",2)
  1. I "PRBPCVPCGPO2PN"[GMRVTY S GMRVX=GMRVTY,GMRVX(0)=$P(GMRDAT,"^",8) D
  1. . I "UNAVAILABLEPASSREFUSED"[$$UP^XLFSTR(GMRVX(0)) W ?9,GMRVX(0) Q
  1. . I GMRVTY="PN" D
  1. . . I GMRVX(0)=0 W ?9,GMRVX(0)_" - No pain" Q
  1. . . I GMRVX(0)=99 W ?9,GMRVX(0)_" - Unable to respond" Q
  1. . . I GMRVX(0)=10 W ?9,GMRVX(0)_" - Worst imaginable pain" Q
  1. . . W ?9,GMRVX(0) Q
  1. . ;I GMRVTY'="PN" W ?9,GMRVX(0)
  1. . D EN1^GMVSAS0
  1. . I GMRVTY="P","^"_GPEDIS_"^"[GMRVARY,$P(GMRDAT,"^",8)=1 S GMRVX(1)=""
  1. . S Z=$S(GMRVTY="CG":$J($P(GMRDAT,"^",8),0,2),GMRVTY="CVP":$J($P(GMRDAT,"^",8),0,1),GMRVTY'="BP":$J($P(GMRDAT,"^",8),3,0),1:$P(GMRDAT,"^",8)) D:GMRVTY'="BP" BLNK W:GMRVTY'="PN" ?9,Z_$S('$D(GMRVX(1)):" ",'GMRVX(1):"",1:"*")
  1. . I GMRVTY="CG" W " in ("_$J(Z/.3937,0,2)_" cm)"
  1. . I GMRVTY="CVP" W " cmH2O ("_$J(Z/1.36,0,1)_" mmHg)"
  1. . I GMRVTY="PO2" S GMRVPO=$P(GMRDAT,"^",10) W "%"_$S(GMRVPO'="":" with supplemental O2 "_$S(GMRVPO["l/min":$P(GMRVPO," l/min")_"L/min",1:"")_$S(GMRVPO["l/min":$P(GMRVPO," l/min",2),1:GMRVPO),1:"")
  1. I GMRVTY="T" S X=$P(GMRDAT,"^",8) D
  1. . I X'>0 W ?9,X Q
  1. . S GMRVX=GMRVTY,GMRVX(0)=X D EN1^GMVSAS0
  1. . D EN1^GMVUTL S:'Y Y="" S Z=$J(X,5,1) D BLNK W ?9,Z_" F " S Z=$J(Y,4,1) D BLNK W "("_Z_" C)"_$S('$D(GMRVX(1)):" ",'GMRVX(1):"",1:"*")
  1. I GMRVTY="HT" S X=$P(GMRDAT,"^",8) D
  1. . I X'>0 W ?9,X Q
  1. . D EN2^GMVUTL S:'Y Y="" S Z=$J(X,5,2) D BLNK W ?9,Z_" in " S Z=$J(Y,5,2) D BLNK W "("_Z_" cm)" I 'GMRVER S GMRVHT=Z/100
  1. I GMRVTY="WT" S X=$P(GMRDAT,"^",8) D
  1. . I X'>0 W ?9,X Q
  1. . D EN3^GMVUTL S:'Y Y="" S Z=$J(X,7,2) D BLNK W ?9,Z_" lb " S Z=$J(Y,6,2) D BLNK W "("_Z_" kg)"
  1. S GMRZZ=""
  1. F GMVLOOP=1:1 Q:$P(GMRVARY,U,GMVLOOP)="" D
  1. .S GMVQNAME=$$FIELD^GMVGETQL($P(GMRVARY,U,GMVLOOP),1,"E")
  1. .Q:GMVQNAME=""!(GMVQNAME=-1)
  1. .S GMRZZ=GMRZZ_$S(GMRZZ'="":", ",1:"")_GMVQNAME
  1. I "UNAVAILABLEPASSREFUSED"[$$UP^XLFSTR($P(GMRDAT,U,8)) Q
  1. S GMRVITY=+$P(GMRDAT,"^",3)
  1. S:GMRZZ'=""&(GMRVTY'="PO2") GMRZZ=" ("_GMRZZ_")"
  1. I GMRZZ'="" W:GMRVTY="PO2" !,?8," via " W GMRZZ
  1. I GMRVTY="WT",'GMRVER S GMRBMI="",GMRBMI(1)=$P(GMRDAT,"^"),GMRBMI(2)=+$P(GMRDAT,"^",8) D CALBMI^GMVBMI(.GMRBMI) W:GMRBMI>0 !,?4,"Body Mass Index: "_GMRBMI
  1. K Z
  1. Q
  1. HDR ; Report header
  1. I 'GMR1ST D FOOTER^GMVSC0
  1. W:$Y>0 @IOF
  1. S GMRPG=GMRPG+1,GFLAG=1 ;what is GFLAG?
  1. W !,GMRPDT,?25,"Cumulative Vitals/Measurements Report",?70,"Page ",GMRPG
  1. W !?25,GMVRANGE ;report date range
  1. W !,$E(GMRDSH,1,78)
  1. I 'GMR1ST,$P(GMRDATE,".")=GMRDATE(0) W !,$E(GMRDATE(0),4,5)_"/"_$E(GMRDATE(0),6,7)_"/"_$E(GMRDATE,2,3)_" (continued)",!
  1. ; include date range in header
  1. S GMR1ST=0
  1. Q
  1. BLNK ;
  1. F I=1:1:$L(Z) Q:$E(Z,I)'=" "
  1. S Z=$E(Z,I,$L(Z))
  1. Q