- FHPST2 ;Hines OIFO/RTK POST-INIT TO BACKFILL OM TO FILE #100 ;6/21/05 12:05
- ;;5.5;DIETETICS;**2**;Jan 28, 2005
- ;
- ;Loop thru all existing Recurring & Special Meals and send backdoor
- ;message to update Orders (#100) file.
- ;
- ;Recurring Meals
- D NOW^%DTC S FHNOW=%,FHTODAY=$E(FHNOW,1,7)
- F FHXRDT=0:0 S FHXRDT=$O(^FHPT("RM",FHXRDT)) Q:FHXRDT'>0 D
- .F FHDFN=0:0 S FHDFN=$O(^FHPT("RM",FHXRDT,FHDFN)) Q:FHDFN'>0 D
- ..F FHRM=0:0 S FHRM=$O(^FHPT("RM",FHXRDT,FHDFN,FHRM)) Q:FHRM'>0 D
- ...S FHDT=$P($G(^FHPT(FHDFN,"OP",FHRM,0)),"^",1)
- ...S FHODT=$$FMTHL7^XLFDT(FHDT)
- ...S FHLOC=$P($G(^FHPT(FHDFN,"OP",FHRM,0)),"^",3)
- ...S FHMPNUM=$P($G(^FHPT(FHDFN,"OP",FHRM,0)),"^",6)
- ...I $D(^FHPT(FHDFN,"OP",FHRM,0)) D RM I $P(^FHPT(FHDFN,"OP",FHRM,0),"^",15)="C" S FHORN=$P($G(^FHPT(FHDFN,"OP",FHRM,0)),U,12),FILL="R;"_FHMPNUM_";"_FHDT_";"_FHDT_";;" D MSHCA ;Send backdoor cancel
- ...I $D(^FHPT(FHDFN,"OP",FHRM,1)) D AO
- ...I $D(^FHPT(FHDFN,"OP",FHRM,2)) D EL
- ...I $D(^FHPT(FHDFN,"OP",FHRM,3)) D TF
- ;
- ;Special Meals
- F FHXSDT=0:0 S FHXSDT=$O(^FHPT("SM",FHXSDT)) Q:FHXSDT'>0 D
- .F FHDFN=0:0 S FHDFN=$O(^FHPT("SM",FHXSDT,FHDFN)) Q:FHDFN'>0 D
- ..S FHODT=$$FMTHL7^XLFDT(FHXSDT)
- ..S FHLOC=$P($G(^FHPT(FHDFN,"SM",FHXSDT,0)),"^",3)
- ..I $D(^FHPT(FHDFN,"SM",FHXSDT,0)) D SM
- Q
- ;
- RM ;
- I $P(^FHPT(FHDFN,"OP",FHRM,0),"^",12)>0 Q ;Backdoor already exists
- S FHN0=$G(^FHPT(FHDFN,"OP",FHRM,0))
- K MSG D MSHOM I 'DFN!('FHOLOC) Q
- S FHMPNUM=$P(FHN0,"^",6),FHCLRK=$P(FHN0,"^",17) D GETSED
- S (X,FHSTDT)=$P(FHN0,"^",1)
- S FHMEAL=$P(FHN0,"^",4),FHDIET=$P(FHN0,"^",2),FHDIETX(1)=$P(FHN0,"^",7)
- S FHDIETX(2)=$P(FHN0,"^",8),FHDIETX(3)=$P(FHN0,"^",9)
- S FHDIETX(4)=$P(FHN0,"^",10),FHDIETX(5)=$P(FHN0,"^",11)
- S FHOSTDT=$$FMTHL7^XLFDT(FHSTDT),FHOENDT=$$FMTHL7^XLFDT(FHENDT)
- S FILL="R;"_FHMPNUM_";"_FHSTDT_";"_FHENDT_";"_FHDAYS_";"_FHMEAL
- S MSG(4)="ORC|SN||"_FILL_"^FH||||^"_FHDAYS_"^^"_FHOSTDT_"^"_FHOENDT_"|||"_FHCLRK_"|||||"_FHOSTDT
- I FHDIET'="" S FHODNM=$P($G(^FH(111,FHDIET,0)),U,1),MSG(5)="ODS|D|"_FHMEAL_"|^^^"_FHDIET_"^"_FHODNM_"^99FHD|"
- I FHDIET="" D
- .F N=0:0 S N=$O(FHDIETX(N)) Q:N'>0 Q:FHDIETX(N)="" S FHODNM=$P($G(^FH(111,FHDIETX(N),0)),U,1),MSG(N+4)="ODS|D|"_FHMEAL_"|^^^"_FHDIETX(N)_"^"_FHODNM_"^99FHD|"
- D EVSEND^FHWOR
- Q
- AO ;
- I $P(^FHPT(FHDFN,"OP",FHRM,1),"^",4)>0 Q ;Backdoor already exists
- S FHN1=$G(^FHPT(FHDFN,"OP",FHRM,1))
- K MSG D MSHOM I 'DFN!('FHOLOC) Q
- S FILL="A;"_FHRM,FHTEXT=$P(FHN1,"^",1),FHCLRK=$P(FHN1,"^",2)
- S MSG(4)="ORC|SN||"_FILL_"^FH||||^^^"_FHODT_"^"_FHODT_"|||"_FHCLRK_"|||||"_FHTODAY
- S MSG(5)="ODS|D||^^^FH-6^Additional Order^99OTH|"_FHTEXT
- D EVSEND^FHWOR
- I $P(^FHPT(FHDFN,"OP",FHRM,1),"^",5)="C" S FHORN=$P($G(^FHPT(FHDFN,"OP",FHRM,1)),U,4),FILL="A;"_FHRM D MSHCA ;Send backdoor cancel
- Q
- EL ;
- I $P(^FHPT(FHDFN,"OP",FHRM,2),"^",5)>0 Q ;Backdoor already exists
- S FHN2=$G(^FHPT(FHDFN,"OP",FHRM,2))
- K MSG D MSHOM I 'DFN!('FHOLOC) Q
- S FILL="E;"_FHRM,FHEL="L",FHS=1,FHBAG=$P(FHN2,"^",2)
- S FHCLRK=$P(FHN2,"^",3)
- S FHOMELN=FHMEAL_FHEL_FHS,FHOBAG="" I FHBAG="Y" S FHOBAG="bagged"
- S MSG(4)="ORC|SN||"_FILL_"^FH||||^^^"_FHODT_"^"_FHODT_"|||"_FHCLRK_"|||||"_FHTODAY
- S MSG(5)="ODT|LATE|^^^"_FHOMELN_"^^99FHD|"_FHOBAG
- D EVSEND^FHWOR
- I $P(^FHPT(FHDFN,"OP",FHRM,2),"^",6)="C" S FHORN=$P($G(^FHPT(FHDFN,"OP",FHRM,2)),U,5),FILL="E;"_FHRM D MSHCA ;Send backdoor cancel
- Q
- TF ;
- I $P(^FHPT(FHDFN,"OP",FHRM,3),"^",4)>0 Q ;Backdoor already exists
- S FHN3=$G(^FHPT(FHDFN,"OP",FHRM,3))
- K MSG,TUN D MSHOM I 'DFN!('FHOLOC) Q
- S FHTEXT=$P(FHN3,"^",1),FILL="T;"_FHRM,MNUM=4,TFCOM=FHTEXT
- S FHCLRK=$P(FHN3,"^",6) D NOW^%DTC S FHNOW=%,SDT=FHDT
- S MSG(MNUM)="ORC|SN||"_FILL_"^FH||||^^^"_FHODT_"|||"_FHCLRK_"||"_FHCLRK_"|||"_FHNOW
- F FHTF=0:0 S FHTF=$O(^FHPT(FHDFN,"OP",FHRM,"TF",FHTF)) Q:FHTF'>0 S TUN(FHTF)=$G(^FHPT(FHDFN,"OP",FHRM,"TF",FHTF,0))
- F FHTF=0:0 S FHTF=$O(TUN(FHTF)) Q:FHTF<1 S XX=$G(TUN(FHTF)) D TF1^FHWOR5
- D EVSEND^FHWOR
- I $P(^FHPT(FHDFN,"OP",FHRM,3),"^",5)="C" S FHORN=$P($G(^FHPT(FHDFN,"OP",FHRM,3)),U,4),FILL="T;"_FHRM D MSHCA ;Send backdoor cancel
- Q
- SM ;
- I $P(^FHPT(FHDFN,"SM",FHXSDT,0),"^",12)>0 Q ;Backdoor already exists
- S FHSN0=$G(^FHPT(FHDFN,"SM",FHXSDT,0))
- K MSG D MSHOM I 'DFN!('FHOLOC) Q
- S FILL="S;"_FHXSDT,FHMEAL=$P(FHSN0,"^",9),FHDIET=$P(FHSN0,"^",4)
- S FHOMEAL=$S(FHMEAL="B":1,FHMEAL="N":3,FHMEAL="E":5,1:"")
- S FHDIETNM=$P($G(^FH(111,FHDIET,0)),U,1),FHCLRK=$P(FHSN0,"^",5)
- S MSG(4)="ORC|SN||"_FILL_"^FH||||^^^"_FHODT_"^"_FHODT_"|||"_FHCLRK_"|||||"_FHNOW
- S MSG(5)="ODS|S|"_FHOMEAL_"|^^^"_FHDIET_"^"_FHDIETNM_"^99FHD|"
- D EVSEND^FHWOR
- S FHSMST=$P(^FHPT(FHDFN,"SM",FHXSDT,0),"^",2)
- I FHSMST="C"!(FHSMST="D") S FHORN=$P($G(^FHPT(FHDFN,"SM",FHXSDT,0)),U,12),FILL="S;"_FHXSDT D MSHCA ;Send backdoor cancel/deny
- Q
- MSHOM ;Code MSG for outpatient orders
- D SITE^FH
- D PATNAME^FHOMUTL I 'DFN Q
- S MSG(1)="MSH|^~\&|DIETETICS|"_SITE(1)_"|||||ORM"
- S MSG(2)="PID|||"_DFN_"||"_$P($G(^DPT(DFN,0)),"^",1)
- S FHOLOC=$G(^FH(119.6,FHLOC,"L",1,0)) I 'FHOLOC Q
- S FHOLOCNM=$P($G(^SC(FHOLOC,0)),U,1)
- S MSG(3)="PV1||O|"_FHOLOC_"^"_FHOLOCNM_"||||||||||||||||"
- Q
- MSHCA ;Code Cancel/Discontinue for outpatient orders
- K MSG S ACT="OC" D SITE^FH S FHCATXT="Dietetics Canceled order."
- D PATNAME^FHOMUTL I 'DFN Q
- S MSG(1)="MSH|^~\&|DIETETICS|"_SITE(1)_"|||||ORM"
- S MSG(2)="PID|||"_DFN_"||"_$P($G(^DPT(DFN,0)),"^",1)
- S DATE=$$FMTHL7^XLFDT(FHNOW)
- S MSG(3)="ORC|"_ACT_"|"_FHORN_"^OR|"_FILL_"^FH|||||||"_DUZ_"||"_DUZ_"|||"_DATE_"|"_FHCATXT
- D EVSEND^FHWOR
- Q
- GETSED ;
- K N1 S (FHDAYS,FHENDT,FHODAYS)=""
- F FHRZ=0:0 S FHRZ=$O(^FHPT(FHDFN,"OP","C",FHMPNUM,FHRZ)) Q:FHRZ'>0 D
- .S FHDAT=$P($G(^FHPT(FHDFN,"OP",FHRZ,0)),"^",1),X=FHDAT D DOW^%DTC
- .S FHV=$S(Y=0:"X",Y=1:"M",Y=2:"T",Y=3:"W",Y=4:"R",Y=5:"F",1:"S")
- .I FHDAYS'[FHV S FHDAYS=FHDAYS_FHV
- .Q
- S FHENDT=FHDAT
- F N=1:1:7 S FH1=$E(FHDAYS,N) Q:FH1="" S M=$F("MTWRFSX",FH1)-1,N1(M)=""
- F N=0:0 S N=$O(N1(N)) Q:N'>0 S FHODAYS=FHODAYS_"~QJ"_N
- S FHODAYS=$E(FHODAYS,2,999)
- S FHDAYS=FHODAYS Q
- FHPST2 ;Hines OIFO/RTK POST-INIT TO BACKFILL OM TO FILE #100 ;6/21/05 12:05
- +1 ;;5.5;DIETETICS;**2**;Jan 28, 2005
- +2 ;
- +3 ;Loop thru all existing Recurring & Special Meals and send backdoor
- +4 ;message to update Orders (#100) file.
- +5 ;
- +6 ;Recurring Meals
- +7 DO NOW^%DTC
- SET FHNOW=%
- SET FHTODAY=$EXTRACT(FHNOW,1,7)
- +8 FOR FHXRDT=0:0
- SET FHXRDT=$ORDER(^FHPT("RM",FHXRDT))
- IF FHXRDT'>0
- QUIT
- Begin DoDot:1
- +9 FOR FHDFN=0:0
- SET FHDFN=$ORDER(^FHPT("RM",FHXRDT,FHDFN))
- IF FHDFN'>0
- QUIT
- Begin DoDot:2
- +10 FOR FHRM=0:0
- SET FHRM=$ORDER(^FHPT("RM",FHXRDT,FHDFN,FHRM))
- IF FHRM'>0
- QUIT
- Begin DoDot:3
- +11 SET FHDT=$PIECE($GET(^FHPT(FHDFN,"OP",FHRM,0)),"^",1)
- +12 SET FHODT=$$FMTHL7^XLFDT(FHDT)
- +13 SET FHLOC=$PIECE($GET(^FHPT(FHDFN,"OP",FHRM,0)),"^",3)
- +14 SET FHMPNUM=$PIECE($GET(^FHPT(FHDFN,"OP",FHRM,0)),"^",6)
- +15 ;Send backdoor cancel
- IF $DATA(^FHPT(FHDFN,"OP",FHRM,0))
- DO RM
- IF $PIECE(^FHPT(FHDFN,"OP",FHRM,0),"^",15)="C"
- SET FHORN=$PIECE($GET(^FHPT(FHDFN,"OP",FHRM,0)),U,12)
- SET FILL="R;"_FHMPNUM_";"_FHDT_";"_FHDT_";;"
- DO MSHCA
- +16 IF $DATA(^FHPT(FHDFN,"OP",FHRM,1))
- DO AO
- +17 IF $DATA(^FHPT(FHDFN,"OP",FHRM,2))
- DO EL
- +18 IF $DATA(^FHPT(FHDFN,"OP",FHRM,3))
- DO TF
- End DoDot:3
- End DoDot:2
- End DoDot:1
- +19 ;
- +20 ;Special Meals
- +21 FOR FHXSDT=0:0
- SET FHXSDT=$ORDER(^FHPT("SM",FHXSDT))
- IF FHXSDT'>0
- QUIT
- Begin DoDot:1
- +22 FOR FHDFN=0:0
- SET FHDFN=$ORDER(^FHPT("SM",FHXSDT,FHDFN))
- IF FHDFN'>0
- QUIT
- Begin DoDot:2
- +23 SET FHODT=$$FMTHL7^XLFDT(FHXSDT)
- +24 SET FHLOC=$PIECE($GET(^FHPT(FHDFN,"SM",FHXSDT,0)),"^",3)
- +25 IF $DATA(^FHPT(FHDFN,"SM",FHXSDT,0))
- DO SM
- End DoDot:2
- End DoDot:1
- +26 QUIT
- +27 ;
- RM ;
- +1 ;Backdoor already exists
- IF $PIECE(^FHPT(FHDFN,"OP",FHRM,0),"^",12)>0
- QUIT
- +2 SET FHN0=$GET(^FHPT(FHDFN,"OP",FHRM,0))
- +3 KILL MSG
- DO MSHOM
- IF 'DFN!('FHOLOC)
- QUIT
- +4 SET FHMPNUM=$PIECE(FHN0,"^",6)
- SET FHCLRK=$PIECE(FHN0,"^",17)
- DO GETSED
- +5 SET (X,FHSTDT)=$PIECE(FHN0,"^",1)
- +6 SET FHMEAL=$PIECE(FHN0,"^",4)
- SET FHDIET=$PIECE(FHN0,"^",2)
- SET FHDIETX(1)=$PIECE(FHN0,"^",7)
- +7 SET FHDIETX(2)=$PIECE(FHN0,"^",8)
- SET FHDIETX(3)=$PIECE(FHN0,"^",9)
- +8 SET FHDIETX(4)=$PIECE(FHN0,"^",10)
- SET FHDIETX(5)=$PIECE(FHN0,"^",11)
- +9 SET FHOSTDT=$$FMTHL7^XLFDT(FHSTDT)
- SET FHOENDT=$$FMTHL7^XLFDT(FHENDT)
- +10 SET FILL="R;"_FHMPNUM_";"_FHSTDT_";"_FHENDT_";"_FHDAYS_";"_FHMEAL
- +11 SET MSG(4)="ORC|SN||"_FILL_"^FH||||^"_FHDAYS_"^^"_FHOSTDT_"^"_FHOENDT_"|||"_FHCLRK_"|||||"_FHOSTDT
- +12 IF FHDIET'=""
- SET FHODNM=$PIECE($GET(^FH(111,FHDIET,0)),U,1)
- SET MSG(5)="ODS|D|"_FHMEAL_"|^^^"_FHDIET_"^"_FHODNM_"^99FHD|"
- +13 IF FHDIET=""
- Begin DoDot:1
- +14 FOR N=0:0
- SET N=$ORDER(FHDIETX(N))
- IF N'>0
- QUIT
- IF FHDIETX(N)=""
- QUIT
- SET FHODNM=$PIECE($GET(^FH(111,FHDIETX(N),0)),U,1)
- SET MSG(N+4)="ODS|D|"_FHMEAL_"|^^^"_FHDIETX(N)_"^"_FHODNM_"^99FHD|"
- End DoDot:1
- +15 DO EVSEND^FHWOR
- +16 QUIT
- AO ;
- +1 ;Backdoor already exists
- IF $PIECE(^FHPT(FHDFN,"OP",FHRM,1),"^",4)>0
- QUIT
- +2 SET FHN1=$GET(^FHPT(FHDFN,"OP",FHRM,1))
- +3 KILL MSG
- DO MSHOM
- IF 'DFN!('FHOLOC)
- QUIT
- +4 SET FILL="A;"_FHRM
- SET FHTEXT=$PIECE(FHN1,"^",1)
- SET FHCLRK=$PIECE(FHN1,"^",2)
- +5 SET MSG(4)="ORC|SN||"_FILL_"^FH||||^^^"_FHODT_"^"_FHODT_"|||"_FHCLRK_"|||||"_FHTODAY
- +6 SET MSG(5)="ODS|D||^^^FH-6^Additional Order^99OTH|"_FHTEXT
- +7 DO EVSEND^FHWOR
- +8 ;Send backdoor cancel
- IF $PIECE(^FHPT(FHDFN,"OP",FHRM,1),"^",5)="C"
- SET FHORN=$PIECE($GET(^FHPT(FHDFN,"OP",FHRM,1)),U,4)
- SET FILL="A;"_FHRM
- DO MSHCA
- +9 QUIT
- EL ;
- +1 ;Backdoor already exists
- IF $PIECE(^FHPT(FHDFN,"OP",FHRM,2),"^",5)>0
- QUIT
- +2 SET FHN2=$GET(^FHPT(FHDFN,"OP",FHRM,2))
- +3 KILL MSG
- DO MSHOM
- IF 'DFN!('FHOLOC)
- QUIT
- +4 SET FILL="E;"_FHRM
- SET FHEL="L"
- SET FHS=1
- SET FHBAG=$PIECE(FHN2,"^",2)
- +5 SET FHCLRK=$PIECE(FHN2,"^",3)
- +6 SET FHOMELN=FHMEAL_FHEL_FHS
- SET FHOBAG=""
- IF FHBAG="Y"
- SET FHOBAG="bagged"
- +7 SET MSG(4)="ORC|SN||"_FILL_"^FH||||^^^"_FHODT_"^"_FHODT_"|||"_FHCLRK_"|||||"_FHTODAY
- +8 SET MSG(5)="ODT|LATE|^^^"_FHOMELN_"^^99FHD|"_FHOBAG
- +9 DO EVSEND^FHWOR
- +10 ;Send backdoor cancel
- IF $PIECE(^FHPT(FHDFN,"OP",FHRM,2),"^",6)="C"
- SET FHORN=$PIECE($GET(^FHPT(FHDFN,"OP",FHRM,2)),U,5)
- SET FILL="E;"_FHRM
- DO MSHCA
- +11 QUIT
- TF ;
- +1 ;Backdoor already exists
- IF $PIECE(^FHPT(FHDFN,"OP",FHRM,3),"^",4)>0
- QUIT
- +2 SET FHN3=$GET(^FHPT(FHDFN,"OP",FHRM,3))
- +3 KILL MSG,TUN
- DO MSHOM
- IF 'DFN!('FHOLOC)
- QUIT
- +4 SET FHTEXT=$PIECE(FHN3,"^",1)
- SET FILL="T;"_FHRM
- SET MNUM=4
- SET TFCOM=FHTEXT
- +5 SET FHCLRK=$PIECE(FHN3,"^",6)
- DO NOW^%DTC
- SET FHNOW=%
- SET SDT=FHDT
- +6 SET MSG(MNUM)="ORC|SN||"_FILL_"^FH||||^^^"_FHODT_"|||"_FHCLRK_"||"_FHCLRK_"|||"_FHNOW
- +7 FOR FHTF=0:0
- SET FHTF=$ORDER(^FHPT(FHDFN,"OP",FHRM,"TF",FHTF))
- IF FHTF'>0
- QUIT
- SET TUN(FHTF)=$GET(^FHPT(FHDFN,"OP",FHRM,"TF",FHTF,0))
- +8 FOR FHTF=0:0
- SET FHTF=$ORDER(TUN(FHTF))
- IF FHTF<1
- QUIT
- SET XX=$GET(TUN(FHTF))
- DO TF1^FHWOR5
- +9 DO EVSEND^FHWOR
- +10 ;Send backdoor cancel
- IF $PIECE(^FHPT(FHDFN,"OP",FHRM,3),"^",5)="C"
- SET FHORN=$PIECE($GET(^FHPT(FHDFN,"OP",FHRM,3)),U,4)
- SET FILL="T;"_FHRM
- DO MSHCA
- +11 QUIT
- SM ;
- +1 ;Backdoor already exists
- IF $PIECE(^FHPT(FHDFN,"SM",FHXSDT,0),"^",12)>0
- QUIT
- +2 SET FHSN0=$GET(^FHPT(FHDFN,"SM",FHXSDT,0))
- +3 KILL MSG
- DO MSHOM
- IF 'DFN!('FHOLOC)
- QUIT
- +4 SET FILL="S;"_FHXSDT
- SET FHMEAL=$PIECE(FHSN0,"^",9)
- SET FHDIET=$PIECE(FHSN0,"^",4)
- +5 SET FHOMEAL=$SELECT(FHMEAL="B":1,FHMEAL="N":3,FHMEAL="E":5,1:"")
- +6 SET FHDIETNM=$PIECE($GET(^FH(111,FHDIET,0)),U,1)
- SET FHCLRK=$PIECE(FHSN0,"^",5)
- +7 SET MSG(4)="ORC|SN||"_FILL_"^FH||||^^^"_FHODT_"^"_FHODT_"|||"_FHCLRK_"|||||"_FHNOW
- +8 SET MSG(5)="ODS|S|"_FHOMEAL_"|^^^"_FHDIET_"^"_FHDIETNM_"^99FHD|"
- +9 DO EVSEND^FHWOR
- +10 SET FHSMST=$PIECE(^FHPT(FHDFN,"SM",FHXSDT,0),"^",2)
- +11 ;Send backdoor cancel/deny
- IF FHSMST="C"!(FHSMST="D")
- SET FHORN=$PIECE($GET(^FHPT(FHDFN,"SM",FHXSDT,0)),U,12)
- SET FILL="S;"_FHXSDT
- DO MSHCA
- +12 QUIT
- MSHOM ;Code MSG for outpatient orders
- +1 DO SITE^FH
- +2 DO PATNAME^FHOMUTL
- IF 'DFN
- QUIT
- +3 SET MSG(1)="MSH|^~\&|DIETETICS|"_SITE(1)_"|||||ORM"
- +4 SET MSG(2)="PID|||"_DFN_"||"_$PIECE($GET(^DPT(DFN,0)),"^",1)
- +5 SET FHOLOC=$GET(^FH(119.6,FHLOC,"L",1,0))
- IF 'FHOLOC
- QUIT
- +6 SET FHOLOCNM=$PIECE($GET(^SC(FHOLOC,0)),U,1)
- +7 SET MSG(3)="PV1||O|"_FHOLOC_"^"_FHOLOCNM_"||||||||||||||||"
- +8 QUIT
- MSHCA ;Code Cancel/Discontinue for outpatient orders
- +1 KILL MSG
- SET ACT="OC"
- DO SITE^FH
- SET FHCATXT="Dietetics Canceled order."
- +2 DO PATNAME^FHOMUTL
- IF 'DFN
- QUIT
- +3 SET MSG(1)="MSH|^~\&|DIETETICS|"_SITE(1)_"|||||ORM"
- +4 SET MSG(2)="PID|||"_DFN_"||"_$PIECE($GET(^DPT(DFN,0)),"^",1)
- +5 SET DATE=$$FMTHL7^XLFDT(FHNOW)
- +6 SET MSG(3)="ORC|"_ACT_"|"_FHORN_"^OR|"_FILL_"^FH|||||||"_DUZ_"||"_DUZ_"|||"_DATE_"|"_FHCATXT
- +7 DO EVSEND^FHWOR
- +8 QUIT
- GETSED ;
- +1 KILL N1
- SET (FHDAYS,FHENDT,FHODAYS)=""
- +2 FOR FHRZ=0:0
- SET FHRZ=$ORDER(^FHPT(FHDFN,"OP","C",FHMPNUM,FHRZ))
- IF FHRZ'>0
- QUIT
- Begin DoDot:1
- +3 SET FHDAT=$PIECE($GET(^FHPT(FHDFN,"OP",FHRZ,0)),"^",1)
- SET X=FHDAT
- DO DOW^%DTC
- +4 SET FHV=$SELECT(Y=0:"X",Y=1:"M",Y=2:"T",Y=3:"W",Y=4:"R",Y=5:"F",1:"S")
- +5 IF FHDAYS'[FHV
- SET FHDAYS=FHDAYS_FHV
- +6 QUIT
- End DoDot:1
- +7 SET FHENDT=FHDAT
- +8 FOR N=1:1:7
- SET FH1=$EXTRACT(FHDAYS,N)
- IF FH1=""
- QUIT
- SET M=$FIND("MTWRFSX",FH1)-1
- SET N1(M)=""
- +9 FOR N=0:0
- SET N=$ORDER(N1(N))
- IF N'>0
- QUIT
- SET FHODAYS=FHODAYS_"~QJ"_N
- +10 SET FHODAYS=$EXTRACT(FHODAYS,2,999)
- +11 SET FHDAYS=FHODAYS
- QUIT