hippo 0.0.4

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 (203) hide show
  1. data/.gitignore +6 -0
  2. data/CHANGELOG +9 -0
  3. data/Gemfile +11 -0
  4. data/Guardfile +14 -0
  5. data/README.md +227 -0
  6. data/Rakefile +12 -0
  7. data/bin/demo_270.rb +280 -0
  8. data/bin/demo_276.rb +296 -0
  9. data/bin/demo_835.rb +170 -0
  10. data/hippo.gemspec +24 -0
  11. data/lib/hippo/exceptions.rb +8 -0
  12. data/lib/hippo/field.rb +6 -0
  13. data/lib/hippo/loop.rb +0 -0
  14. data/lib/hippo/parser.rb +92 -0
  15. data/lib/hippo/samples/835.edi +88 -0
  16. data/lib/hippo/samples/sample_835_with.rb +272 -0
  17. data/lib/hippo/samples/sample_parsed.rb +1162 -0
  18. data/lib/hippo/segments/AK1.rb +32 -0
  19. data/lib/hippo/segments/AK2.rb +31 -0
  20. data/lib/hippo/segments/AK9.rb +82 -0
  21. data/lib/hippo/segments/AMT.rb +31 -0
  22. data/lib/hippo/segments/BHT.rb +55 -0
  23. data/lib/hippo/segments/BPR.rb +175 -0
  24. data/lib/hippo/segments/CAS.rb +159 -0
  25. data/lib/hippo/segments/CL1.rb +39 -0
  26. data/lib/hippo/segments/CLM.rb +223 -0
  27. data/lib/hippo/segments/CLP.rb +119 -0
  28. data/lib/hippo/segments/CN1.rb +55 -0
  29. data/lib/hippo/segments/CR1.rb +87 -0
  30. data/lib/hippo/segments/CR2.rb +104 -0
  31. data/lib/hippo/segments/CR3.rb +47 -0
  32. data/lib/hippo/segments/CR4.rb +239 -0
  33. data/lib/hippo/segments/CR5.rb +151 -0
  34. data/lib/hippo/segments/CR6.rb +175 -0
  35. data/lib/hippo/segments/CR7.rb +33 -0
  36. data/lib/hippo/segments/CR8.rb +79 -0
  37. data/lib/hippo/segments/CRC.rb +63 -0
  38. data/lib/hippo/segments/CTP.rb +212 -0
  39. data/lib/hippo/segments/CTX.rb +105 -0
  40. data/lib/hippo/segments/CUR.rb +175 -0
  41. data/lib/hippo/segments/DMG.rb +115 -0
  42. data/lib/hippo/segments/DN1.rb +39 -0
  43. data/lib/hippo/segments/DN2.rb +55 -0
  44. data/lib/hippo/segments/DSB.rb +71 -0
  45. data/lib/hippo/segments/DTM.rb +55 -0
  46. data/lib/hippo/segments/DTP.rb +31 -0
  47. data/lib/hippo/segments/FRM.rb +47 -0
  48. data/lib/hippo/segments/GE.rb +19 -0
  49. data/lib/hippo/segments/GS.rb +52 -0
  50. data/lib/hippo/segments/HCP.rb +127 -0
  51. data/lib/hippo/segments/HI.rb +919 -0
  52. data/lib/hippo/segments/HL.rb +44 -0
  53. data/lib/hippo/segments/HSD.rb +72 -0
  54. data/lib/hippo/segments/IEA.rb +19 -0
  55. data/lib/hippo/segments/IK3.rb +40 -0
  56. data/lib/hippo/segments/IK4.rb +63 -0
  57. data/lib/hippo/segments/IK5.rb +55 -0
  58. data/lib/hippo/segments/IMM.rb +55 -0
  59. data/lib/hippo/segments/ISA.rb +95 -0
  60. data/lib/hippo/segments/K3.rb +147 -0
  61. data/lib/hippo/segments/LIN.rb +255 -0
  62. data/lib/hippo/segments/LQ.rb +23 -0
  63. data/lib/hippo/segments/LX.rb +21 -0
  64. data/lib/hippo/segments/MEA.rb +219 -0
  65. data/lib/hippo/segments/MIA.rb +199 -0
  66. data/lib/hippo/segments/MOA.rb +79 -0
  67. data/lib/hippo/segments/N1.rb +55 -0
  68. data/lib/hippo/segments/N2.rb +23 -0
  69. data/lib/hippo/segments/N3.rb +23 -0
  70. data/lib/hippo/segments/N4.rb +63 -0
  71. data/lib/hippo/segments/NM1.rb +103 -0
  72. data/lib/hippo/segments/NTE.rb +23 -0
  73. data/lib/hippo/segments/OI.rb +55 -0
  74. data/lib/hippo/segments/PAT.rb +79 -0
  75. data/lib/hippo/segments/PER.rb +79 -0
  76. data/lib/hippo/segments/PLB.rb +191 -0
  77. data/lib/hippo/segments/PRV.rb +75 -0
  78. data/lib/hippo/segments/PS1.rb +31 -0
  79. data/lib/hippo/segments/PWK.rb +116 -0
  80. data/lib/hippo/segments/QTY.rb +155 -0
  81. data/lib/hippo/segments/RDM.rb +135 -0
  82. data/lib/hippo/segments/REF.rb +83 -0
  83. data/lib/hippo/segments/SBR.rb +79 -0
  84. data/lib/hippo/segments/SE.rb +24 -0
  85. data/lib/hippo/segments/ST.rb +31 -0
  86. data/lib/hippo/segments/STC.rb +187 -0
  87. data/lib/hippo/segments/SV1.rb +267 -0
  88. data/lib/hippo/segments/SV2.rb +147 -0
  89. data/lib/hippo/segments/SV3.rb +223 -0
  90. data/lib/hippo/segments/SV4.rb +211 -0
  91. data/lib/hippo/segments/SV5.rb +123 -0
  92. data/lib/hippo/segments/SV6.rb +155 -0
  93. data/lib/hippo/segments/SV7.rb +55 -0
  94. data/lib/hippo/segments/SVC.rb +183 -0
  95. data/lib/hippo/segments/SVD.rb +116 -0
  96. data/lib/hippo/segments/TOO.rb +67 -0
  97. data/lib/hippo/segments/TRN.rb +39 -0
  98. data/lib/hippo/segments/TS2.rb +159 -0
  99. data/lib/hippo/segments/TS3.rb +199 -0
  100. data/lib/hippo/segments/UR.rb +23 -0
  101. data/lib/hippo/segments/base.rb +148 -0
  102. data/lib/hippo/segments.rb +85 -0
  103. data/lib/hippo/transaction_sets/HIPAA_276/L2000A.rb +28 -0
  104. data/lib/hippo/transaction_sets/HIPAA_276/L2000B.rb +28 -0
  105. data/lib/hippo/transaction_sets/HIPAA_276/L2000C.rb +28 -0
  106. data/lib/hippo/transaction_sets/HIPAA_276/L2000D.rb +45 -0
  107. data/lib/hippo/transaction_sets/HIPAA_276/L2000E.rb +45 -0
  108. data/lib/hippo/transaction_sets/HIPAA_276/L2100A.rb +20 -0
  109. data/lib/hippo/transaction_sets/HIPAA_276/L2100B.rb +20 -0
  110. data/lib/hippo/transaction_sets/HIPAA_276/L2100C.rb +19 -0
  111. data/lib/hippo/transaction_sets/HIPAA_276/L2100D.rb +19 -0
  112. data/lib/hippo/transaction_sets/HIPAA_276/L2100E.rb +20 -0
  113. data/lib/hippo/transaction_sets/HIPAA_276/L2200D.rb +116 -0
  114. data/lib/hippo/transaction_sets/HIPAA_276/L2200E.rb +116 -0
  115. data/lib/hippo/transaction_sets/HIPAA_276/L2210D.rb +36 -0
  116. data/lib/hippo/transaction_sets/HIPAA_276/L2210E.rb +36 -0
  117. data/lib/hippo/transaction_sets/HIPAA_276/base.rb +86 -0
  118. data/lib/hippo/transaction_sets/HIPAA_276.rb +21 -0
  119. data/lib/hippo/transaction_sets/HIPAA_277/L2000A.rb +35 -0
  120. data/lib/hippo/transaction_sets/HIPAA_277/L2000B.rb +35 -0
  121. data/lib/hippo/transaction_sets/HIPAA_277/L2000C.rb +35 -0
  122. data/lib/hippo/transaction_sets/HIPAA_277/L2000D.rb +35 -0
  123. data/lib/hippo/transaction_sets/HIPAA_277/L2000E.rb +35 -0
  124. data/lib/hippo/transaction_sets/HIPAA_277/L2100A.rb +19 -0
  125. data/lib/hippo/transaction_sets/HIPAA_277/L2100B.rb +20 -0
  126. data/lib/hippo/transaction_sets/HIPAA_277/L2100C.rb +19 -0
  127. data/lib/hippo/transaction_sets/HIPAA_277/L2100D.rb +20 -0
  128. data/lib/hippo/transaction_sets/HIPAA_277/L2100E.rb +20 -0
  129. data/lib/hippo/transaction_sets/HIPAA_277/L2200A.rb +41 -0
  130. data/lib/hippo/transaction_sets/HIPAA_277/L2200B.rb +66 -0
  131. data/lib/hippo/transaction_sets/HIPAA_277/L2200C.rb +73 -0
  132. data/lib/hippo/transaction_sets/HIPAA_277/L2200D.rb +73 -0
  133. data/lib/hippo/transaction_sets/HIPAA_277/L2200E.rb +103 -0
  134. data/lib/hippo/transaction_sets/HIPAA_277/L2220D.rb +56 -0
  135. data/lib/hippo/transaction_sets/HIPAA_277/L2220E.rb +43 -0
  136. data/lib/hippo/transaction_sets/HIPAA_277/base.rb +77 -0
  137. data/lib/hippo/transaction_sets/HIPAA_277.rb +24 -0
  138. data/lib/hippo/transaction_sets/HIPAA_835/L1000A.rb +71 -0
  139. data/lib/hippo/transaction_sets/HIPAA_835/L1000B.rb +47 -0
  140. data/lib/hippo/transaction_sets/HIPAA_835/L2000.rb +37 -0
  141. data/lib/hippo/transaction_sets/HIPAA_835/L2100.rb +182 -0
  142. data/lib/hippo/transaction_sets/HIPAA_835/L2110.rb +85 -0
  143. data/lib/hippo/transaction_sets/HIPAA_835/base.rb +112 -0
  144. data/lib/hippo/transaction_sets/HIPAA_835.rb +12 -0
  145. data/lib/hippo/transaction_sets/HIPAA_837/L1000A.rb +30 -0
  146. data/lib/hippo/transaction_sets/HIPAA_837/L1000B.rb +21 -0
  147. data/lib/hippo/transaction_sets/HIPAA_837/L2000A.rb +65 -0
  148. data/lib/hippo/transaction_sets/HIPAA_837/L2000B.rb +49 -0
  149. data/lib/hippo/transaction_sets/HIPAA_837/L2000C.rb +42 -0
  150. data/lib/hippo/transaction_sets/HIPAA_837/L2010AA.rb +57 -0
  151. data/lib/hippo/transaction_sets/HIPAA_837/L2010AB.rb +33 -0
  152. data/lib/hippo/transaction_sets/HIPAA_837/L2010AC.rb +51 -0
  153. data/lib/hippo/transaction_sets/HIPAA_837/L2010BA.rb +74 -0
  154. data/lib/hippo/transaction_sets/HIPAA_837/L2010BB.rb +48 -0
  155. data/lib/hippo/transaction_sets/HIPAA_837/L2010CA.rb +72 -0
  156. data/lib/hippo/transaction_sets/HIPAA_837/L2300.rb +510 -0
  157. data/lib/hippo/transaction_sets/HIPAA_837/L2310A.rb +26 -0
  158. data/lib/hippo/transaction_sets/HIPAA_837/L2310B.rb +37 -0
  159. data/lib/hippo/transaction_sets/HIPAA_837/L2310C.rb +52 -0
  160. data/lib/hippo/transaction_sets/HIPAA_837/L2310D.rb +27 -0
  161. data/lib/hippo/transaction_sets/HIPAA_837/L2310E.rb +34 -0
  162. data/lib/hippo/transaction_sets/HIPAA_837/L2310F.rb +34 -0
  163. data/lib/hippo/transaction_sets/HIPAA_837/L2320.rb +122 -0
  164. data/lib/hippo/transaction_sets/HIPAA_837/L2330A.rb +43 -0
  165. data/lib/hippo/transaction_sets/HIPAA_837/L2330B.rb +92 -0
  166. data/lib/hippo/transaction_sets/HIPAA_837/L2330C.rb +26 -0
  167. data/lib/hippo/transaction_sets/HIPAA_837/L2330D.rb +26 -0
  168. data/lib/hippo/transaction_sets/HIPAA_837/L2330E.rb +27 -0
  169. data/lib/hippo/transaction_sets/HIPAA_837/L2330F.rb +27 -0
  170. data/lib/hippo/transaction_sets/HIPAA_837/L2330G.rb +26 -0
  171. data/lib/hippo/transaction_sets/HIPAA_837/L2400.rb +475 -0
  172. data/lib/hippo/transaction_sets/HIPAA_837/L2410.rb +30 -0
  173. data/lib/hippo/transaction_sets/HIPAA_837/L2420A.rb +37 -0
  174. data/lib/hippo/transaction_sets/HIPAA_837/L2420B.rb +26 -0
  175. data/lib/hippo/transaction_sets/HIPAA_837/L2420C.rb +41 -0
  176. data/lib/hippo/transaction_sets/HIPAA_837/L2420D.rb +27 -0
  177. data/lib/hippo/transaction_sets/HIPAA_837/L2420E.rb +51 -0
  178. data/lib/hippo/transaction_sets/HIPAA_837/L2420F.rb +26 -0
  179. data/lib/hippo/transaction_sets/HIPAA_837/L2420G.rb +34 -0
  180. data/lib/hippo/transaction_sets/HIPAA_837/L2420H.rb +34 -0
  181. data/lib/hippo/transaction_sets/HIPAA_837/L2430.rb +44 -0
  182. data/lib/hippo/transaction_sets/HIPAA_837/L2440.rb +23 -0
  183. data/lib/hippo/transaction_sets/HIPAA_837/base.rb +81 -0
  184. data/lib/hippo/transaction_sets/HIPAA_837.rb +45 -0
  185. data/lib/hippo/transaction_sets/HIPAA_999/L2000 - AK2.rb +30 -0
  186. data/lib/hippo/transaction_sets/HIPAA_999/L2000AK2.rb +30 -0
  187. data/lib/hippo/transaction_sets/HIPAA_999/L2100 - AK2.rb +37 -0
  188. data/lib/hippo/transaction_sets/HIPAA_999/L2100AK2.rb +37 -0
  189. data/lib/hippo/transaction_sets/HIPAA_999/L2110 - AK2.rb +23 -0
  190. data/lib/hippo/transaction_sets/HIPAA_999/L2110AK2.rb +23 -0
  191. data/lib/hippo/transaction_sets/HIPAA_999/base.rb +46 -0
  192. data/lib/hippo/transaction_sets/HIPAA_999.rb +10 -0
  193. data/lib/hippo/transaction_sets/base.rb +136 -0
  194. data/lib/hippo/transaction_sets.rb +11 -0
  195. data/lib/hippo/version.rb +3 -0
  196. data/lib/hippo.rb +15 -0
  197. data/samples/835_4010.edi +1 -0
  198. data/samples/837_4010A1.edi +1 -0
  199. data/test/test_helper.rb +118 -0
  200. data/test/test_hipaa_837.rb +396 -0
  201. data/test/test_segments_base.rb +106 -0
  202. data/test/test_transaction_sets_base.rb +85 -0
  203. metadata +277 -0
