ez7gen 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +7 -0
  2. data/bin/ez7gen +6 -0
  3. data/lib/ez7gen.rb +23 -0
  4. data/lib/ez7gen/config/schema/2.4/2.4.HL7.xml +13904 -0
  5. data/lib/ez7gen/config/schema/2.4/VAZ2.4.HL7.xml +3085 -0
  6. data/lib/ez7gen/config/schema/2.4/added/coded-tables.xml +730 -0
  7. data/lib/ez7gen/config/schema/2.4/rules/2.4.HL7.yml +4 -0
  8. data/lib/ez7gen/config/schema/2.4/rules/VAZ2.4.HL7.yml +6 -0
  9. data/lib/ez7gen/config/schema/2.5/2.5.HL7.xml +10008 -0
  10. data/lib/ez7gen/config/schema/2.5/VAZ2.5.HL7.xml +7 -0
  11. data/lib/ez7gen/config/schema/2.5/added/coded-tables.xml +549 -0
  12. data/lib/ez7gen/config/schema/readme.txt +0 -0
  13. data/lib/ez7gen/config/templates/2.4/eiv table update-mfn_m01 20151201.xml +416 -0
  14. data/lib/ez7gen/config/templates/2.4/eiv table update-mfn_y01.xml +416 -0
  15. data/lib/ez7gen/config/templates/2.4/eiv-ec-MFN_X01_reg request 20160126.xml +659 -0
  16. data/lib/ez7gen/config/templates/2.4/examples/ADT_A60.txt +69 -0
  17. data/lib/ez7gen/config/templates/2.4/examples/eiv table update-mfn_m01 20151201.txt +21 -0
  18. data/lib/ez7gen/config/templates/2.4/examples/mhvsm_dss_units-query_qbp_q13-qbp_q13.txt +26 -0
  19. data/lib/ez7gen/config/templates/2.4/examples/mhvsm_ecs_procedures_query_qbp_q13-qbp_q13.txt +26 -0
  20. data/lib/ez7gen/config/templates/2.4/examples/mhvsm_patient eligibility_response-rsp_k11-080714.txt +44 -0
  21. data/lib/ez7gen/config/templates/2.4/examples/mhvsm_standardhl7lib_diagnosis_query_qbp_q11-qbp_q11.txt +21 -0
  22. data/lib/ez7gen/config/templates/2.4/examples/mhvsm_standardhl7lib_diagnosis_response_rsp_k11-rsp_k11.txt +42 -0
  23. data/lib/ez7gen/config/templates/2.4/examples/mhvsm_standardhl7lib_dss_units_response_rtb_k13-rtb_k13.txt +49 -0
  24. data/lib/ez7gen/config/templates/2.4/examples/mhvsm_standardhl7lib_ecs_filer_request_dft_p03-dft_p03-080714.txt +31 -0
  25. data/lib/ez7gen/config/templates/2.4/examples/mhvsm_standardhl7lib_ecs_filer_response_ack_p03-ack_p03.txt +21 -0
  26. data/lib/ez7gen/config/templates/2.4/examples/mhvsm_standardhl7lib_esc_procedures_response_rtb_k13-rtb_k13.txt +40 -0
  27. data/lib/ez7gen/config/templates/2.4/examples/mhvsm_standardhl7lib_patient_eclass_query_qbp_q11-qbp_q11.txt +21 -0
  28. data/lib/ez7gen/config/templates/2.4/examples/mhvsm_standardhl7lib_patient_problems_query_qbp_q11-qbp_q11.txt +21 -0
  29. data/lib/ez7gen/config/templates/2.4/examples/mhvsm_standardhl7lib_patinet_problems_response_rsp_k11-rsp_k11.txt +33 -0
  30. data/lib/ez7gen/config/templates/2.4/examples/orur01rvbecv2.txt +31 -0
  31. data/lib/ez7gen/config/templates/2.4/examples/sqwm vitals-oru_ro1.txt +52 -0
  32. data/lib/ez7gen/config/templates/2.4/examples/vista sqwm-adt_a60.txt +40 -0
  33. data/lib/ez7gen/config/templates/2.4/mhvsm_dss_units_query_qbp_q13-qbp_q13.xml +312 -0
  34. data/lib/ez7gen/config/templates/2.4/mhvsm_ecs_procedures_query_qbp_q13-qbp_q13.xml +314 -0
  35. data/lib/ez7gen/config/templates/2.4/mhvsm_patient eligibility_response-rsp_k11-080714.xml +640 -0
  36. data/lib/ez7gen/config/templates/2.4/mhvsm_standardhl7lib_diagnosis_query_qbp_q11-qbp_q11.xml +284 -0
  37. data/lib/ez7gen/config/templates/2.4/mhvsm_standardhl7lib_diagnosis_response_rsp_k11-rsp_k11-rsp_k11.xml +563 -0
  38. data/lib/ez7gen/config/templates/2.4/mhvsm_standardhl7lib_dss_units_response_rtb_k13-rtb_k13-rtb_k13.xml +365 -0
  39. data/lib/ez7gen/config/templates/2.4/mhvsm_standardhl7lib_ecs_filer_request_dft_p03-dft_p03-080714.xml +2172 -0
  40. data/lib/ez7gen/config/templates/2.4/mhvsm_standardhl7lib_ecs_filer_response_ack_p03-ack_p03.xml +269 -0
  41. data/lib/ez7gen/config/templates/2.4/mhvsm_standardhl7lib_ecs_procedures_response_rtb_k13-rtb_k13-rtb_k13.xml +354 -0
  42. data/lib/ez7gen/config/templates/2.4/mhvsm_standardhl7lib_patient_eclass_query_qbp_q11-qbp_q11.xml +284 -0
  43. data/lib/ez7gen/config/templates/2.4/mhvsm_standardhl7lib_patient_problems_query_qbp_q11-qbp_q11.xml +282 -0
  44. data/lib/ez7gen/config/templates/2.4/mhvsm_standardhl7lib_patient_problems_response_rsp_k11-rsp_k11-rsp_k11.xml +565 -0
  45. data/lib/ez7gen/config/templates/2.4/orur01rvbecv2.xml +1529 -0
  46. data/lib/ez7gen/config/templates/2.4/sqwm vitals-oru_r01.xml +2975 -0
  47. data/lib/ez7gen/config/templates/2.4/vista sqwm-adt_a60.xml +1360 -0
  48. data/lib/ez7gen/message_factory.rb +142 -0
  49. data/lib/ez7gen/msg_error_handler.rb +33 -0
  50. data/lib/ez7gen/profile_parser.rb +321 -0
  51. data/lib/ez7gen/resources/properties-with-comments.yml +51 -0
  52. data/lib/ez7gen/resources/properties.yml +325 -0
  53. data/lib/ez7gen/service/2.4/dynamic_field_generator.rb +45 -0
  54. data/lib/ez7gen/service/2.4/field_generator.rb +1586 -0
  55. data/lib/ez7gen/service/2.5/field_generator.rb +75 -0
  56. data/lib/ez7gen/service/base_field_generator.rb +451 -0
  57. data/lib/ez7gen/service/segment_generator.rb +218 -0
  58. data/lib/ez7gen/service/segment_picker.rb +147 -0
  59. data/lib/ez7gen/service/template_generator.rb +213 -0
  60. data/lib/ez7gen/service/type_aware_field_generator.rb +1583 -0
  61. data/lib/ez7gen/service/utils.rb +75 -0
  62. data/lib/ez7gen/structure_parser.rb +331 -0
  63. data/lib/ez7gen/version.rb +38 -0
  64. data/test/Additional Tables with values_v1.1.txt +1653 -0
  65. data/test/added_shema_test.rb +143 -0
  66. data/test/app-tmp.rb +225 -0
  67. data/test/at.txt +1 -0
  68. data/test/backburner.zip +0 -0
  69. data/test/codes.txt +262 -0
  70. data/test/codes1.txt +1240 -0
  71. data/test/data_types_exploration_test.rb +213 -0
  72. data/test/dynamic_field_generated_test.rb +292 -0
  73. data/test/message_factory_24_custom_test.rb +648 -0
  74. data/test/message_factory_25_test.rb +50 -0
  75. data/test/message_factory_adm_test.rb +558 -0
  76. data/test/message_factory_gen_test.rb +63 -0
  77. data/test/message_factory_lab_test.rb +107 -0
  78. data/test/message_factory_pharm_test.rb +121 -0
  79. data/test/message_factory_template_24_test.rb +730 -0
  80. data/test/message_factory_test.rb +220 -0
  81. data/test/msg_error_handler_test.rb +59 -0
  82. data/test/profile_parser_test.rb +542 -0
  83. data/test/quick_run.rb +880 -0
  84. data/test/segment_generator_test.rb +656 -0
  85. data/test/segment_picker_test.rb +279 -0
  86. data/test/structrure_parser_test.rb +355 -0
  87. data/test/template_generator_test.rb +164 -0
  88. data/test/type_aware_field_generator_test.rb +582 -0
  89. data/test/utils_test.rb +97 -0
  90. metadata +215 -0
