| 1 | FHWDIS ; HISC/REL - Close out on discharge ;10/10/00  14:55
 | 
|---|
| 2 |  ;;5.5;DIETETICS;;Jan 28, 2005
 | 
|---|
| 3 |  ; Updated for outpatient meals FHDFN/DFN
 | 
|---|
| 4 |  S FHZ115="P"_DFN D CHECK^FHOMDPA I FHDFN="" Q
 | 
|---|
| 5 |  D NOW^%DTC S FHNOW=%,FHA0=$G(^FHPT(FHDFN,"A",ADM,0)),FHWF=$S($D(^ORD(101)):1,1:0) Q:FHA0=""  Q:$P(FHA0,"^",14)
 | 
|---|
| 6 |  S $P(^FHPT(FHDFN,"A",ADM,0),"^",14)=FHNOW
 | 
|---|
| 7 |  S FHWRD=$P(FHA0,"^",8),FHRMB=$P(FHA0,"^",9) I FHWRD K ^FHPT("AW",FHWRD,FHDFN) S $P(^FHPT(FHDFN,"A",ADM,0),"^",8,9)="^"
 | 
|---|
| 8 |  S EVT="L^D^^"_FHWRD_"~"_FHRMB D ^FHORX
 | 
|---|
| 9 |  ; Close out Additional Orders
 | 
|---|
| 10 |  F FHDR=0:0 S FHDR=$O(^FHPT("AOO",FHDFN,ADM,FHDR)) Q:FHDR<1  D AOO
 | 
|---|
| 11 |  ; Close out Consults
 | 
|---|
| 12 |  F FHDR=0:0 S FHDR=$O(^FHPT(FHDFN,"A",ADM,"DR",FHDR)) Q:FHDR<1  S Y=^(FHDR,0) D CON
 | 
|---|
| 13 |  ; Close out standing orders
 | 
|---|
| 14 |  F FHDR=0:0 S FHDR=$O(^FHPT(FHDFN,"A",ADM,"SP",FHDR)) Q:FHDR<1  S Y=^(FHDR,0) D SP
 | 
|---|
| 15 |  ; Cancel tubefeeding
 | 
|---|
| 16 |  S K=$P(FHA0,"^",4) I K D TF
 | 
|---|
| 17 |  ; Cancel future early/late trays
 | 
|---|
| 18 |  F FHDR=FHNOW:0 S FHDR=$O(^FHPT(FHDFN,"A",ADM,"EL",FHDR)) Q:FHDR<1  D EL
 | 
|---|
| 19 |  ; Cancel supplemental feeding
 | 
|---|
| 20 |  S K=$P(FHA0,"^",7) I K D SF
 | 
|---|
| 21 |  ; Cancel isolation/precaution
 | 
|---|
| 22 |  S K=$P(FHA0,"^",10) I K D IS
 | 
|---|
| 23 |  ; Cancel diet/ place on no order
 | 
|---|
| 24 |  D DO
 | 
|---|
| 25 |  I $D(^DPT(DFN,.1)) D WRD^FHWADM
 | 
|---|
| 26 |  ; Delete Diet related Food Restrictions
 | 
|---|
| 27 |  F FHFP=0:0 S FHFP=$O(^FHPT(FHDFN,"P",FHFP)) Q:FHFP<1  S FHFP1=$G(^(FHFP,0)) I $P(FHFP1,"^",4)="Y" D FP
 | 
|---|
| 28 | KIL K %,%H,%I,%Y,EDT,A1,FHDR,K,FILL,FHNOW,FHO,FHA0,FHFP,FHFP1,FHORD,FHORN,FHPV,FHRMB,FHWRD,FHX,VAL,WKD,X,Y Q
 | 
|---|
| 29 | AOO Q:$P(^FHPT(FHDFN,"A",ADM,"OO",FHDR,0),"^",5)="X"
 | 
|---|
| 30 |  S $P(^FHPT(FHDFN,"A",ADM,"OO",FHDR,0),"^",5,7)="X^"_FHNOW_"^"_DUZ
 | 
|---|
| 31 |  K ^FHPT("AOO",FHDFN,ADM,FHDR)
 | 
|---|
| 32 |  S FHORN=$P(^FHPT(FHDFN,"A",ADM,"OO",FHDR,0),"^",8) Q:'FHORN
 | 