@@ -0,0 +1,475 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2400 < Hippo::TransactionSets::Base
5
+ loop_name 'L2400' #Service Line Number
6
+
7
+ #Service Line Number
8
+ segment Hippo::Segments::LX,
9
+ :name => 'Service Line Number',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 3650
13
+
14
+ #Professional Service
15
+ segment Hippo::Segments::SV1,
16
+ :name => 'Professional Service',
17
+ :minimum => 1,
18
+ :maximum => 1,
19
+ :position => 3700
20
+
21
+ #Durable Medical Equipment Service
22
+ segment Hippo::Segments::SV5,
23
+ :name => 'Durable Medical Equipment Service',
24
+ :minimum => 0,
25
+ :maximum => 1,
26
+ :position => 4000,
27
+ :defaults => {
28
+ 'SV502' => 'DA'
29
+ }
30
+
31
+ #Line Supplemental Information
32
+ segment Hippo::Segments::PWK,
33
+ :name => 'Line Supplemental Information',
34
+ :minimum => 0,
35
+ :maximum => 10,
36
+ :position => 4200
37
+
38
+ #Durable Medical Equipment Certificate of Medical Necessity Indicator
39
+ segment Hippo::Segments::PWK,
40
+ :name => 'Durable Medical Equipment Certificate of Medical Necessity Indicator',
41
+ :minimum => 0,
42
+ :maximum => 1,
43
+ :position => 4220,
44
+ :defaults => {
45
+ 'PWK01' => 'CT'
46
+ }
47
+
48
+ #Ambulance Transport Information
49
+ segment Hippo::Segments::CR1,
50
+ :name => 'Ambulance Transport Information',
51
+ :minimum => 0,
52
+ :maximum => 1,
53
+ :position => 4250,
54
+ :defaults => {
55
+ 'CR105' => 'DH'
56
+ }
57
+
58
+ #Durable Medical Equipment Certification
59
+ segment Hippo::Segments::CR3,
60
+ :name => 'Durable Medical Equipment Certification',
61
+ :minimum => 0,
62
+ :maximum => 1,
63
+ :position => 4350,
64
+ :defaults => {
65
+ 'CR302' => 'MO'
66
+ }
67
+
68
+ #Ambulance Certification
69
+ segment Hippo::Segments::CRC,
70
+ :name => 'Ambulance Certification',
71
+ :minimum => 0,
72
+ :maximum => 3,
73
+ :position => 4500,
74
+ :defaults => {
75
+ 'CRC01' => '07'
76
+ }
77
+
78
+ #Hospice Employee Indicator
79
+ segment Hippo::Segments::CRC,
80
+ :name => 'Hospice Employee Indicator',
81
+ :minimum => 0,
82
+ :maximum => 1,
83
+ :position => 4520,
84
+ :defaults => {
85
+ 'CRC01' => '70',
86
+ 'CRC03' => '65'
87
+ }
88
+
89
+ #Condition Indicator/Durable Medical Equipment
90
+ segment Hippo::Segments::CRC,
91
+ :name => 'Condition Indicator/Durable Medical Equipment',
92
+ :minimum => 0,
93
+ :maximum => 1,
94
+ :position => 4530,
95
+ :defaults => {
96
+ 'CRC01' => '09'
97
+ }
98
+
99
+ #Date - Service Date
100
+ segment Hippo::Segments::DTP,
101
+ :name => 'Date - Service Date',
102
+ :minimum => 1,
103
+ :maximum => 1,
104
+ :position => 4550,
105
+ :defaults => {
106
+ 'DTP01' => '472'
107
+ }
108
+
109
+ #Date - Prescription Date
110
+ segment Hippo::Segments::DTP,
111
+ :name => 'Date - Prescription Date',
112
+ :minimum => 0,
113
+ :maximum => 1,
114
+ :position => 4555,
115
+ :defaults => {
116
+ 'DTP01' => '471',
117
+ 'DTP02' => 'D8'
118
+ }
119
+
120
+ #DATE - Certification Revision/Recertification Date
121
+ segment Hippo::Segments::DTP,
122
+ :name => 'DATE - Certification Revision/Recertification Date',
123
+ :minimum => 0,
124
+ :maximum => 1,
125
+ :position => 4560,
126
+ :defaults => {
127
+ 'DTP01' => '607',
128
+ 'DTP02' => 'D8'
129
+ }
130
+
131
+ #Date - Begin Therapy Date
132
+ segment Hippo::Segments::DTP,
133
+ :name => 'Date - Begin Therapy Date',
134
+ :minimum => 0,
135
+ :maximum => 1,
136
+ :position => 4580,
137
+ :defaults => {
138
+ 'DTP01' => '463',
139
+ 'DTP02' => 'D8'
140
+ }
141
+
142
+ #Date - Last Certification Date
143
+ segment Hippo::Segments::DTP,
144
+ :name => 'Date - Last Certification Date',
145
+ :minimum => 0,
146
+ :maximum => 1,
147
+ :position => 4590,
148
+ :defaults => {
149
+ 'DTP01' => '461',
150
+ 'DTP02' => 'D8'
151
+ }
152
+
153
+ #Date - Last Seen Date
154
+ segment Hippo::Segments::DTP,
155
+ :name => 'Date - Last Seen Date',
156
+ :minimum => 0,
157
+ :maximum => 1,
158
+ :position => 45,
159
+ :defaults => {
160
+ 'DTP01' => '304',
161
+ 'DTP02' => 'D8'
162
+ }
163
+
164
+ #Date - Test Date
165
+ segment Hippo::Segments::DTP,
166
+ :name => 'Date - Test Date',
167
+ :minimum => 0,
168
+ :maximum => 2,
169
+ :position => 45,
170
+ :defaults => {
171
+ 'DTP02' => 'D8'
172
+ }
173
+
174
+ #Date - Shipped Date
175
+ segment Hippo::Segments::DTP,
176
+ :name => 'Date - Shipped Date',
177
+ :minimum => 0,
178
+ :maximum => 1,
179
+ :position => 45,
180
+ :defaults => {
181
+ 'DTP01' => '011',
182
+ 'DTP02' => 'D8'
183
+ }
184
+
185
+ #Date - Last X-ray Date
186
+ segment Hippo::Segments::DTP,
187
+ :name => 'Date - Last X-ray Date',
188
+ :minimum => 0,
189
+ :maximum => 1,
190
+ :position => 45,
191
+ :defaults => {
192
+ 'DTP01' => '455',
193
+ 'DTP02' => 'D8'
194
+ }
195
+
196
+ #Date - Initial Treatment Date
197
+ segment Hippo::Segments::DTP,
198
+ :name => 'Date - Initial Treatment Date',
199
+ :minimum => 0,
200
+ :maximum => 1,
201
+ :position => 45,
202
+ :defaults => {
203
+ 'DTP01' => '454',
204
+ 'DTP02' => 'D8'
205
+ }
206
+
207
+ #Ambulance Patient Count
208
+ segment Hippo::Segments::QTY,
209
+ :name => 'Ambulance Patient Count',
210
+ :minimum => 0,
211
+ :maximum => 1,
212
+ :position => 4600,
213
+ :defaults => {
214
+ 'QTY01' => 'PT'
215
+ }
216
+
217
+ #Obstetric Anesthesia Additional Units
218
+ segment Hippo::Segments::QTY,
219
+ :name => 'Obstetric Anesthesia Additional Units',
220
+ :minimum => 0,
221
+ :maximum => 1,
222
+ :position => 4610,
223
+ :defaults => {
224
+ 'QTY01' => 'FL'
225
+ }
226
+
227
+ #Test Result
228
+ segment Hippo::Segments::MEA,
229
+ :name => 'Test Result',
230
+ :minimum => 0,
231
+ :maximum => 5,
232
+ :position => 4620
233
+
234
+ #Contract Information
235
+ segment Hippo::Segments::CN1,
236
+ :name => 'Contract Information',
237
+ :minimum => 0,
238
+ :maximum => 1,
239
+ :position => 4650
240
+
241
+ #Repriced Line Item Reference Number
242
+ segment Hippo::Segments::REF,
243
+ :name => 'Repriced Line Item Reference Number',
244
+ :minimum => 0,
245
+ :maximum => 1,
246
+ :position => 4700,
247
+ :defaults => {
248
+ 'REF01' => '9B'
249
+ }
250
+
251
+ #Adjusted Repriced Line Item Reference Number
252
+ segment Hippo::Segments::REF,
253
+ :name => 'Adjusted Repriced Line Item Reference Number',
254
+ :minimum => 0,
255
+ :maximum => 1,
256
+ :position => 4710,
257
+ :defaults => {
258
+ 'REF01' => '9D'
259
+ }
260
+
261
+ #Prior Authorization
262
+ segment Hippo::Segments::REF,
263
+ :name => 'Prior Authorization',
264
+ :minimum => 0,
265
+ :maximum => 5,
266
+ :position => 4730,
267
+ :defaults => {
268
+ 'REF01' => 'G1'
269
+ }
270
+
271
+ #Line Item Control Number
272
+ segment Hippo::Segments::REF,
273
+ :name => 'Line Item Control Number',
274
+ :minimum => 0,
275
+ :maximum => 1,
276
+ :position => 47,
277
+ :defaults => {
278
+ 'REF01' => '6R'
279
+ }
280
+
281
+ #Mammography Certification Number
282
+ segment Hippo::Segments::REF,
283
+ :name => 'Mammography Certification Number',
284
+ :minimum => 0,
285
+ :maximum => 1,
286
+ :position => 47,
287
+ :defaults => {
288
+ 'REF01' => 'EW'
289
+ }
290
+
291
+ #Clinical Laboratory Improvement Amendment (CLIA) Number
292
+ segment Hippo::Segments::REF,
293
+ :name => 'Clinical Laboratory Improvement Amendment (CLIA) Number',
294
+ :minimum => 0,
295
+ :maximum => 1,
296
+ :position => 47,
297
+ :defaults => {
298
+ 'REF01' => 'X4'
299
+ }
300
+
301
+ #Referring Clinical Laboratory Improvement Amendment (CLIA) Facility Identification
302
+ segment Hippo::Segments::REF,
303
+ :name => 'Referring Clinical Laboratory Improvement Amendment (CLIA) Facility Identification',
304
+ :minimum => 0,
305
+ :maximum => 1,
306
+ :position => 47,
307
+ :defaults => {
308
+ 'REF01' => 'F4'
309
+ }
310
+
311
+ #Immunization Batch Number
312
+ segment Hippo::Segments::REF,
313
+ :name => 'Immunization Batch Number',
314
+ :minimum => 0,
315
+ :maximum => 1,
316
+ :position => 47,
317
+ :defaults => {
318
+ 'REF01' => 'BT'
319
+ }
320
+
321
+ #Referral Number
322
+ segment Hippo::Segments::REF,
323
+ :name => 'Referral Number',
324
+ :minimum => 0,
325
+ :maximum => 5,
326
+ :position => 47,
327
+ :defaults => {
328
+ 'REF01' => '9F'
329
+ }
330
+
331
+ #Sales Tax Amount
332
+ segment Hippo::Segments::AMT,
333
+ :name => 'Sales Tax Amount',
334
+ :minimum => 0,
335
+ :maximum => 1,
336
+ :position => 4810,
337
+ :defaults => {
338
+ 'AMT01' => 'T'
339
+ }
340
+
341
+ #Postage Claimed Amount
342
+ segment Hippo::Segments::AMT,
343
+ :name => 'Postage Claimed Amount',
344
+ :minimum => 0,
345
+ :maximum => 1,
346
+ :position => 4830,
347
+ :defaults => {
348
+ 'AMT01' => 'F4'
349
+ }
350
+
351
+ #File Information
352
+ segment Hippo::Segments::K3,
353
+ :name => 'File Information',
354
+ :minimum => 0,
355
+ :maximum => 10,
356
+ :position => 4850
357
+
358
+ #Line Note
359
+ segment Hippo::Segments::NTE,
360
+ :name => 'Line Note',
361
+ :minimum => 0,
362
+ :maximum => 1,
363
+ :position => 4860
364
+
365
+ #Third Party Organization Notes
366
+ segment Hippo::Segments::NTE,
367
+ :name => 'Third Party Organization Notes',
368
+ :minimum => 0,
369
+ :maximum => 1,
370
+ :position => 4865,
371
+ :defaults => {
372
+ 'NTE01' => 'TPO'
373
+ }
374
+
375
+ #Purchased Service Information
376
+ segment Hippo::Segments::PS1,
377
+ :name => 'Purchased Service Information',
378
+ :minimum => 0,
379
+ :maximum => 1,
380
+ :position => 4880
381
+
382
+ #Line Pricing/Repricing Information
383
+ segment Hippo::Segments::HCP,
384
+ :name => 'Line Pricing/Repricing Information',
385
+ :minimum => 0,
386
+ :maximum => 1,
387
+ :position => 4920
388
+
389
+ #Drug Identification
390
+ loop Hippo::TransactionSets::HIPAA_837::L2410,
391
+ :name => 'Drug Identification',
392
+ :minimum => 0,
393
+ :maximum => 1,
394
+ :position => 4940
395
+
396
+ #Rendering Provider Name
397
+ loop Hippo::TransactionSets::HIPAA_837::L2420A,
398
+ :name => 'Rendering Provider Name',
399
+ :identified_by => {'NM1.NM101' => '82'},
400
+ :minimum => 0,
401
+ :maximum => 1,
402
+ :position => 5000
403
+
404
+ #Purchased Service Provider Name
405
+ loop Hippo::TransactionSets::HIPAA_837::L2420B,
406
+ :name => 'Purchased Service Provider Name',
407
+ :identified_by => {'NM1.NM101' => 'QB'},
408
+ :minimum => 0,
409
+ :maximum => 1,
410
+ :position => 5000
411
+
412
+ #Service Facility Location Name
413
+ loop Hippo::TransactionSets::HIPAA_837::L2420C,
414
+ :name => 'Service Facility Location Name',
415
+ :identified_by => {'NM1.NM101' => '77'},
416
+ :minimum => 0,
417
+ :maximum => 1,
418
+ :position => 5000
419
+
420
+ #Supervising Provider Name
421
+ loop Hippo::TransactionSets::HIPAA_837::L2420D,
422
+ :name => 'Supervising Provider Name',
423
+ :identified_by => {'NM1.NM101' => 'DQ'},
424
+ :minimum => 0,
425
+ :maximum => 1,
426
+ :position => 5000
427
+
428
+ #Ordering Provider Name
429
+ loop Hippo::TransactionSets::HIPAA_837::L2420E,
430
+ :name => 'Ordering Provider Name',
431
+ :identified_by => {'NM1.NM101' => 'DK'},
432
+ :minimum => 0,
433
+ :maximum => 1,
434
+ :position => 5000
435
+
436
+ #Referring Provider Name
437
+ loop Hippo::TransactionSets::HIPAA_837::L2420F,
438
+ :name => 'Referring Provider Name',
439
+ :minimum => 0,
440
+ :maximum => 2,
441
+ :position => 5000
442
+
443
+ #Ambulance Pick-up Location
444
+ loop Hippo::TransactionSets::HIPAA_837::L2420G,
445
+ :name => 'Ambulance Pick-up Location',
446
+ :identified_by => {'NM1.NM101' => 'PW'},
447
+ :minimum => 0,
448
+ :maximum => 1,
449
+ :position => 5310
450
+
451
+ #Ambulance Drop-off Location
452
+ loop Hippo::TransactionSets::HIPAA_837::L2420H,
453
+ :name => 'Ambulance Drop-off Location',
454
+ :identified_by => {'NM1.NM101' => '45'},
455
+ :minimum => 0,
456
+ :maximum => 1,
457
+ :position => 5380
458
+
459
+ #Line Adjudication Information
460
+ loop Hippo::TransactionSets::HIPAA_837::L2430,
461
+ :name => 'Line Adjudication Information',
462
+ :minimum => 0,
463
+ :maximum => 15,
464
+ :position => 5400
465
+
466
+ #Form Identification Code
467
+ loop Hippo::TransactionSets::HIPAA_837::L2440,
468
+ :name => 'Form Identification Code',
469
+ :minimum => 0,
470
+ :maximum => nil,
471
+ :position => 5510
472
+
473
+ end
474
+ end
475
+ end
@@ -0,0 +1,30 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2410 < Hippo::TransactionSets::Base
5
+ loop_name 'L2410' #Drug Identification
6
+
7
+ #Drug Identification
8
+ segment Hippo::Segments::LIN,
9
+ :name => 'Drug Identification',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 4940
13
+
14
+ #Drug Quantity
15
+ segment Hippo::Segments::CTP,
16
+ :name => 'Drug Quantity',
17
+ :minimum => 1,
18
+ :maximum => 1,
19
+ :position => 4950
20
+
21
+ #Prescription or Compound Drug Association Number
22
+ segment Hippo::Segments::REF,
23
+ :name => 'Prescription or Compound Drug Association Number',
24
+ :minimum => 0,
25
+ :maximum => 1,
26
+ :position => 4960
27
+
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,37 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2420A < Hippo::TransactionSets::Base
5
+ loop_name 'L2420A' #Rendering Provider Name
6
+
7
+ #Rendering Provider Name
8
+ segment Hippo::Segments::NM1,
9
+ :name => 'Rendering Provider Name',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 5000,
13
+ :defaults => {
14
+ 'NM101' => '82'
15
+ }
16
+
17
+ #Rendering Provider Specialty Information
18
+ segment Hippo::Segments::PRV,
19
+ :name => 'Rendering Provider Specialty Information',
20
+ :minimum => 0,
21
+ :maximum => 1,
22
+ :position => 5050,
23
+ :defaults => {
24
+ 'PRV01' => 'PE',
25
+ 'PRV02' => 'PXC'
26
+ }
27
+
28
+ #Rendering Provider Secondary Identification
29
+ segment Hippo::Segments::REF,
30
+ :name => 'Rendering Provider Secondary Identification',
31
+ :minimum => 0,
32
+ :maximum => 20,
33
+ :position => 5250
34
+
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,26 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2420B < Hippo::TransactionSets::Base
5
+ loop_name 'L2420B' #Purchased Service Provider Name
6
+
7
+ #Purchased Service Provider Name
8
+ segment Hippo::Segments::NM1,
9
+ :name => 'Purchased Service Provider Name',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 5000,
13
+ :defaults => {
14
+ 'NM101' => 'QB'
15
+ }
16
+
17
+ #Purchased Service Provider Secondary Identification
18
+ segment Hippo::Segments::REF,
19
+ :name => 'Purchased Service Provider Secondary Identification',
20
+ :minimum => 0,
21
+ :maximum => 20,
22
+ :position => 5250
23
+
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,41 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2420C < Hippo::TransactionSets::Base
5
+ loop_name 'L2420C' #Service Facility Location Name
6
+
7
+ #Service Facility Location Name
8
+ segment Hippo::Segments::NM1,
9
+ :name => 'Service Facility Location Name',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 5000,
13
+ :defaults => {
14
+ 'NM101' => '77',
15
+ 'NM102' => '2'
16
+ }
17
+
18
+ #Service Facility Location Address
19
+ segment Hippo::Segments::N3,
20
+ :name => 'Service Facility Location Address',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 5140
24
+
25
+ #Service Facility Location City, State, ZIP Code
26
+ segment Hippo::Segments::N4,
27
+ :name => 'Service Facility Location City, State, ZIP Code',
28
+ :minimum => 1,
29
+ :maximum => 1,
30
+ :position => 5200
31
+
32
+ #Service Facility Location Secondary Identification
33
+ segment Hippo::Segments::REF,
34
+ :name => 'Service Facility Location Secondary Identification',
35
+ :minimum => 0,
36
+ :maximum => 3,
37
+ :position => 5250
38
+
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,27 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2420D < Hippo::TransactionSets::Base
5
+ loop_name 'L2420D' #Supervising Provider Name
6
+
7
+ #Supervising Provider Name
8
+ segment Hippo::Segments::NM1,
9
+ :name => 'Supervising Provider Name',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 5000,
13
+ :defaults => {
14
+ 'NM101' => 'DQ',
15
+ 'NM102' => '1'
16
+ }
17
+
18
+ #Supervising Provider Secondary Identification
19
+ segment Hippo::Segments::REF,
20
+ :name => 'Supervising Provider Secondary Identification',
21
+ :minimum => 0,
22
+ :maximum => 20,
23
+ :position => 5250
24
+
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,51 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2420E < Hippo::TransactionSets::Base
5
+ loop_name 'L2420E' #Ordering Provider Name
6
+
7
+ #Ordering Provider Name
8
+ segment Hippo::Segments::NM1,
9
+ :name => 'Ordering Provider Name',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 5000,
13
+ :defaults => {
14
+ 'NM101' => 'DK',
15
+ 'NM102' => '1'
16
+ }
17
+
18
+ #Ordering Provider Address
19
+ segment Hippo::Segments::N3,
20
+ :name => 'Ordering Provider Address',
21
+ :minimum => 0,
22
+ :maximum => 1,
23
+ :position => 5140
24
+
25
+ #Ordering Provider City, State, ZIP Code
26
+ segment Hippo::Segments::N4,
27
+ :name => 'Ordering Provider City, State, ZIP Code',
28
+ :minimum => 0,
29
+ :maximum => 1,
30
+ :position => 5200
31
+
32
+ #Ordering Provider Secondary Identification
33
+ segment Hippo::Segments::REF,
34
+ :name => 'Ordering Provider Secondary Identification',
35
+ :minimum => 0,
36
+ :maximum => 20,
37
+ :position => 5250
38
+
39
+ #Ordering Provider Contact Information
40
+ segment Hippo::Segments::PER,
41
+ :name => 'Ordering Provider Contact Information',
42
+ :minimum => 0,
43
+ :maximum => 1,
44
+ :position => 5300,
45
+ :defaults => {
46
+ 'PER01' => 'IC'
47
+ }
48
+
49
+ end
50
+ end
51
+ end