1 | GMRVUT0 ;HIRMFO/RM,YH,FT-INPUT TRANSFORMS FOR VITAL TYPES ;7/5/01 16:17
|
---|
2 | ;;4.0;Vitals/Measurements;**1,13**;Apr 25, 1997
|
---|
3 | EN2 ; CALLED FROM INPUT TRANSFORM OF RATE AND QUALITY SUBFIELDS OF SITE
|
---|
4 | ; FIELD OF THE VITAL MEASUREMENT (#120.5) FILE - GMRFLD IS SET BEFORE
|
---|
5 | ; ENTRY, BUT KILLED WITHIN THE ROUTINE
|
---|
6 | S GMRTYP=$S($D(^GMR(120.5,DA,0)):$P(^(0),U,3),1:"") G K:GMRTYP'>0
|
---|
7 | G K:GMRTYP'>0,Q2:$P(^GMRD(120.51,GMRTYP,0),U,$S(GMRFLD=1:4,GMRFLD=2:5,1:3))
|
---|
8 | K D EN^DDIOL($C(7)_"CANNOT EDIT THIS FIELD FOR THIS TYPE OF MEASUREMENT","","!?5") K X
|
---|
9 | Q2 K GMRTYP,GMRFLD Q
|
---|
10 | EN3 ; INPUT TRANSFORM FOR HEIGHT RATES
|
---|
11 | N GMR
|
---|
12 | S GMR=$P(X,+X,2,10) I GMR="" S X=0 Q
|
---|
13 | I $E(GMR)="C"!($E(GMR)="c")&("CMCmcMcm"[GMR) S X=$J(.3937*(+X),0,2) Q
|
---|
14 | I $E(GMR)="I"!($E(GMR)="i")!($E(GMR)="""") S X=+X Q
|
---|
15 | I $E(GMR)="F"!($E(GMR)="f")!($E(GMR)="'") D FTIN Q
|
---|
16 | S X=0
|
---|
17 | Q
|
---|
18 | FTIN ;
|
---|
19 | N GMRF,GMRIN,GMRXX,GMRYY
|
---|
20 | S GMRF=$E(GMR),GMR=$E(GMR,2,$L(GMR)) F GMRXX=1:0 S GMRYY=$E(GMR) Q:GMRYY?1N!(GMRYY="") S GMRF=GMRF_GMRYY,GMR=$E(GMR,2,$L(GMR))
|
---|
21 | I "FTFtfTft'"'[GMRF Q
|
---|
22 | S GMRIN=$P(GMR,+GMR,2) I "INIniNin""''"'[GMRIN!(GMRIN="'") Q
|
---|
23 | S X=+X*12+(+GMR)
|
---|
24 | Q
|
---|
25 | EN1 ; ENTRY TO GATHER PATIENTS VITAL/MEASURMENT DATA
|
---|
26 | ; INPUT VARIABLES:
|
---|
27 | ;
|
---|
28 | ; DFN = Entry number of patient in Patient file.
|
---|
29 | ; GMRVSTR = types of vital/measurments desired. Use the abbreviations
|
---|
30 | ; found in the Vital Type (120.51) file. For multiple
|
---|
31 | ; vitals, use the ; as a delimiter.
|
---|
32 | ; GMRVSTR(0) = GMRVSTDT^GMRVENDT^GMRVOCC^GMRVSORD
|
---|
33 | ; where GMRVSTDT = The start date/time that the utility will
|
---|
34 | ; use in obtaining patient data. (OPTIONAL)
|
---|
35 | ; GMRVENDT = The end date/time that the utility will use
|
---|
36 | ; to stop the search. (OPTIONAL)
|
---|
37 | ; GMRVOCC = The number of occurrences of the data that
|
---|
38 | ; is desired by the search. (OPTIONAL)
|
---|
39 | ; GMRVSORD = The sort order desired in output, see OUTPUT
|
---|
40 | ; VARIABLES section. (REQUIRED)
|
---|
41 | ; GMRVSTR("LT") = ^TYP1^[TYP2^...] (OPTIONAL)
|
---|
42 | ; THIS VARIABLE IS AN ^ DELIMITED LIST OF HOSPITAL LOCATION
|
---|
43 | ; TYPES TO EXTRACT MEASUREMENT DATA FOR. E.G., ^C^M^, WILL
|
---|
44 | ; EXTRACT DATA FOR ONLY THOSE MEASUREMENTS TAKEN ON CLINICS
|
---|
45 | ; OR MODULES.
|
---|
46 | ;
|
---|
47 | ; OUTPUT VARIABLES:
|
---|
48 | ;
|
---|
49 | ; The utility will create an array with the desired information. The
|
---|
50 | ; array structure will be as follows if '$P(GMRVSTR,"^",4):
|
---|
51 | ; ^UTILITY($J,"GMRVD",GMRVTYP,GMRVRDT,GMRVIEN)=GMRVDATA
|
---|
52 | ; or if $P(GMRVSTR,"^",4) then the following will be returned:
|
---|
53 | ; ^UTILITY($J,"GMRVD",GMRVRDT,GMRVTYP,GMRVIEN)=GMRVDATA
|
---|
54 | ; where GMRVRDT = Reverse FileMan date/time.
|
---|
55 | ; 9999999-Date/time vital/measurement was taken.
|
---|
56 | ; GMRVTYP = The abbreviation used in the GMRVSTR string for the
|
---|
57 | ; type of vital/measurment taken.
|
---|
58 | ; GMRVIEN = Entry number in file Vital/Measurement (120.5) file.
|
---|
59 | ; GMRVDATA = $P(^GMR(120.5,GMRVIEN,0),"^",1,9) will be the patient data as
|
---|
60 | ; currently defined in the DD for file 120.5.
|
---|
61 | ; $P(GMRVDATA,"^",10) = the first qualifier
|
---|
62 | ; $P(GMRVDATA,"^",11) = the second qualifier
|
---|
63 | ; $P(GMRVDATA,"^",12)= "*" for abnormal measurement, otherwise = ""
|
---|
64 | ; $P(GMRVDATA,"^",13)= values in centigrade for T; KG for WT;
|
---|
65 | ; in centimeter for HT and Circumference/Girth;
|
---|
66 | ; in mmHg for CVP.
|
---|
67 | ; $P(GMRVDATA,"^",14)= Body Mass Index.
|
---|
68 | ; $P(GMRVDATA,"^",15)= L/Min of supplemental O2.
|
---|
69 | ; $P(GMRVDATA,"^",16)= % of supplemental O2.
|
---|
70 | ; $P(GMRVDATA,"^",17)= all qualifiers.
|
---|
71 | ; The variable GMRVSTR will be killed.
|
---|
72 | Q:'$D(GMRVSTR(0))!'($D(GMRVSTR)#2)!'($D(DFN)#2) Q:DFN'>0
|
---|
73 | S GMRSAVE=GMRVSTR,GMRSAVE(0)=GMRVSTR(0) S GMRVSTR="HT" D EN6^GMRVUTL S GMRVSTR=GMRSAVE,GMRVSTR(0)=GMRSAVE(0) S GMRHT=(+$P(X,"^",8)*2.54)/100
|
---|
74 | I $G(GMRVSTR("LT"))="" S GMRVSTR("LT")=""
|
---|
75 | F GMRVSTR(1)=1:1:$L(GMRVSTR,";") S GMRVSTR("T")=$P(GMRVSTR,";",GMRVSTR(1)) I $L(GMRVSTR("T")) S GMRVSTR("B")=$S($P(GMRVSTR(0),"^",2):9999999-$P(GMRVSTR(0),"^",2)-.0000001,1:0),GMRVSTR("E")=9999999-$P(GMRVSTR(0),"^"),GMRVSTR("O")=0 D GETD
|
---|
76 | K GMRINF,GG,GMRSAVE,GMRHT,GMRVARY,GMRVSTR,GMRSITE,GMRQUAL,GMRVX,GMRZTY,GDATA Q
|
---|
77 | GETD ; LOOP THRU AA XREF AND GET PT DATA.
|
---|
78 | S GMRVSTR("TDA")=$O(^GMRD(120.51,"C",GMRVSTR("T"),0)) Q:'GMRVSTR("TDA")
|
---|
79 | I GMRVSTR("T")="BP"!(GMRVSTR("T")="P") D BP^GMRVUT2 Q
|
---|
80 | F GMRVSTR("R")=GMRVSTR("B"):0 S GMRVSTR("R")=$O(^GMR(120.5,"AA",DFN,GMRVSTR("TDA"),GMRVSTR("R"))) Q:GMRVSTR("R")>GMRVSTR("E")!(GMRVSTR("R")'>0) D GETD1 Q:GMRVSTR("TMO")
|
---|
81 | Q
|
---|
82 | GETD1 ;
|
---|
83 | S GMRVSTR("TMO")=0
|
---|
84 | F GMRVSTR("IEN")=0:0 S GMRVSTR("IEN")=$O(^GMR(120.5,"AA",DFN,GMRVSTR("TDA"),GMRVSTR("R"),GMRVSTR("IEN"))) Q:GMRVSTR("IEN")'>0 I '$P($G(^GMR(120.5,+GMRVSTR("IEN"),2)),"^") D SETU2^GMRVUT2 Q:GMRVSTR("TMO")
|
---|
85 | Q
|
---|