|---|
| 33 |  Q:'$D(^OR(100,+FHORN))
 | 
|---|
| 34 |  S FILL="A"_";"_ADM-";"_FHDR_$P(^FHPT(FHDFN,"A",ADM,"OO",FHDR,0),"^",3)
 | 
|---|
| 35 |  D SEND
 | 
|---|
| 36 |  Q
 | 
|---|
| 37 | CON Q:$P(Y,"^",8)'="A"  S $P(^FHPT(FHDFN,"A",ADM,"DR",FHDR,0),"^",8,11)="X^"_FHNOW_"^"_DUZ_"^"
 | 
|---|
| 38 |  S K=$P(Y,"^",5)
 | 
|---|
| 39 |  K:K ^FHPT("ADRU",K,FHDFN,ADM,FHDR) Q
 | 
|---|
| 40 | SP Q:$P(Y,"^",6)  S $P(^FHPT(FHDFN,"A",ADM,"SP",FHDR,0),"^",6,7)=FHNOW_"^"_DUZ
 | 
|---|
| 41 |  K ^FHPT("ASP",FHDFN,ADM,FHDR) Q
 | 
|---|
| 42 | TF S $P(^FHPT(FHDFN,"A",ADM,0),"^",4)="" K ^FHPT("ADTF",FHDFN,ADM)
 | 
|---|
| 43 |  S $P(^FHPT(FHDFN,"A",ADM,"TF",K,0),"^",11,12)=FHNOW_"^"_DUZ
 | 
|---|
| 44 |  S FHX=$G(^FHPT(FHDFN,"A",ADM,"TF",K,0))
 | 
|---|
| 45 |  S FHORN=$P(FHX,"^",14) Q:'FHORN
 | 
|---|
| 46 |  Q:'$D(^OR(100,+FHORN))
 | 
|---|
| 47 |  S FILL="T"_";"_ADM_";"_K_";"_$P(FHX,"^",6)_";"_$P(FHX,"^",7)_";"_$P(FHX,"^",5)_";"
 | 
|---|
| 48 |  D SEND
 | 
|---|
| 49 |  Q
 | 
|---|
| 50 | EL S FHORN=$P(^FHPT(FHDFN,"A",ADM,"EL",FHDR,0),"^",7)
 | 
|---|
| 51 |  I FHORN D EL1
 | 
|---|
| 52 |  K ^FHPT(FHDFN,"A",ADM,"EL",FHDR),^FHPT("ADLT",FHDR,FHDFN,ADM)
 | 
|---|
| 53 |  S %=$P($G(^FHPT(FHDFN,"A",ADM,"EL",0)),"^",4)-1 S:%'<0 $P(^(0),"^",4)=% Q
 | 
|---|
| 54 | EL1 S EDT=FHDR,WKD="" D WKD^FHWOR31
 | 
|---|
| 55 |  S FHX=$G(^FHPT(FHDFN,"A",ADM,"EL",FHDR,0))
 | 
|---|
| 56 |  Q:'$D(^OR(100,+FHORN))
 | 
|---|
| 57 |  S FILL="E"_";"_ADM_";;"_FHDR_";"_FHDR_";"_WKD_";"_$P(FHX,"^",2)_";"_$P(FHX,"^",3)_";"_$P(FHX,"^",4)
 | 
|---|
| 58 |  D SEND Q
 | 
|---|
| 59 | SF S $P(^FHPT(FHDFN,"A",ADM,0),"^",7)=""
 | 
|---|
| 60 |  S $P(^FHPT(FHDFN,"A",ADM,"SF",K,0),"^",32,33)=FHNOW_"^"_DUZ Q
 | 
|---|
| 61 | IS S $P(^FHPT(FHDFN,"A",ADM,0),"^",10)="" K ^FHPT("AIS",FHDFN,ADM)
 | 
|---|
| 62 |  S FHORN=$P(FHA0,"^",13) Q:'FHORN
 | 
|---|
| 63 |  Q:'$D(^OR(100,+FHORN))
 | 
|---|
| 64 |  S FILL="I"_";"_ADM_";"_K D SEND
 | 
|---|
| 65 |  Q
 | 
