| 1 | FHASP1 ; HISC/REL/JH - Nutrition Profile (cont) ;5/2/01  10:14 | 
|---|
| 2 | ;;5.5;DIETETICS;**8**;Jan 28, 2005;Build 28 | 
|---|
| 3 | ; | 
|---|
| 4 | I '$G(FHET) S X="T-365",%DT="XT" D ^%DT S FHET=Y K %DT | 
|---|
| 5 | S DTP=FHET D DTP^FH S FHENDATE=DTP | 
|---|
| 6 | S N1=0 | 
|---|
| 7 | W !!?22,"Dietetic Encounters since ",FHENDATE | 
|---|
| 8 | F FHET=FHET:0 S FHET=$O(^FHEN("AP",DFN,FHET)) Q:FHET<1!(ANS="^")  F ASN=0:0 S ASN=$O(^FHEN("AP",DFN,FHET,ASN)) Q:ASN<1  D:$Y'<S1 HF^FHASP Q:ANS="^"  D LST | 
|---|
| 9 | Q:ANS="^" | 
|---|
| 10 | I 'N1 W !!?5,"No Encounters recorded since ",FHENDATE | 
|---|
| 11 | S FHZ115="P"_DFN D CHECK^FHOMDPA I FHDFN="" Q | 
|---|
| 12 | S FADM=$O(^FHPT(FHDFN,"A",""),-1) S FADM=$S($G(ADM):$G(ADM),FADM:FADM,1:"") G:FADM="" F1 | 
|---|
| 13 | D:$Y'<(S1-6) HF^FHASP Q:ANS="^"  W !!?28,$S($G(ADM):"Current",1:"Last")," Admission Monitors" S N1=0 | 
|---|
| 14 | ; F NDT=0:0 S NDT=$O(^FHPT(FHDFN,"A",FADM,"MO","AC",NDT)) Q:NDT<1  F K=0:0 S K=$O(^FHPT(FHDFN,"A",FADM,"MO","AC",NDT,K)) Q:K<1  D MO | 
|---|
| 15 | S FHTTLM="",FHTTLM=$P($G(^FHPT(FHDFN,"A",FADM,"MO",0)),U,3) | 
|---|
| 16 | I FHTTLM="" W !,"No Monitors on file." G F1 | 
|---|
| 17 | S FHMONS=$S(FHTTLM-FHNUM<0:0,1:FHTTLM-FHNUM) | 
|---|
| 18 | F NDT=FHMONS:0 S NDT=$O(^FHPT(FHDFN,"A",FADM,"MO",NDT)) Q:NDT<1!(ANS="^")  S K=NDT D MO | 
|---|
| 19 | Q:ANS="^"  I 'N1 W !,"No Monitors on file." | 
|---|
| 20 | F1 D:$Y'<(S1-6) HF^FHASP Q:ANS="^"  W !!?32,"Food Preferences" D DISP | 
|---|
| 21 | W !!?27,"Future Clinic Appointments" S N1=0 | 
|---|
| 22 | ; | 
|---|
| 23 | ;patch #41 | 
|---|
| 24 | ;F NDT=NOW:0 S NDT=$O(^DPT(DFN,"S",NDT)) Q:NDT'>0  S Z=^(NDT,0) I "I"[$P(Z,"^",2) D CLIN Q:ANS="^" | 
|---|
| 25 | K ^TMP($J) | 
|---|
| 26 | S FHCNT="" | 
|---|
| 27 | D GETAPPT^SDAMA201(DFN,"1;2;12","R",DT,,.FHCNT,"") | 
|---|
| 28 | G:'$D(^TMP($J,"SDAMA201","GETAPPT")) NOAPP | 
|---|
| 29 | I $D(^TMP($J,"SDAMA201","GETAPPT")) S FHTMP=$NA(^TMP($J,"SDAMA201","GETAPPT")) | 
|---|
| 30 | I $D(@FHTMP@("ERROR")) D PRERR | 
|---|
| 31 | I $G(FHCNT) F FHI=0:0 S FHI=$O(@FHTMP@(FHI)) Q:FHI'>0  D CLIN I ANS="^" K ^TMP($J) Q | 
|---|
| 32 | K ^TMP($J) | 
|---|
| 33 | ;end changes in patch #41 | 
|---|
| 34 | Q:ANS="^" | 
|---|
| 35 | NOAPP I 'N1 W !!?5,"No scheduled appointments." | 
|---|
| 36 | D FOOT^FHASP Q | 
|---|
| 37 | LST S X0=$G(^FHEN(ASN,0)) Q:$P(X0,"^",4)<3 | 
|---|
| 38 | S X1=$G(^FHEN(ASN,"P",DFN,0)) | 
|---|
| 39 | W:'N1 ! S N1=N1+1,DTP=$P(X0,"^",2) D DTP^FH W !?5,$E(DTP,1,9),"  " S Y=$P(X0,"^",4),Y=$P($G(^FH(115.6,+Y,0)),"^",1) W Y I $P(X0,"^",7)="F" W " (FU)" | 
|---|
| 40 | S Y=$P(X0,"^",9) W ", ",$S(Y="G":"Group",1:"Individual") | 
|---|
| 41 | S Y=$P(X0,"^",11) W:Y'="" !?10,Y S Y=$P(X1,"^",4) W:Y'="" !?10,Y Q | 
|---|
| 42 | ;patch #41 | 
|---|
| 43 | CLIN ;S SC=+$P(Z,"^",1),Y=$P($G(^SC(SC,0)),"^",1) Q:Y="" | 
|---|
| 44 | S NDT=@FHTMP@(FHI,1) | 
|---|
| 45 | S SC=$P(@FHTMP@(FHI,2),U,1) | 
|---|
| 46 | S Y=$P(@FHTMP@(FHI,2),U,2) Q:Y="" | 
|---|
| 47 | D:$Y'<S1 HF^FHASP Q:ANS="^"  W:'N1 ! S N1=N1+1,DTP=NDT D DTP^FH W !?5,DTP,?25,Y Q | 
|---|
| 48 | ;D:$Y'<S1 HF^FHASP Q:ANS="^"  W:'N1 ! S N1=N1+1,DTP=NDT D DTP^FH W !?5,DTP,?25,Y W:$P(Z,"^",11) " (Collateral)" Q | 
|---|
| 49 | ;end changes in patch #41 | 
|---|
| 50 | DISP ; Display Food Preferences | 
|---|
| 51 | W !?26,"Likes",?58,"DisLikes",! | 
|---|
| 52 | K P S P1=1 F K=0:0 S K=$O(^FHPT(FHDFN,"P",K)) Q:K<1  S X=^(K,0) D SP | 
|---|
| 53 | W ! S (M,MM)="" F  S M=$O(P(M)) Q:M=""  I $D(P(M)) W $P(M,"~",2) D  S MM=M | 
|---|
| 54 | .  S (P1,P2)=0 F  S:P1'="" P1=$O(P(M,"L",P1)) S X1=$S(P1>0:P(M,"L",P1),1:"") S:P2'="" P2=$O(P(M,"D",P2)) S X2=$S(P2>0:P(M,"D",P2),1:"") Q:P1=""&(P2="")  D P0 Q:ANS="^"  W:MM'=M ! | 
|---|
| 55 | .  Q | 
|---|
| 56 | Q:ANS="^" | 
|---|
| 57 | I $O(P(""))="" W !,"No Food Preferences on file",! | 
|---|
| 58 | Q | 
|---|
| 59 | P0 I X1'="" W ?12 S X=X1 D P1 S X1=X | 
|---|
| 60 | I X2'="" W ?46 S X=X2 D P1 S X2=X | 
|---|
| 61 | Q:X1=""&(X2="")  D:$Y'<S1 HF^FHASP Q:ANS="^"  W ! G P0 | 
|---|
| 62 | P1 I $L(X)<34 W X S X="" Q | 
|---|
| 63 | F KK=35:-1:1 Q:$E(X,KK-1,KK)=", " | 
|---|
| 64 | W $E(X,1,KK-2) S X=$E(X,KK+1,999) Q | 
|---|
| 65 | SP Q:'$P(X,U)  S M1=$P(X,"^",2) S:M1="A" M1="BNE" S Z=$G(^FH(115.2,+X,0)) Q:$P(Z,U)=""!($P(Z,U,2)="")  S L1=$P(Z,"^",1),KK=$P(Z,"^",2),M="",DAS=$P(X,"^",4) | 
|---|
| 66 | I KK="L" S Q=$P(X,"^",3),L1=$S(Q:Q,1:1)_" "_L1 | 
|---|
| 67 | I M1="BNE" S M="1~All Meals" G SP1 | 
|---|
| 68 | S Z1=$E(M1,1) I Z1'="" S M=$S(Z1="B":"2~Break",Z1="N":"3~Noon",1:"4~Even") | 
|---|
| 69 | S Z1=$E(M1,2) I Z1'="" S M=M_","_$S(Z1="B":"Break",Z1="N":"Noon",1:"Even") | 
|---|
| 70 | SP1 S:'$D(P(M,KK,P1)) P(M,KK,P1)="" I $L(P(M,KK,P1))+$L(L1)<255 S P(M,KK,P1)=P(M,KK,P1)_$S(P(M,KK,P1)="":"",1:", ")_L1_$S(DAS="Y":" (D)",1:"") | 
|---|
| 71 | E  S:'$D(P(M,KK,K)) P(M,KK,K)="" S P(M,KK,K)=L1_$S(DAS="Y":" (D)",1:"") S P1=K | 
|---|
| 72 | Q | 
|---|
| 73 | MO ; Display Monitors | 
|---|
| 74 | S Y=$G(^FHPT(FHDFN,"A",FADM,"MO",K,0)) Q:Y=""  S N1=N1+1 | 
|---|
| 75 | D:$Y'<S1 HF^FHASP Q:ANS="^" | 
|---|
| 76 | W !,$P(Y,"^",1) S DTP=$P(Y,"^",2) D DTP^FH W ", ",DTP | 
|---|
| 77 | S COM=$P(Y,"^",3) W:COM'="" !?5,"Action: ",COM Q | 
|---|
| 78 | PRERR ;if Scheduling API returns an error, print error in the report. | 
|---|
| 79 | S FHER=$O(@FHTMP@("ERROR",0)) | 
|---|
| 80 | W !!,"*** ERROR in Scheduling API ***" | 
|---|
| 81 | W !,"***",@FHTMP@("ERROR",FHER)," !!!",! | 
|---|
| 82 | Q | 
|---|