| 1 | FHWORI ; HISC/NCA - Initial Master File Population ;10/1/96  13:12 | 
|---|
| 2 | ;;5.5;DIETETICS;;Jan 28, 2005 | 
|---|
| 3 | DO ; Code Diet Order | 
|---|
| 4 | S PKG=$O(^DIC(9.4,"C","FH",0)) Q:'PKG | 
|---|
| 5 | S VER=$P($G(^DIC(9.4,PKG,22,0)),"^",3) Q:'VER | 
|---|
| 6 | S VER=+$G(^DIC(9.4,PKG,22,VER,0)) | 
|---|
| 7 | K ^TMP($J,"FHUPD"),MSG | 
|---|
| 8 | S FILE="111",FILNM=$P($G(^FH(111,0)),"^",1),EVENT="REP",ACT="MAD" | 
|---|
| 9 | F IEN=0:0 S IEN=$O(^FH(111,IEN)) Q:IEN<1  S X=$G(^(IEN,0)) S:$G(^("I"))="Y" ^TMP($J,"FHUPD",IEN)="" D CODE,D1 | 
|---|
| 10 | K ACT,EVENT,FHK,FILE,FILNM,IEN,IEN1,NAM,N1,N2,PREC,SYN,SYN1,X | 
|---|
| 11 | TF ; Code Tubefeeding | 
|---|
| 12 | K ^TMP($J,"FHUPT") | 
|---|
| 13 | S FILE="118.2",FILNM=$P($G(^FH(118.2,0)),"^",1),EVENT="REP",ACT="MAD" D CODE | 
|---|
| 14 | F IEN=0:0 S IEN=$O(^FH(118.2,IEN)) Q:IEN<1  S X=$G(^(IEN,0)) S:$G(^("I"))="Y" ^TMP($J,"FHUPT",IEN)="" D CODE,T1 | 
|---|
| 15 | K ACT,EVENT,FILE,FILNM,IEN,IEN1,NAM,N1,N2,PKG,SYN,VER,X | 
|---|
| 16 | INACTD ; Code Update Inactive Diet Orders | 
|---|
| 17 | G:'$D(^TMP($J,"FHUPD")) INACTT | 
|---|
| 18 | S FILE="111",FILNM=$P($G(^FH(111,0)),"^",1),EVENT="UPD",ACT="MDC" D CODE | 
|---|
| 19 | F IEN=0:0 S IEN=$O(^TMP($J,"FHUPD",IEN)) Q:IEN<1  S X=$G(^FH(111,IEN,0)) D CODE,D1 | 
|---|
| 20 | K ^TMP($J,"FHUPD"),ACT,EVENT,FILE,FILNM,IEN,NAM,N1,N2,PREC,SYN,X | 
|---|
| 21 | INACTT ; Code Update Inactive Tubefeedings | 
|---|
| 22 | Q:'$D(^TMP($J,"FHUPT")) | 
|---|
| 23 | S FILE="118.2",FILNM=$P($G(^FH(118.2,0)),"^",1),EVENT="UPD",ACT="MDC" D CODE | 
|---|
| 24 | F IEN=0:0 S IEN=$O(^TMP($J,"FHUPT",IEN)) Q:IEN<1  S X=$G(^FH(118.2,IEN,0)) D CODE,T1 | 
|---|
| 25 | K ^TMP($J,"FHUPT"),ACT,EVENT,FILE,FILNM,IEN,IEN1,NAM,N1,N2,SYN,X | 
|---|
| 26 | Q | 
|---|
| 27 | CODE ; Code MSH for Orderable Items | 
|---|
| 28 | S N1=1 | 
|---|
| 29 | S MSG(N1)="MSH|^~\&|DIETETICS|"_^DD("SITE",1)_"|||||MFN" | 
|---|
| 30 | ; code MFI | 
|---|
| 31 | S N1=N1+1 | 
|---|
| 32 | S MSG(N1)="MFI|"_FILE_"^"_FILNM_"^99DD||"_EVENT_"|||NE" | 
|---|
| 33 | Q | 
|---|
| 34 | D1 ; Code MFE, ZFH, and ZSY for Diet Orders | 
|---|
| 35 | S NAM=$P(X,"^",1) Q:NAM=""  S PREC=$P(X,"^",4) Q:'PREC | 
|---|
| 36 | S SYN=$P(X,"^",2),N1=N1+1 | 
|---|
| 37 | S MSG(N1)="MFE|"_ACT_"|||^^^"_IEN_"^"_NAM_"^99FHD" | 
|---|
| 38 | S N1=N1+1,MSG(N1)="ZFH|D|"_PREC_"||"_$P(X,"^",3) | 
|---|
| 39 | S FHK=0 F IEN1=0:0 S IEN1=$O(^FH(111,IEN,"AN",IEN1)) Q:IEN1<1  S SYN1=$G(^(IEN1,0)) D | 
|---|
| 40 | .S FHK=IEN1,SYN1=$P(SYN1,"^",1) Q:SYN1=""  S N1=N1+1 | 
|---|
| 41 | .S MSG(N1)="ZSY|"_IEN1_"|"_SYN1 Q | 
|---|
| 42 | I SYN'="" S N1=N1+1,MSG(N1)="ZSY|"_(FHK+1)_"|"_SYN | 
|---|
| 43 | D SEND | 
|---|
| 44 | Q | 
|---|
| 45 | T1 ; Code MFE, ZFH, and ZSY for Tubefeedings | 
|---|
| 46 | S NAM=$P(X,"^",1) Q:NAM=""  S N1=N1+1 | 
|---|
| 47 | S MSG(N1)="MFE|"_ACT_"|||^^^"_IEN_"^"_NAM_"^99FHT" | 
|---|
| 48 | S N1=N1+1,MSG(N1)="ZFH|T" | 
|---|
| 49 | F IEN1=0:0 S IEN1=$O(^FH(118.2,IEN,1,IEN1)) Q:IEN1<1  S SYN=$G(^(IEN1,0)) D | 
|---|
| 50 | .S SYN=$P(SYN,"^",1) Q:SYN=""  S N1=N1+1 | 
|---|
| 51 | .S MSG(N1)="ZSY|"_IEN1_"|"_SYN Q | 
|---|
| 52 | D SEND | 
|---|
| 53 | Q | 
|---|
| 54 | SEND ; Send Message to OE/RR | 
|---|
| 55 | D MSG^XQOR("FH ORDERABLE ITEM UPDATE",.MSG) | 
|---|
| 56 | K MSG Q | 
|---|