ruby-hl7-extensions 0.0.55 → 0.0.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 24fda7f8f4a57c59b927470dc02ff540034e1c42
4
- data.tar.gz: dec91fe345401e1835006dfaf2b5d236852b3512
3
+ metadata.gz: 839d3613bcbb6a621449427f691abe9b1abd4955
4
+ data.tar.gz: 5728008a3d5afd3f5f308f8770cbc49267970cd2
5
5
  SHA512:
6
- metadata.gz: 322104f728b9e1ef61ff020b9c76797a1fa7a3464862b37130c6b8d9bfbc440d6f99d5d6979789a511a91b476fd5c43fafe6d14d9fac74820756ffc99de30ea8
7
- data.tar.gz: 91b1009367292806e9346d59aaec397e5537fb9b9b4806fc1addee607bde2d375d26b68f6cd32c18ebe34b275627b1c2e4d9721f76e4906588d6c4c663abcdf3
6
+ metadata.gz: d892b83d459edccd04ec631771d57350a11b7362c5fd3fae9f6e0487b9e99d83f1b87d44c5d1d824a882bf7b1b4624c9d3d66405e9e882e9a00c1fa81bb1a57f
7
+ data.tar.gz: 4d37a787be2bf2d4db403fc6c8e8d5719c88b1113f1d793926f16624cf8e7652d7bf7affc47208a81b73bac363743db4d649512e3cb28bca9b40bda2f1cfe99a
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.55
1
+ 0.0.56
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 0
4
- :patch: 55
4
+ :patch: 56
@@ -5,28 +5,83 @@ module Extensions
5
5
 
6
6
  def self.included base
7
7
  base.send :include, InstanceMethods
8
+ base.send :include, Values::MSH
8
9
  base.extend ClassMethods
9
10
  end
10
11
 
11
12
  module InstanceMethods
12
13
  def to_hash
13
- @hash = {"enc_chars" => self.enc_chars,
14
- "seq" => self.seq,
15
- "sendingApplication" => self.sending_app,
16
- "sendingFacility" => self.sending_facility,
17
- "receivingApplication" => self.recv_app,
18
- "receivingFacility" => self.recv_facility,
19
- "dateTime" => self.time,
20
- "security" => self.security,
21
- "messageType" => self.message_type.split("^").first,
22
- "messageEvent" => self.message_type.split("^").last,
23
- "messageControlId" => self.message_control_id,
24
- "processingID" => self.processing_id,
25
- "versionID" => self.version_id}
14
+ return @hash if @hash
15
+
16
+ sendingApplication = self.sending_app.split("^") rescue Array.new(20) {|i|""}
17
+ sendingFacility = self.sending_facility.split("^") rescue Array.new(20) {|i|""}
18
+ recvApp = self.recv_app.split("^") rescue Array.new(20) {|i|""}
19
+ recvFacility = self.recv_facility.split("^") rescue Array.new(20) {|i|""}
20
+ message_type = self.message_type.split("^") rescue Array.new(20) {|i|""}
21
+ processing_id = self.processing_id.split("^") rescue Array.new(5) {|i|""}
22
+ version_id = self.version_id.split("^") rescue Array.new(5) {|i|""}
23
+ principal_language_of_message = self.principal_language_of_message.split("^") rescue Array.new(5) {|i|""}
24
+ message_profile_identifier = self.message_profile_identifier.split("^") rescue Array.new(5) {|i|""}
25
+
26
+ @hash = {"fieldSeparator" => self.enc_chars,
27
+ "encodingCharacters" => self.enc_chars,
28
+ "sendingApplication" => {"namespaceId" => sendingApplication[0],
29
+ "universalId" => sendingApplication[1],
30
+ "universalIdType" => sendingApplication[2]},
31
+ "sendingFacility" => {"namespaceId" => sendingFacility[0],
32
+ "universalId" => sendingFacility[1],
33
+ "universalIdType" => sendingFacility[2]},
34
+ "receivingApplication" => {"namespaceId" => recvApp[0],
35
+ "universalId" => recvApp[1],
36
+ "universalIdType" => recvApp[2]},
37
+ "receivingFacility" => {"namespaceId" => recvFacility[0],
38
+ "universalId" => recvFacility[1],
39
+ "universalIdType" => recvFacility[2]},
40
+ "dateTime" => self.time,
41
+ "security" => self.security,
42
+ "messageType" => {"messageCode" => message_type[0],
43
+ "triggerEvent" => message_type[1],
44
+ "messageStructure" => message_type[2]},
45
+ "messageControlId" => self.message_control_id,
46
+ "processingId" => {"id" => message_control_id[0],
47
+ "processingMode" => message_control_id[1]},
48
+ "versionId" => {"id" => version_id[0],
49
+ "internationalizationCode" => version_id[1],
50
+ "internationalVersionId" => version_id[2]},
51
+ "sequenceNumber" => self.seq,
52
+ "continuationPointer" => self.continue_ptr,
53
+ "acceptAcknowledgmentType" => self.accept_ack_type,
54
+ "applicationAcknowledgmentType" => self.app_ack_type,
55
+ "countryCode" => self.country_code,
56
+ "characterSet" => self.charset,
57
+ "principalLanguageOfMessage" => {"id" => principal_language_of_message[0],
58
+ "text" => principal_language_of_message[1],
59
+ "nameOfCodingSystem" => principal_language_of_message[2],
60
+ "alternateId" => principal_language_of_message[3],
61
+ "alternateText" => principal_language_of_message[4],
62
+ "nameOfAlternateCodingSystem" => principal_language_of_message[5]},
63
+ "alternateCharacterSetHandlingScheme" => self.alternate_character_set_handling_scheme,
64
+ "messageProfileIdentifier" => {"entityIdentifier" => message_profile_identifier[0],
65
+ "namespaceId" => message_profile_identifier[1],
66
+ "universalId" => message_profile_identifier[2],
67
+ "universalIdType" => message_profile_identifier[3]},
68
+ "sending_responsible_org" => self.sending_responsible_org,
69
+ "receiving_responsible_org" => self.receiving_responsible_org,
70
+ "sending_network_address" => self.sending_network_address,
71
+ "receiving_network_address" => self.receiving_network_address}
72
+ @hash
26
73
  end
