1 | FHOMRC2 ;Hines OIFO/RTK BACKDOOR CANCEL OUTPATIENT MEALS ;4/27/05 10:05
|
---|
2 | ;;5.5;DIETETICS;**2,5**;Jan 28, 2005;Build 53
|
---|
3 | ;
|
---|
4 | CNRM100 ;Backdoor message to update file #100 with RM cancel order
|
---|
5 | S FHORN=$P($G(^FHPT(FHDFN,"OP",FHRNUM,0)),U,12)
|
---|
6 | S FHMPNUM=$P($G(^FHPT(FHDFN,"OP",FHRNUM,0)),U,6)
|
---|
7 | S FHDT=$P($G(^FHPT(FHDFN,"OP",FHRNUM,0)),U,1)
|
---|
8 | S FILL="R;"_FHMPNUM_";"_FHDT_";"_FHDT_";;"
|
---|
9 | D CHECK
|
---|
10 | I FHACTV=0 D CAN
|
---|
11 | I FHACTV=1 D CANOCC
|
---|
12 | ASSOC I $D(^FHPT(FHDFN,"OP",FHRNUM,1)) D CNAO100,CANAO^FHOMRC1
|
---|
13 | I $D(^FHPT(FHDFN,"OP",FHRNUM,2)) D CNEL100,CANEL^FHOMRC1
|
---|
14 | I $D(^FHPT(FHDFN,"OP",FHRNUM,3)) D CNTF100,CANTF^FHOMRC1
|
---|
15 | Q
|
---|
16 | CNAO100 ;Backdoor message to update file #100 with AO cancel order
|
---|
17 | S FHORN=$P($G(^FHPT(FHDFN,"OP",FHRNUM,1)),U,4),FILL="A;"_FHRNUM D CAN Q
|
---|
18 | CNEL100 ;Backdoor message to update file #100 with EL cancel order
|
---|
19 | S FHORN=$P($G(^FHPT(FHDFN,"OP",FHRNUM,2)),U,5),FILL="E;"_FHRNUM D CAN Q
|
---|
20 | CNTF100 ;Backdoor message to update file #100 with TF cancel order
|
---|
21 | S FHORN=$P($G(^FHPT(FHDFN,"OP",FHRNUM,3)),U,4),FILL="T;"_FHRNUM D CAN Q
|
---|
22 | CNIP100 ;Backdoor message to update file #100 with IP cancel order
|
---|
23 | S FHORN=$P($G(^FHPT(FHDFN,0)),U,6),FILL="I;CANCEL" D CAN Q
|
---|
24 | CNSM100 ;Backdoor message to update file #100 with SM cancel order
|
---|
25 | S FHORN=$P($G(^FHPT(FHDFN,"SM",FHDA,0)),U,12),FILL="S;"_FHDA D CAN
|
---|
26 | ;if an SM E/L Tray exists cancel that too:
|
---|
27 | CNSMEL S FHORN=$P($G(^FHPT(FHDFN,"SM",FHDA,1)),U,4) I FHORN="" Q
|
---|
28 | S FILL="G;"_FHDA D CAN Q
|
---|
29 | CAN ;
|
---|
30 | Q:'$$PATCH^XPDUTL("OR*3.0*215") ;must have CPRSv26 for O.M. backdoor
|
---|
31 | Q:'DFN D MSHCA^FHOMUTL,EVSEND^FHWOR
|
---|
32 | Q
|
---|
33 | CANOCC ; If cancelling occurences of RM (not ALL) then send "XX" message
|
---|
34 | ; instead of "OC" which will cancel the entire order in CPRS.
|
---|
35 | Q:'$$PATCH^XPDUTL("OR*3.0*215") ;must have CPRSv26 for O.M. backdoor
|
---|
36 | Q:'DFN K MSG D MSHOM^FHOMUTL ;Sets MSG(1), MSG(2) & MSG(3) for OM
|
---|
37 | S FHOSTDT=$P($G(^FHPT(FHDFN,"OP",FHRNUM,0)),U,1)
|
---|
38 | S FHOSTDT=$$FMTHL7^XLFDT(FHOSTDT)
|
---|
39 | S MSG(4)="ORC|XX|"_FHORN_"^OR|"_FILL_"^FH||||^^^"_FHOSTDT_"^"_FHOSTDT
|
---|
40 | S MSG(5)="ODS|||^^^FH-X^Meal Canceled^99OTH|"
|
---|
41 | D EVSEND^FHWOR
|
---|
42 | Q
|
---|
43 | CHECK ; Check if there are other "active" RM's to determine if entire order
|
---|
44 | ; should be cancelled
|
---|
45 | S FHACTV=0,FHMPNUM=$P($G(^FHPT(FHDFN,"OP",FHRNUM,0)),U,6)
|
---|
46 | F FHINDX=0:0 S FHINDX=$O(^FHPT(FHDFN,"OP","C",FHMPNUM,FHINDX)) Q:FHINDX'>0!(FHACTV=1) D
|
---|
47 | .I $P($G(^FHPT(FHDFN,"OP",FHINDX,0)),U,1)<DT Q
|
---|
48 | .I $P($G(^FHPT(FHDFN,"OP",FHINDX,0)),U,15)'="C" S FHACTV=1
|
---|
49 | .Q
|
---|
50 | Q
|
---|