VistA-WorldVistAEHR/r/GEN_MED_OTHER-GMV/GMVGR0.m

51 lines
3.3 KiB
Mathematica

GMVGR0 ;HIOFO/MH,YH,FT-VITALS GRAPH (PART 1) ;12/26/01 15:25
;;5.0;GEN. MED. REC. - VITALS;;Oct 31, 2002
;
; This routine uses the following IAs:
; #1392 - FILE 126.56 references (private)
; #1393 - FILE 126.58 references (private)
; #3214 - ^GMRYAPI calls (private)
; #10061 - ^VADPT calls (supported)
; #10096 - ^%ZOSF references (supported)
;
EN1 ;ENTRY POINT FROM GMVSR0 TO PRINT SF-511 GRAPH FOR KYOCERA
S GMRHT=0 K ^TMP($J,"GMR"),^TMP($J,"GMRK"),^TMP($J,"GDT"),^TMP($J,"GMRVG"),^TMP($J,"GTNM") F GI=1:1:200 S ^TMP($J,"GMRK","G"_GI)=""
S (GMROUT,GHT)="",^TMP($J,"GMRK","G50M")=0.2,^TMP($J,"GMRK","G82M")=0.6
S GSTART1=(9999999-GMRFIN)-.0001,GEND1=9999999-GMRSTRT
F GTYPE="B","H","P","R","T","W","PO2","CVP","CG","PN" D SETT
S GRPT=5 D SETIO U IO D ^GMVGR1
Q1 K GSOL,GIVDT,GMRHLOC,GMRVJ,GDATA,GDT,GEN,GEND1,GI,GJ,GK,GMRVX,GSTART1,GTNM,GTYP,GTYPE,GX,I D KVAR^VADPT K VA,VAROOT
W:$E(IOST)="P"!$D(IO("S")) !
D QIO^GMVGR5 K GRPT,GMROUT,GMRRMBD,GAGE,GCNT,GDOB,GCNTB,GCNTD,GCNTP,GCNTR,GCNTT,GCNTT1,GCNTI,GCNTO,GDT1,GCNTPD,GCNTTD,GCNTW,GPG,GPGS,GHT,GTYPE1,GCNTB3,GDTA,XDT,XIO,XX,^TMP($J,"GMRK"),^TMP($J,"GMR"),^TMP($J,"GDT"),^TMP($J,"GMRVG")
K GLINE,GMRQUAL,^TMP($J,"GTNM") Q
SETT ;SET GMRT
S GTYP(1)=$S(GTYPE="B":"BLOOD PRESSURE",GTYPE="P":"PULSE",GTYPE="R":"RESPIRATION",GTYPE="T":"TEMPERATURE",GTYPE="H":"HEIGHT",GTYPE="W":"WEIGHT",GTYPE="CG":"CIRCUMFERENCE/GIRTH",GTYPE="PO2":"PULSE OXIMETRY",1:"")
I GTYP(1)="" S GTYP(1)=$S(GTYPE="CVP":"CENTRAL VENOUS PRESSURE",GTYPE="PN":"PAIN",1:"")
Q:GTYP(1)=""
S GTYP=$O(^GMRD(120.51,"B",GTYP(1),""))
I GTYP>0 F GX=GSTART1:0 S GX=$O(^GMR(120.5,"AA",DFN,GTYP,GX)) Q:GX>GEND1!(GX'>0) F GEN=0:0 S GEN=$O(^GMR(120.5,"AA",DFN,GTYP,GX,GEN)) Q:GEN'>0 I '$D(^GMR(120.5,GEN,2)) D BLDARR
Q
BLDARR S GDATA=$S($D(^GMR(120.5,GEN,0)):^(0),1:"")
S GMRVX(0)=$P(GDATA,"^",8) Q:GMRVX(0)=""
S GMRVX=GTYPE,GMRVX(1)=0
D:GMRVX(0)>0!(GMRVX(0)<0)!($E(GMRVX(0))="0") EN1^GMVSAS0
K GMRVARY S GMRVARY="" I $P($G(^GMR(120.5,GEN,5,0)),"^",4)>0 D CHAR^GMVCHAR(GEN,.GMRVARY,GTYP)
K GG S GG="" I $O(GMRVARY(0)) D
. S GG(1)=0 F S GG(1)=$O(GMRVARY(GG(1))) Q:GG(1)'>0 S GG(2)=0 F S GG(2)=$O(GMRVARY(GG(1),GG(2))) Q:GG(2)'>0 S GG(3)="" F S GG(3)=$O(GMRVARY(GG(1),GG(2),GG(3))) Q:GG(3)="" S GG=GG_$S(GG="":"",1:";")_GG(3)
S ^TMP($J,"GMRVG",GTYPE,9999999-GX,$P(GDATA,"^",8))=GG_"^"_$S($G(GMRVX(1))>0:1,1:"")_"^^"_$P(GDATA,"^",10)
I GTYPE="P",GG["DORSALIS PEDIS",$P(GDATA,"^",8)=1 S $P(^TMP($J,"GMRVG",GTYPE,9999999-GX,$P(GDATA,"^",8)),"^",2)=0
S:$D(^TMP($J,"GMRVG","H",9999999-GX,$P(GDATA,"^",8))) GHT=$P(GDATA,"^",8)
I GTYPE="B",$P(GDATA,"^",8)'>0 S ^TMP($J,"GMRVG","B",9999999-GX,$P(GDATA,"^",8))="^^"
I GTYPE="B",$L($P(GDATA,"^",8))>7,+$P(GDATA,"^",8)>0 D
. S ^TMP($J,"GMRVG","B",9999999-GX,$P($P(GDATA,"^",8),"/",1,2))=^TMP($J,"GMRVG","B",9999999-GX,$P(GDATA,"^",8)) K ^($P(GDATA,"^",8)) S ^TMP($J,"GMRVG","C",9999999-GX,"/"_$P($P(GDATA,"^",8),"/",3))=GG
K GG Q
SETIO ;
S X="GMRYRP0" X ^%ZOSF("TEST") Q:'$T
D IO^GMVGR5
D SETIOAR
Q
SETIOAR F GTYPE1="XI"_($$INPUT^GMRYAPI()+4),"XO"_($$OUTPUT^GMRYAPI()+1) F GDT=0:0 S GDT=$O(^TMP($J,"GMR",GTYPE1,GDT)) Q:GDT'>0 F GDTA=0:0 S GDTA=$O(^TMP($J,"GMR",GTYPE1,GDT,GDTA)) Q:GDTA="" D SETIOAR1
Q
SETIOAR1 S:GTYPE1["XI" ^TMP($J,"GMRVG","I",GDT,GDTA)="^" S:GTYPE1["XO" ^TMP($J,"GMRVG","O",GDT,GDTA)="^"
Q