| 1 | FHOMGR1 ;Hines OIFO/RTK GUEST MEALS REQUEST MEAL  ;4/17/03  09:45
 | 
|---|
| 2 |  ;;5.5;DIETETICS;**5**;Jan 28, 2005;Build 53
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  D NOW^%DTC S STDT=X,FHDSDT=$$FMTE^XLFDT(STDT,"P") W !!,FHDSDT
 | 
|---|
| 5 |  S FHMSG1="G" D ^FHOMDPA I FHDFN="" Q
 | 
|---|
| 6 |  I '$D(^FHPT(FHDFN,0)) W !!,"UNKNOWN SELECTION !" Q
 | 
|---|
| 7 | CLASS ;Prompt for classification
 | 
|---|
| 8 |  W ! K DIR,DIC S DIR("A")="Select Classification: "
 | 
|---|
| 9 |  S DIR(0)="SAO^E:Employee;G:Gratuitous;O:OOD;P:Paid;V:Volunteer"
 | 
|---|
| 10 |  D ^DIR I $D(DIRUT) D EXMSG^FHOMUTL Q
 | 
|---|
| 11 |  I Y'=-1 S FHCLASS=Y
 | 
|---|
| 12 | LOC ;Prompt for location
 | 
|---|
| 13 |  D OUTLOC^FHOMUTL I FHLOC="" D EXMSG^FHOMUTL Q
 | 
|---|
| 14 |  W ! D RMBED^FHOMUTL
 | 
|---|
| 15 |  S FHCOMM=$P($G(^FH(119.6,FHLOC,0)),U,8)
 | 
|---|
| 16 | MEAL ;Prompt for meal
 | 
|---|
| 17 |  K DIR,DIC S DIR("A")="Select Meal: "
 | 
|---|
| 18 |  S DIR(0)="SAO^B:Breakfast;N:Noon;E:Evening"
 | 
|---|
| 19 |  D ^DIR I $D(DIRUT) D EXMSG^FHOMUTL Q
 | 
|---|
| 20 |  I Y'=-1 S FHMEAL=Y
 | 
|---|
| 21 | DIET ;Stuff diet
 | 
|---|
| 22 |  S FHDIET=$P($G(^FH(119.9,1,0)),U,2)
 | 
|---|
| 23 |  I FHDIET="" W !!,"NO DEFAULT OUTPATIENT DIET SET!!",! Q
 | 
|---|
| 24 | CHARGE ;Get charge
 | 
|---|
| 25 |  S FHCHAR=""
 | 
|---|
| 26 |  S F=$S(FHCLASS="E":12,FHCLASS="P":13,FHCLASS="O":14,FHCLASS="V":15,1:16)
 | 
|---|
| 27 |  S FHYN=$P($G(^FH(119.9,1,0)),U,F) I FHYN'="Y" W ! D SET1 Q
 | 
|---|
| 28 |  S F=$S(FHCLASS="E":21,FHCLASS="P":24,FHCLASS="O":27,FHCLASS="V":30,1:33)
 | 
|---|
| 29 |  S FHP=F+$S(FHMEAL="B":0,FHMEAL="N":1,1:2)
 | 
|---|
| 30 |  S FHCHAR=$P($G(^FH(119.9,1,0)),U,FHP)
 | 
|---|
| 31 |  W !!,"Payment amount = $",FHCHAR,!
 | 
|---|
| 32 | SET1 K DIR S DIR("A")="Is this correct?: ",DIR(0)="YA",DIR("B")="Y" D ^DIR
 | 
|---|
| 33 |  S CONT=Y I CONT'=1 D EXMSG^FHOMUTL Q
 | 
|---|
| 34 |  S FHGML=1 D SMGM^FHOMRO2 I SKIP=1 Q
 | 
|---|
| 35 | SETNODE ;
 | 
|---|
| 36 |  S MLT=$S(FHMEAL="B":".08",FHMEAL="N":".13",1:".18")
 | 
|---|
| 37 |  S STDTIM=STDT_MLT
 | 
|---|
| 38 |  I $D(^FHPT(FHDFN,"GM","B",STDTIM)),$P($G(^FHPT(FHDFN,"GM",STDTIM,0)),U,9)'="C" D MESSAGE Q
 | 
|---|
| 39 |  S DA(1)=FHDFN,DA=STDTIM,DIK="^FHPT("_DA(1)_",""GM""," D ^DIK  ;delete if there is a previous canceled GM for this date/meal
 | 
|---|
| 40 |  S Y=STDTIM K DIC,DO S DA(1)=FHDFN,DIC="^FHPT("_DA(1)_",""GM"","
 | 
|---|
| 41 |  S DIC(0)="L",DIC("P")=$P(^DD(115,18,0),U,2),X=+Y,DINUM=X
 | 
|---|
| 42 |  D FILE^DICN I Y=-1 Q
 | 
|---|
| 43 |  K DIE S DA(1)=FHDFN,DIE="^FHPT("_DA(1)_",""GM"","
 | 
|---|
| 44 |  S DA=+Y,FHDA=DA
 | 
|---|
| 45 |  S DR="1////^S X=FHCLASS;2////^S X=FHMEAL;3////^S X=FHCHAR;4////^S X=FHLOC;4.5////^S X=FHRMBD;5////^S X=FHDIET"
 | 
|---|
| 46 |  D ^DIE,OKMSG^FHOMUTL
 | 
|---|
| 47 |  S FHZN=$G(^FHPT(FHDFN,"GM",FHDA,0))
 | 
|---|
| 48 |  S FHACT="O",FHOPTY="G",FHOPDT=STDT D SETGM^FHOMRO2 ;set event
 | 
|---|
| 49 |  Q
 | 
|---|
| 50 | MESSAGE ;
 | 
|---|
| 51 |  D PATNAME^FHOMUTL S FHPREDT=$$FMTE^XLFDT(STDT,"P")
 | 
|---|
| 52 |  W !!?3,FHPTNM," ALREADY HAS A "
 | 
|---|
| 53 |  W $S(FHMEAL="B":"BREAKFAST",FHMEAL="N":"NOON",1:"EVENING")
 | 
|---|
| 54 |  W " GUEST MEAL ORDERED FOR ",FHPREDT
 | 
|---|
| 55 |  Q
 | 
|---|