1 | FH55P5 ;ALB/TDP - POST-INIT FOR PATCH FH*5.5*5 ;12/13/2005
|
---|
2 | ;;5.5;DIETETICS;**5**;Jan 28, 2005;Build 53
|
---|
3 | Q
|
---|
4 | POST ;
|
---|
5 | D BMES^XPDUTL("Searching for DIETS (#111) file entries which are out of sync with the")
|
---|
6 | D MES^XPDUTL(" corresponding entry in the ORDERABLE ITEM (#101.43) file...")
|
---|
7 | D DIET
|
---|
8 | D BMES^XPDUTL("Searching for TUBEFEEDING (#118.2) file entries which are out of sync with")
|
---|
9 | D MES^XPDUTL(" the corresponding entry in the ORDERABLE ITEM (#101.43) file...")
|
---|
10 | D TF
|
---|
11 | D BMES^XPDUTL("Searching for DIET PATTERN (#111.1) names which are out of sync with")
|
---|
12 | D MES^XPDUTL(" corresponding DIET ABBREVIATED LABELS...")
|
---|
13 | D UPDPAT
|
---|
14 | D BMES^XPDUTL("Post-init complete.")
|
---|
15 | Q
|
---|
16 | ;
|
---|
17 | DIET ;
|
---|
18 | N DIFF,FH0,FHACT,FHFILE,FHFLNM,FHIEN,FHIEN1,FHINACT
|
---|
19 | N FHNM,FHORIEN,FHSYN,FHTYP
|
---|
20 | K ^TMP($J,"FH55P5_nutrition"),^TMP($J,"FH55P5_order")
|
---|
21 | S FHTYP="D"
|
---|
22 | S FHFILE="111",FHFLNM=$P($G(^FH(111,0)),"^",1)
|
---|
23 | S FHNM=""
|
---|
24 | F S FHNM=$O(^FH(111,"B",FHNM)) Q:FHNM="" D
|
---|
25 | . S FHIEN=""
|
---|
26 | . F S FHIEN=$O(^FH(111,"B",FHNM,FHIEN)) Q:FHIEN="" D
|
---|
27 | .. S DIFF=0
|
---|
28 | .. S FHINACT=$G(^FH(111,+FHIEN,"I")) I FHINACT="N" S FHINACT=""
|
---|
29 | .. S FH0=$G(^FH(111,+FHIEN,0))
|
---|
30 | .. S FHNM=$P(FH0,U,1) I FHNM="" Q
|
---|
31 | .. S ^TMP($J,"FH55P5_nutrition",FHNM)=FHINACT
|
---|
32 | .. F FHIEN1=0:0 S FHIEN1=$O(^FH(111,+FHIEN,"AN",FHIEN1)) Q:FHIEN1<1 D
|
---|
33 | ... S FHSYN=$G(^FH(111,+FHIEN,"AN",FHIEN1,0))
|
---|
34 | ... S:'$D(^TMP($J,"FH55P5_nutrition",FHNM,FHSYN)) ^TMP($J,"FH55P5_nutrition",FHNM,FHSYN)=""
|
---|
35 | .. S FHSYN=$P(FH0,U,2)
|
---|
36 | .. I FHSYN'="" S:'$D(^TMP($J,"FH55P5_nutrition",FHNM,FHSYN)) ^TMP($J,"FH55P5_nutrition",FHNM,FHSYN)=""
|
---|
37 | .. D ORDER
|
---|
38 | .. D COMPARE
|
---|
39 | .. I DIFF D UPDATE
|
---|
40 | .. K ^TMP($J,"FH55P5_nutrition"),^TMP($J,"FH55P5_order")
|
---|
41 | Q
|
---|
42 | TF ;
|
---|
43 | N DIFF,FH0,FHACT,FHFILE,FHFLNM,FHIEN,FHIEN1,FHINACT
|
---|
44 | N FHNM,FHORIEN,FHSYN,FHTYP
|
---|
45 | K ^TMP($J,"FH55P5_nutrition"),^TMP($J,"FH55P5_order")
|
---|
46 | S FHTYP="T"
|
---|
47 | S FHFILE="118.2",FHFLNM=$P($G(^FH(118.2,0)),"^",1)
|
---|
48 | S FHNM=""
|
---|
49 | F S FHNM=$O(^FH(118.2,"B",FHNM)) Q:FHNM="" D
|
---|
50 | . S FHIEN=""
|
---|
51 | . F S FHIEN=$O(^FH(118.2,"B",FHNM,FHIEN)) Q:FHIEN="" D
|
---|
52 | .. S DIFF=0
|
---|
53 | .. S FHINACT=$G(^FH(118.2,+FHIEN,"I")) I FHINACT="N" S FHINACT=""
|
---|
54 | .. S FH0=$G(^FH(118.2,+FHIEN,0))
|
---|
55 | .. S FHNM=$P(FH0,U,1) I FHNM="" Q
|
---|
56 | .. S ^TMP($J,"FH55P5_nutrition",FHNM)=FHINACT
|
---|
57 | .. F FHIEN1=0:0 S FHIEN1=$O(^FH(118.2,+FHIEN,1,FHIEN1)) Q:FHIEN1<1 D
|
---|
58 | ... S FHSYN=$G(^FH(118.2,+FHIEN,1,FHIEN1,0))
|
---|
59 | ... S:'$D(^TMP($J,"FH55P5_nutrition",FHNM,FHSYN)) ^TMP($J,"FH55P5_nutrition",FHNM,FHSYN)=""
|
---|
60 | .. ;S FHSYN=$P(FH0,U,2)
|
---|
61 | .. ;I FHSYN'="" S:'$D(^TMP($J,"FH55P5_nutrition",FHNM,FHSYN)) ^TMP($J,"FH55P5_nutrition",FHNM,FHSYN)=""
|
---|
62 | .. D ORDER
|
---|
63 | .. D COMPARE
|
---|
64 | .. I DIFF D UPDATE
|
---|
65 | .. K ^TMP($J,"FH55P5_nutrition"),^TMP($J,"FH55P5_order")
|
---|
66 | Q
|
---|
67 | ORDER ;COMPILE ORD(101.43 DATA RELATED TO DIET ORDER/TF PRODUCT
|
---|
68 | N FHORIN,FHORNM,FHORSYN
|
---|
69 | S FHORIEN=$O(^ORD(101.43,"ID",+FHIEN_";99FH"_FHTYP,0))
|
---|
70 | I +FHORIEN<1 Q
|
---|
71 | S FHORIN=$G(^ORD(101.43,FHORIEN,.1))
|
---|
72 | I FHORIN'="" S FHORIN="Y"
|
---|
73 | S FHORNM=$P($G(^ORD(101.43,FHORIEN,0)),U,1) I FHORNM="" S FHORNM="UNKNOWN NAME (FH55P5)"
|
---|
74 | S ^TMP($J,"FH55P5_order",FHORNM)=FHORIN
|
---|
75 | S FHORSYN=""
|
---|
76 | F S FHORSYN=$O(^ORD(101.43,FHORIEN,2,"B",FHORSYN)) Q:FHORSYN="" D
|
---|
77 | . S:'$D(^TMP($J,"FH55P5_order",FHORNM,FHORSYN)) ^TMP($J,"FH55P5_order",FHORNM,FHORSYN)=""
|
---|
78 | Q
|
---|
79 | COMPARE ;COMPARE ORD(101.43 ENTRY TO FH(111 OR FH(118.2 ENTRY
|
---|
80 | N FHINACT,FHNM,FHORIN,FHORNM,FHORSYN,FHSYN
|
---|
81 | I '$D(^TMP($J,"FH55P5_order")) Q
|
---|
82 | S (FHACT,FHNM,FHORNM,FHORSYN,FHSYN)=""
|
---|
83 | S FHNM=$O(^TMP($J,"FH55P5_nutrition",FHNM))
|
---|
84 | S FHORNM=$O(^TMP($J,"FH55P5_order",FHORNM))
|
---|
85 | I FHNM'=FHORNM S DIFF=1
|
---|
86 | S FHINACT=$G(^TMP($J,"FH55P5_nutrition",FHNM))
|
---|
87 | S FHORIN=$G(^TMP($J,"FH55P5_order",FHORNM))
|
---|
88 | I FHINACT'=FHORIN S DIFF=1 D
|
---|
89 | . I FHINACT="Y" S FHACT=$$FMTHL7^XLFDT($$NOW^XLFDT)
|
---|
90 | . I FHINACT'="Y" S FHACT=""
|
---|
91 | I FHINACT=FHORIN,FHINACT="Y" D
|
---|
92 | . S FHACT=$O(^ORD(101.43,"ID",FHIEN_";99FH"_FHTYP,0))
|
---|
93 | . S FHACT=$G(^ORD(101.43,FHACT,.1))
|
---|
94 | . S FHACT=$$FMTHL7^XLFDT(FHACT)
|
---|
95 | CLOOP S FHSYN=$O(^TMP($J,"FH55P5_nutrition",FHNM,FHSYN))
|
---|
96 | S FHORSYN=$O(^TMP($J,"FH55P5_order",FHORNM,FHORSYN))
|
---|
97 | I FHSYN'="",FHSYN=FHORSYN G CLOOP
|
---|
98 | I FHSYN'=FHORSYN S DIFF=1
|
---|
99 | Q
|
---|
100 | UPDATE ;FORMAT AND SEND UPDATE MESSAGE
|
---|
101 | N CNT,FHNAM,MSG
|
---|
102 | S CNT=1
|
---|
103 | S MSG(CNT)="MSH|^~\&|DIETETICS|"_^DD("SITE",1)_"|||||MFN"
|
---|
104 | ; code MFI
|
---|
105 | S CNT=CNT+1
|
---|
106 | S MSG(CNT)="MFI|"_FHFILE_"^"_FHFLNM_"^99DD||UPD|||NE"
|
---|
107 | S FHNAM=""
|
---|
108 | F S FHNAM=$O(^TMP($J,"FH55P5_nutrition",FHNAM)) Q:FHNAM="" D
|
---|
109 | . S CNT=CNT+1
|
---|
110 | . S MSG(CNT)="MFE|MUP||"_FHACT_"|^^^"_FHIEN_"^"_FHNAM_"^99FH"_FHTYP
|
---|
111 | . S CNT=CNT+1
|
---|
112 | . I FHTYP="D" S MSG(CNT)="ZFH|D|"_$P(FH0,U,4)_"||"_$P(FH0,U,3)
|
---|
113 | . I FHTYP="T" S MSG(CNT)="ZFH|T|"
|
---|
114 | . S FHSYN=""
|
---|
115 | . F S FHSYN=$O(^TMP($J,"FH55P5_nutrition",FHNAM,FHSYN)) Q:FHSYN="" D
|
---|
116 | .. S CNT=CNT+1,MSG(CNT)="ZSY|"_CNT_"|"_FHSYN
|
---|
117 | I $D(MSG) D SEND
|
---|
118 | Q
|
---|
119 | SEND ; Send Message to OE/RR
|
---|
120 | D MSG^XQOR("FH ORDERABLE ITEM UPDATE",.MSG)
|
---|
121 | D BMES^XPDUTL(" Updated ORDERABLE ITEM (#101.43) file entry #"_FHORIEN_" with data")
|
---|
122 | D MES^XPDUTL(" for "_FHNM_" from the "_$S($G(FHTYP)="D":"DIETS (#111) file",1:"TUBEFEEDING (#118.2) file"))
|
---|
123 | K MSG
|
---|
124 | Q
|
---|
125 | UPDPAT ; Update Diet Pattern names
|
---|
126 | S FLG=0 F FHDPIEN=0:0 S FHDPIEN=$O(^FH(111.1,FHDPIEN)) Q:FHDPIEN'>0 D
|
---|
127 | .S FHFND=0,FHOLDNM=$P($G(^FH(111.1,FHDPIEN,0)),U,1),FHNEWNM=""
|
---|
128 | .S FHDPDTS=$P($G(^FH(111.1,FHDPIEN,0)),U,2,6)
|
---|
129 | .F FHPCE=1:1:5 D
|
---|
130 | ..S FHDTPTR=$P(FHDPDTS,U,FHPCE) Q:FHDTPTR=""
|
---|
131 | ..S FHNEWNM=FHNEWNM_$S(FHNEWNM="":"",1:", ")
|
---|
132 | ..S FHNEWNM=FHNEWNM_$P($G(^FH(111,FHDTPTR,0)),U,7)
|
---|
133 | .I FHOLDNM=FHNEWNM Q
|
---|
134 | .S FLG=1 D BMES^XPDUTL(" Updated "_FHOLDNM_" to "_FHNEWNM)
|
---|
135 | .K DIE S DIE="^FH(111.1,",DA=FHDPIEN,DR=".01////^S X=FHNEWNM" D ^DIE
|
---|
136 | Q
|
---|