27
74
  end
28
75
 
29
76
  module ClassMethods
77
+ def mappings
78
+ {metadata: {segment_code: "msh", display_name: "Message Header"},
79
+ fields: [{field_name: "Message Type", type: "String", field_code: "9.1",
80
+ supported_values: Values::MSH::MESSAGE_TYPES},
81
+ {field_name: "Message Event", type: "String", field_code: "9.2",
82
+ supported_values: Values::MSH::EVENT_TYPES}]
83
+ }
84
+ end
30
85
  end
31
86
 
32
87
  end
@@ -34,3 +89,5 @@ module Extensions
34
89
  end
35
90
  end
36
91
 
92
+ # Message Types: http://hl7-definition.caristix.com:9010/Default.aspx?version=HL7+v2.5.1&dataType=MSG
93
+ # Message : http://hl7-definition.caristix.com:9010/Default.aspx?version=HL7+v2.5.1&dataType=MSG
@@ -35,14 +35,15 @@ module Extensions
35
35
 
36
36
  hash = super.to_hash
37
37
 
38
- assignedLocation = self.hash["assignedLocation"].split("^") rescue Array.new(10) {|i| "" }
38
+ assignedLocation = self.hash["assignedLocation"].split("^") rescue Array.new(15) {|i| "" }
39
39
  hash["patientLocation"] = {"pointOfCare" => assignedLocation[0],
40
40
  "room" => assignedLocation[1],
41
41
  "bed" => assignedLocation[2],
42
42
  "facility" => assignedLocation[3],
43
43
  "locationStatus" => assignedLocation[4],
44
44
  "personLocationType" => assignedLocation[5],
45
- "building" => assignedLocation[06]}
45
+ "building" => assignedLocation[6],
46
+ "floor" => assignedLocation[7]}
46
47
 
47
48
  if self.hash["attendingDoctor"].blank?
48
49
  hash["attendingProvider"] = {}
