ez7gen 1.0.1

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.
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,50 @@
1
+ # require "minitest/autorun"
2
+ require 'test/unit'
3
+ require_relative "../lib/ez7gen/message_factory"
4
+ require_relative "../lib/ez7gen/version"
5
+
6
+ class MessageFactoryTemplate25Test < 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.5", :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
+
35
+ def test_ADT_A20
36
+ event='ADT_A20'
37
+ ver='2.5.HL7'
38
+
39
+ factory = MessageFactory.new({std: '2.5', version: ver, event:event, version_store: @@VS, loadFactor: 1}) #loadFactor: 1
40
+ hl7 = factory.generate()
41
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
42
+ puts hl7
43
+ # assert_equal 'MSH', hl7[0].e0
44
+ # assert_equal 'EVN', hl7[1].e0
45
+ # assert_equal 'PID', hl7[2].e0
46
+ # assert_equal 'IAM', hl7[3].e0
47
+ end
48
+
49
+
50
+ end
@@ -0,0 +1,558 @@
1
+ # require "minitest/autorun"
2
+ require 'test/unit'
3
+ require_relative "../lib/ez7gen/message_factory"
4
+ require_relative "../lib/ez7gen/version"
5
+
6
+ class MessageFactoryAdmTest < Test::Unit::TestCase
7
+
8
+
9
+ # alias :orig_run :run
10
+ # def run(*args,&blk)
11
+ # 10.times { orig_run(*args,&blk) }
12
+ # end
13
+ #
14
+ # #set to true to write messages to a file
15
+ # @@PERSIST = true
16
+
17
+ @@VS =
18
+ [
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/VAZ2.4.HL7.xml.bkp"}]},
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('%Y%m%d%H%M%S%L')}.txt", hl7);
30
+ end
31
+ end
32
+
33
+
34
+ # Admission Messages with Z segment
35
+ def test_msh_vaz_24
36
+ # ver='vaz2.4'
37
+ ver='VAZ2.4.HL7'
38
+ event='ADT_A01'
39
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
40
+ # # MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
41
+ # saveMsg(event, hl7, ver)
42
+ # puts hl7
43
+ # puts "\n------------------------------------\n"
44
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: 1}).generate1()
45
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
46
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
47
+ puts hl7
48
+
49
+ # # assert(hl7 != nil)
50
+ # refute_nil(hl7)
51
+ end
52
+
53
+ # def test_vaz24_adt_20
54
+ # # ver='vaz2.4'
55
+ # ver='VAZ2.4.HL7'
56
+ # event='ADT_A20'
57
+ # # {: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"}]},
58
+ #
59
+ # vs = @@VS.clone()
60
+ # vs[0][:profiles][1][:path] = "../test/test-config/schema/2.4/VAZ2.4HL7.xml"
61
+ #
62
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: vs}).generate()
63
+ # # MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
64
+ # saveMsg(event, hl7, ver)
65
+ # puts hl7
66
+ # puts "\n------------------------------------\n"
67
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate1()
68
+ # saveMsg(Ez7gen::VERSION+event, hl7, ver)
69
+ # puts hl7
70
+ #
71
+ # # # assert(hl7 != nil)
72
+ # # refute_nil(hl7)
73
+ # end
74
+
75
+ # Admission Messages
76
+ # 1 ADT_A01 ADT_A04; ADT_A08; ADT_A13 MSH;EVN;PID;PD1;ROL;NK1;PV1;PV2;DB1;OBX;AL1;DG1;DRG;PR1;GT1;IN1;IN2;IN3;ACC;UB1;UB2;PDA
77
+ def test_ADT_01
78
+ ver= '2.4.HL7'
79
+ event='ADT_A01'
80
+ loadFactor = 1
81
+ # # hl7 = MessageFactory.new.generate(ver, event, loadFactor)
82
+ # hl7 =MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: loadFactor}).generate()
83
+ # puts hl7
84
+ # saveMsg(event, hl7, ver)
85
+
86
+ puts "\n------------------------------------\n"
87
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
88
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
89
+ puts hl7
90
+ end
91
+
92
+ # 2 ADT_A02 MSH;EVN;PID;PD1;ROL;PV1;PV2;DB1;OBX;PDA
93
+ def test_ADT_02
94
+ ver= '2.4.HL7'
95
+ event='ADT_A02'
96
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
97
+ # saveMsg(event, hl7, ver)
98
+ # puts hl7
99
+ puts "\n------------------------------------\n"
100
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
101
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
102
+ puts hl7
103
+ # # assert(hl7 != nil)
104
+ # refute_nil(hl7)
105
+ end
106
+
107
+ # 3 ADT_A03 MSH;EVN;PID;PD1;ROL;PV1;PV2;DB1;DG1;DRG;PR1;OBX;PDA
108
+ def test_ADT_03
109
+ ver= '2.4.HL7'
110
+ event='ADT_A03'
111
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
112
+ # saveMsg(event, hl7, ver)
113
+ # puts hl7
114
+ puts "\n------------------------------------\n"
115
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
116
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
117
+ puts hl7
118
+ end
119
+
120
+ # 4 ADT_A05 ADT_A14; ADT_A28; ADT_A31 MSH;EVN;PID;PD1;ROL;NK1;PV1;PV2;DB1;OBX;AL1;DG1;DRG;PR1;GT1;IN1;IN2;IN3;ACC;UB1;UB2
121
+ def test_ADT_05
122
+ ver= '2.4.HL7'
123
+ event='ADT_A05'
124
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
125
+ # saveMsg(event, hl7, ver)
126
+ # puts hl7
127
+ puts "\n------------------------------------\n"
128
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
129
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
130
+ puts hl7
131
+ end
132
+
133
+ # 5 ADT_A06 ADT_A07 MSH;EVN;PID;PD1;ROL;MRG;NK1;PV1;PV2;DB1;OBX;AL1;DG1;DRG;PR1;GT1;IN1;IN2;IN3;ACC;UB1;UB2
134
+ def test_ADT_06
135
+ ver= '2.4.HL7'
136
+ event='ADT_A06'
137
+ # 'MSH~EVN~PID~[~PD1~]~[~{~ROL~}~]~[~MRG~]~[~{~NK1~}~]~PV1~[~PV2~]~[~{~ROL~}~]~[~{~DB1~}~]~[~{~OBX~}~]~[~{~AL1~}~]~[~{~DG1~}~]~[~DRG~]~[~{~PR1~[~{~ROL~}~]~}~]~[~{~GT1~}~]~[~{~IN1~[~IN2~]~[~{~IN3~}~]~[~{~ROL~}~]~}~]~[~ACC~]~[~UB1~]~[~UB2~]'
138
+
139
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
140
+ # saveMsg(event, hl7, ver)
141
+ # puts hl7
142
+ puts "\n------------------------------------\n"
143
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
144
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
145
+ puts hl7
146
+ end
147
+
148
+ # 6 ADT_A09 ADT_A10; ADY_A11; ADT_A12 MSH;EVN;PID;PD1;PV1;PV2;DB1;OBX;DG1
149
+ def test_ADT_A09
150
+ ver= '2.4.HL7'
151
+ event='ADT_A09'
152
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
153
+ # saveMsg(event, hl7, ver)
154
+ # puts hl7
155
+ puts "\n------------------------------------\n"
156
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
157
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
158
+ puts hl7
159
+ end
160
+
161
+
162
+ # 7 ADT_A15 MSH;EVN;PID;PD1;ROL;PV1;PV2;DB1;OBX;DG1
163
+ def test_ADT_A15
164
+ ver= '2.4.HL7'
165
+ event='ADT_A15'
166
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
167
+ # saveMsg(event, hl7, ver)
168
+ # puts hl7
169
+ puts "\n------------------------------------\n"
170
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
171
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
172
+ puts hl7
173
+ end
174
+
175
+ # 8 ADT_A16 MSH;EVN;PID;PD1;ROL;PV1;PV2;DB1;OBX;DG1;DRG
176
+ def test_ADT_A16
177
+ ver= '2.4.HL7'
178
+ event='ADT_A16'
179
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
180
+ # saveMsg(event, hl7, ver)
181
+ # puts hl7
182
+ puts "\n------------------------------------\n"
183
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
184
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
185
+ puts hl7
186
+ end
187
+
188
+ # 9 ADT_A17 MSH;EVN;PID;PD1;PV1;PV2;DB1;OBX
189
+ def test_ADT_A17 # Fixed an issue with required repeating segments
190
+ # <MessageStructure name='ADT_A17' definition='MSH~EVN~PID~[~PD1~]~PV1~[~PV2~]~[~{~DB1~}~]~[~{~OBX~}~]~PID~[~PD1~]~PV1~[~PV2~]~[~{~DB1~}~]~[~{~OBX~}~]' />
191
+ ver= '2.4.HL7'
192
+ event='ADT_A17'
193
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
194
+ # saveMsg(event, hl7, ver)
195
+ # puts hl7
196
+ puts "\n------------------------------------\n"
197
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
198
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
199
+ puts hl7
200
+ end
201
+
202
+ # 10 ADT_A18 MSH;EVN;PID;PD1;MGR;PV1
203
+ def test_ADT_A18
204
+ ver= '2.4.HL7'
205
+ event='ADT_A18'
206
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
207
+ # saveMsg(event, hl7, ver)
208
+ # puts hl7
209
+ puts "\n------------------------------------\n"
210
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
211
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
212
+ puts hl7
213
+ end
214
+
215
+ # 11 ADT_A20 MSH;EVN;NPU
216
+ def test_ADT_A20
217
+ ver= '2.4.HL7'
218
+ event='ADT_A20'
219
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
220
+ # saveMsg(event, hl7, ver)
221
+ # puts hl7
222
+ puts "\n------------------------------------\n"
223
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
224
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
225
+ puts hl7
226
+ end
227
+
228
+ # 12 ADT_A21 ADT_A22; ADT_A23; ADT_A25:ADT_A26; ADT_A27; ADT_A29; ADT_A32; ADT_A33 MSH;EVN;PID;PD1;PV1;PV2;DB1;OBX
229
+ def test_ADT_A21
230
+ ver= '2.4.HL7'
231
+ event='ADT_A21'
232
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
233
+ # saveMsg(event, hl7, ver)
234
+ # puts hl7
235
+ puts "\n------------------------------------\n"
236
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
237
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
238
+ puts hl7
239
+ end
240
+
241
+ # def test_ADT_A22
242
+ # ver= '2.4.HL7'
243
+ # event='ADT_A22'
244
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
245
+ # File.open("../msg-samples/#{ver}/#{event}.txt", 'a') { |f| f.write(hl7); f.write("\n\n") }
246
+ # puts hl7
247
+ # # # assert(hl7 != nil)
248
+ # # refute_nil(hl7)
249
+ # end
250
+ #
251
+ # def test_ADT_A23
252
+ # ver= '2.4.HL7'
253
+ # event='ADT_A23'
254
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
255
+ # File.open("../msg-samples/#{ver}/#{event}.txt", 'a') { |f| f.write(hl7); f.write("\n\n") }
256
+ # puts hl7
257
+ # # # assert(hl7 != nil)
258
+ # # refute_nil(hl7)
259
+ # end
260
+ #
261
+ # def test_ADT_A25
262
+ # ver= '2.4.HL7'
263
+ # event='ADT_A25'
264
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
265
+ # File.open("../msg-samples/#{ver}/#{event}.txt", 'a') { |f| f.write(hl7); f.write("\n\n") }
266
+ # puts hl7
267
+ # # # assert(hl7 != nil)
268
+ # # refute_nil(hl7)
269
+ # end
270
+ #
271
+ # def test_ADT_A26
272
+ # ver= '2.4.HL7'
273
+ # event='ADT_A26'
274
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
275
+ # File.open("../msg-samples/#{ver}/#{event}.txt", 'a') { |f| f.write(hl7); f.write("\n\n") }
276
+ # puts hl7
277
+ # # # assert(hl7 != nil)
278
+ # # refute_nil(hl7)
279
+ # end
280
+ #
281
+ # def test_ADT_A27
282
+ # ver= '2.4.HL7'
283
+ # event='ADT_A27'
284
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
285
+ # File.open("../msg-samples/#{ver}/#{event}.txt", 'a') { |f| f.write(hl7); f.write("\n\n") }
286
+ # puts hl7
287
+ # # # assert(hl7 != nil)
288
+ # # refute_nil(hl7)
289
+ # end
290
+ #
291
+ # def test_ADT_A29
292
+ # ver= '2.4.HL7'
293
+ # event='ADT_A29'
294
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
295
+ # File.open("../msg-samples/#{ver}/#{event}.txt", 'a') { |f| f.write(hl7); f.write("\n\n") }
296
+ # puts hl7
297
+ # # # assert(hl7 != nil)
298
+ # # refute_nil(hl7)
299
+ # end
300
+ #
301
+ # def test_ADT_A32
302
+ # ver= '2.4.HL7'
303
+ # event='ADT_A32'
304
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
305
+ # File.open("../msg-samples/#{ver}/#{event}.txt", 'a') { |f| f.write(hl7); f.write("\n\n") }
306
+ # puts hl7
307
+ # # # assert(hl7 != nil)
308
+ # # refute_nil(hl7)
309
+ # end
310
+ #
311
+ # def test_ADT_A33
312
+ # ver= '2.4.HL7'
313
+ # event='ADT_A33'
314
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
315
+ # File.open("../msg-samples/#{ver}/#{event}.txt", 'a') { |f| f.write(hl7); f.write("\n\n") }
316
+ # puts hl7
317
+ # # # assert(hl7 != nil)
318
+ # # refute_nil(hl7)
319
+ # end
320
+ # 13 ADT_A24 MSH;EVN;PID;PD1;PV1;DB1
321
+ def test_ADT_A24
322
+ ver= '2.4.HL7'
323
+ event='ADT_A24'
324
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
325
+ # saveMsg(event, hl7, ver)
326
+ # puts hl7
327
+ puts "\n------------------------------------\n"
328
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
329
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
330
+ puts hl7
331
+ end
332
+
333
+ # 14 ADT_A30 ADT_A34; ADT_A35; ADT_A36; ADT_A46; ADT_A47; ADT_A48; ADT_A49 MSH;EVN;PID;PD1;MRG
334
+ def test_ADT_A30
335
+ ver= '2.4.HL7'
336
+ event='ADT_A30'
337
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
338
+ # saveMsg(event, hl7, ver)
339
+ # puts hl7
340
+ puts "\n------------------------------------\n"
341
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
342
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
343
+ puts hl7
344
+ end
345
+
346
+ # 15 ADT_A37 MSH;EVN;PID;PD1;PV1;DB1
347
+ def test_ADT_A37
348
+ ver= '2.4.HL7'
349
+ event='ADT_A37'
350
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
351
+ # saveMsg(event, hl7, ver)
352
+ # puts hl7
353
+ puts "\n------------------------------------\n"
354
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
355
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
356
+ puts hl7
357
+ end
358
+ # 16 ADT_A38 MSH;EVN;PID;PD1;PV1;PV2;DB1;OBX;DG1;DRG
359
+ def test_ADT_A38
360
+ ver= '2.4.HL7'
361
+ event='ADT_A38'
362
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
363
+ # saveMsg(event, hl7, ver)
364
+ # puts hl7
365
+ puts "\n------------------------------------\n"
366
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
367
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
368
+ puts hl7
369
+ end
370
+
371
+ # 17 ADT_A39 ADT_A40; ADT_A41; ADT_A42 MSH;EVN;PID;PD1;MRG;PV1
372
+ def test_ADT_A39
373
+ #failed
374
+ ver= '2.4.HL7'
375
+ event='ADT_A39'
376
+ loadFactor = 1
377
+ # <MessageStructure name='ADT_A39' definition='MSH~EVN~{~PID~[~PD1~]~MRG~[~PV1~]~}' />
378
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: loadFactor}).generate()
379
+ # saveMsg(event, hl7, ver)
380
+ # puts hl7
381
+ # puts "\n------------------------------------\n"
382
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
383
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
384
+ puts hl7
385
+ end
386
+
387
+ # 18 ADT_A43 ADT_A44 MSH;EVN;PID;PD1;MRG
388
+ def test_ADT_A43
389
+ #failed
390
+ ver= '2.4.HL7'
391
+ event='ADT_A43'
392
+ # <MessageStructure name='ADT_A43' definition='MSH~EVN~{~PID~[~PD1~]~MRG~}' />
393
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
394
+ # saveMsg(event, hl7, ver)
395
+ # puts hl7
396
+ puts "\n------------------------------------\n"
397
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
398
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
399
+ puts hl7
400
+ end
401
+
402
+ # 19 ADT_A45 MSH;EVN;PID;PD1;MRG;PV1
403
+ def test_ADT_A45
404
+ #failed
405
+ ver= '2.4.HL7'
406
+ event='ADT_A45'
407
+ loadFactor=1 # build all segments
408
+ # <MessageStructure name='ADT_A45' definition='MSH~EVN~PID~[~PD1~]~{~MRG~PV1~}' />
409
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate(ver, event, loadFactor)
410
+ # hl7 =MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: loadFactor}).generate()
411
+
412
+ # saveMsg(event, hl7, ver)
413
+ # puts hl7
414
+ puts "\n------------------------------------\n"
415
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
416
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
417
+ puts hl7
418
+ end
419
+
420
+ # 20 ADT_A50 ADT_A51 MSH;EVN;PID;PD1;MRG;PV1
421
+ def test_ADT_A50
422
+ ver= '2.4.HL7'
423
+ event='ADT_A50'
424
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
425
+ # saveMsg(event, hl7, ver)
426
+ # puts hl7
427
+ puts "\n------------------------------------\n"
428
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
429
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
430
+ puts hl7
431
+ end
432
+
433
+ # 21 ADT_A52 ADT_A53; ADT_A55 MSH;EVN;PID;PD1;PV1;PV2
434
+ def test_ADT_A52
435
+ ver= '2.4.HL7'
436
+ event='ADT_A52'
437
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
438
+ # saveMsg(event, hl7, ver)
439
+ # puts hl7
440
+ puts "\n------------------------------------\n"
441
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
442
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
443
+ puts hl7
444
+ end
445
+
446
+ # 22 ADT_A54 MSH;EVN;PID;PD1;ROL;PV1;PV2
447
+ def test_ADT_A54
448
+ ver= '2.4.HL7'
449
+ event='ADT_A54'
450
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
451
+ # saveMsg(event, hl7, ver)
452
+ # puts hl7
453
+ puts "\n------------------------------------\n"
454
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
455
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
456
+ puts hl7
457
+ end
458
+
459
+ # 23 ADT_A60 MSH;EVN;PID;PV1;PV2;IAM
460
+ def test_ADT_A60
461
+ ver= '2.4.HL7'
462
+ event='ADT_A60'
463
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
464
+ # saveMsg(event, hl7, ver)
465
+ # puts hl7
466
+ puts "\n------------------------------------\n"
467
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
468
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
469
+ puts hl7
470
+ end
471
+
472
+ # 24 ADT_A61 ADT_A62 MSH;EVN;PID;PD1;ROL;PV1;PV2
473
+ def test_ADT_A61
474
+ ver= '2.4.HL7'
475
+ event='ADT_A61'
476
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
477
+ # saveMsg(event, hl7, ver)
478
+ # puts hl7
479
+ puts "\n------------------------------------\n"
480
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
481
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
482
+ puts hl7
483
+ end
484
+
485
+ # 25 QBP_Q21 QBP_Q22; QBP_Q23; QBP_Q24 MSH;QPD;RCP;DSC
486
+ def test_QBP_Q21
487
+ ver= '2.4.HL7'
488
+ event='QBP_Q21'
489
+ loadFactor = 1
490
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate(ver, event, 1)
491
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS, loadFactor: loadFactor}).generate()
492
+ # saveMsg(event, hl7, ver)
493
+ # puts hl7
494
+ puts "\n------------------------------------\n"
495
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
496
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
497
+ puts hl7
498
+ end
499
+
500
+ # 26 RSP_K21 MSH;MSA;ERR;QAK;QPD;PID;PD1;DSC
501
+ def test_RSP_K21
502
+ #failed
503
+ ver= '2.4.HL7'
504
+ event='RSP_K21'
505
+ # <MessageStructure name='RSP_K21' definition='MSH~MSA~[~ERR~]~QAK~QPD~[~PID~[~PD1~]~]~[~DSC~]' />
506
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
507
+ # saveMsg(event, hl7, ver)
508
+ # puts hl7
509
+ puts "\n------------------------------------\n"
510
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
511
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
512
+ puts hl7
513
+ end
514
+
515
+ # 28 RSP_K22 MSH;MSA;ERR;QAK;QPD;PID;PD1;QRI;DSC
516
+ def test_RSP_K22
517
+ #failed
518
+ ver= '2.4.HL7'
519
+ event='RSP_K22'
520
+ # <MessageStructure name='RSP_K22' definition='MSH~MSA~[~ERR~]~QAK~QPD~{~[~PID~[~PD1~]~[~QRI~]~]~}~[~DSC~]' />
521
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
522
+ # saveMsg(event, hl7, ver)
523
+ # puts hl7
524
+ puts "\n------------------------------------\n"
525
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate
526
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
527
+ puts hl7
528
+ end
529
+
530
+ # 30 RSP_K23 MSH;MSA;ERR;QAK;QPD;PID;DSC
531
+ def test_RSP_K23
532
+ ver= '2.4.HL7'
533
+ event='RSP_K23'
534
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
535
+ # saveMsg(event, hl7, ver)
536
+ # puts hl7
537
+ puts "\n------------------------------------\n"
538
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
539
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
540
+ puts hl7
541
+ end
542
+
543
+ # 32 RSP_K24 MSH;MSA;ERR;QAK;QPD;PID;DSC
544
+ def test_RSP_K24
545
+ ver= '2.4.HL7'
546
+ event='RSP_K24'
547
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
548
+ # hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
549
+ # saveMsg(event, hl7, ver)
550
+ # puts hl7
551
+ puts "\n------------------------------------\n"
552
+ hl7 = MessageFactory.new({std: '2.4', version: ver, event:event, version_store: @@VS}).generate()
553
+ saveMsg(Ez7gen::VERSION+event, hl7, ver)
554
+ puts hl7
555
+ end
556
+
557
+
558
+ end