| 1 | FHOMPP ; OIFO/RTK - Patient Profile for Outpatients ;7/2/2007 | 
|---|
| 2 | ;;5.5;DIETETICS;**9**;Jan 28, 2005;Build 7 | 
|---|
| 3 | D DEV Q | 
|---|
| 4 | DEV ;get device and set up queue | 
|---|
| 5 | W ! K %ZIS,IOP S %ZIS="Q" D ^%ZIS Q:POP | 
|---|
| 6 | I '$D(IO("Q")) U IO D DISP,^%ZISC,END Q | 
|---|
| 7 | S ZTRTN="DISP^FHOMPP" | 
|---|
| 8 | S ZTSAVE("FHDFN")="" | 
|---|
| 9 | S ZTDESC="Outpatient Meals Recurring Meals Display" D ^%ZTLOAD | 
|---|
| 10 | D ^%ZISC K %ZIS,IOP | 
|---|
| 11 | D END Q | 
|---|
| 12 | DISP ; | 
|---|
| 13 | S EX="" D HDR | 
|---|
| 14 | D ALG^FHCLN I ALG'="" W !!,"Allergies: ",ALG | 
|---|
| 15 | K ^TMP($J) F FHFP=0:0 S FHFP=$O(^FHPT(FHDFN,"P",FHFP)) Q:FHFP'>0  D | 
|---|
| 16 | .S FHFPZN=$G(^FHPT(FHDFN,"P",FHFP,0)) | 
|---|
| 17 | .S FHFPIEN=$P(FHFPZN,U,1),FHMEAL=$P(FHFPZN,U,2),FHQTY=$P(FHFPZN,U,3) | 
|---|
| 18 | .Q:FHFPIEN="" | 
|---|
| 19 | .S FHNORD=$S($L(FHMEAL)=3:1,$E(FHMEAL)="B":2,$E(FHMEAL)="N":3,1:4) | 
|---|
| 20 | .S FHMEAL=FHNORD_FHMEAL | 
|---|
| 21 | .S FHFPLD=$P($G(^FH(115.2,FHFPIEN,0)),U,2) Q:FHFPLD="" | 
|---|
| 22 | .S FHFPNM=$P($G(^FH(115.2,FHFPIEN,0)),U,1) Q:FHFPNM="" | 
|---|
| 23 | .S ^TMP($J,FHFPLD,FHMEAL,FHFPIEN)=FHQTY_" "_FHFPNM | 
|---|
| 24 | .Q | 
|---|
| 25 | W !!,"Food Preferences Currently on file: " | 
|---|
| 26 | I $D(^TMP($J,"L")) W !!?20,"Likes" | 
|---|
| 27 | S FHM="" F  S FHM=$O(^TMP($J,"L",FHM)) Q:FHM=""!(EX=U)  D | 
|---|
| 28 | .F FHP=0:0 S FHP=$O(^TMP($J,"L",FHM,FHP)) Q:FHP'>0  W !!,^TMP($J,"L",FHM,FHP) I $Y>(IOSL-4) D PG I EX=U Q | 
|---|
| 29 | I $D(^TMP($J,"D")) W !!?20,"Dislikes" | 
|---|
| 30 | S FHM="" F  S FHM=$O(^TMP($J,"D",FHM)) Q:FHM=""!(EX=U)  D | 
|---|
| 31 | .F FHP=0:0 S FHP=$O(^TMP($J,"D",FHM,FHP)) Q:FHP'>0  W !!,^TMP($J,"D",FHM,FHP) I $Y>(IOSL-4) D PG I EX=U Q | 
|---|
| 32 | ; | 
|---|
| 33 | S FHIPX=$P($G(^FHPT(FHDFN,0)),U,5) I FHIPX'="" W !!,"Isolation/Precaution type is ",$P($G(^FH(119.4,FHIPX,0)),"^",1) I $Y>(IOSL-4) D PG I EX=U Q | 
|---|
| 34 | W !!,"Recurring Meals on File: " I $Y>(IOSL-4) D PG I EX=U Q | 
|---|
| 35 | W ! S STDT=DT S FHPP=1 D DISP^FHOMRR1 K FHPP | 
|---|
| 36 | I EX'=U,IOST?1"C".E W ! K DIR S DIR(0)="E" D ^DIR | 
|---|
| 37 | Q | 
|---|
| 38 | PG ; | 
|---|
| 39 | I IOST?1"C".E W ! K DIR S DIR(0)="E" D ^DIR I 'Y S EX=U Q | 
|---|
| 40 | D HDR Q | 
|---|
| 41 | HDR ; | 
|---|
| 42 | W:$Y @IOF | 
|---|
| 43 | W !!,"OUTPATIENT NAME: " D PATNAME^FHOMUTL W FHPTNM,"   ",FHSSN | 
|---|
| 44 | W ?65,FHSEX," Age ",FHAGE Q | 
|---|
| 45 | END ; | 
|---|
| 46 | K FHM,FHP,FHT Q | 
|---|
| 47 | ; | 
|---|
| 48 | CPRS ; Call from FHWOR71 to get outpatient profile for CPRS | 
|---|
| 49 | ; Data is returned in ^TMP($J,"FHPROF",DFN,FHX) | 
|---|
| 50 | S FHZ115="P"_DFN D CHECK^FHOMDPA I FHDFN="" Q "-1^Invalid outpatient" | 
|---|
| 51 | K ^TMP($J,"FHPROF"),^TMP($J,"L"),^TMP($J,"D") S (FHX,N)=0 D PATNAME^FHOMUTL | 
|---|
| 52 | S FHB="" F I=1:1:80 S FHB=FHB_" " | 
|---|
| 53 | S ^TMP($J,"FHPROF",DFN,FHX)="OUTPATIENT NAME: "_FHPTNM_"   "_FHSSN | 
|---|
| 54 | S FHJ=66 D PAD^FHOMPP1 S ^TMP($J,"FHPROF",DFN,FHX)=^TMP($J,"FHPROF",DFN,FHX)_PAD_FHSEX_" Age "_FHAGE | 
|---|
| 55 | D ALG^FHCLN I ALG'="" S N=1 D NEWL S ^TMP($J,"FHPROF",DFN,FHX)="Allergies: "_ALG | 
|---|
| 56 | F FHFP=0:0 S FHFP=$O(^FHPT(FHDFN,"P",FHFP)) Q:FHFP'>0  D | 
|---|
| 57 | .S FHFPZN=$G(^FHPT(FHDFN,"P",FHFP,0)) | 
|---|
| 58 | .S FHFPIEN=$P(FHFPZN,U,1),FHMEAL=$P(FHFPZN,U,2),FHQTY=$P(FHFPZN,U,3) | 
|---|
| 59 | .Q:FHFPIEN="" | 
|---|
| 60 | .S FHNORD=$S($L(FHMEAL)=3:1,$E(FHMEAL)="B":2,$E(FHMEAL)="N":3,1:4) | 
|---|
| 61 | .S FHMEAL=FHNORD_FHMEAL | 
|---|
| 62 | .S FHFPLD=$P($G(^FH(115.2,FHFPIEN,0)),U,2) Q:FHFPLD="" | 
|---|
| 63 | .S FHFPNM=$P($G(^FH(115.2,FHFPIEN,0)),U,1) Q:FHFPNM="" | 
|---|
| 64 | .S ^TMP($J,FHFPLD,FHMEAL,FHFPIEN)=FHQTY_" "_FHFPNM | 
|---|
| 65 | .Q | 
|---|
| 66 | S N=1 D NEWL S ^TMP($J,"FHPROF",DFN,FHX)="Food Preferences Currently on file: " | 
|---|
| 67 | I $D(^TMP($J,"L")) S N=1 D NEWL S ^TMP($J,"FHPROF",DFN,FHX)="Likes" | 
|---|
| 68 | S FHM="" F  S FHM=$O(^TMP($J,"L",FHM)) Q:FHM=""  D | 
|---|
| 69 | .F FHP=0:0 S FHP=$O(^TMP($J,"L",FHM,FHP)) Q:FHP'>0  S N=0 D NEWL S ^TMP($J,"FHPROF",DFN,FHX)=^TMP($J,"L",FHM,FHP) | 
|---|
| 70 | I $D(^TMP($J,"D")) S N=1 D NEWL S ^TMP($J,"FHPROF",DFN,FHX)="Dislikes" | 
|---|
| 71 | S FHM="" F  S FHM=$O(^TMP($J,"D",FHM)) Q:FHM=""  D | 
|---|
| 72 | .F FHP=0:0 S FHP=$O(^TMP($J,"D",FHM,FHP)) Q:FHP'>0  S N=0 D NEWL S ^TMP($J,"FHPROF",DFN,FHX)=^TMP($J,"D",FHM,FHP) | 
|---|
| 73 | ; | 
|---|
| 74 | S N=1 D NEWL S ^TMP($J,"FHPROF",DFN,FHX)="Recurring Meals on File: " | 
|---|
| 75 | S STDT=DT D ^FHOMPP1 | 
|---|
| 76 | Q | 
|---|
| 77 | NEWL ;New line before next line of text in ^TMP global | 
|---|
| 78 | I N=1 S FHX=FHX+1,^TMP($J,"FHPROF",DFN,FHX)=" " | 
|---|
| 79 | S FHX=FHX+1 | 
|---|
| 80 | Q | 
|---|