1 | RAIPST6 ;HIRMFO/GJC - Post-init number six ;11/23/97 13:25
|
---|
2 | VERSION ;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998
|
---|
3 | ;
|
---|
4 | EN1 ; Add the following protocols to file 101 iff they are new
|
---|
5 | ; to the Protocol (101) file: RA SEND ORM, RA SEND ORU, RA CANCEL
|
---|
6 | ; & RA EVSEND OR. DBIA: 872
|
---|
7 | ; Note: The third subscript of RAFDA is the field number in file 101.
|
---|
8 | ; Consult a data dictionary for further information.
|
---|
9 | SNDORM ; RA SEND ORM protocol
|
---|
10 | I '$D(^ORD(101,"B","RA SEND ORM")) D
|
---|
11 | . N RA101,RAFDA
|
---|
12 | . S RAFDA(101,"+1,",.01)="RA SEND ORM"
|
---|
13 | . S RAFDA(101,"+1,",1)="Client for Imaging (ORM)"
|
---|
14 | . S RAFDA(101,"+1,",12)=$$PKG^RAIPST5()
|
---|
15 | . S RAFDA(101,"+1,",4)="subscriber"
|
---|
16 | . S RAFDA(101,"+1,",15)="Q"
|
---|
17 | . S RAFDA(101,"+1,",99)=$$TSTMP^RAIPST5()
|
---|
18 | . S RAFDA(101,"+1,",770.4)="O01"
|
---|
19 | . S RAFDA(101,"+1,",773.1)="NO"
|
---|
20 | . S RAFDA(101,"+1,",773.3)="NO"
|
---|
21 | . S RAFDA(101,"+1,",20)="Q"
|
---|
22 | . S RAFDA(101,"+1,",770.2)="RA-CLIENT-IMG"
|
---|
23 | . S RAFDA(101,"+1,",770.6)=$$PROID^RAIPST5()
|
---|
24 | . S RAFDA(101,"+1,",771)="Q"
|
---|
25 | . S RAFDA(101,"+1,",773.2)="NO"
|
---|
26 | . S RAFDA(101,"+1,",773.4)="YES"
|
---|
27 | . D MSG^RAIPST5("RA SEND ORM")
|
---|
28 | . D UPDATE^DIE("E","RAFDA")
|
---|
29 | . I $D(^ORD(101,"B","RA SEND ORM")) D Q
|
---|
30 | .. S RA101=$O(^ORD(101,"B","RA SEND ORM",0))
|
---|
31 | .. K RAFDA S RAFDA(101,RA101_",",770.95)=2.1 D FILE^DIE("E","RAFDA")
|
---|
32 | .. S ^ORD(101,RA101,1,1,0)="This protocol receives the HL7 message."
|
---|
33 | .. S ^ORD(101,RA101,1,0)="^^1^1^"_$$DT^XLFDT()_"^^"
|
---|
34 | .. Q
|
---|
35 | . D ERR^RAIPST5("RA SEND ORM")
|
---|
36 | . Q
|
---|
37 | SNDORU ; RA SEND ORU protocol
|
---|
38 | I '$D(^ORD(101,"B","RA SEND ORU")) D
|
---|
39 | . N RA101,RAFDA
|
---|
40 | . S RAFDA(101,"+1,",.01)="RA SEND ORU"
|
---|
41 | . S RAFDA(101,"+1,",1)="Client for Imaging (ORU)"
|
---|
42 | . S RAFDA(101,"+1,",12)=$$PKG^RAIPST5()
|
---|
43 | . S RAFDA(101,"+1,",4)="subscriber"
|
---|
44 | . S RAFDA(101,"+1,",15)="Q"
|
---|
45 | . S RAFDA(101,"+1,",99)=$$TSTMP^RAIPST5()
|
---|
46 | . S RAFDA(101,"+1,",770.4)="R01"
|
---|
47 | . S RAFDA(101,"+1,",773.1)="NO"
|
---|
48 | . S RAFDA(101,"+1,",773.3)="NO"
|
---|
49 | . S RAFDA(101,"+1,",20)="Q"
|
---|
50 | . S RAFDA(101,"+1,",770.2)="RA-CLIENT-IMG"
|
---|
51 | . S RAFDA(101,"+1,",770.6)=$$PROID^RAIPST5()
|
---|
52 | . S RAFDA(101,"+1,",771)="Q"
|
---|
53 | . S RAFDA(101,"+1,",773.2)="NO"
|
---|
54 | . S RAFDA(101,"+1,",773.4)="YES"
|
---|
55 | . D MSG^RAIPST5("RA SEND ORU")
|
---|
56 | . D UPDATE^DIE("E","RAFDA")
|
---|
57 | . I $D(^ORD(101,"B","RA SEND ORU")) D Q
|
---|
58 | .. S RA101=$O(^ORD(101,"B","RA SEND ORU",0))
|
---|
59 | .. K RAFDA S RAFDA(101,RA101_",",770.95)=2.1 D FILE^DIE("E","RAFDA")
|
---|
60 | .. S ^ORD(101,RA101,1,1,0)="This protocol receives the HL7 message."
|
---|
61 | .. S ^ORD(101,RA101,1,0)="^^1^1^"_$$DT^XLFDT()_"^^"
|
---|
62 | .. Q
|
---|
63 | . D ERR^RAIPST5("RA SEND ORU")
|
---|
64 | . Q
|
---|
65 | CANCEL ; RA CANCEL protocol
|
---|
66 | I '$D(^ORD(101,"B","RA CANCEL")) D
|
---|
67 | . N RA101,RAFDA
|
---|
68 | . S RAFDA(101,"+1,",.01)="RA CANCEL"
|
---|
69 | . S RAFDA(101,"+1,",1)="Rad/Nuc Med exam cancellation"
|
---|
70 | . S RAFDA(101,"+1,",12)=$$PKG^RAIPST5()
|
---|
71 | . S RAFDA(101,"+1,",4)="event driver"
|
---|
72 | . S RAFDA(101.01,"+2,+1,",.01)="RA SEND ORM"
|
---|
73 | . S RAFDA(101,"+1,",20)="Q"
|
---|
74 | . S RAFDA(101,"+1,",770.3)="ORM"
|
---|
75 | . S RAFDA(101,"+1,",770.6)=$$PROID^RAIPST5()
|
---|
76 | . S RAFDA(101,"+1,",772)="Q"
|
---|
77 | . S RAFDA(101,"+1,",99)=$$TSTMP^RAIPST5()
|
---|
78 | . S RAFDA(101,"+1,",770.4)="O01"
|
---|
79 | . D MSG^RAIPST5("RA CANCEL")
|
---|
80 | . D UPDATE^DIE("E","RAFDA")
|
---|
81 | . I $D(^ORD(101,"B","RA CANCEL")) D Q
|
---|
82 | .. S RA101=$O(^ORD(101,"B","RA CANCEL",0))
|
---|
83 | .. K RAFDA S RAFDA(101,RA101_",",770.95)=2.1 D FILE^DIE("E","RAFDA")
|
---|
84 | .. S ^ORD(101,RA101,1,1,0)="This protocol is triggered whenever a Radiology/Nuclear Medicine exam is"
|
---|
85 | .. S ^ORD(101,RA101,1,2,0)="cancelled. It executes code that creates an HL7 ORM message consisting of"
|
---|
86 | .. S ^ORD(101,RA101,1,3,0)="PID, ORC, OBR and OBX segments. The message contains all relevant"
|
---|
87 | .. S ^ORD(101,RA101,1,4,0)="information about the exam, including procedure, time of cancellation,"
|
---|
88 | .. S ^ORD(101,RA101,1,5,0)="procedure modifiers, patient allergies and clinical history."
|
---|
89 | .. S ^ORD(101,RA101,1,0)="^^5^5^"_$$DT^XLFDT()_"^^"
|
---|
90 | .. Q
|
---|
91 | . D ERR^RAIPST5("RA CANCEL")
|
---|
92 | . Q
|
---|
93 | EVSEND ; RA EVSEND OR protocol
|
---|
94 | I '$D(^ORD(101,"B","RA EVSEND OR")) D
|
---|
95 | . N RA101,RAFDA
|
---|
96 | . S RAFDA(101,"+1,",.01)="RA EVSEND OR"
|
---|
97 | . S RAFDA(101,"+1,",1)="Rad/Nuc Med event sent to OE/RR"
|
---|
98 | . S RAFDA(101,"+1,",12)=$$PKG^RAIPST5()
|
---|
99 | . S RAFDA(101,"+1,",4)="extended action"
|
---|
100 | . S RAFDA(101,"+1,",44)="RA EVSEND"
|
---|
101 | . S RAFDA(101,"+1,",15)="K:$L($G(RAVARBLE)) @RAVARBLE,RAVARBLE"
|
---|
102 | . S RAFDA(101,"+1,",99)=$$TSTMP^RAIPST5()
|
---|
103 | . D MSG^RAIPST5("RA EVSEND OR")
|
---|
104 | . D UPDATE^DIE("E","RAFDA")
|
---|
105 | . I $D(^ORD(101,"B","RA EVSEND OR")) D Q
|
---|
106 | .. S RA101=$O(^ORD(101,"B","RA EVSEND OR",0))
|
---|
107 | .. S ^ORD(101,RA101,1,1,0)="Invoked when a request is created or changed by the Radiology/Nuclear"
|
---|
108 | .. S ^ORD(101,RA101,1,2,0)="Medicine package (the ""backdoor"") and the data is passed to the Order"
|
---|
109 | .. S ^ORD(101,RA101,1,3,0)="Entry package, Version 3.0 or greater."
|
---|
110 | .. S ^ORD(101,RA101,1,0)="^^3^3^"_$$DT^XLFDT()_"^^"
|
---|
111 | .. Q
|
---|
112 | . D ERR^RAIPST5("RA EVSEND OR")
|
---|
113 | . Q
|
---|
114 | Q
|
---|