| 1 | FHDCR11 ; HISC/REL/NCA/RVD - Build Diet Cards (Cont.) ;3/27/96  10:20
 | 
|---|
| 2 |  ;;5.5;DIETETICS;**5**;Jan 28, 2005;Build 53
 | 
|---|
| 3 |  ;patch #5 - added outpatient SO and fix diet pattern for outpatient.
 | 
|---|
| 4 | BLD ; Build Diet Card list for a patient
 | 
|---|
| 5 |  S X1=$G(^FHPT(+FHDFN,"A",+ADM,0)),FHORD=$P(X1,"^",2),SVC=$P(X1,"^",5),SF=$P(X1,"^",7),IS=$P(X1,"^",10),FHD=$P(X1,"^",16),(FHOR,X)=""
 | 
|---|
| 6 |  I FHPAR'="Y" Q:SVC="C"
 | 
|---|
| 7 |  I SVC="C" S:SP'=SP1 SP=SP1 Q:'SP
 | 
|---|
| 8 |  Q:'FHORD  S X=$G(^FHPT(FHDFN,"A",ADM,"DI",FHORD,0))
 | 
|---|
| 9 |  S MPD=$P(X,"^",13),FHOR=$P(X,"^",2,6) Q:"^^^^"[FHOR
 | 
|---|
| 10 |  I IS S IS=$G(^FH(119.4,+IS,0)) S:IS'="" SVC=SVC_"-"_$P(IS,"^",2)_$P(IS,"^",3)
 | 
|---|
| 11 |  S:SF SVC=SVC_"  "_"SF"_"("_$S($P($G(^FHPT(FHDFN,"A",ADM,"SF",+SF,0)),"^",34)="Y":"M",1:"I")_")"
 | 
|---|
| 12 |  I UPD D OLD^FHMTK11 I OLD=FHOR S FLG2=0 D EVT^FHDCR2 Q:'FLG2
 | 
|---|
| 13 |  S STR=$G(^FHPT(FHDFN,"A",ADM,"DI",FHORD,2))
 | 
|---|
| 14 |  S DPAT=$O(^FH(111.1,"AB",FHOR,0))
 | 
|---|
| 15 |  F MEAL="B","N","E" D
 | 
|---|
| 16 |  .K FP(MEAL),MP(MEAL),N2(MEAL) I $P(STR,";",$S(MEAL="B":1,MEAL="N":2,1:3))'="" D DECOD^FHDCR1B
 | 
|---|
| 17 |  .S PD=MPD
 | 
|---|
| 18 |  .I DPAT S PD=$P($G(^FH(111.1,DPAT,0)),"^",7) D
 | 
|---|
| 19 |  ..I $P(STR,";",$S(MEAL="B":1,MEAL="N":2,1:3))="",$O(MP(MEAL,""))="" F X8=0:0 S X8=$O(^FH(111.1,DPAT,MEAL,X8)) Q:X8<1  S Z1=$G(^(X8,0)) D
 | 
|---|
| 20 |  ...S ZZ=$G(^FH(114.1,+Z1,0)),NAM=$P(ZZ,"^",1)
 | 
|---|
| 21 |  ...S K4=$P(ZZ,"^",3),K4=$S('K4:99,K4<10:"0"_K4,1:K4)
 | 
|---|
| 22 |  ...S MP(MEAL,K4_"~"_+Z1_"~"_NAM)=$P(Z1,"^",2) Q
 | 
|---|
| 23 |  ..Q
 | 
|---|
| 24 |  .Q:PD=""  S PD=$P($G(^FH(116.2,PD,0)),"^",2) Q:PD=""
 | 
|---|
| 25 |  I NBR=2 D PRT^FHDCR1C K ^TMP($J,"MP"),^TMP($J,0),PP,S,TT S NBR=0
 | 
|---|
| 26 |  Q:PD=""  S NBR=NBR+1 D PID^FHDPA
 | 
|---|
| 27 |  S Y0=$P($G(^DPT(DFN,0)),"^",1)_" ("_BID_")"_"  "_SVC,N1=0,S(NBR)=0
 | 
|---|
| 28 |  D CUR^FHORD7
 | 
|---|
| 29 |  S N1=N1+1 I $L(Y)<60 S PP(N1,NBR)=Y
 | 
|---|
| 30 |  E  S L=$S($L($P(Y,",",1,4))<60:4,1:3) S PP(N1,NBR)=$P(Y,",",1,L),N1=N1+1,PP(N1,NBR)=$E($P(Y,",",L+1,5),2,99)
 | 
|---|
| 31 |  S ^TMP($J,0,NBR)=Y0_"^"_WRDN_"^"_RM
 | 
|---|
| 32 |  I $G(DFN) D ALG^FHCLN S ALG="ALLGS.: "_$S(ALG="":"NONE ON FILE",1:ALG) S J=0 D BRK^FHDCR1B
 | 
|---|
| 33 |  S S(NBR)=S(NBR)+1
 | 
|---|
| 34 |  S ^TMP($J,"MP",S(NBR),NBR)="   Breakfast                Noon               Evening"
 | 
|---|
| 35 |  K NN F MEAL="B","N","E" D
 | 
|---|
| 36 |  .S X8="" F  S X8=$O(MP(MEAL,X8)) Q:X8=""  S X1=+$G(MP(MEAL,X8)) D
 | 
|---|
| 37 |  ..;Q:'X1  S Z1=$P(X8,"~",2),QTY=$S(+X1#1>0:$J(+X1,3,1),1:+X1_"  ")_" "
 | 
|---|
| 38 |  ..Q:'X1  S Z1=$P(X8,"~",2),PAD=$E("    ",1,5-$L(X1)),QTY=+X1_PAD
 | 
|---|
| 39 |  ..S NN(MEAL,X8)=QTY_$E($P(X8,"~",3),1,15)
 | 
|---|
| 40 |  ..Q
 | 
|---|
| 41 |  .Q
 | 
|---|
| 42 |  K TT,SRT F MEAL="B","N","E" D
 | 
|---|
| 43 |  .S TT(MEAL)=0
 | 
|---|
| 44 |  .S X8="" F  S X8=$O(NN(MEAL,X8)) Q:X8=""  D
 | 
|---|
| 45 |  ..S TT(MEAL)=TT(MEAL)+1,SRT(TT(MEAL),MEAL)=$G(NN(MEAL,X8)) Q
 | 
|---|
| 46 |  .D SO^FHDCR1B,DISL^FHDCR1B Q
 | 
|---|
| 47 |  F N1=1:1 Q:'$D(SRT(N1))  D
 | 
|---|
| 48 |  .S STR="" F MEAL="B","N","E" D
 | 
|---|
| 49 |  ..I '$D(SRT(N1,MEAL)) S STR=STR_$J("",20) Q
 | 
|---|
| 50 |  ..S STR=STR_SRT(N1,MEAL)
 | 
|---|
| 51 |  ..S:MEAL'="E" STR=STR_$J("",20-$L(SRT(N1,MEAL)))
 | 
|---|
| 52 |  ..Q
 | 
|---|
| 53 |  .S S(NBR)=S(NBR)+1
 | 
|---|
| 54 |  .S ^TMP($J,"MP",S(NBR),NBR)=STR
 | 
|---|
| 55 |  .Q
 | 
|---|
| 56 |  ;
 | 
|---|
| 57 | OUT ;OUTPATIENT data
 | 
|---|
| 58 |  S (SVC,SF,IS)=""
 | 
|---|
| 59 |  I '$D(FHKDAT)!'$G(FHADM) Q
 | 
|---|
| 60 |  S X1=FHKDAT
 | 
|---|
| 61 |  S FHWARD=W1 D LOC
 | 
|---|
| 62 |  S (FHOR,FHORD)=$P(FHKDAT,U,2),FHD=$P(X1,"^",14)
 | 
|---|
| 63 |  I FHPAR'="Y" Q:SVC="C"
 | 
|---|
| 64 |  I SVC="C" S:SP'=SP1 SP=SP1 Q:'SP
 | 
|---|
| 65 |  I FHORD="" S FHORD=$P(FHKDAT,U,7,11)
 | 
|---|
| 66 |  S:$D(^FHPT(FHDFN,0)) IS=$P(^FHPT(FHDFN,0),U,5)
 | 
|---|
| 67 |  I $D(^FHPT(FHDFN,"OP",FHADM,"SF",0)) S SF=$P(^(0),U,3)
 | 
|---|
| 68 |  I IS S IS=$G(^FH(119.4,+IS,0)) S:IS'="" SVC=SVC_"-"_$P(IS,"^",2)_$P(IS,"^",3)
 | 
|---|
| 69 |  I SF,$D(^FHPT(FHDFN,"OP",FHADM,"SF",SF,0)),'$P(^(0),U,32) S SVC=SVC_"  "_"SF"_"("_$S($P($G(^FHPT(FHDFN,"OP",FHADM,"SF",SF,0)),"^",34)="Y":"M",1:"I")_")"
 | 
|---|
| 70 |  I UPD D OLD^FHMTK11 I OLD=FHOR S FLG2=0 D EVT^FHDCR2 Q:'FLG2
 | 
|---|
| 71 |  S STR=""
 | 
|---|
| 72 |  S:$G(FHOR) FHOR=FHOR_"^^^^"
 | 
|---|
| 73 |  I FHOR="" S FHOR=$P(FHKDAT,U,7,11)
 | 
|---|
| 74 |  ;
 | 
|---|
| 75 |  S DPAT=$O(^FH(111.1,"AB",FHOR,0))
 | 
|---|
| 76 |  F MEAL="B","N","E" D
 | 
|---|
| 77 |  .Q:FHMEAL'=MEAL
 | 
|---|
| 78 |  .K FP(MEAL),MP(MEAL),N2(MEAL)
 | 
|---|
| 79 |  .S PD=""
 | 
|---|
| 80 |  .S:$G(MPD) PD=MPD
 | 
|---|
| 81 |  .I DPAT S PD=$P($G(^FH(111.1,DPAT,0)),"^",7) D
 | 
|---|
| 82 |  ..F X8=0:0 S X8=$O(^FH(111.1,DPAT,MEAL,X8)) Q:X8<1  S Z1=$G(^(X8,0)) D
 | 
|---|
| 83 |  ...S ZZ=$G(^FH(114.1,+Z1,0)),NAM=$P(ZZ,"^",1)
 | 
|---|
| 84 |  ...S K4=$P(ZZ,"^",3),K4=$S('K4:99,K4<10:"0"_K4,1:K4)
 | 
|---|
| 85 |  ...S MP(MEAL,K4_"~"_+Z1_"~"_NAM)=$P(Z1,"^",2)
 | 
|---|
| 86 |  ..Q
 | 
|---|
| 87 |  .Q:PD=""  S PD=$P($G(^FH(116.2,PD,0)),"^",2) Q:PD=""
 | 
|---|
| 88 |  I NBR=2 D PRT^FHDCR1C K ^TMP($J,"MP"),^TMP($J,0),PP,S,TT,SRT S (N1,NBR)=0
 | 
|---|
| 89 |  Q:PD=""  S NBR=NBR+1 D PATNAME^FHOMUTL
 | 
|---|
| 90 |  S Y0=FHPTNM_" ("_FHBID_")"_"  "_SVC,N1=0,S(NBR)=0,Y="***"
 | 
|---|
| 91 |  I '$G(FHDIET) S FHRNUM=FHKD D DIETPAT^FHOMRR1 S Y=$E(FHDIETP,1,18)
 | 
|---|
| 92 |  S:$G(FHDIET) Y=$P(^FH(111,FHDIET,0),U,7)
 | 
|---|
| 93 |  S N1=N1+1 I $L(Y)<60 S PP(N1,NBR)=Y
 | 
|---|
| 94 |  E  S L=$S($L($P(Y,",",1,4))<60:4,1:3) S PP(N1,NBR)=$P(Y,",",1,L),N1=N1+1,PP(N1,NBR)=$E($P(Y,",",L+1,5),2,99)
 | 
|---|
| 95 |  S ^TMP($J,0,NBR)=Y0_"^"_WRDN_"^"_RM_"^^^^"_FHMEAL
 | 
|---|
| 96 |  I $G(DFN) D ALG^FHCLN S ALG="ALLGS.: "_$S(ALG="":"NONE ON FILE",1:ALG) S J=0 D BRK^FHDCR1B
 | 
|---|
| 97 |  S S(NBR)=S(NBR)+1
 | 
|---|
| 98 |  S ^TMP($J,"MP",S(NBR),NBR)="   Breakfast                Noon               Evening"
 | 
|---|
| 99 |  K NN F MEAL="B","N","E" D
 | 
|---|
| 100 |  .S X8="" F  S X8=$O(MP(MEAL,X8)) Q:X8=""  S X1=+$G(MP(MEAL,X8)) D
 | 
|---|
| 101 |  ..;Q:'X1  S Z1=$P(X8,"~",2),QTY=$S(+X1#1>0:$J(+X1,3,1),1:+X1_"  ")_" "
 | 
|---|
| 102 |  ..Q:'X1  S Z1=$P(X8,"~",2),PAD=$E("    ",1,5-$L(X1)),QTY=+X1_PAD
 | 
|---|
| 103 |  ..S NN(MEAL,X8)=QTY_$E($P(X8,"~",3),1,15)
 | 
|---|
| 104 |  ..Q
 | 
|---|
| 105 |  .Q
 | 
|---|
| 106 |  K TT,SRT F MEAL="B","N","E" D
 | 
|---|
| 107 |  .S TT(MEAL)=0
 | 
|---|
| 108 |  .S X8="" F  S X8=$O(NN(MEAL,X8)) Q:X8=""  D
 | 
|---|
| 109 |  ..S TT(MEAL)=TT(MEAL)+1,SRT(TT(MEAL),MEAL)=$G(NN(MEAL,X8)) Q
 | 
|---|
| 110 |  .D SOUT^FHDCR1B,DISL^FHDCR1B
 | 
|---|
| 111 |  ;
 | 
|---|
| 112 |  F N1=1:1 Q:'$D(SRT(N1))  D
 | 
|---|
| 113 |  .S STR="" F MEAL="B","N","E" D
 | 
|---|
| 114 |  ..I '$D(SRT(N1,MEAL))!(MEAL'=FHMEAL) S STR=STR_$J("",20) Q
 | 
|---|
| 115 |  ..S STR=STR_SRT(N1,MEAL)
 | 
|---|
| 116 |  ..S:MEAL'="E" STR=STR_$J("",20-$L(SRT(N1,MEAL)))
 | 
|---|
| 117 |  ..Q
 | 
|---|
| 118 |  .S S(NBR)=S(NBR)+1
 | 
|---|
| 119 |  .S ^TMP($J,"MP",S(NBR),NBR)=STR
 | 
|---|
| 120 |  .Q
 | 
|---|
| 121 |  Q
 | 
|---|
| 122 |  ;
 | 
|---|
| 123 | LOC ;get location info
 | 
|---|
| 124 |  I $G(FHWARD),$D(^FH(119.6,FHWARD,0)) S FHWDAT=^FH(119.6,FHWARD,0) D
 | 
|---|
| 125 |  .S FHWT=$P(FHWDAT,U,5)
 | 
|---|
| 126 |  .S FHWC=$P(FHWDAT,U,6)
 | 
|---|
| 127 |  .S FHWD=$P(FHWDAT,U,7)
 | 
|---|
| 128 |  .I $G(FHWT),$D(^FH(119.72,FHWT,0)) S SVC=$P(^FH(119.72,FHWT,0),U,2)
 | 
|---|
| 129 |  .I $G(FHWC),$D(^FH(119.72,FHWC,0)) S SVC=$P(^FH(119.72,FHWC,0),U,2)
 | 
|---|
| 130 |  .I FHRGS="OP" D
 | 
|---|
| 131 |  ..S (FHOR,FHDIET)=$P(FHKDAT,U,2)
 | 
|---|
| 132 |  .I FHRGS="GM" D
 | 
|---|
| 133 |  ..S FHDIET=$P(FHKDAT,U,6)
 | 
|---|
| 134 |  .I FHRGS="SM" D
 | 
|---|
| 135 |  ..S FHDIET=$P(FHKDAT,U,4)
 | 
|---|
| 136 |  .S:$G(FHDIET) MPD=$P(^FH(111,FHDIET,0),U,5)
 | 
|---|
| 137 |  Q
 | 
|---|