1 | ECXNUT1 ;ALB/JRC Nutrition DSS Extract ; 10/27/06 1:53pm
|
---|
2 | ;;3.0;DSS EXTRACTS;**92**;Dec 22, 1997;Build 30
|
---|
3 | Q
|
---|
4 | ;
|
---|
5 | GETMEALS ;get patient meals
|
---|
6 | ;init variables
|
---|
7 | N DATE,FHDFN,ECXADM,NODE,PRODUCT,ECXQTY,ORDER,ECXORDPH,ECXKEY,P,D
|
---|
8 | N ECXFPD,ECXFDD,ECXFPF,ECXDLT,ECXDFL,NUMBER,PNODE,SF,TF,TFNODE
|
---|
9 | ;S (DATE,FHDFN,NUMBER,ECXQTY)=0,(ECXADM,NODE,ORDER,ECXORDPH)=""
|
---|
10 | ;Get inpatient diets
|
---|
11 | ;S P="INP",D="PD" F S DATE=$O(^TMP($J,"FH",DATE)) Q:'DATE D
|
---|
12 | ;. F S FHDFN=$O(^TMP($J,"FH",DATE,FHDFN)) Q:'FHDFN D
|
---|
13 | ;.. F S ECXADM=$O(^TMP($J,"FH",DATE,FHDFN,ECXADM)) Q:'ECXADM D
|
---|
14 | ;... S NODE=$G(^TMP($J,"FH",DATE,FHDFN,ECXADM,"INP")) Q:'NODE
|
---|
15 | ;... S PRODUCT=$P(NODE,U,13),ECXQTY=1,ORDER=""_$P(NODE,U,14)_","_""
|
---|
16 | ;... S ECXORDPH=$$GET1^DIQ(100,+ORDER,1,"I")
|
---|
17 | ;... ;Resolve feeder key for nutrition product
|
---|
18 | ;... S ECXKEY=$$NUTKEY^ECXUTL6("PD",PRODUCT)
|
---|
19 | ;... I $$NUTLOC^ECXUTL6(P,D,.ECXFPD,.ECXFDD,.ECXFPF,.ECXDLT,.ECXDFL)
|
---|
20 | ;... ;Get additional data and file record.
|
---|
21 | ;... D GET^ECXNUT
|
---|
22 | ;Get inpatient supplemental feedings
|
---|
23 | ;S (FHDFN,DATE)=0,(ECXADM,NODE,ORDER,ECXORDPH)=""
|
---|
24 | ;S P="INP",D="SF" F S DATE=$O(^TMP($J,"FH",DATE)) Q:'DATE D
|
---|
25 | ;. F S FHDFN=$O(^TMP($J,"FH",DATE,FHDFN)) Q:'FHDFN D
|
---|
26 | ;.. F S ECXADM=$O(^TMP($J,"FH",DATE,FHDFN,ECXADM)) Q:'ECXADM D
|
---|
27 | ;... S NODE=$G(^TMP($J,"FH",DATE,FHDFN,ECXADM,"SF")) Q:'NODE
|
---|
28 | ;... F SF=5:2:27 S PRODUCT=$P(NODE,U,SF) Q:PRODUCT']"" S ECXQTY=1 D
|
---|
29 | ;.... S ORDER=""_$P(NODE,U,7)_","_""
|
---|
30 | ;.... S ECXORDPH=$$GET1^DIQ(100,ORDER,1,"I")
|
---|
31 | ;.... ;Resolve external value for product key
|
---|
32 | ;.... S ECXKEY=$$NUTKEY^ECXUTL6("SF",PRODUCT)
|
---|
33 | ;.... I $$NUTLOC^ECXUTL6(P,D,.ECXFPD,.ECXFDD,.ECXFPF,.ECXDLT,.ECXDFL)
|
---|
34 | ;.... ;Get additional data and file record.
|
---|
35 | ;.... D GET^ECXNUT
|
---|
36 | ;Get inpatient standing orders
|
---|
37 | ;S (FHDFN,DATE)=0,(ECXADM,NODE,ECXORDPH)=""
|
---|
38 | ;S P="INP",D="SO" F S DATE=$O(^TMP($J,"FH",DATE)) Q:'DATE D
|
---|
39 | ;. F S FHDFN=$O(^TMP($J,"FH",DATE,FHDFN)) Q:'FHDFN D
|
---|
40 | ;.. F S ECXADM=$O(^TMP($J,"FH",DATE,FHDFN,ECXADM)) Q:'ECXADM D
|
---|
41 | ;... S NODE=$G(^TMP($J,"FH",DATE,FHDFN,ECXADM,"SO")) Q:'NODE
|
---|
42 | ;... S PRODUCT=$P(NODE,U,2),ECXQTY=1
|
---|
43 | ;... ;Resolve external value for product key
|
---|
44 | ;... S ECXKEY=$$NUTKEY^ECXUTL6("SO",PRODUCT)
|
---|
45 | ;... I $$NUTLOC^ECXUTL6(P,D,.ECXFPD,.ECXFDD,.ECXFPF,.ECXDLT,.ECXDFL)
|
---|
46 | ;... ;Get additional data and file record.
|
---|
47 | ;... D GET^ECXNUT
|
---|
48 | ;Get inpatient tube feedings
|
---|
49 | ;S (FHDFN,DATE,P)=0,(ECXADM,NODE,ECXORDPH,PNODE)=""
|
---|
50 | ;S P="INP",D="TF" F S DATE=$O(^TMP($J,"FH",DATE)) Q:'DATE D
|
---|
51 | ;. F S FHDFN=$O(^TMP($J,"FH",DATE,FHDFN)) Q:'FHDFN D
|
---|
52 | ;.. F S ECXADM=$O(^TMP($J,"FH",DATE,FHDFN,ECXADM)) Q:'ECXADM D
|
---|
53 | ;... S NODE=$G(^TMP($J,"FH",DATE,FHDFN,ECXADM,"TF")) Q:'NODE
|
---|
54 | ;... S P=$O(^TMP($J,"FH",DATE,FHDFN,ECXADM,"TF",P)) Q:'P D
|
---|
55 | ;.... S PNODE=^TMP($J,"FH",DATE,FHDFN,ECXADM,"TF",P,"P")
|
---|
56 | ;.... S PRODUCT=$P(PNODE,U,1),ECXQTY=$P(PNODE,U,4)
|
---|
57 | ;.... S ORDER=""_$P(NODE,U,14)_","_""
|
---|
58 | ;.... S ECXORDPH=$$GET1^DIQ(100,ORDER,1,"I")
|
---|
59 | ;.... ;Resolve external value for product key
|
---|
60 | ;.... S ECXKEY=$$NUTKEY^ECXUTL6("TF",PRODUCT)
|
---|
61 | ;.... I $$NUTLOC^ECXUTL6(P,D,.ECXFPD,.ECXFDD,.ECXFPF,.ECXDLT,.ECXDFL)
|
---|
62 | ;.... ;Get additional data and file record.
|
---|
63 | ;.... D GET^ECXNUT
|
---|
64 | ;Get outpatient recurring meals
|
---|
65 | S (FHDFN,DATE)=0,(ECXADM,NODE,ECXORDPH)=""
|
---|
66 | S P="OP",D="RM" F S DATE=$O(^TMP($J,"FH",DATE)) Q:'DATE D
|
---|
67 | . F S FHDFN=$O(^TMP($J,"FH",DATE,FHDFN)) Q:'FHDFN D
|
---|
68 | .. S NUMBER=0 F S NUMBER=$O(^TMP($J,"FH",DATE,FHDFN,NUMBER)) Q:'NUMBER D
|
---|
69 | ... S NODE=$G(^TMP($J,"FH",DATE,FHDFN,NUMBER,"RM")) Q:'NODE
|
---|
70 | ... S PRODUCT=$P(NODE,U,2),ECXQTY=1,ORDER=""_$P(NODE,U,12)_","_""
|
---|
71 | ... S PRODUCT=$$GET1^DIQ(111,PRODUCT,4,"I")
|
---|
72 | ... S ECXORDPH=$$GET1^DIQ(100,ORDER,1,"I")
|
---|
73 | ... ;Resolve external value for product key
|
---|
74 | ... S ECXKEY=$$NUTKEY^ECXUTL6("PD",PRODUCT)
|
---|
75 | ... I $$NUTLOC^ECXUTL6(P,D,.ECXFPD,.ECXFDD,.ECXFPF,.ECXDLT,.ECXDFL)
|
---|
76 | ... ;Get additional data and file record.
|
---|
77 | ... D GET^ECXNUT
|
---|
78 | ;Get outpatient tube feedings
|
---|
79 | S (FHDFN,DATE,NUMBER)=0,(ECXADM,NODE,ECXORDPH)=""
|
---|
80 | S P="OP",D="TF" F S DATE=$O(^TMP($J,"FH",DATE)) Q:'DATE D
|
---|
81 | . F S FHDFN=$O(^TMP($J,"FH",DATE,FHDFN)) Q:'FHDFN D
|
---|
82 | .. F S NUMBER=$O(^TMP($J,"FH",DATE,FHDFN,NUMBER)) Q:'NUMBER D
|
---|
83 | ... S NODE=$G(^TMP($J,"FH",DATE,FHDFN,NUMBER,"RMTF")) Q:'NODE
|
---|
84 | ... S TF=$O(^TMP($J,"FH",DATE,FHDFN,NUMBER,"RMTF",TF)) Q:'TF D
|
---|
85 | .... S TFNODE=^TMP($J,"FH",DATE,FHDFN,NUMBER,"RMTF",TF)
|
---|
86 | .... S PRODUCT=$P(TFNODE,U,1),ECXQTY=$P(TFNODE,U,4)
|
---|
87 | .... ;Resolve external value for product key
|
---|
88 | .... S ECXKEY=$$NUTKEY^ECXUTL6("TF",PRODUCT)
|
---|
89 | .... I $$NUTLOC^ECXUTL6(P,D,.ECXFPD,.ECXFDD,.ECXFPF,.ECXDLT,.ECXDFL)
|
---|
90 | .... ;Get additional data and file record.
|
---|
91 | .... D GET^ECXNUT
|
---|
92 | ;Get outpatient special meals
|
---|
93 | S (FHDFN,DATE)=0,(ECXADM,NODE,ECXORDPH)=""
|
---|
94 | S P="OP",D="SM" F S DATE=$O(^TMP($J,"FH",DATE)) Q:'DATE D
|
---|
95 | . F S FHDFN=$O(^TMP($J,"FH",DATE,FHDFN)) Q:'FHDFN D
|
---|
96 | .. S NODE=$G(^TMP($J,"FH",DATE,FHDFN,"SM")) Q:'NODE
|
---|
97 | .. S PRODUCT=$P(NODE,U,13),ECXQTY=1,ECXORDPH=$P(NODE,U,5)
|
---|
98 | .. ;Resolve external value for product key
|
---|
99 | .. S ECXKEY=$$NUTKEY^ECXUTL6("SM",PRODUCT)
|
---|
100 | .. I $$NUTLOC^ECXUTL6(P,D,.ECXFPD,.ECXFDD,.ECXFPF,.ECXDLT,.ECXDFL)
|
---|
101 | .. ;Get additional data and file record.
|
---|
102 | .. D GET^ECXNUT
|
---|
103 | ;Get outpatient guest meals
|
---|
104 | S (FHDFN,DATE)=0,(ECXADM,NODE,ECXORDPH)=""
|
---|
105 | S P="OP",D="GM" F S DATE=$O(^TMP($J,"FH",DATE)) Q:'DATE D
|
---|
106 | . F S FHDFN=$O(^TMP($J,"FH",DATE,FHDFN)) Q:'FHDFN D
|
---|
107 | .. S NODE=$G(^TMP($J,"FH",DATE,FHDFN,"GM")) Q:'NODE
|
---|
108 | .. S PRODUCT=$P(NODE,U,13),ECXQTY=1
|
---|
109 | .. ;Resolve external value for product key
|
---|
110 | .. S ECXKEY=$$NUTKEY^ECXUTL6("GM",PRODUCT)
|
---|
111 | .. I $$NUTLOC^ECXUTL6(P,D,.ECXFPD,.ECXFDD,.ECXFPF,.ECXDLT,.ECXDFL)
|
---|
112 | .. ;Get additional data and file record.
|
---|
113 | .. D GET^ECXNUT
|
---|
114 | Q
|
---|