VistA-FOIAVistA/r/GEN_MED_OTHER-GMV/GMVKPN0.m

45 lines
2.4 KiB
Mathematica

GMVKPN0 ;HCIOFO/YH,FT-KYOCERA PAIN CHART - DATA ARRAY ;11/6/01 15:03
;;5.0;GEN. MED. REC. - VITALS;;Oct 31, 2002
;
; This routine uses the following IAs:
; #10061 - ^VADPT calls (supported)
; #10104 - ^XLFSTR calls (supported)
;
EN1 ;ENTRY POINT TO PRINT KYOCERA PAIN CHART
;S DFN=72,GMRSTRT=2990201,GMRFIN=2990215
S GMROUT=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 GSTART1=(9999999-GMRFIN)-.0001,GEND1=9999999-GMRSTRT,^TMP($J,"GMRK","G50M")=0.4
F GTYPE="PN" D SETT^GMVHPN0
U IO D GRAPH
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
K GMRRMBD,GAGE,GCNT,GDOB,GCNTB,GCNTD,GCNTP,GCNTR,GCNTT,GCNTT1,GCNTI,GCNTO,GDT1,GCNTPD,GCNTTD,GCNTW,GPG,GPGS,GTYPE1,GCNTB3,GDTA,XDT,XIO,XX,^TMP($J,"GMRK"),^TMP($J,"GMR"),^TMP($J,"GDT"),^TMP($J,"GMRVG")
K ^TMP($J,"GTNM") Q
GRAPH D DEM^VADPT,INP^VADPT,SETV^GMVGR1
S GK="PN",^TMP($J,"GTNM",GK)=0 F GI=0:0 S GI=$O(^TMP($J,"GMRVG",GK,GI)) Q:GI'>0 S GJ="" F X=0:0 S GJ=$O(^TMP($J,"GMRVG",GK,GI,GJ)) Q:GJ="" S ^TMP($J,"GTNM",GK)=^TMP($J,"GTNM",GK)+1,^TMP($J,"GDT",GI)=""
S GTNM=0 F X=0:0 S X=$O(^TMP($J,"GDT",X)) Q:X'>0 S GTNM=GTNM+1
S GPG=$S(GTNM=0:1,1:GTNM\10+''(GTNM#10)),GDT1=0
F GPGS=1:1:GPG S ^TMP($J,"GMRK","G199")="Page "_GPGS D SETP,DATE S ^TMP($J,"GMRK","G200")=GMRRMBD D PAGE,^GMVKPN1,^GMVKPN2
D KVAR^VADPT K VA,GRAPHR,GRAPHP,GRAPHS,GRAPHD,GPA Q
PAGE ;SET GRAPH DATA
;DATA FOR PAIN CHART
F GI=50:1:59 S ^TMP($J,"GMRK","G50")=^TMP($J,"GMRK","G"_GI),^TMP($J,"GMRK","G50M")=0.4+(1.6*(GI-50)) Q:^TMP($J,"GMRK","G50")'=""
Q
DATE F GCNTD=1:1:10 S:$L(GDT1) GDT1=$O(^TMP($J,"GDT",GDT1)) S ^TMP($J,"GMRK","G"_GCNTD)=$S($L(GDT1):$E(GDT1,4,5)_"-"_$E(GDT1,6,7)_"-"_$E(GDT1,2,3),1:"") D DATE1
Q
DATE1 S Y=$E($P(GDT1,".",2)_"0000",1,4),^TMP($J,"GMRK","G"_(GCNTD+16))=$S($L(GDT1):$E(Y,1,2)_":"_$E(Y,3,4),1:"") D SETD
Q
SETD S GI="PN" S GJ=48,GK=$S($L(GDT1):$O(^TMP($J,"GMRVG",GI,GDT1,"")),1:"") D SETA
Q
SETP ;INITIALIZE ^TMP FOR QUALIFIERS
; 410 - STORE P
; 250+I - DATA
F I=1:1:10 S (^TMP($J,"GMRK","G"_(410+I)),^("G"_(250+I)))=""
Q
SETA ;
I GK="Unavailable" S GK="Unavail"
S ^TMP($J,"GMRK","G"_(GJ+200+GCNTD+1))=GK
I (GK=99)!("PASSREFUSEDUNAVAIL"[$$UP^XLFSTR(GK)) S ^TMP($J,"GMRK","G"_(49+GCNTD))="" Q
S ^TMP($J,"GMRK","G"_(49+GCNTD))=12-GK
S ^TMP($J,"GMRK","G"_(410+GCNTD))="P"
Q