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

GMVDS0.m

Go to the documentation of this file.
  1. GMVDS0 ;HIOFO/YH,FT-DISPLAY LATEST VITALS/MEASUREMENTS ;6/7/07
  1. ;;5.0;GEN. MED. REC. - VITALS;**23**;Oct 31, 2002;Build 25
  1. ;
  1. ; This routine uses the following IAs:
  1. ; #4290 - ^PXRMINDX global (controlled)
  1. ; #10061 - ^VADPT calls (supported)
  1. ; #10104 - ^XLFSTR calls (supported)
  1. ;
  1. EN1 ; ENTRY TO DISPLAY VITALS {called from GMVDS1}
  1. N GAPICAL,GRADIAL,GBRACHI,OK
  1. N GMVCLIO,GMVLOOP,GMVQLIST,GMVQNAME,GMVSUPOX
  1. S GAPICAL=$O(^GMRD(120.52,"B","APICAL",0)),GRADIAL=$O(^GMRD(120.52,"B","RADIAL",0)),GBRACHI=$O(^GMRD(120.52,"B","BRACHIAL",0))
  1. F GMRX=1:1:$L(GMRSTR,";") S X=$P(GMRSTR,";",GMRX) Q:'$D(^GMRD(120.51,"C",X)) S GMR(X)=$O(^GMRD(120.51,"C",X,"")),Y=$P($G(^GMRD(120.51,GMR(X),0)),"^") Q:Y=""
  1. K GMRDT,GMRVWT,GMRVHT
  1. S X=""
  1. F S X=$O(GMR(X)) Q:X="" S GMRDAT=9999999,GMRDATS="" I GMR(X)'="" F S GMRDAT=$O(^PXRMINDX(120.5,"PI",DFN,+GMR(X),GMRDAT),-1) Q:$S(GMRDAT'>0:1,GMRDATS>0:1,1:0) D SETDATAR
  1. I '($D(GMRDATA)\10) W !,"There are no results to report " G Q
  1. F X="T","P","R","PO2","BP","HT","WT","CVP","CG","PN" I $D(GMRDATA(X)) S GMRVDT="",(GMRVDT(1),GMVD)=0 F S GMVD=$O(GMRDATA(X,GMVD)) Q:GMVD'>0 D WRTDT S GMVD(1)=0 F S GMVD(1)=$O(GMRDATA(X,GMVD,GMVD(1))) Q:$L(GMVD(1))'>0 D
  1. . S GMRVX(0)=GMRDATA(X,GMVD,GMVD(1)) S GMRVX=X D EN1^GMVSAS0
  1. . W ! W:GMRVDT(1)=0 $S(X="BP":"B/P",X="P":"Pulse",X="R":"Resp.",X="T":"Temp.",X="HT":"Ht.",X="CG":"Circ/Girth",X="WT":"Wt.",X="PO2":"Pulse Ox",X="PN":"Pain",1:X)_": "
  1. . I GMRVDT(1)=0 W ?12,"("_GMRVDT_") " S GMRVDT(1)=1
  1. . I X="T" W ?29,GMRVX(0)_" F ("_$J(+GMRVX(0)-32*5/9,0,1)_" C)"
  1. . I X="WT" W ?29,GMRVX(0)_" lb ("_$J(GMRVX(0)/2.2,0,2)_" kg)" S GMRVWT=GMRVX(0)/2.2
  1. . I X="HT" W ?29,$S(GMRVX(0)\12:GMRVX(0)\12_" ft ",1:"")_$S(GMRVX(0)#12:GMRVX(0)#12_" in",1:"")_" ("_$J(GMRVX(0)*2.54,0,2)_" cm)" S GMRVHT=(GMRVX(0)*2.54)/100
  1. . I X="CG" W ?29,GMRVX(0)_" in ("_$J(+GMRVX(0)/.3937,0,2)_" cm)"
  1. . I X="CVP" W ?29,GMRVX(0)_" cmH2O ("_$J(GMRVX(0)/1.36,0,1)_" mmHg)"
  1. . I X="PO2" W ?29,GMRVX(0)_"% "
  1. . I X="P"!(X="R")!(X="BP") W ?29,GMRVX(0)
  1. . I X="PN" D
  1. . . I "UNAVAILABLEPASSREFUSED"[$$UP^XLFSTR(GMRVX(0)) W ?9,GMRVX(0) Q
  1. . . I GMRVX(0)=0 W ?29,GMRVX(0)_" - No pain " Q
  1. . . I GMRVX(0)=99 W ?29,GMRVX(0)_" - Unable to respond " Q
  1. . . I GMRVX(0)=10 W ?29,GMRVX(0)_" - Worst imaginable pain " Q
  1. . . W ?29,GMRVX(0) Q
  1. . W $S('$D(GMRVX(1)):"",'GMRVX(1):"",1:"*") K GMRVX
  1. . D CHAR
  1. . I X="WT",$G(GMRVWT)>0,$G(GMRVHT)>0 W !,"BMI: " S GMRVHT(1)=$J(GMRVWT/(GMRVHT*GMRVHT),0,0) W ?29,GMRVHT(1)_$S(GMRVHT(1)>27:"*",1:"")
  1. . Q
  1. Q W !
  1. K GMRVWT,GMRVHT,GMR,GMVD,GBP,GMRVARY,GMRVDA,GMRDATA,GMVDM,GLIN,GMRZZ Q:$D(GLOC)
  1. K GMRVDT,GMROUT,DFN,%Y,GMRL,GMRDT,DIC,GMRDAT,GMRDATS,GMRSTR,GMRX,GMRVX,POP D KVAR^VADPT K VA
  1. Q
  1. SETDATAR ;
  1. S Y=0
  1. F S Y=$O(^PXRMINDX(120.5,"PI",DFN,GMR(X),GMRDAT,Y)) Q:$L(Y)'>0!GMRDATS D
  1. .I Y=+Y D
  1. ..D F1205^GMVUTL(.GMVCLIO,Y)
  1. .I Y'=+Y D
  1. ..D CLIO^GMVUTL(.GMVCLIO,Y)
  1. .S GMVCLIO(0)=$G(GMVCLIO(0)),GMVCLIO(5)=$G(GMVCLIO(5))
  1. .I GMVCLIO(0)=""!($P(GMVCLIO(0),U,8)="") Q
  1. .S GMRL=GMVCLIO(0)
  1. .S GMVLOOP=0,GMVQLIST=""
  1. .F GMVLOOP=1:1 Q:$P(GMVCLIO(5),U,GMVLOOP)="" D
  1. ..S GMVQNAME=$$FIELD^GMVGETQL($P(GMVCLIO(5),U,GMVLOOP),1,"E")
  1. ..I GMVQNAME=""!(GMVQNAME=-1) Q
  1. ..S GMVQLIST=GMVQLIST_$S(GMVQLIST'="":",",1:"")_GMVQNAME
  1. .S GMVSUPOX=$P(GMVCLIO(0),U,10) ;supplemental oxygen
  1. .D SETNODE
  1. .;D:X="BP"!(X="P") SETBP^GMVDS2
  1. .Q
  1. Q
  1. SETNODE ; {called from GMVDS2}
  1. N G
  1. S GMRL=$G(GMRL,"")
  1. I X'="P" S G=$P(GMRL,"^",8) Q:"REFUSEDPASSUNAVAILABLE"[$$UP^XLFSTR(G)
  1. I X="P" S OK=0,G=$P(GMRL,"^",8) D Q:'OK
  1. .I "REFUSEDPASSUNAVAILABLE"[$$UP^XLFSTR(G) Q
  1. .I GMVCLIO(5)="" S OK=1 Q
  1. .F GMVLOOP=1:1 Q:$P(GMVCLIO(5),U,GMVLOOP)=""!(OK=1) D
  1. ..I $P(GMVCLIO(5),U,GMVLOOP)=GAPICAL S OK=1 Q
  1. ..I $P(GMVCLIO(5),U,GMVLOOP)=GBRACHI S OK=1 Q
  1. ..I $P(GMVCLIO(5),U,GMVLOOP)=GRADIAL S OK=1
  1. S GMRL1=$P(GMRL,"^") ;adding trailing zeros to time if necessary
  1. S $P(GMRL1,".",2)=$P(GMRL1,".",2)_"0000"
  1. S $P(GMRL1,".",2)=$E($P(GMRL1,".",2),1,4)
  1. S $P(GMRL,"^")=GMRL1
  1. K GMRL1
  1. S GMRDATA(X,$P(GMRL,"^"),Y)=$P(GMRL,"^",8),GMRDATS=1
  1. S GMRVARY(X,$P(GMRL,U,1),Y)=GMVQLIST
  1. Q
  1. WRTDT ;
  1. S GMRVDT=$E(GMVD,4,5)_"/"_$E(GMVD,6,7)_"/"_$E(GMVD,2,3)_"@"_$E($P(GMVD,".",2),1,2)_$S($E($P(GMVD,".",2),3,4)'="":":"_$E($P(GMVD,".",2),3,4),1:"")
  1. Q
  1. CHAR ;
  1. ;S GMRZZ=$$WRITECH^GMVCHAR(GMVD(1),.GMRVARY,5)
  1. S GMRZZ=GMRVARY(X,GMVD,GMVD(1))
  1. S:GMRZZ'=""&(X'="PO2") GMRZZ="("_GMRZZ_")"
  1. I X="PO2",GMVSUPOX'="" S GMRVPO=GMVSUPOX W "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)_" " W:GMRZZ'="" !,?29,"- ",GMRZZ K GMRZZ Q
  1. W:GMRZZ'="" GMRZZ K GMRZZ
  1. Q