|---|
| 66 | DO F A1=FHNOW:0 S A1=$O(^FHPT(FHDFN,"A",ADM,"AC",A1)) Q:A1=""  K ^FHPT(FHDFN,"A",ADM,"AC",A1)
 | 
|---|
| 67 |  F FHDR=0:0 S FHDR=$O(^FHPT(FHDFN,"A",ADM,"DI",FHDR)) Q:FHDR<1  D D1
 | 
|---|
| 68 |  S FHA0=$P(FHA0,"^",2) Q:'FHA0  S FHA0=$P($G(^FHPT(FHDFN,"A",ADM,"DI",FHA0,0)),"^",7) Q:FHA0="X"
 | 
|---|
| 69 |  D ORD^FHORD7 S ^FHPT(FHDFN,"A",ADM,"DI",FHORD,0)=FHORD_"^^^^^^X^^"_FHNOW_"^^"_DUZ_"^"_FHNOW
 | 
|---|
| 70 |  S ^FHPT(FHDFN,"A",ADM,"AC",FHNOW,0)=FHNOW_"^"_FHORD
 | 
|---|
| 71 |  S $P(^FHPT(FHDFN,"A",ADM,0),"^",2,3)=FHORD_"^" Q
 | 
|---|
| 72 | D1 ; Get all filler fields for Diet
 | 
|---|
| 73 |  S FHORN=$P($G(^FHPT(FHDFN,"A",ADM,"DI",FHDR,0)),"^",14,15)
 | 
|---|
| 74 |  I +FHORN>0,$P(FHORN,"^",2)>2 S FHORN=+FHORN,$P(^FHPT(FHDFN,"A",ADM,"DI",FHDR,0),"^",15)=1 D D2
 | 
|---|
| 75 |  Q
 | 
|---|
| 76 | D2 S FHX=$G(^FHPT(FHDFN,"A",ADM,"DI",FHDR,0))
 | 
|---|
| 77 |  Q:$P(FHX,"^",7)="P"!($P(FHX,"^",7)="X")
 | 
|---|
| 78 |  S FHO=$P(FHX,"^",2,6),VAL="" D VAL^FHWORP(FHO,.VAL) Q:VAL=""
 | 
|---|
| 79 |  Q:'$D(^OR(100,+FHORN))
 | 
|---|
| 80 |  S FILL=$S($P(FHX,"^",7)="N":"N",1:"D")_";"_ADM_";"_FHDR_";"_$P(FHX,"^",9)_";"_$P(FHX,"^",10)_";"_$P(FHX,"^",7)_";"_$G(^FHPT(FHDFN,"A",ADM,"DI",FHDR,1))_";"_$P(FHX,"^",8)_";;"_VAL
 | 
|---|
| 81 |  D SEND Q
 | 
|---|
| 82 | FP K ^FHPT(FHDFN,"P",FHFP,0),^FHPT(FHDFN,"P","B",+FHFP1,FHFP)
 | 
|---|
| 83 |  S %=$P($G(^FHPT(FHDFN,"P",0)),"^",4)-1 S:%'<0 $P(^(0),"^",4)=% Q
 | 
|---|
| 84 | SEND ; Send MSG to OE/RR
 | 
|---|
| 85 |  D CODE D:$D(MSG) MSG^XQOR("FH EVSEND OR",.MSG) Q
 | 
|---|
| 86 | CODE ; Code Cancel For Discharge
 | 
|---|
| 87 |  K MSG S ACT="OC" D SITE^FH
 | 
|---|
| 88 |  ; code MSH
 | 
|---|
| 89 |  S MSG(1)="MSH|^~\&|DIETETICS|"_SITE(1)_"|||||ORM"
 | 
|---|
| 90 |  ; code PID
 | 
|---|
| 91 |  S MSG(2)="PID|||"_DFN_"||"_$P($G(^DPT(DFN,0)),"^",1)
 | 
|---|
| 92 |  ; code ORC
 | 
|---|
| 93 |  S DATE=$$FMTHL7^XLFDT(FHNOW),FHPV=DUZ
 | 
|---|
| 94 |  S MSG(3)="ORC|"_ACT_"|"_FHORN_"^OR|"_FILL_"^FH|||||||||"_FHPV_"|||"_DATE_"|Dietetics Canceled Order."
 | 
|---|
| 95 |  K %,ACT,DATE,FILL,SITE Q
 | 
|---|