1 | RAO7PC4 ;HISC/SWM-utilities ;11/19/01 10:23
|
---|
2 | ;;5.0;Radiology/Nuclear Medicine;**28,32,31,45,77**;Mar 16, 1998;Build 7
|
---|
3 | ;08/10/2006 BAY/KAM Remedy Call 134839 Subscript Error
|
---|
4 | Q
|
---|
5 | EN1 ; api for CPRS notification alert #67
|
---|
6 | Q:'$D(XQADATA)
|
---|
7 | D SET1 ; set up ^TMP nodes
|
---|
8 | D DISP1 ; convert and display ^TMP nodes
|
---|
9 | D KIL1 ; kill ^TMP nodes
|
---|
10 | Q
|
---|
11 | SET1 N RADFN,RADTI,RACNI,RAPROC1,RAPROC2,RAPHY1,RAPHY2,RAPMOD1,RAPMOD2,RAACNT
|
---|
12 | N RAPATNAM,RASSN,RASTR,I,J,RACMU
|
---|
13 | ; 08/10/2006 BAY/KAM Remedy Call 134839/RA*5*77 - Added next line
|
---|
14 | Q:$G(XQADATA)=""
|
---|
15 | S RADFN=$P(XQADATA,"/") ; ien patient
|
---|
16 | S RAACNT=0 ; counter
|
---|
17 | S RADTI=$P(XQADATA,"/",2) ; inverse date of exam
|
---|
18 | S RACNI=$P(XQADATA,"/",3) ; ien case
|
---|
19 | S RAPROC1=$P(XQADATA,"/",4) ; ien 71, before
|
---|
20 | S RAPROC2=$P(XQADATA,"/",5) ; ien 71, after
|
---|
21 | S RAPHY1=$P(XQADATA,"/",6) ; ien 200 requesting physician, before
|
---|
22 | S RAPHY2=$P(XQADATA,"/",7) ; ien 200 requesting physician, after
|
---|
23 | S RAPMOD1=$P(XQADATA,"/",8) ;string of proc mod iens, before
|
---|
24 | S RAPMOD2=$P(XQADATA,"/",9) ;string of proc mod iens, after
|
---|
25 | K ^TMP($J,"RAE4")
|
---|
26 | Q:'$D(^DPT(RADFN,0))
|
---|
27 | S RAPATNAM=$P(^DPT(RADFN,0),"^") S RASSN=$$SSN^RAUTL() S:RASSN="" RASSN="Unkn"
|
---|
28 | S RACMU=$S(+$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"CM",0))>0:" (CM w/exam)",1:"")
|
---|
29 | S ^TMP($J,"RAE4",1)="Imaging Exam for "_RAPATNAM_" ("_RASSN_") changed:"
|
---|
30 | I 'RAPROC2,RAPROC1 D
|
---|
31 | .S ^TMP($J,"RAE4",$$INCR^RAUTL4(RAACNT))=" "
|
---|
32 | .S ^TMP($J,"RAE4",$$INCR^RAUTL4(RAACNT))="For procedure "_$E($P(^RAMIS(71,RAPROC1,0),"^"),1,53)_RACMU
|
---|
33 | .S ^TMP($J,"RAE4",$$INCR^RAUTL4(RAACNT))=" "
|
---|
34 | I RAPROC2 D
|
---|
35 | .S ^TMP($J,"RAE4",$$INCR^RAUTL4(RAACNT))=" Procedure changed"
|
---|
36 | .S ^TMP($J,"RAE4",$$INCR^RAUTL4(RAACNT))=" From: "_$E($P(^RAMIS(71,RAPROC1,0),"^"),1,53)
|
---|
37 | .S ^TMP($J,"RAE4",$$INCR^RAUTL4(RAACNT))=" To: "_$E($P(^RAMIS(71,RAPROC2,0),"^"),1,53)_RACMU
|
---|
38 | .S ^TMP($J,"RAE4",$$INCR^RAUTL4(RAACNT))=""
|
---|
39 | I RAPHY2 D
|
---|
40 | .S ^TMP($J,"RAE4",$$INCR^RAUTL4(RAACNT))=" Requesting Physician changed"
|
---|
41 | .S ^TMP($J,"RAE4",$$INCR^RAUTL4(RAACNT))=" From: "_$$GET1^DIQ(200,RAPHY1,.01)
|
---|
42 | .S ^TMP($J,"RAE4",$$INCR^RAUTL4(RAACNT))=" To: "_$$GET1^DIQ(200,RAPHY2,.01)
|
---|
43 | I RAPMOD2!(('RAPMOD2)&(RAPMOD1)) D
|
---|
44 | .S ^TMP($J,"RAE4",$$INCR^RAUTL4(RAACNT))=" Procedure Modifier changed"
|
---|
45 | .S RASTR=""
|
---|
46 | .F I=1:1:($L(RAPMOD1)/2) S J=$P(RAPMOD1,",",I) Q:J="" S RASTR=RASTR_$$GET1^DIQ(71.2,J,.01)_", " Q:$L(RASTR)>240
|
---|
47 | .S RASTR=$E(RASTR,1,$L(RASTR)-2) ;rid trailing comma and blank
|
---|
48 | .S ^TMP($J,"RAE4",$$INCR^RAUTL4(RAACNT))=" From: "_RASTR
|
---|
49 | .S RASTR=""
|
---|
50 | .F I=1:1:($L(RAPMOD2)/2) S J=$P(RAPMOD2,",",I) Q:J="" S RASTR=RASTR_$$GET1^DIQ(71.2,J,.01)_", " Q:$L(RASTR)>240
|
---|
51 | .S RASTR=$E(RASTR,1,$L(RASTR)-2) ;rid trailing comma
|
---|
52 | .S ^TMP($J,"RAE4",$$INCR^RAUTL4(RAACNT))=" To: "_RASTR
|
---|
53 | Q
|
---|
54 | DISP1 N RARRAY
|
---|
55 | MERGE RARRAY=^TMP($J,"RAE4")
|
---|
56 | D EN^DDIOL(.RARRAY)
|
---|
57 | Q
|
---|
58 | KIL1 K ^TMP($J,"RAE4")
|
---|
59 | Q
|
---|
60 | ;
|
---|
61 | SETALERT ;
|
---|
62 | Q:'$D(RASTRING)
|
---|
63 | N RAPHY1,RAPHY2,RAPNAM,RAPSSN
|
---|
64 | S RADFN=$P(RASTRING,"/") ; ien patient
|
---|
65 | S RAPNAM=$$GET1^DIQ(70,+RADFN,.01) S:RAPNAM="" RAPNAM="UNKNOWN"
|
---|
66 | S RAPSSN=$$GET1^DIQ(70,+RADFN,.09) S:RAPSSN="" RAPSSN="UNKNOWN"
|
---|
67 | S RAPHY1=$P(RASTRING,"/",6) ; ien 200 requesting physician, before
|
---|
68 | S RAPHY2=$P(RASTRING,"/",7) ; ien 200 requesting physician, after
|
---|
69 | ;
|
---|
70 | S XQA(RAPHY1)="",XQAID=$J_","_$H S:$G(RAPHY2)]"" XQA(RAPHY2)=""
|
---|
71 | S XQAMSG=$E(RAPNAM,1,9)_" ("_$E(RAPNAM,1)_$E(RAPSSN,6,9)_"): Imaging Exam Changed: "_$S($P(RASTRING,"/",5):"Proc., ",1:"")_$S($P(RASTRING,"/",7):"Rqstr, ",1:"")_$S($P(RASTRING,"/",9):"Proc Mod",1:"")
|
---|
72 | S:$E(XQAMSG,($L(XQAMSG)-1))="," XQAMSG=$E(XQAMSG,1,($L(XQAMSG)-2))
|
---|
73 | S XQADATA=RASTRING
|
---|
74 | S XQAROU="ZZ^RAO7PC4(XQADATA)"
|
---|
75 | D SETUP^XQALERT
|
---|
76 | Q
|
---|
77 | ;
|
---|
78 | ZZ(RASTRING) ; Additional text for display when processing alert.
|
---|
79 | ;
|
---|
80 | N RADFN,RADTI,RACMU,RACNI,RAPROC1,RAPROC2,RAPHY1,RAPHY2,RAPMOD1,RAPMOD2
|
---|
81 | N RAPNAM,RAPSSN,I,RAPRFR,RAPRTO,RAPHYFR,RAPHYTO,RASTR
|
---|
82 | S RADFN=$P(RASTRING,"/") ; ien patient
|
---|
83 | S RADTI=$P(RASTRING,"/",2) ; inverse date of exam
|
---|
84 | S RACNI=$P(RASTRING,"/",3) ; ien case
|
---|
85 | S RAPROC1=$P(RASTRING,"/",4) ; ien 71, before
|
---|
86 | S RAPROC2=$P(RASTRING,"/",5) ; ien 71, after
|
---|
87 | S RAPHY1=$P(RASTRING,"/",6) ; ien 200 requesting physician, before
|
---|
88 | S RAPHY2=$P(RASTRING,"/",7) ; ien 200 requesting physician, after
|
---|
89 | S RAPMOD1=$P(RASTRING,"/",8) ;string of proc mod iens, before
|
---|
90 | S RAPMOD2=$P(RASTRING,"/",9) ;string of proc mod iens, after
|
---|
91 | ;
|
---|
92 | S RAPNAM=$$GET1^DIQ(70,+RADFN,.01) S:RAPNAM="" RAPNAM="UNKNOWN"
|
---|
93 | S RAPSSN=$$GET1^DIQ(70,+RADFN,.09) S:RAPSSN="" RAPSSN="UNKNOWN"
|
---|
94 | D EN^DDIOL("Imaging Exam For "_$E(RAPNAM,1,30)_" ("_RAPSSN_") Changed:",,"!!?4")
|
---|
95 | ;
|
---|
96 | S RACMU=$S(+$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"CM",0))>0:" (CM w/exam)",1:"")
|
---|
97 | I 'RAPROC2,RAPROC1 D
|
---|
98 | .S RAPRFR=$E($$GET1^DIQ(71,+RAPROC1,.01),1,50) S:RAPRFR="" RAPRFR="UNKNOWN"
|
---|
99 | .S RAPRFR=RAPRFR_RACMU D EN^DDIOL("For procedure "_RAPRFR_RACMU,,"!?4")
|
---|
100 | .D EN^DDIOL(" ",,"!")
|
---|
101 | .Q
|
---|
102 | I RAPROC2 D
|
---|
103 | .S RAPRFR=$E($$GET1^DIQ(71,+RAPROC1,.01),1,53) S:RAPRFR="" RAPRFR="UNKNOWN"
|
---|
104 | .S RAPRTO=$E($$GET1^DIQ(71,+RAPROC2,.01),1,53) S:RAPRTO="" RAPRTO="UNKNOWN"
|
---|
105 | .D EN^DDIOL("Procedure changed",,"!?4")
|
---|
106 | .D EN^DDIOL("From: "_RAPRFR,,"!?8")
|
---|
107 | .D EN^DDIOL("To: "_RAPRTO_RACMU,,"!?8")
|
---|
108 | .Q
|
---|
109 | I RAPHY2 D
|
---|
110 | .S RAPHYFR=$$GET1^DIQ(200,RAPHY1,.01) S:RAPHYFR="" RAPHYFR="UNKNOWN"
|
---|
111 | .S RAPHYTO=$$GET1^DIQ(200,RAPHY2,.01) S:RAPHYTO="" RAPHYTO="UNKNOWN"
|
---|
112 | .D EN^DDIOL("Requesting Physician changed",,"!?4")
|
---|
113 | .D EN^DDIOL("From: "_RAPHYFR,,"!?8")
|
---|
114 | .D EN^DDIOL("To: "_RAPHYTO,,"!?8")
|
---|
115 | .Q
|
---|
116 | I RAPMOD2!('(RAPMOD2)&(RAPMOD1)) D
|
---|
117 | .D EN^DDIOL("Procedure Modifier changed",,"!?4")
|
---|
118 | .S RASTR=""
|
---|
119 | .F I=1:1:($L(RAPMOD1)/2) S J=$P(RAPMOD1,",",I) Q:J="" S RASTR=RASTR_$$GET1^DIQ(71.2,J,.01)_", " Q:$L(RASTR)>240
|
---|
120 | .S RASTR=$E(RASTR,1,$L(RASTR)-2) ;rid trailing comma
|
---|
121 | .D EN^DDIOL("From: "_RASTR,,"!?8")
|
---|
122 | .S RASTR=""
|
---|
123 | .F I=1:1:($L(RAPMOD2)/2) S J=$P(RAPMOD2,",",I) Q:J="" S RASTR=RASTR_$$GET1^DIQ(71.2,J,.01)_", " Q:$L(RASTR)>240
|
---|
124 | .S RASTR=$E(RASTR,1,$L(RASTR)-2) ;rid trailing comma
|
---|
125 | .D EN^DDIOL("To: "_RASTR,,"!?8")
|
---|
126 | .Q
|
---|
127 | Q
|
---|
128 | ;
|
---|
129 | SETNOTIF(RAIEN751) ; called by RAO7XX if patch OR*3.0*112 is installed
|
---|
130 | ;so that the CPRS notification system can be used to set the alert
|
---|
131 | Q:'$D(RASTRING)
|
---|
132 | ;RASTRING is : dfn^invdt^caseien^befproc^aftproc^befphy^aftphy
|
---|
133 | ; ^befpmodA,pmodF,etc^aftpmodF,pmodH,etc
|
---|
134 | N RAREQPHY
|
---|
135 | S:+$P(RASTRING,"/",6) RAREQPHY(+$P(RASTRING,"/",6))=""
|
---|
136 | S:+$P(RASTRING,"/",7) RAREQPHY(+$P(RASTRING,"/",7))=""
|
---|
137 | S RAMSG="Imaging Exam Changed: "_$S($P(RASTRING,"/",5):"Proc., ",1:"")_$S($P(RASTRING,"/",7):"Rqstr, ",1:"")_$S($L($P(RASTRING,"/",8,9))>1:"Proc Mod",1:"")
|
---|
138 | S:$E(RAMSG,$L(RAMSG)-1)="," RAMSG=$E(RAMSG,1,($L(RAMSG)-2))
|
---|
139 | D EN^ORB3(67,+RASTRING,RAIEN751,.RAREQPHY,RAMSG,RASTRING)
|
---|
140 | ;ORN mustbe 67,dfn,ienfile75.1,reqphys,messagetitle,string for api
|
---|
141 | Q
|
---|