1 | ORB3C2 ; slc/CLA - Routine to post-convert OE/RR 2.5 to OE/RR 3 notifications ;12/2/97 9:52 [ 04/03/97 1:41 PM ]
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**9**;Dec 17, 1997
|
---|
3 | Q
|
---|
4 | POSTORB ;initiate post-inits for converting OE/RR 2.5 notification fields to OE/RR 3.0 notification parameters
|
---|
5 | N ORBC
|
---|
6 | S ORBC=$$GET^XPAR("SYS","ORBC CONVERSION",1,"Q")
|
---|
7 | I +$G(ORBC)>1 D BMES^XPDUTL("Notifications already POST-converted.") Q
|
---|
8 | D BMES^XPDUTL("POST-conversion of notifications...")
|
---|
9 | D KILLC,PROTO,POSTRU,POSTRG,POSTPF,POSTEX
|
---|
10 | D EN^XPAR("SYS","ORBC CONVERSION",1,"2",.ORBERR) ;2:post-convert done
|
---|
11 | D BMES^XPDUTL("POST-conversion of notifications completed.")
|
---|
12 | Q
|
---|
13 | KILLC ;kill then rebuild "C" x-ref
|
---|
14 | K ^ORD(100.9,"C")
|
---|
15 | S DIK="^ORD(100.9,",DIK(1)=".02^C" D ENALL^DIK ;rebuild the "C" x-ref
|
---|
16 | K DA,DIK
|
---|
17 | Q
|
---|
18 | PROTO ;update protocols
|
---|
19 | N ORBP1,ORBP2,ORBPX
|
---|
20 | S DIC="^ORD(101,",DIC(0)="",X="OR EVSEND DGPM" D ^DIC Q:+Y<1 S ORBP1=+Y
|
---|
21 | K DIC,Y,DUOUT,DTOUT
|
---|
22 | S DIC="^ORD(101,",DIC(0)="",X="DGPM PROVIDER UPDATE EVENT" D ^DIC Q:+Y<1 S ORBP2=+Y
|
---|
23 | S ORBPX=0 F S ORBPX=$O(^ORD(101,ORBP1,10,ORBPX)) Q:'ORBPX Q:(+^ORD(101,ORBP1,10,ORBPX,0)=ORBP2)
|
---|
24 | K DIC,Y,DUOUT,DTOUT
|
---|
25 | Q:+$G(ORBPX)>0
|
---|
26 | S X="Adding protocol DGPM PROVIDER UPDATE EVENT as an item on protocol OR EVSEND DGPM..."
|
---|
27 | D BMES^XPDUTL(X)
|
---|
28 | S:'$D(^ORD(101,ORBP1,10,0)) ^ORD(101,ORBP1,10,0)="^101.01PA^^"
|
---|
29 | S (DIE,DIC)="^ORD(101,"_ORBP1_",10,"
|
---|
30 | F DA=1:1 Q:'$D(^ORD(101,ORBP1,10,DA,0))
|
---|
31 | S DA(1)=ORBP1,DR=".01///DGPM PROVIDER UPDATE EVENT"
|
---|
32 | D ^DIE
|
---|
33 | K DIC,DIE,DA,DR,X,DTOUT
|
---|
34 | Q
|
---|
35 | POSTRU ;post-init conversion of OE/RR 2.5 RECIPIENT USERS
|
---|
36 | N ORBN,ORBU,ORBERR,X,ORBTOT,I,ORX
|
---|
37 | S ORBTOT=$G(^XTMP("ORBC","USER PROCESSING FLAG",0))
|
---|
38 | Q:+$G(ORBTOT)<1
|
---|
39 | S XPDIDTOT=ORBTOT
|
---|
40 | D UPDATE^XPDID(0)
|
---|
41 | S I=0 F S I=$O(^XTMP("ORBC","USER PROCESSING FLAG",I)) Q:I="" D
|
---|
42 | .D UPDATE^XPDID(I)
|
---|
43 | .S ORX=^XTMP("ORBC","USER PROCESSING FLAG",I)
|
---|
44 | .S ORBU=$P(ORX,U),ORBN=$P(ORX,U,2)
|
---|
45 | .Q:'$L($G(^VA(200,ORBU,0)))
|
---|
46 | .Q:'$L($G(^ORD(100.9,ORBN,0)))
|
---|
47 | .Q:$L($$GET^XPAR("USR.`"_+ORBU,"ORB PROCESSING FLAG","`"_ORBN,"Q"))
|
---|
48 | .D EN^XPAR("USR.`"_+ORBU,"ORB PROCESSING FLAG","`"_ORBN,"E",.ORBERR)
|
---|
49 | .I +ORBERR>0 D
|
---|
50 | ..S X="Error: "_ORBERR_" - converting USER "_$P(^VA(200,ORBU,0),U)_" to ORB PROCESSING FLAG user level for notification "_$P(^ORD(100.9,ORBN,0),U)_"!"
|
---|
51 | ..D BMES^XPDUTL(X)
|
---|
52 | K XPDIDTOT
|
---|
53 | Q
|
---|
54 | POSTRG ;post-init conversion of OE/RR 2.5 RECIPIENT GROUPS
|
---|
55 | N ORBN,ORBT,ORBERR,X,ORBTOT,I,ORX
|
---|
56 | S ORBTOT=$G(^XTMP("ORBC","DEFAULT RECIPIENTS",0))
|
---|
57 | Q:+$G(ORBTOT)<1
|
---|
58 | S XPDIDTOT=ORBTOT
|
---|
59 | D UPDATE^XPDID(0)
|
---|
60 | S I=0 F S I=$O(^XTMP("ORBC","DEFAULT RECIPIENTS",I)) Q:I="" D
|
---|
61 | .D UPDATE^XPDID(I)
|
---|
62 | .S ORX=^XTMP("ORBC","DEFAULT RECIPIENTS",I)
|
---|
63 | .S ORBT=$P(ORX,U),ORBN=$P(ORX,U,2)
|
---|
64 | .Q:'$L($G(^OR(100.21,ORBT,0)))
|
---|
65 | .Q:'$L($G(^ORD(100.9,ORBN,0)))
|
---|
66 | .Q:$L($$GET^XPAR("OTL.`"_+ORBT,"ORB DEFAULT RECIPIENTS","`"_ORBN,"Q"))
|
---|
67 | .D EN^XPAR("OTL.`"_+ORBT,"ORB DEFAULT RECIPIENTS","`"_ORBN,"Yes",.ORBERR)
|
---|
68 | .I +ORBERR>0 D
|
---|
69 | ..S X="Error: "_ORBERR_" - converting RECIPIENT GROUP "_$P(^OR(100.21,ORBT,0),U)_" to ORB DEFAULT RECIPIENTS!"
|
---|
70 | ..D BMES^XPDUTL(X)
|
---|
71 | K XPDIDTOT
|
---|
72 | Q
|
---|
73 | POSTPF ;post-init conversion of OE/RR 2.5 PROCESSING FLAG
|
---|
74 | N ORBN,ORBF,ORBERR,X,ORBTOT,I,ORX
|
---|
75 | S ORBTOT=$G(^XTMP("ORBC","SITE PROCESSING FLAG",0))
|
---|
76 | Q:+$G(ORBTOT)<1
|
---|
77 | S XPDIDTOT=ORBTOT
|
---|
78 | D UPDATE^XPDID(0)
|
---|
79 | S I=0 F S I=$O(^XTMP("ORBC","SITE PROCESSING FLAG",I)) Q:I="" D
|
---|
80 | .D UPDATE^XPDID(I)
|
---|
81 | .S ORX=^XTMP("ORBC","SITE PROCESSING FLAG",I)
|
---|
82 | .S ORBF=$P(ORX,U),ORBN=$P(ORX,U,2)
|
---|
83 | .Q:ORBF=""
|
---|
84 | .Q:'$L($G(^ORD(100.9,ORBN,0)))
|
---|
85 | .Q:$L($$GET^XPAR("SYS","ORB PROCESSING FLAG","`"_ORBN,"Q"))
|
---|
86 | .D EN^XPAR("SYS","ORB PROCESSING FLAG","`"_ORBN,ORBF,.ORBERR)
|
---|
87 | .I +ORBERR>0 D
|
---|
88 | ..S X="Error: "_ORBERR_" - converting SYSTEM to ORB PROCESSING FLAG system level for notification "_$P(^ORD(100.9,ORBN,0),U)_"!"
|
---|
89 | ..D BMES^XPDUTL(X)
|
---|
90 | K XPDIDTOT
|
---|
91 | Q
|
---|
92 | POSTEX ;post-init conversion of OE/RR 2.5 EXCLUDE ATTENDING & EXCLUDE PRIMARY
|
---|
93 | N ORBN,ORBEX,ORBXA,ORBXP,ORBNTOP,ORBPKG,ORBSYS,ORBERR,X,ORBTOT,I,ORX
|
---|
94 | S ORBTOT=$G(^XTMP("ORBC","PROVIDER RECIPIENTS",0))
|
---|
95 | Q:+$G(ORBTOT)<1
|
---|
96 | S XPDIDTOT=ORBTOT
|
---|
97 | D UPDATE^XPDID(0)
|
---|
98 | ;
|
---|
99 | S I=0 F S I=$O(^XTMP("ORBC","PROVIDER RECIPIENTS",I)) Q:I="" D
|
---|
100 | .D UPDATE^XPDID(I)
|
---|
101 | .S ORX=^XTMP("ORBC","PROVIDER RECIPIENTS",I)
|
---|
102 | .S ORBXA=$P(ORX,U),ORBXP=$P(ORX,U,2),ORBNTOP=$P(ORX,U,3),ORBN=$P(ORX,U,4)
|
---|
103 | .I '$L(ORBNTOP),(+$G(ORBXA)<1),(+$G(ORBXP)<1) Q
|
---|
104 | .I ($L(ORBNTOP))!($L(ORBXA))!($L(ORBXP)) D
|
---|
105 | ..S ORBPKG=$$GET^XPAR("PKG","ORB PROVIDER RECIPIENTS","`"_ORBN,"Q")
|
---|
106 | ..;
|
---|
107 | ..;if Notif to Phys is "All" and Pkg value doesn't contain "P":
|
---|
108 | ..I $G(ORBNTOP)=0,$F(ORBPKG,"P")=0 S ORBPKG=ORBPKG_"P"
|
---|
109 | ..;
|
---|
110 | ..;if Notif to Phys is Attending only and Pkg value doesn't contain "A":
|
---|
111 | ..I $L(ORBNTOP)>0,$F(ORBPKG,"A")=0 S ORBPKG=ORBPKG_"A"
|
---|
112 | ..;
|
---|
113 | ..S ORBXA=$S($G(ORBXA)=1:"A",1:"")
|
---|
114 | ..S ORBXP=$S($G(ORBXP)=1:"P",1:"")
|
---|
115 | ..S ORBEX=ORBXA_ORBXP
|
---|
116 | ..Q:$L($$GET^XPAR("SYS","ORB PROVIDER RECIPIENTS","`"_ORBN,"Q"))
|
---|
117 | ..S ORBSYS=$TR(ORBPKG,ORBEX) ;exclude attending and/or primary
|
---|
118 | ..D EN^XPAR("SYS","ORB PROVIDER RECIPIENTS","`"_ORBN,ORBSYS,.ORBERR)
|
---|
119 | ..I +ORBERR>0 D
|
---|
120 | ...S X="Error: "_ORBERR_" - converting EXCLUDE ATTENDING/PRIMARY "_$P(^ORD(100.9,+ORBN,0),U)_" to ORB PROVIDER RECIPIENTS system level!"
|
---|
121 | ...D BMES^XPDUTL(X)
|
---|
122 | K XPDIDTOT
|
---|
123 | Q
|
---|