@@ -0,0 +1,420 @@
1
+ module Values
2
+ module MSH
3
+ EVENT_TYPES = [
4
+ ["A01","ADT/ACK - Admit/visit notification"],
5
+ ["A02","ADT/ACK - Transfer a patient"],
6
+ ["A03","ADT/ACK - Discharge/end visit"],
7
+ ["A04","ADT/ACK - Register a patient"],
8
+ ["A05","ADT/ACK - Pre-admit a patient"],
9
+ ["A06","ADT/ACK - Change an outpatient to an inpatient"],
10
+ ["A07","ADT/ACK - Change an inpatient to an outpatient"],
11
+ ["A08","ADT/ACK - Update patient information"],
12
+ ["A09","ADT/ACK - Patient departing - tracking"],
13
+ ["A10","ADT/ACK - Patient arriving - tracking"],
14
+ ["A11","ADT/ACK - Cancel admit/visit notification"],
15
+ ["A12","ADT/ACK - Cancel transfer"],
16
+ ["A13","ADT/ACK - Cancel discharge/end visit"],
17
+ # ["A14","ADT/ACK - Pending admit"],
18
+ # ["A15","ADT/ACK - Pending transfer"],
19
+ # ["A16","ADT/ACK - Pending discharge"],
20
+ # ["A17","ADT/ACK - Swap patients"],
21
+ # ["A18","ADT/ACK - Merge patient information (for backward compatibility only)"],
22
+ # ["A19","QRY/ADR - Patient query"],
23
+ # ["A20","ADT/ACK - Bed status update"],
24
+ # ["A21","ADT/ACK - Patient goes on a “leave of absence”"],
25
+ # ["A22","ADT/ACK - Patient returns from a “leave of absence”"],
26
+ # ["A23","ADT/ACK - Delete a patient record"],
27
+ # ["A24","ADT/ACK - Link patient information"],
28
+ # ["A25","ADT/ACK - Cancel pending discharge"],
29
+ # ["A26","ADT/ACK - Cancel pending transfer"],
30
+ # ["A27","ADT/ACK - Cancel pending admit"],
31
+ # ["A28","ADT/ACK - Add person information"],
32
+ # ["A29","ADT/ACK - Delete person information"],
33
+ # ["A30","ADT/ACK - Merge person information"],
34
+ # ["A31","ADT/ACK - Update person information"],
35
+ # ["A32","ADT/ACK - Cancel patient arriving"],
36
+ # ["A33","ADT/ACK - Cancel patient departing"],
37
+ # ["A34","ADT/ACK - Merge patient information - patient ID only (for backward compatibility only)"],
38
+ # ["A35","ADT/ACK - Merge patient information - account number only (for backward compatibility only)"],
39
+ # ["A36","ADT/ACK - Merge patient information - patient ID and account number (for backward compatibility only)"],
40
+ # ["A37","ADT/ACK - Unlink patient information"],
41
+ # ["A38","ADT/ACK - Cancel pre-admit"],
42
+ # ["A39","ADT/ACK - Merge person - patient ID (for backward compatibility only)"],
43
+ # ["A40","ADT/ACK - Merge patient - patient identifier list"],
44
+ # ["A41","ADT/ACK - Merge account - patient account number"],
45
+ # ["A42","ADT/ACK - Merge visit - visit number"],
46
+ # ["A43","ADT/ACK - Move patient information - patient identifier list"],
47
+ # ["A44","ADT/ACK - Move account information - patient account number"],
48
+ # ["A45","ADT/ACK - Move visit information - visit number"],
49
+ # ["A46","ADT/ACK - Change patient ID (for backward compatibility only)"],
50
+ # ["A47","ADT/ACK - Change patient identifier list"],
51
+ # ["A48","ADT/ACK - Change alternate patient ID (for backward compatibility only)"],
52
+ # ["A49","ADT/ACK - Change patient account number"],
53
+ # ["A50","ADT/ACK - Change visit number"],
54
+ # ["A51","ADT/ACK - Change alternate visit ID"],
55
+ # ["A52","ADT/ACK - Cancel leave of absence for a patient"],
56
+ # ["A53","ADT/ACK - Cancel patient returns from a leave of absence"],
57
+ # ["A54","ADT/ACK - Change attending doctor"],
58
+ # ["A55","ADT/ACK - Cancel change attending doctor"],
59
+ # ["A60","ADT/ACK - Update allergy information"],
60
+ # ["A61","ADT/ACK - Change consulting doctor"],
61
+ # ["A62","ADT/ACK - Cancel change consulting doctor"],
62
+ # ["B01","PMU/ACK - Add personnel record"],
63
+ # ["B02","PMU/ACK - Update personnel record"],
64
+ # ["B03","PMU/ACK - Delete personnel re cord"],
65
+ # ["B04","PMU/ACK - Active practicing person"],
66
+ # ["B05","PMU/ACK - Deactivate practicing person"],
67
+ # ["B06","PMU/ACK - Terminate practicing person"],
68
+ # ["B07","PMU/ACK - Grant Certificate/Permission"],
69
+ # ["B08","PMU/ACK - Revoke Certificate/Permission"],
70
+ # ["C01","CRM - Register a patient on a clinical trial"],
71
+ # ["C02","CRM - Cancel a patient registration on clinical trial (for clerical mistakes only)"],
72
+ # ["C03","CRM - Correct/update registration information"],
73
+ # ["C04","CRM - Patient has gone off a clinical trial"],
74
+ # ["C05","CRM - Patient enters phase of clinical trial"],
75
+ # ["C06","CRM - Cancel patient entering a phase (clerical mistake)"],
76
+ # ["C07","CRM - Correct/update phase information"],
77
+ # ["C08","CRM - Patient has gone off phase of clinical trial"],
78
+ # ["C09","CSU - Automated time intervals for reporting, like monthly"],
79
+ # ["C10","CSU - Patient completes the clinical trial"],
80
+ # ["C11","CSU - Patient completes a phase of the clinical trial"],
81
+ # ["C12","CSU - Update/correction of patient order/result information"],
82
+ # ["CNQ","Cancel Query"],
83
+ # ["I01","RQI/RPI - Request for insurance information"],
84
+ # ["I02","RQI/RPL - Request/receipt of patient selection display list"],
85
+ # ["I03","RQI/RPR - Request/receipt of patient selection list"],
86
+ # ["I04","RQD/RPI - Request for patient demographic data"],
87
+ # ["I05","RQC/RCI - Request for patient clinical information"],
88
+ # ["I06","RQC/RCL - Request/receipt of clinical data listing"],
89
+ # ["I07","PIN/ACK - Unsolicited insurance information"],
90
+ # ["I08","RQA/RPA - Request for treatment authorization information"],
91
+ # ["I09","RQA/RPA - Request for modification to an authorization"],
92
+ # ["I10","RQA/RPA - Request for resubmission of an authorization"],
93
+ # ["I11","RQA/RPA - Request for cancellation of an authorization"],
94
+ # ["I12","REF/RRI - Patient referral"],
95
+ # ["I13","REF/RRI - Modify patient referral"],
96
+ # ["I14","REF/RRI - Cancel patient referral"],
97
+ # ["I15","REF/RRI - Request patient referral status"],
98
+ # ["J01","QCN/ACK - Cancel query/acknowledge message"],
99
+ # ["J02","QSX/ACK - Cancel subscription/acknowledge message"],
100
+ # ["K11","RSP - Segment pattern response in response to QBP^Q11"],
101
+ # ["K13","RTB - Tabular response in response to QBP^Q13"],
102
+ # ["K15","RDY - Display response in response to QBP^Q15"],
103
+ # ["K21","RSP - Get person demographics response"],
104
+ # ["K22","RSP - Find candidates response"],
105
+ # ["K23","RSP - Get corresponding identifiers response"],
106
+ # ["K24","RSP - Allocate identifiers response"],
107
+ # ["K25","RSP - Personnel Information by Segment Response"],
108
+ # ["K31","RSP - Dispense History"],
109
+ # ["M01","MFN/MFK - Master file not otherwise specified ( for backward compatibility only )"],
110
+ # ["M02","MFN/MFK - Master file - staff practitioner"],
111
+ # ["M03","MFN/MFK - Master file - test/observation ( for backward compatibility only )"],
112
+ # ["M04","MFN/MFK - Master files charge description"],
113
+ # ["M05","MFN/MFK - Patient location master file"],
114
+ # ["M06","MFN/MFK - Clinical study with phases and schedules master file"],
115
+ # ["M07","MFN/MFK - Clinical study without phases but with schedules master file"],
116
+ # ["M08","MFN/MFK - Test/observation (numeric) master file"],
117
+ # ["M09","MFN/MFK - Test/observation (categorical) master file"],
118
+ # ["M10","MFN/MFK - Test /observation batteries master file"],
119
+ # ["M11","MFN/MFK - Test/calculated observations master file"],
120
+ # ["M12","MFN/MFK - Master file notification message"],
121
+ # ["M13","MFN/MFK - Master file notification - general"],
122
+ # ["M14","MFN/MFK - Master file notification - site defined"],
123
+ # ["M15","MFN/MFK - Inventory item master file notification"],
124
+ # ["N01","NMQ/NMR - Application management query message"],
125
+ # ["N02","NMD/ACK - Application management data message (unsolicited)"],
126
+ ["O01","ORM - Order message (also RDE, RDS, RGV, RAS)"],
127
+ # ["O02","ORR - Order response (also RRE, RRD, RRG, RRA)"],
128
+ # ["O03","OMD - Diet order"],
129
+ # ["O04","ORD - Diet order acknowledgment"],
130
+ # ["O05","OMS - Stock requisition order"],
131
+ # ["O06","ORS - Stock requisition acknowledgment"],
132
+ # ["O07","OMN - Non-stock requisition order"],
133
+ # ["O08","ORN - Non-stock requisition acknowledgment"],
134
+ # ["O09","OMP - Pharmacy/treatment order"],
135
+ # ["O10","ORP - Pharmacy/treatment order acknowledgment"],
136
+ # ["O11","RDE - Pharmacy/treatment encoded order"],
137
+ # ["O12","RRE - Pharmacy/treatment encoded order acknowledgment"],
138
+ # ["O13","RDS - Pharmacy/treatment dispense"],
139
+ # ["O14","RRD - Pharmacy/treatment dispense acknowledgment"],
140
+ # ["O15","RGV - Pharmacy/treatment give"],
141
+ # ["O16","RRG - Pharmacy/treatment give acknowledgment"],
142
+ # ["O17","RAS - Pharmacy/treatment administration"],
143
+ # ["O18","RRA - Pharmacy/treatment administration acknowledgment"],
144
+ # ["O19","OMG - General clinical order"],
145
+ # ["O20","ORG/ORL - General clinical order response"],
146
+ # ["O21","OML - Laboratory order"],
147
+ # ["O22","ORL - General laboratory order response message to any OML"],
148
+ # ["O23","OMI - Imaging order"],
149
+ # ["O24","ORI - Imaging order response message to any OMI"],
150
+ # ["O25","RDE - Pharmacy/treatment refill authorization request"],
151
+ # ["O26","RRE - Pharmacy/Treatment Refill Authorization Acknowledgement"],
152
+ # ["O27","OMB - Blood product order"],
153
+ # ["O28","ORB - Blood product order acknowledgment"],
154
+ # ["O29","BPS - Blood product dispense status"],
155
+ # ["O30","BRP - Blood product dispense status acknowledgment"],
156
+ # ["O31","BTS - Blood product transfusion/disposition"],
157
+ # ["O32","BRT - Blood product transfusion/disposition acknowledgment"],
158
+ # ["O33","OML - Laboratory order for multiple orders related to a single specimen"],
159
+ # ["O34","ORL - Laboratory order response message to a multiple order related to single specimen OML"],
160
+ # ["O35","OML - Laboratory order for multiple orders related to a single container of a specimen"],
161
+ # ["O36","ORL - Laboratory order response message to a single container of a specimen OML"],
162
+ # ["P01","BAR/ACK - Add patient accounts"],
163
+ # ["P02","BAR/ACK - Purge patient accounts"],
164
+ # ["P03","DFT/ACK - Post detail financial transaction"],
165
+ # ["P04","QRY/DSP - Generate bill and A/R statements"],
166
+ # ["P05","BAR/ACK - Update account"],
167
+ # ["P06","BAR/ACK - End account"],
168
+ # ["P07","PEX - Unsolicited initial individual product experience report"],
169
+ # ["P08","PEX - Unsolicited update individual product experience report"],
170
+ # ["P09","SUR - Summary product experience report"],
171
+ # ["P10","BAR/ACK -Transmit Ambulatory Payment Classification(APC)"],
172
+ # ["P11","DFT/ACK - Post Detail Financial Transactions - New"],
173
+ # ["P12","BAR/ACK - Update Diagnosis/Procedure"],
174
+ # ["PC1","PPR - PC/ problem add"],
175
+ # ["PC2","PPR - PC/ problem update"],
176
+ # ["PC3","PPR - PC/ problem delete"],
177
+ # ["PC4","QRY - PC/ problem query"],
178
+ # ["PC5","PRR - PC/ problem response"],
179
+ # ["PC6","PGL - PC/ goal add"],
180
+ # ["PC7","PGL - PC/ goal update"],
181
+ # ["PC8","PGL - PC/ goal delete"],
182
+ # ["PC9","QRY - PC/ goal query"],
183
+ # ["PCA","PPV - PC/ goal response"],
184
+ # ["PCB","PPP - PC/ pathway (problem-oriented) add"],
185
+ # ["PCC","PPP - PC/ pathway (problem-oriented) update"],
186
+ # ["PCD","PPP - PC/ pathway (problem-oriented) delete"],
187
+ # ["PCE","QRY - PC/ pathway (problem-oriented) query"],
188
+ # ["PCF","PTR - PC/ pathway (problem-oriented) query response"],
189
+ # ["PCG","PPG - PC/ pathway (goal-oriented) add"],
190
+ # ["PCH","PPG - PC/ pathway (goal-oriented) update"],
191
+ # ["PCJ","PPG - PC/ pathway (goal-oriented) delete"],
192
+ # ["PCK","QRY - PC/ pathway (goal-oriented) query"],
193
+ # ["PCL","PPT - PC/ pathway (goal-oriented) query response"],
194
+ # ["Q01","QRY/DSR - Query sent for immediate response"],
195
+ # ["Q02","QRY/QCK - Query sent for deferred response"],
196
+ # ["Q03","DSR/ACK - Deferred response to a query"],
197
+ # ["Q04","EQQ - Embedded query language query"],
198
+ # ["Q05","UDM/ACK - Unsolicited display update message"],
199
+ # ["Q06","OSQ/OSR - Query for order status"],
200
+ # ["Q07","VQQ - Virtual table query"],
201
+ # ["Q08","SPQ - Stored procedure request"],
202
+ # ["Q09","RQQ - event replay query"],
203
+ # ["Q11","QBP - Query by parameter requesting an RSP segment pattern response"],
204
+ # ["Q13","QBP - Query by parameter requesting an RTB - tabular response"],
205
+ # ["Q15","QBP - Query by parameter requesting an RDY display response"],
206
+ # ["Q16","QSB - Create subscription"],
207
+ # ["Q17","QVR - Query for previous events"],
208
+ # ["Q21","QBP - Get person demographics"],
209
+ # ["Q22","QBP - Find candidates"],
210
+ # ["Q23","QBP - Get corresponding identifiers"],
211
+ # ["Q24","QBP - Allocate identifiers"],
212
+ # ["Q25","QBP - Personnel Information by Segment Query"],
213
+ # ["Q26","ROR - Pharmacy/treatment order response"],
214
+ # ["Q27","RAR - Pharmacy/treatment administration information"],
215
+ # ["Q28","RDR - Pharmacy/treatment dispense information"],
216
+ # ["Q29","RER - Pharmacy/treatment encoded order information"],
217
+ # ["Q30","RGR - Pharmacy/treatment dose information"],
218
+ # ["Q31","QBP - Dispense History"],
219
+ ["R01","ORU/ACK - Unsolicited transmission of an observation message"],
220
+ # ["R02","QRY - Query for results of observation"],
221
+ # ["R03","QRY/DSR Display-oriented results, query/unsol. update (for backward compatibility only) (Replaced by Q05)"],
222
+ # ["R04","ORF - Response to query; transmission of requested observation"],
223
+ # ["ROR","ROR - Pharmacy prescription order query response"],
224
+ # ["R07","EDR - Enhanced Display Response"],
225
+ # ["R08","TBR - Tabular Data Response"],
226
+ # ["R09","ERP - Event Replay Response"],
227
+ # ["R21","OUL - Unsolicited laboratory observation"],
228
+ # ["R22","OUL - Unsolicited Specimen Oriented Observation Message"],
229
+ # ["R23","OUL - Unsolicited Specimen Container Oriented Observation Message"],
230
+ # ["R24","OUL - Unsolicited Order Oriented Observation Message"],
231
+ # ["R30","ORU - Unsolicited Point-Of-Care Observation Message Without Existing Order - Place An Order"],
232
+ # ["R31","ORU - Unsolicited New Point-Of-Care Observation Message - Search For An Order"],
233
+ # ["R32","ORU - Unsolicited Pre-Ordered Point-Of-Care Observation"],
234
+ # ["S01","SRM/SRR - Request new appointment booking"],
235
+ # ["S02","SRM/SRR - Request appointment rescheduling"],
236
+ # ["S03","SRM/SRR - Request appointment modification"],
237
+ # ["S04","SRM/SRR - Request appointment cancellation"],
238
+ # ["S05","SRM/SRR - Request appointment discontinuation"],
239
+ # ["S06","SRM/SRR - Request appointment deletion"],
240
+ # ["S07","SRM/SRR - Request addition of service/resource on appointment"],
241
+ # ["S08","SRM/SRR - Request modification of service/resource on appointment"],
242
+ # ["S09","SRM/SRR - Request cancellation of service/resource on appointment"],
243
+ # ["S10","SRM/SRR - Request discontinuation of service/resource on appointment"],
244
+ # ["S11","SRM/SRR - Request deletion of service/resource on appointment"],
245
+ # ["S12","SIU/ACK - Notification of new appointment booking"],
246
+ # ["S13","SIU/ACK - Notification of appointment rescheduling"],
247
+ # ["S14","SIU/ACK - Notification of appointment modification"],
248
+ # ["S15","SIU/ACK - Notification of appointment cancellation"],
249
+ # ["S16","SIU/ACK - Notification of appointment discontinuation"],
250
+ # ["S17","SIU/ACK - Notification of appointment deletion"],
251
+ # ["S18","SIU/ACK - Notification of addition of service/resource on appointment"],
252
+ # ["S19","SIU/ACK - Notification of modification of service/resource on appointment"],
253
+ # ["S20","SIU/ACK - Notification of cancellation of service/resource on appointment"],
254
+ # ["S21","SIU/ACK - Notification of discontinuation of service/resource on appointment"],
255
+ # ["S22","SIU/ACK - Notification of deletion of service/resource on appointment"],
256
+ # ["S23","SIU/ACK - Notification of blocked schedule time slot(s)"],
257
+ # ["S24","SIU/ACK - Notification of opened (“unblocked”) schedule time slot(s)"],
258
+ # ["S25","SQM/SQR - Schedule query message and response"],
259
+ # ["S26","SIU/ACK Notification that patient did not show up for schedule appointment"],
260
+ # ["T01","MDM/ACK - Original document notification"],
261
+ # ["T02","MDM/ACK - Original document notification and content"],
262
+ # ["T03","MDM/ACK - Document status change notification"],
263
+ # ["T04","MDM/ACK - Document status change notification and content"],
264
+ # ["T05","MDM/ACK - Document addendum notification"],
265
+ # ["T06","MDM/ACK - Document addendum notification and content"],
266
+ # ["T07","MDM/ACK - Document edit notification"],
267
+ # ["T08","MDM/ACK - Document edit notification and content"],
268
+ # ["T09","MDM/ACK - Document replacement notification"],
269
+ # ["T10","MDM/ACK - Document replacement notification and content"],
270
+ # ["T11","MDM/ACK - Document cancel notification"],
271
+ # ["T12","QRY/DOC - Document query"],
272
+ # ["U01","ESU/ACK - Automated equipment status update"],
273
+ # ["U02","ESR/ACK - Automated equipment status request"],
274
+ # ["U03","SSU/ACK - Specimen status update"],
275
+ # ["U04","SSR/ACK - specimen status request"],
276
+ # ["U05","INU/ACK - Automated equipment inventory update"],
277
+ # ["U06","INR/ACK - Automated equipment inventory request"],
278
+ # ["U07","EAC/ACK - Automated equipment command"],
279
+ # ["U08","EAR/ACK - Automated equipment response"],
280
+ # ["U09","EAN/ACK - Automated equipment notification"],
281
+ # ["U10","TCU/ACK - Automated equipment test code settings update"],
282
+ # ["U11","TCR/ACK - Automated equipment test code settings request"],
283
+ # ["U12","LSU/ACK - Automated equipment log/service update"],
284
+ # ["U13","LSR/ACK - Automated equipment log/service request"],
285
+ # ["V01","VXQ - Query for vaccination record"],
286
+ # ["V02","VXX - Response to vaccination query returning multiple PID matches"],
287
+ # ["V03","VXR - Vaccination record response"],
288
+ # ["V04","VXU - Unsolicited vaccination record update"],
289
+ # ["W01","ORU - Waveform result, unsolicited transmission of requested information"],
290
+ # ["W02","QRF - Waveform result, response to query"]
291
+ ]
292
+
293
+ MESSAGE_TYPES = [
294
+ # ["ACK","General acknowledgment message"],
295
+ # ["ADR","ADT response"],
296
+ ["ADT","ADT message"],
297
+ # ["BAR","Add/change billing account"],
298
+ # ["CRM","Clinical study registration message"],
299
+ # ["BPS","Blood product dispense status message"],
300
+ # ["BRP","Blood product dispense status acknowledgement message"],
301
+ # ["BRT","Blood product transfusion/disposition acknowledgement message"],
302
+ # ["BTS","Blood product transfusion/disposition message"],
303
+ # ["CSU","Unsolicited study data message"],
304
+ # ["DFT","Detail financial transactions"],
305
+ # ["DOC","Document response"],
306
+ # ["DSR","Display response"],
307
+ # ["EAC","Automated equipment command message"],
308
+ # ["EAN","Automated equipment notification message"],
309
+ # ["EAR","Automated equipment response message"],
310
+ # ["EDR","Enhanced display response"],
311
+ # ["EQQ","Embedded query language query"],
312
+ # ["ERP","Event replay response"],
313
+ # ["ESR","Automated equipment status update acknowledgment message"],
314
+ # ["ESU","Automated equipment status update message"],
315
+ # ["INR","Automated equipment inventory request message"],
316
+ # ["INU","Automated equipment inventory update message"],
317
+ # ["LSR","Automated equipment log/service request message"],
318
+ # ["LSU","Automated equipment log/service update message"],
319
+ # ["MCF","Delayed Acknowledgment (Retained for backward compatibility only)"],
320
+ # ["MDM","Medical document management"],
321
+ # ["MFD","Master files delayed application acknowledgment"],
322
+ # ["MFK","Master files application acknowledgment"],
323
+ # ["MFN","Master files notification"],
324
+ # ["MFQ","Master files query"],
325
+ # ["MFR","Master files response"],
326
+ # ["NMD","Application management data message"],
327
+ # ["NMQ","Application management query message"],
328
+ # ["NMR","Application management response message"],
329
+ # ["OMB","Blood product order message"],
330
+ # ["OMD","Dietary order"],
331
+ # ["OMG","General clinical order message"],
332
+ # ["OMI","Imaging order"],
333
+ # ["OML","Laboratory order message"],
334
+ # ["OMN","Non-stock requisition order message"],
335
+ # ["OMP","Pharmacy/treatment order message"],
336
+ # ["OMS","Stock requisition order message"],
337
+ # ["ORB","Blood product order acknowledgement message"],
338
+ # ["ORD","Dietary order acknowledgment message"],
339
+ # ["ORF","Query for results of observation"],
340
+ # ["ORG","General clinical order acknowledgment message"],
341
+ # ["ORI","Imaging order acknowledgement message"],
342
+ # ["ORL","Laboratory acknowledgment message (unsolicited)"],
343
+ ["ORM","Pharmacy/treatment order message"],
344
+ # ["ORN","Non-stock requisition - General order acknowledgment message"],
345
+ # ["ORP","Pharmacy/treatment order acknowledgment message"],
346
+ # ["ORR","General order response message response to any ORM"],
347
+ # ["ORS","Stock requisition - Order acknowledgment message"],
348
+ ["ORU","Unsolicited transmission of an observation message"],
349
+ # ["OSQ","Query response for order status"],
350
+ # ["OSR","Query response for order status"],
351
+ # ["OUL","Unsolicited laboratory observation message"],
352
+ # ["PEX","Product experience message"],
353
+ # ["PGL","Patient goal message"],
354
+ # ["PIN","Patient insurance information"],
355
+ # ["PMU","Add personnel record"],
356
+ # ["PPG","Patient pathway message (goal-oriented)"],
357
+ # ["PPP","Patient pathway message (problem-oriented)"],
358
+ # ["PPR","Patient problem message"],
359
+ # ["PPT","Patient pathway goal-oriented response"],
360
+ # ["PPV","Patient goal response"],
361
+ # ["PRR","Patient problem response"],
362
+ # ["PTR","Patient pathway problem-oriented response"],
363
+ # ["QBP","Query by parameter"],
364
+ # ["QCK","Deferred query"],
365
+ # ["QCN","Cancel query"],
366
+ # ["QRY","Query, original mode"],
367
+ # ["QSB","Create subscription"],
368
+ # ["QSX","Cancel subscription/acknowledge message"],
369
+ # ["QVR","Query for previous events"],
370
+ # ["RAR","Pharmacy/treatment administration information"],
371
+ # ["RAS","Pharmacy/treatment administration message"],
372
+ # ["RCI","Return clinical information"],
373
+ # ["RCL","Return clinical list"],
374
+ # ["RDE","Pharmacy/treatment encoded order message"],
375
+ # ["RDR","Pharmacy/treatment dispense information"],
376
+ # ["RDS","Pharmacy/treatment dispense message"],
377
+ # ["RDY","Display based response"],
378
+ # ["REF","Patient referral"],
379
+ # ["RER","Pharmacy/treatment encoded order information"],
380
+ # ["RGR","Pharmacy/treatment dose information"],
381
+ # ["RGV","Pharmacy/treatment give message"],
382
+ # ["ROR","Pharmacy/treatment order response"],
383
+ # ["RPA","Return patient authorization"],
384
+ # ["RPI","Return patient information"],
385
+ # ["RPL","Return patient display list"],
386
+ # ["RPR","Return patient list"],
387
+ # ["RQA","Request patient authorization"],
388
+ # ["RQC","Request clinical information"],
389
+ # ["RQI","Request patient information"],
390
+ # ["RQP","Request patient demographics"],
391
+ # ["RQQ","Event replay query"],
392
+ # ["RRA","Pharmacy/treatment administration acknowledgment message"],
393
+ # ["RRD","Pharmacy/treatment dispense acknowledgment message"],
394
+ # ["RRE","Pharmacy/treatment encoded order acknowledgment message"],
395
+ # ["RRG","Pharmacy/treatment give acknowledgment message"],
396
+ # ["RRI","Return referral information"],
397
+ # ["RSP","Segment pattern response"],
398
+ # ["RTB","Tabular response"],
399
+ # ["SIU","Schedule information unsolicited"],
400
+ # ["SPQ","Stored procedure request"],
401
+ # ["SQM","Schedule query message"],
402
+ # ["SQR","Schedule query response"],
403
+ # ["SRM","Schedule request message"],
404
+ # ["SRR","Scheduled request response"],
405
+ # ["SSR","Specimen status request message"],
406
+ # ["SSU","Specimen status update message"],
407
+ # ["SUR","Summary product experience report"],
408
+ # ["TBR","Tabular data response"],
409
+ # ["TCR","Automated equipment test code settings request message"],
410
+ # ["TCU","Automated equipment test code settings update message"],
411
+ # ["UDM","Unsolicited display update message"],
412
+ # ["VQQ","Virtual table query"],
413
+ # ["VXQ","Query for vaccination record"],
414
+ # ["VXR","Vaccination record response"],
415
+ # ["VXU","Unsolicited vaccination record update"],
416
+ # ["VXX","Response for vaccination query with multiple PID matches"]
417
+ ]
418
+
419
+ end
420
+ end
@@ -17,6 +17,7 @@
17
17
  #