@@ -0,0 +1,648 @@
1
+ # require "minitest/autorun"
2
+ require 'test/unit'
3
+ require_relative "../lib/ez7gen/message_factory"
4
+ require_relative "../lib/ez7gen/version"
5
+
6
+ class MessageFactoryTemplate24CustomTest < Test::Unit::TestCase
7
+
8
+ # alias :orig_run :run
9
+ # def run(*args,&blk)
10
+ # 10.times { orig_run(*args,&blk) }
11
+ # end
12
+ #
13
+ # # set to true to write messages to a file
14
+ @@PERSIST = true
15
+
16
+ @@VS =
17
+ [
18
+ # {:std=>"2.4", :path=>"../test/test-config/schema/2.4", :profiles=>[{:doc=>"2.4.HL7", :name=>"2.4", :std=>"1", :path=>"../test/test-config/schema/2.4/2.4.HL7.xml"}, {:doc=>"VAZ2.4.HL7", :name=>"VAZ2.4", :description=>"2.4 schema with VA defined tables and Z segments", :base=>"2.4", :path=>"../test/test-config/schema/2.4/VAZ2.4.HL7.xml.bkp"}]},
19
+ # {:std=>"2.4", :path=>"../test/test-config/schema/2.4", :profiles=>[{:doc=>"2.4.HL7", :name=>"2.4", :std=>"1", :path=>"../test/test-config/schema/2.4/2.4.HL7.xml"}, {:doc=>"VAZ2.4.HL7", :name=>"VAZ2.4", :description=>"2.4 schema with VA defined tables and Z segments", :base=>"2.4", :path=>"../test/test-config/schema/2.4/VAZ24CustomMSH062216.xml"}]},
20
+ {:std=>"2.4", :path=>"../test/test-config/schema/2.4", :profiles=>[{:doc=>"2.4.HL7", :name=>"2.4", :std=>"1", :path=>"../test/test-config/schema/2.4/2.4.HL7.xml"}, {:doc=>"VAZ2.4.HL7", :name=>"VAZ2.4", :description=>"2.4 schema with VA defined tables and Z segments", :base=>"2.4", :path=>"../test/test-config/schema/2.4/VAZ2.4.HL7.xml"}]},
21
+ # {:std=>"2.5", :path=>"../test/test-config/schema/2.5", :profiles=>[{:doc=>"2.5.HL7", :name=>"2.5", :std=>"1", :path=>"../test/test-config/schema/2.5/2.5.HL7.xml"}, {:doc=>"TEST2.5.HL7", :name=>"TEST2.5", :description=>"2.5 mockup schema for testing", :base=>"2.4", :path=>"../test/test-config/schema/2.5/VAZ2.5.HL7.xml"}]}
22
+ ]
23
+
24
+
25
+ # helper message to persist the
26
+ def saveMsg(event, hl7, ver)
27
+ if(defined?(@@PERSIST) && @@PERSIST) then
28
+ # File.open("../msg-samples/#{ver}/#{event}.txt", 'a') { |f| f.write(hl7); f.write("\n\n") }
29
+ File.write("../msg-samples/#{ver}/#{event}-#{Time.new.strftime('%H%M%S%L')}.txt", hl7);
30
+ end
31
+ end
32
+
33
+
34
+ # def test_ADT_ZA60
35
+ # # ver='vaz2.4'
36
+ # ver='VAZ2.4.HL7'
37
+ # event='ADT_Z60'
38
+ # # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, use_template: true})
39
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1})
40
+ # hl7 = factory.generate()
41
+ # # factory.templatePath = "/Users/romansova/RubymineProjects/ez7gen/ez7gen-web/config/templates/2.4/vista sqwm-adt_a60.xml"
42
+ # # hl7 = factory.generate_message_from_template()
43
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
44
+ # puts hl7
45
+ # # assert_equal 'MSH', hl7[0].e0
46
+ # # assert_equal 'EVN', hl7[1].e0
47
+ # # assert_equal 'PID', hl7[2].e0
48
+ # # assert_equal 'IAM', hl7[3].e0
49
+ # end
50
+
51
+ def test_ACK_P03
52
+ event='ACK_P03'
53
+ ver='VAZ2.4.HL7'
54
+
55
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
56
+ hl7 = factory.generate()
57
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
58
+ puts hl7
59
+ # assert_equal 'MSH', hl7[0].e0
60
+ # assert_equal 'EVN', hl7[1].e0
61
+ # assert_equal 'PID', hl7[2].e0
62
+ # assert_equal 'IAM', hl7[3].e0
63
+ end
64
+
65
+ def test_ADT_A01
66
+ event='ADT_A01'
67
+ ver='VAZ2.4.HL7'
68
+
69
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
70
+ hl7 = factory.generate()
71
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
72
+ puts hl7
73
+ # assert_equal 'MSH', hl7[0].e0
74
+ # assert_equal 'EVN', hl7[1].e0
75
+ # assert_equal 'PID', hl7[2].e0
76
+ # assert_equal 'IAM', hl7[3].e0
77
+ end
78
+
79
+ def test_ADT_A60
80
+ event='ADT_A60'
81
+ ver='VAZ2.4.HL7'
82
+
83
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
84
+ hl7 = factory.generate()
85
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
86
+ puts hl7
87
+ # assert_equal 'MSH', hl7[0].e0
88
+ # assert_equal 'EVN', hl7[1].e0
89
+ # assert_equal 'PID', hl7[2].e0
90
+ # assert_equal 'IAM', hl7[3].e0
91
+ end
92
+
93
+ def test_ADT_Z60
94
+ event='ADT_Z60'
95
+ ver='VAZ2.4.HL7'
96
+
97
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
98
+ hl7 = factory.generate()
99
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
100
+ puts hl7
101
+ # assert_equal 'MSH', hl7[0].e0
102
+ # assert_equal 'EVN', hl7[1].e0
103
+ # assert_equal 'PID', hl7[2].e0
104
+ # assert_equal 'IAM', hl7[3].e0
105
+ end
106
+
107
+ def test_DFT_P03
108
+ event='DFT_P03'
109
+ ver='VAZ2.4.HL7'
110
+
111
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
112
+ hl7 = factory.generate()
113
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
114
+ puts hl7
115
+ # assert_equal 'MSH', hl7[0].e0
116
+ # assert_equal 'EVN', hl7[1].e0
117
+ # assert_equal 'PID', hl7[2].e0
118
+ # assert_equal 'IAM', hl7[3].e0
119
+ end
120
+
121
+ def test_DFT_X03
122
+ event='DFT_X03'
123
+ ver='VAZ2.4.HL7'
124
+
125
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
126
+ hl7 = factory.generate()
127
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
128
+ puts hl7
129
+ # assert_equal 'MSH', hl7[0].e0
130
+ # assert_equal 'EVN', hl7[1].e0
131
+ # assert_equal 'PID', hl7[2].e0
132
+ # assert_equal 'IAM', hl7[3].e0
133
+ end
134
+
135
+ def test_DFT_P11
136
+ event='DFT_P11'
137
+ ver='VAZ2.4.HL7'
138
+
139
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
140
+ hl7 = factory.generate()
141
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
142
+ puts hl7
143
+ # assert_equal 'MSH', hl7[0].e0
144
+ # assert_equal 'EVN', hl7[1].e0
145
+ # assert_equal 'PID', hl7[2].e0
146
+ # assert_equal 'IAM', hl7[3].e0
147
+ end
148
+
149
+ def test_MFN_M01
150
+ event='MFN_M01'
151
+ ver='VAZ2.4.HL7'
152
+
153
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
154
+ hl7 = factory.generate()
155
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
156
+ puts hl7
157
+ # assert_equal 'MSH', hl7[0].e0
158
+ # assert_equal 'EVN', hl7[1].e0
159
+ # assert_equal 'PID', hl7[2].e0
160
+ # assert_equal 'IAM', hl7[3].e0
161
+ end
162
+
163
+ # Required field MFE.4 is not generated (MFN_X01, MFN_Y01, MFN_M01)
164
+ def test_MFN_X01
165
+ event='MFN_X01'
166
+ ver='VAZ2.4.HL7'
167
+
168
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
169
+ hl7 = factory.generate()
170
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
171
+ puts hl7
172
+ # assert_equal 'MSH', hl7[0].e0
173
+ # assert_equal 'EVN', hl7[1].e0
174
+ # assert_equal 'PID', hl7[2].e0
175
+ # assert_equal 'IAM', hl7[3].e0
176
+ end
177
+
178
+ def test_MFN_Y01
179
+ event='MFN_Y01'
180
+ ver='VAZ2.4.HL7'
181
+
182
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
183
+ hl7 = factory.generate()
184
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
185
+ puts hl7
186
+ # assert_equal 'MSH', hl7[0].e0
187
+ # assert_equal 'EVN', hl7[1].e0
188
+ # assert_equal 'PID', hl7[2].e0
189
+ # assert_equal 'IAM', hl7[3].e0
190
+ end
191
+
192
+ def test_OMS_O05
193
+ event='OMS_O05'
194
+ ver='VAZ2.4.HL7'
195
+
196
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
197
+ hl7 = factory.generate()
198
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
199
+ puts hl7
200
+ # assert_equal 'MSH', hl7[0].e0
201
+ # assert_equal 'EVN', hl7[1].e0
202
+ # assert_equal 'PID', hl7[2].e0
203
+ # assert_equal 'IAM', hl7[3].e0
204
+ end
205
+
206
+ def test_ORF_Z07
207
+ event='ORF_Z07'
208
+ ver='VAZ2.4.HL7'
209
+
210
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
211
+ hl7 = factory.generate()
212
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
213
+ puts hl7
214
+ # assert_equal 'MSH', hl7[0].e0
215
+ # assert_equal 'EVN', hl7[1].e0
216
+ # assert_equal 'PID', hl7[2].e0
217
+ # assert_equal 'IAM', hl7[3].e0
218
+ end
219
+
220
+ def test_ORF_Z10
221
+ event='ORF_Z10'
222
+ ver='VAZ2.4.HL7'
223
+
224
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
225
+ hl7 = factory.generate()
226
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
227
+ puts hl7
228
+ # assert_equal 'MSH', hl7[0].e0
229
+ # assert_equal 'EVN', hl7[1].e0
230
+ # assert_equal 'PID', hl7[2].e0
231
+ # assert_equal 'IAM', hl7[3].e0
232
+ end
233
+
234
+ def test_ORF_Z11
235
+ event='ORF_Z11'
236
+ ver='VAZ2.4.HL7'
237
+
238
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
239
+ hl7 = factory.generate()
240
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
241
+ puts hl7
242
+ # assert_equal 'MSH', hl7[0].e0
243
+ # assert_equal 'EVN', hl7[1].e0
244
+ # assert_equal 'PID', hl7[2].e0
245
+ # assert_equal 'IAM', hl7[3].e0
246
+ end
247
+
248
+ def test_ORL_O22 # broken
249
+ event='ORL_O22'
250
+ ver='VAZ2.4.HL7'
251
+
252
+ factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
253
+ hl7 = factory.generate()
254
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
255
+ puts hl7
256
+ # assert_equal 'MSH', hl7[0].e0
257
+ # assert_equal 'EVN', hl7[1].e0
258
+ # assert_equal 'PID', hl7[2].e0
259
+ # assert_equal 'IAM', hl7[3].e0
260
+ end
261
+
262
+ # def test_ORM_O01
263
+ # event='ORM_O01'
264
+ #
265
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
266
+ # hl7 = factory.generate()
267
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
268
+ # puts hl7
269
+ # # assert_equal 'MSH', hl7[0].e0
270
+ # # assert_equal 'EVN', hl7[1].e0
271
+ # # assert_equal 'PID', hl7[2].e0
272
+ # # assert_equal 'IAM', hl7[3].e0
273
+ # end
274
+ #
275
+ # def test_ORU_R01
276
+ # event='ORU_R01'
277
+ # ver='VAZ2.4.HL7'
278
+ #
279
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
280
+ # hl7 = factory.generate()
281
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
282
+ # puts hl7
283
+ # # assert_equal 'MSH', hl7[0].e0
284
+ # # assert_equal 'EVN', hl7[1].e0
285
+ # # assert_equal 'PID', hl7[2].e0
286
+ # # assert_equal 'IAM', hl7[3].e0
287
+ # end
288
+ #
289
+ # def test_ORU_R01_1
290
+ # event='ORU_R01_1'
291
+ # ver='VAZ2.4.HL7'
292
+ #
293
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
294
+ # hl7 = factory.generate()
295
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
296
+ # puts hl7
297
+ # # assert_equal 'MSH', hl7[0].e0
298
+ # # assert_equal 'EVN', hl7[1].e0
299
+ # # assert_equal 'PID', hl7[2].e0
300
+ # # assert_equal 'IAM', hl7[3].e0
301
+ # end
302
+ #
303
+ # def test_ORU_Z01
304
+ # event='ORU_Z01'
305
+ # ver='VAZ2.4.HL7'
306
+ #
307
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
308
+ # hl7 = factory.generate()
309
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
310
+ # puts hl7
311
+ # # assert_equal 'MSH', hl7[0].e0
312
+ # # assert_equal 'EVN', hl7[1].e0
313
+ # # assert_equal 'PID', hl7[2].e0
314
+ # # assert_equal 'IAM', hl7[3].e0
315
+ # end
316
+ #
317
+ # def test_ORU_Z06 #broken
318
+ # event='ORU_Z06'
319
+ # ver='VAZ2.4.HL7'
320
+ #
321
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
322
+ # hl7 = factory.generate()
323
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
324
+ # puts hl7
325
+ # # assert_equal 'MSH', hl7[0].e0
326
+ # # assert_equal 'EVN', hl7[1].e0
327
+ # # assert_equal 'PID', hl7[2].e0
328
+ # # assert_equal 'IAM', hl7[3].e0
329
+ # end
330
+ #
331
+ # def test_ORU_Z07
332
+ # event='ORU_Z07'
333
+ # ver='VAZ2.4.HL7'
334
+ #
335
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
336
+ # hl7 = factory.generate()
337
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
338
+ # puts hl7
339
+ # # assert_equal 'MSH', hl7[0].e0
340
+ # # assert_equal 'EVN', hl7[1].e0
341
+ # # assert_equal 'PID', hl7[2].e0
342
+ # # assert_equal 'IAM', hl7[3].e0
343
+ # end
344
+ #
345
+ # def test_ORU_Z10
346
+ # event='ORU_Z10'
347
+ # ver='VAZ2.4.HL7'
348
+ #
349
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
350
+ # hl7 = factory.generate()
351
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
352
+ # puts hl7
353
+ # # assert_equal 'MSH', hl7[0].e0
354
+ # # assert_equal 'EVN', hl7[1].e0
355
+ # # assert_equal 'PID', hl7[2].e0
356
+ # # assert_equal 'IAM', hl7[3].e0
357
+ # end
358
+ #
359
+ # def test_ORU_Z11
360
+ # event='ORU_Z11'
361
+ # ver='VAZ2.4.HL7'
362
+ #
363
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
364
+ # hl7 = factory.generate()
365
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
366
+ # puts hl7
367
+ # # assert_equal 'MSH', hl7[0].e0
368
+ # # assert_equal 'EVN', hl7[1].e0
369
+ # # assert_equal 'PID', hl7[2].e0
370
+ # # assert_equal 'IAM', hl7[3].e0
371
+ # end
372
+ #
373
+ # def test_ORU_Z11_1 # broken
374
+ # event='ORU_Z11_1'
375
+ # ver='VAZ2.4.HL7'
376
+ #
377
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
378
+ # hl7 = factory.generate()
379
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
380
+ # puts hl7
381
+ # # assert_equal 'MSH', hl7[0].e0
382
+ # # assert_equal 'EVN', hl7[1].e0
383
+ # # assert_equal 'PID', hl7[2].e0
384
+ # # assert_equal 'IAM', hl7[3].e0
385
+ # end
386
+ #
387
+ # def test_QBP_Q11
388
+ # event='QBP_Q11'
389
+ # ver='VAZ2.4.HL7'
390
+ #
391
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
392
+ # hl7 = factory.generate()
393
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
394
+ # puts hl7
395
+ # # assert_equal 'MSH', hl7[0].e0
396
+ # # assert_equal 'EVN', hl7[1].e0
397
+ # # assert_equal 'PID', hl7[2].e0
398
+ # # assert_equal 'IAM', hl7[3].e0
399
+ # end
400
+ #
401
+ # def test_QBP_Q13
402
+ # event='QBP_Q13'
403
+ # ver='VAZ2.4.HL7'
404
+ #
405
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
406
+ # hl7 = factory.generate()
407
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
408
+ # puts hl7
409
+ # # assert_equal 'MSH', hl7[0].e0
410
+ # # assert_equal 'EVN', hl7[1].e0
411
+ # # assert_equal 'PID', hl7[2].e0
412
+ # # assert_equal 'IAM', hl7[3].e0
413
+ # end
414
+ #
415
+ # def test_REF_I12
416
+ # event='REF_I12'
417
+ # ver='VAZ2.4.HL7'
418
+ #
419
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
420
+ # hl7 = factory.generate()
421
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
422
+ # puts hl7
423
+ # # assert_equal 'MSH', hl7[0].e0
424
+ # # assert_equal 'EVN', hl7[1].e0
425
+ # # assert_equal 'PID', hl7[2].e0
426
+ # # assert_equal 'IAM', hl7[3].e0
427
+ # end
428
+ #
429
+ # def test_REF_I13
430
+ # event='REF_I13'
431
+ # ver='VAZ2.4.HL7'
432
+ #
433
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
434
+ # hl7 = factory.generate()
435
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
436
+ # puts hl7
437
+ # # assert_equal 'MSH', hl7[0].e0
438
+ # # assert_equal 'EVN', hl7[1].e0
439
+ # # assert_equal 'PID', hl7[2].e0
440
+ # # assert_equal 'IAM', hl7[3].e0
441
+ # end
442
+ #
443
+ # def test_REF_I14
444
+ # event='REF_I14'
445
+ # ver='VAZ2.4.HL7'
446
+ #
447
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
448
+ # hl7 = factory.generate()
449
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
450
+ # puts hl7
451
+ # # assert_equal 'MSH', hl7[0].e0
452
+ # # assert_equal 'EVN', hl7[1].e0
453
+ # # assert_equal 'PID', hl7[2].e0
454
+ # # assert_equal 'IAM', hl7[3].e0
455
+ # end
456
+ #
457
+ # def test_RPA_I08
458
+ # event='RPA_I08'
459
+ # ver='VAZ2.4.HL7'
460
+ #
461
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
462
+ # hl7 = factory.generate()
463
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
464
+ # puts hl7
465
+ # # assert_equal 'MSH', hl7[0].e0
466
+ # # assert_equal 'EVN', hl7[1].e0
467
+ # # assert_equal 'PID', hl7[2].e0
468
+ # # assert_equal 'IAM', hl7[3].e0
469
+ # end
470
+ #
471
+ # def test_RQA_I08
472
+ # event='RQA_I08'
473
+ # ver='VAZ2.4.HL7'
474
+ #
475
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
476
+ # hl7 = factory.generate()
477
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
478
+ # puts hl7
479
+ # # assert_equal 'MSH', hl7[0].e0
480
+ # # assert_equal 'EVN', hl7[1].e0
481
+ # # assert_equal 'PID', hl7[2].e0
482
+ # # assert_equal 'IAM', hl7[3].e0
483
+ # end
484
+ #
485
+ # def test_RRI_I12
486
+ # event='RRI_I12'
487
+ # ver='VAZ2.4.HL7'
488
+ #
489
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
490
+ # hl7 = factory.generate()
491
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
492
+ # puts hl7
493
+ # # assert_equal 'MSH', hl7[0].e0
494
+ # # assert_equal 'EVN', hl7[1].e0
495
+ # # assert_equal 'PID', hl7[2].e0
496
+ # # assert_equal 'IAM', hl7[3].e0
497
+ # end
498
+ #
499
+ # def test_RRI_I13
500
+ # event='RRI_I13'
501
+ # ver='VAZ2.4.HL7'
502
+ #
503
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
504
+ # hl7 = factory.generate()
505
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
506
+ # puts hl7
507
+ # # assert_equal 'MSH', hl7[0].e0
508
+ # # assert_equal 'EVN', hl7[1].e0
509
+ # # assert_equal 'PID', hl7[2].e0
510
+ # # assert_equal 'IAM', hl7[3].e0
511
+ # end
512
+ #
513
+ # def test_RRI_I14
514
+ # event='RRI_I14'
515
+ # ver='VAZ2.4.HL7'
516
+ #
517
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
518
+ # hl7 = factory.generate()
519
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
520
+ # puts hl7
521
+ # # assert_equal 'MSH', hl7[0].e0
522
+ # # assert_equal 'EVN', hl7[1].e0
523
+ # # assert_equal 'PID', hl7[2].e0
524
+ # # assert_equal 'IAM', hl7[3].e0
525
+ # end
526
+ #
527
+ # def test_RSP_K11
528
+ # event='RSP_K11'
529
+ # ver='VAZ2.4.HL7'
530
+ #
531
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
532
+ # hl7 = factory.generate()
533
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
534
+ # puts hl7
535
+ # # assert_equal 'MSH', hl7[0].e0
536
+ # # assert_equal 'EVN', hl7[1].e0
537
+ # # assert_equal 'PID', hl7[2].e0
538
+ # # assert_equal 'IAM', hl7[3].e0
539
+ # end
540
+ #
541
+ # def test_RSP_K11_1
542
+ # event='RSP_K11_1'
543
+ # ver='VAZ2.4.HL7'
544
+ #
545
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
546
+ # hl7 = factory.generate()
547
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
548
+ # puts hl7
549
+ # # assert_equal 'MSH', hl7[0].e0
550
+ # # assert_equal 'EVN', hl7[1].e0
551
+ # # assert_equal 'PID', hl7[2].e0
552
+ # # assert_equal 'IAM', hl7[3].e0
553
+ # end
554
+ #
555
+ # def test_RSP_K11_2
556
+ # event='RSP_K11_2'
557
+ # ver='VAZ2.4.HL7'
558
+ #
559
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
560
+ # hl7 = factory.generate()
561
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
562
+ # puts hl7
563
+ # # assert_equal 'MSH', hl7[0].e0
564
+ # # assert_equal 'EVN', hl7[1].e0
565
+ # # assert_equal 'PID', hl7[2].e0
566
+ # # assert_equal 'IAM', hl7[3].e0
567
+ # end
568
+ #
569
+ # def test_RSP_K11_3
570
+ # event='RSP_K11_3'
571
+ # ver='VAZ2.4.HL7'
572
+ #
573
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
574
+ # hl7 = factory.generate()
575
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
576
+ # puts hl7
577
+ # # assert_equal 'MSH', hl7[0].e0
578
+ # # assert_equal 'EVN', hl7[1].e0
579
+ # # assert_equal 'PID', hl7[2].e0
580
+ # # assert_equal 'IAM', hl7[3].e0
581
+ # end
582
+ #
583
+ # def test_RTB_K13
584
+ # event='RTB_K13'
585
+ # ver='VAZ2.4.HL7'
586
+ #
587
+ # factory = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
588
+ # hl7 = factory.generate()
589
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
590
+ # puts hl7
591
+ # # assert_equal 'MSH', hl7[0].e0
592
+ # # assert_equal 'EVN', hl7[1].e0
593
+ # # assert_equal 'PID', hl7[2].e0
594
+ # # assert_equal 'IAM', hl7[3].e0
595
+ # end
596
+
597
+ #
598
+
599
+
600
+ def test_all_custom
601
+ all = ['ADT_A60', 'DFT_P03', 'DFT_P11', 'DFT_X03', 'MFN_M01', 'MFN_X01', 'MFN_Y01', 'OMS_O05', 'ORF_Z07', 'ORF_Z10', 'ORF_Z11', 'ORM_O01', 'ORU_R01', 'ORU_RX1', 'ORU_Y07', 'ORU_Y11', 'ORU_Z01', 'ORU_Z06', 'ORU_Z07', 'ORU_Z10', 'ORU_Z11', 'QBP_G11', 'QBP_Q11', 'QBP_Q13', 'REF_I12', 'REF_I13', 'REF_I14', 'RPA_I08', 'RQA_I08', 'RRI_I12', 'RRI_I13', 'RRI_I14', 'RSP_D11', 'RSP_F11', 'RSP_K11', 'RSP_X11', 'RTB_K13']
602
+ ver='VAZ2.4.HL7'
603
+ errors = []
604
+ #["ORU_Y07", "ORU_Z06", "QBP_G11"]
605
+
606
+ all.each{|e|
607
+ begin
608
+ puts "\n------------------#{e}------------------\n"
609
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:e, version_store: @@VS, loadfactor: 1}).generate
610
+ puts hl7
611
+ saveMsg(e+'-'+Ez7gen::VERSION, hl7, ver)
612
+ rescue Exception =>z
613
+ errors << e
614
+ end
615
+ }
616
+ p errors
617
+ puts "errors size: #{errors.size}"
618
+
619
+ end
620
+
621
+
622
+ def test_custom_templates
623
+ # all = ['ADT_A60', 'DFT_P03', 'DFT_P11', 'DFT_X03', 'MFN_M01', 'MFN_X01', 'MFN_Y01', 'OMS_O05', 'ORF_Z07', 'ORF_Z10', 'ORF_Z11', 'ORM_O01', 'ORU_R01', 'ORU_RX1', 'ORU_Y07', 'ORU_Y11', 'ORU_Z01', 'ORU_Z06', 'ORU_Z07', 'ORU_Z10', 'ORU_Z11', 'QBP_G11', 'QBP_Q11', 'QBP_Q13', 'REF_I12', 'REF_I13', 'REF_I14', 'RPA_I08', 'RQA_I08', 'RRI_I12', 'RRI_I13', 'RRI_I14', 'RSP_D11', 'RSP_F11', 'RSP_K11', 'RSP_X11', 'RTB_K13']
624
+ ver='VAZ2.4.HL7'
625
+ errors = []
626
+ # error
627
+ # ADT_A60, QBP_Q11(3), RTB_K13 (2), DFT_P03, ACK_P03, ORU_R01(2)
628
+ # black list
629
+ # MFN_M01, QBP_Q13(dss units,ecs procedures), RSP_K11 (patient eligibility,diagnosis,problems)
630
+ all = ['ADT_A60', 'QBP_Q11', 'RTB_K13', 'DFT_P03', 'ACK_P03', 'ORU_R01'] # errors in 2.4 bass
631
+ all +=['MFN_M01', 'QBP_Q13', 'RSP_K11']
632
+
633
+ all.each{|e|
634
+ begin
635
+ puts "\n------------------#{e}------------------\n"
636
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:e, version_store: @@VS, loadfactor: 1}).generate
637
+ puts hl7
638
+ saveMsg(e+'-'+Ez7gen::VERSION, hl7, ver)
639
+ rescue Exception =>z
640
+ errors << e
641
+ end
642
+ }
643
+ p errors
644
+ puts "errors size: #{errors.size}"
645
+
646
+ end
647
+
648
+ end