18
18
 
19
19
  require 'ruby-hl7'
20
+ require 'core_ext/values/msh'
20
21
  require 'core_ext/message'
21
22
  require 'core_ext/segment'
22
23
  require 'core_ext/segments/segments'
@@ -3,7 +3,7 @@
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "ruby-hl7-extensions"
6
- s.version = "0.0.55"
6
+ s.version = "0.0.56"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib"]
@@ -13,6 +13,7 @@ Gem::Specification.new do |s|
13
13
  s.email = "ruby-hl7-json@googlegroups.com"
14
14
  s.extra_rdoc_files = ["LICENSE", "README.md"]
15
15
  s.files = [".gitignore", "Gemfile", "Gemfile.lock", "LICENSE", "README.md", "Rakefile", "VERSION", "VERSION.yml",
16
+ "lib/core_ext/values/msh.rb",
16
17
  "lib/core_ext/message.rb", "lib/core_ext/segment.rb",
17
18
  "lib/core_ext/segments/msh.rb", "lib/core_ext/segments/nk1.rb", "lib/core_ext/segments/orc.rb", "lib/core_ext/segments/nte.rb", "lib/core_ext/segments/obr.rb", "lib/core_ext/segments/obx.rb", "lib/core_ext/segments/pid.rb", "lib/core_ext/segments/pv1.rb", "lib/core_ext/segments/segments.rb",
18
19
  "lib/ruby-hl7-extensions.rb", "ruby-hl7-extensions.gemspec"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-hl7-extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.55
4
+ version: 0.0.56
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Lega
@@ -65,6 +65,7 @@ files:
65
65
  - lib/core_ext/segments/pid.rb
66
66
  - lib/core_ext/segments/pv1.rb
67
67
  - lib/core_ext/segments/segments.rb
68
+ - lib/core_ext/values/msh.rb
68
69
  - lib/ruby-hl7-extensions.rb
69
70
  - ruby-hl7-extensions.gemspec
70
71
  homepage: http://github.com/nmlynl/ruby-hl7-extensions