hippo 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. data/CHANGELOG +4 -5
  2. data/README.md +10 -5
  3. data/lib/hippo/parser.rb +19 -9
  4. data/lib/hippo/transaction_sets/HIPAA_276/L2000A.rb +7 -3
  5. data/lib/hippo/transaction_sets/HIPAA_276/L2000B.rb +7 -3
  6. data/lib/hippo/transaction_sets/HIPAA_276/L2000C.rb +7 -3
  7. data/lib/hippo/transaction_sets/HIPAA_276/L2000D.rb +15 -8
  8. data/lib/hippo/transaction_sets/HIPAA_276/L2000E.rb +12 -7
  9. data/lib/hippo/transaction_sets/HIPAA_276/L2100A.rb +3 -2
  10. data/lib/hippo/transaction_sets/HIPAA_276/L2100B.rb +2 -1
  11. data/lib/hippo/transaction_sets/HIPAA_276/L2100C.rb +4 -2
  12. data/lib/hippo/transaction_sets/HIPAA_276/L2100D.rb +4 -2
  13. data/lib/hippo/transaction_sets/HIPAA_276/L2100E.rb +1 -1
  14. data/lib/hippo/transaction_sets/HIPAA_276/L2200D.rb +13 -12
  15. data/lib/hippo/transaction_sets/HIPAA_276/L2200E.rb +13 -12
  16. data/lib/hippo/transaction_sets/HIPAA_276/L2210D.rb +4 -3
  17. data/lib/hippo/transaction_sets/HIPAA_276/L2210E.rb +4 -3
  18. data/lib/hippo/transaction_sets/HIPAA_276/base.rb +31 -27
  19. data/lib/hippo/transaction_sets/HIPAA_277/L2000A.rb +11 -4
  20. data/lib/hippo/transaction_sets/HIPAA_277/L2000B.rb +13 -6
  21. data/lib/hippo/transaction_sets/HIPAA_277/L2000C.rb +13 -6
  22. data/lib/hippo/transaction_sets/HIPAA_277/L2000D.rb +12 -6
  23. data/lib/hippo/transaction_sets/HIPAA_277/L2000E.rb +11 -6
  24. data/lib/hippo/transaction_sets/HIPAA_277/L2100A.rb +4 -2
  25. data/lib/hippo/transaction_sets/HIPAA_277/L2100B.rb +2 -1
  26. data/lib/hippo/transaction_sets/HIPAA_277/L2100C.rb +4 -2
  27. data/lib/hippo/transaction_sets/HIPAA_277/L2100D.rb +3 -2
  28. data/lib/hippo/transaction_sets/HIPAA_277/L2100E.rb +1 -1
  29. data/lib/hippo/transaction_sets/HIPAA_277/L2200A.rb +3 -3
  30. data/lib/hippo/transaction_sets/HIPAA_277/L2200B.rb +10 -7
  31. data/lib/hippo/transaction_sets/HIPAA_277/L2200C.rb +14 -8
  32. data/lib/hippo/transaction_sets/HIPAA_277/L2200D.rb +13 -9
  33. data/lib/hippo/transaction_sets/HIPAA_277/L2200E.rb +12 -11
  34. data/lib/hippo/transaction_sets/HIPAA_277/L2220D.rb +7 -6
  35. data/lib/hippo/transaction_sets/HIPAA_277/L2220E.rb +5 -4
  36. data/lib/hippo/transaction_sets/HIPAA_277/base.rb +23 -20
  37. data/lib/hippo/transaction_sets/HIPAA_835/L1000A.rb +9 -6
  38. data/lib/hippo/transaction_sets/HIPAA_835/L1000B.rb +12 -5
  39. data/lib/hippo/transaction_sets/HIPAA_835/L2000.rb +6 -2
  40. data/lib/hippo/transaction_sets/HIPAA_835/L2100.rb +55 -24
  41. data/lib/hippo/transaction_sets/HIPAA_835/L2110.rb +30 -9
  42. data/lib/hippo/transaction_sets/HIPAA_835/base.rb +23 -13
  43. data/lib/hippo/transaction_sets/HIPAA_837/L1000A.rb +5 -3
  44. data/lib/hippo/transaction_sets/HIPAA_837/L1000B.rb +1 -1
  45. data/lib/hippo/transaction_sets/HIPAA_837/L2000A.rb +30 -9
  46. data/lib/hippo/transaction_sets/HIPAA_837/L2000B.rb +42 -7
  47. data/lib/hippo/transaction_sets/HIPAA_837/L2000C.rb +17 -5
  48. data/lib/hippo/transaction_sets/HIPAA_837/L2010AA.rb +14 -6
  49. data/lib/hippo/transaction_sets/HIPAA_837/L2010AB.rb +3 -2
  50. data/lib/hippo/transaction_sets/HIPAA_837/L2010AC.rb +8 -4
  51. data/lib/hippo/transaction_sets/HIPAA_837/L2010BA.rb +9 -7
  52. data/lib/hippo/transaction_sets/HIPAA_837/L2010BB.rb +11 -4
  53. data/lib/hippo/transaction_sets/HIPAA_837/L2010CA.rb +10 -6
  54. data/lib/hippo/transaction_sets/HIPAA_837/L2300.rb +116 -56
  55. data/lib/hippo/transaction_sets/HIPAA_837/L2310A.rb +6 -2
  56. data/lib/hippo/transaction_sets/HIPAA_837/L2310B.rb +8 -4
  57. data/lib/hippo/transaction_sets/HIPAA_837/L2310C.rb +6 -3
  58. data/lib/hippo/transaction_sets/HIPAA_837/L2310D.rb +5 -2
  59. data/lib/hippo/transaction_sets/HIPAA_837/L2310E.rb +1 -1
  60. data/lib/hippo/transaction_sets/HIPAA_837/L2310F.rb +1 -1
  61. data/lib/hippo/transaction_sets/HIPAA_837/L2320.rb +54 -19
  62. data/lib/hippo/transaction_sets/HIPAA_837/L2330A.rb +5 -3
  63. data/lib/hippo/transaction_sets/HIPAA_837/L2330B.rb +12 -8
  64. data/lib/hippo/transaction_sets/HIPAA_837/L2330C.rb +6 -2
  65. data/lib/hippo/transaction_sets/HIPAA_837/L2330D.rb +7 -3
  66. data/lib/hippo/transaction_sets/HIPAA_837/L2330E.rb +5 -2
  67. data/lib/hippo/transaction_sets/HIPAA_837/L2330F.rb +5 -2
  68. data/lib/hippo/transaction_sets/HIPAA_837/L2330G.rb +7 -3
  69. data/lib/hippo/transaction_sets/HIPAA_837/L2400.rb +122 -60
  70. data/lib/hippo/transaction_sets/HIPAA_837/L2410.rb +8 -2
  71. data/lib/hippo/transaction_sets/HIPAA_837/L2420A.rb +8 -4
  72. data/lib/hippo/transaction_sets/HIPAA_837/L2420B.rb +7 -3
  73. data/lib/hippo/transaction_sets/HIPAA_837/L2420C.rb +5 -2
  74. data/lib/hippo/transaction_sets/HIPAA_837/L2420D.rb +5 -2
  75. data/lib/hippo/transaction_sets/HIPAA_837/L2420E.rb +8 -4
  76. data/lib/hippo/transaction_sets/HIPAA_837/L2420F.rb +6 -2
  77. data/lib/hippo/transaction_sets/HIPAA_837/L2420G.rb +1 -1
  78. data/lib/hippo/transaction_sets/HIPAA_837/L2420H.rb +1 -1
  79. data/lib/hippo/transaction_sets/HIPAA_837/L2430.rb +6 -3
  80. data/lib/hippo/transaction_sets/HIPAA_837/L2440.rb +4 -1
  81. data/lib/hippo/transaction_sets/HIPAA_837/base.rb +23 -32
  82. data/lib/hippo/transaction_sets/HIPAA_999/L2000AK2.rb +9 -3
  83. data/lib/hippo/transaction_sets/HIPAA_999/L2100AK2.rb +9 -3
  84. data/lib/hippo/transaction_sets/HIPAA_999/L2110AK2.rb +4 -1
  85. data/lib/hippo/transaction_sets/HIPAA_999/base.rb +6 -3
  86. data/lib/hippo/transaction_sets/base.rb +87 -72
  87. data/lib/hippo/transaction_sets/component.rb +80 -0
  88. data/lib/hippo/transaction_sets/repeating_component.rb +30 -0
  89. data/lib/hippo/transaction_sets.rb +8 -6
  90. data/lib/hippo/version.rb +1 -1
  91. data/samples/005010X221A1_business_scenario_1.edi +1 -0
  92. data/samples/005010X221A1_tmhp_example.edi +1 -0
  93. data/samples/005010X222A1_anesthesia.edi +1 -0
  94. data/samples/005010X222A1_commercial_health_insurance.edi +1 -0
  95. data/test/test_helper.rb +6 -6
  96. data/test/test_hipaa_835.rb +229 -0
  97. data/test/test_hipaa_837.rb +263 -63
  98. data/test/test_parser.rb +26 -0
  99. data/test/test_segments_base.rb +1 -1
  100. data/test/test_transaction_sets_base.rb +21 -1
  101. metadata +17 -16
  102. data/bin/demo_270.rb +0 -280
  103. data/bin/demo_276.rb +0 -296
  104. data/bin/demo_835.rb +0 -170
  105. data/lib/hippo/samples/835.edi +0 -88
  106. data/lib/hippo/samples/sample_835_with.rb +0 -272
  107. data/lib/hippo/samples/sample_parsed.rb +0 -1162
@@ -9,7 +9,13 @@ module Hippo::TransactionSets
9
9
  :name => 'Claim Information',
10
10
  :minimum => 1,
11
11
  :maximum => 1,
12
- :position => 1300
12
+ :position => 1300,
13
+ :identified_by => {
14
+ 'CLM06' => ["N", "Y"],
15
+ 'CLM07' => ["A", "B", "C"],
16
+ 'CLM08' => ["N", "W", "Y"],
17
+ 'CLM09' => ["I", "Y"]
18
+ }
13
19
 
14
20
  #Date - Onset of Current Illness or Symptom
15
21
  segment Hippo::Segments::DTP,
@@ -17,7 +23,7 @@ module Hippo::TransactionSets
17
23
  :minimum => 0,
18
24
  :maximum => 1,
19
25
  :position => 1350,
20
- :defaults => {
26
+ :identified_by => {
21
27
  'DTP01' => '431',
22
28
  'DTP02' => 'D8'
23
29
  }
@@ -28,7 +34,7 @@ module Hippo::TransactionSets
28
34
  :minimum => 0,
29
35
  :maximum => 1,
30
36
  :position => 1370,
31
- :defaults => {
37
+ :identified_by => {
32
38
  'DTP01' => '454',
33
39
  'DTP02' => 'D8'
34
40
  }
@@ -39,7 +45,7 @@ module Hippo::TransactionSets
39
45
  :minimum => 0,
40
46
  :maximum => 1,
41
47
  :position => 1390,
42
- :defaults => {
48
+ :identified_by => {
43
49
  'DTP01' => '304',
44
50
  'DTP02' => 'D8'
45
51
  }
@@ -50,7 +56,7 @@ module Hippo::TransactionSets
50
56
  :minimum => 0,
51
57
  :maximum => 1,
52
58
  :position => 13,
53
- :defaults => {
59
+ :identified_by => {
54
60
  'DTP01' => '453',
55
61
  'DTP02' => 'D8'
56
62
  }
@@ -61,7 +67,7 @@ module Hippo::TransactionSets
61
67
  :minimum => 0,
62
68
  :maximum => 1,
63
69
  :position => 13,
64
- :defaults => {
70
+ :identified_by => {
65
71
  'DTP01' => '439',
66
72
  'DTP02' => 'D8'
67
73
  }
@@ -72,7 +78,7 @@ module Hippo::TransactionSets
72
78
  :minimum => 0,
73
79
  :maximum => 1,
74
80
  :position => 13,
75
- :defaults => {
81
+ :identified_by => {
76
82
  'DTP01' => '484',
77
83
  'DTP02' => 'D8'
78
84
  }
@@ -83,7 +89,7 @@ module Hippo::TransactionSets
83
89
  :minimum => 0,
84
90
  :maximum => 1,
85
91
  :position => 13,
86
- :defaults => {
92
+ :identified_by => {
87
93
  'DTP01' => '455',
88
94
  'DTP02' => 'D8'
89
95
  }
@@ -94,7 +100,7 @@ module Hippo::TransactionSets
94
100
  :minimum => 0,
95
101
  :maximum => 1,
96
102
  :position => 13,
97
- :defaults => {
103
+ :identified_by => {
98
104
  'DTP01' => '471',
99
105
  'DTP02' => 'D8'
100
106
  }
@@ -104,7 +110,11 @@ module Hippo::TransactionSets
104
110
  :name => 'Date - Disability Dates',
105
111
  :minimum => 0,
106
112
  :maximum => 1,
107
- :position => 13
113
+ :position => 13,
114
+ :identified_by => {
115
+ 'DTP01' => ["314", "360", "361"],
116
+ 'DTP02' => ["D8", "RD8"]
117
+ }
108
118
 
109
119
  #Date - Last Worked
110
120
  segment Hippo::Segments::DTP,
@@ -112,7 +122,7 @@ module Hippo::TransactionSets
112
122
  :minimum => 0,
113
123
  :maximum => 1,
114
124
  :position => 13,
115
- :defaults => {
125
+ :identified_by => {
116
126
  'DTP01' => '297',
117
127
  'DTP02' => 'D8'
118
128
  }
@@ -123,7 +133,7 @@ module Hippo::TransactionSets
123
133
  :minimum => 0,
124
134
  :maximum => 1,
125
135
  :position => 13,
126
- :defaults => {
136
+ :identified_by => {
127
137
  'DTP01' => '296',
128
138
  'DTP02' => 'D8'
129
139
  }
@@ -134,7 +144,7 @@ module Hippo::TransactionSets
134
144
  :minimum => 0,
135
145
  :maximum => 1,
136
146
  :position => 13,
137
- :defaults => {
147
+ :identified_by => {
138
148
  'DTP01' => '435',
139
149
  'DTP02' => 'D8'
140
150
  }
@@ -145,7 +155,7 @@ module Hippo::TransactionSets
145
155
  :minimum => 0,
146
156
  :maximum => 1,
147
157
  :position => 13,
148
- :defaults => {
158
+ :identified_by => {
149
159
  'DTP01' => '096',
150
160
  'DTP02' => 'D8'
151
161
  }
@@ -156,7 +166,8 @@ module Hippo::TransactionSets
156
166
  :minimum => 0,
157
167
  :maximum => 2,
158
168
  :position => 13,
159
- :defaults => {
169
+ :identified_by => {
170
+ 'DTP01' => ["090", "091"],
160
171
  'DTP02' => 'D8'
161
172
  }
162
173
 
@@ -166,7 +177,7 @@ module Hippo::TransactionSets
166
177
  :minimum => 0,
167
178
  :maximum => 1,
168
179
  :position => 13,
169
- :defaults => {
180
+ :identified_by => {
170
181
  'DTP01' => '444',
171
182
  'DTP02' => 'D8'
172
183
  }
@@ -177,7 +188,7 @@ module Hippo::TransactionSets
177
188
  :minimum => 0,
178
189
  :maximum => 1,
179
190
  :position => 13,
180
- :defaults => {
191
+ :identified_by => {
181
192
  'DTP01' => '050',
182
193
  'DTP02' => 'D8'
183
194
  }
@@ -187,14 +198,21 @@ module Hippo::TransactionSets
187
198
  :name => 'Claim Supplemental Information',
188
199
  :minimum => 0,
189
200
  :maximum => 10,
190
- :position => 1550
201
+ :position => 1550,
202
+ :identified_by => {
203
+ 'PWK01' => ["03", "04", "05", "06", "07", "08", "09", "10", "11", "13", "15", "21", "A3", "A4", "AM", "AS", "B2", "B3", "B4", "BR", "BS", "BT", "CB", "CK", "CT", "D2", "DA", "DB", "DG", "DJ", "DS", "EB", "HC", "HR", "I5", "IR", "LA", "M1", "MT", "NN", "OB", "OC", "OD", "OE", "OX", "OZ", "P4", "P5", "PE", "PN", "PO", "PQ", "PY", "PZ", "RB", "RR", "RT", "RX", "SG", "V5", "XP"],
204
+ 'PWK02' => ["AA", "BM", "EL", "EM", "FT", "FX"]
205
+ }
191
206
 
192
207
  #Contract Information
193
208
  segment Hippo::Segments::CN1,
194
209
  :name => 'Contract Information',
195
210
  :minimum => 0,
196
211
  :maximum => 1,
197
- :position => 1600
212
+ :position => 1600,
213
+ :identified_by => {
214
+ 'CN101' => ["01", "02", "03", "04", "05", "06", "09"]
215
+ }
198
216
 
199
217
  #Patient Amount Paid
200
218
  segment Hippo::Segments::AMT,
@@ -202,7 +220,7 @@ module Hippo::TransactionSets
202
220
  :minimum => 0,
203
221
  :maximum => 1,
204
222
  :position => 1760,
205
- :defaults => {
223
+ :identified_by => {
206
224
  'AMT01' => 'F5'
207
225
  }
208
226
 
@@ -212,7 +230,7 @@ module Hippo::TransactionSets
212
230
  :minimum => 0,
213
231
  :maximum => 1,
214
232
  :position => 17,
215
- :defaults => {
233
+ :identified_by => {
216
234
  'REF01' => '4N'
217
235
  }
218
236
 
@@ -222,7 +240,7 @@ module Hippo::TransactionSets
222
240
  :minimum => 0,
223
241
  :maximum => 1,
224
242
  :position => 17,
225
- :defaults => {
243
+ :identified_by => {
226
244
  'REF01' => 'F5'
227
245
  }
228
246
 
@@ -232,7 +250,7 @@ module Hippo::TransactionSets
232
250
  :minimum => 0,
233
251
  :maximum => 1,
234
252
  :position => 17,
235
- :defaults => {
253
+ :identified_by => {
236
254
  'REF01' => 'EW'
237
255
  }
238
256
 
@@ -242,7 +260,7 @@ module Hippo::TransactionSets
242
260
  :minimum => 0,
243
261
  :maximum => 1,
244
262
  :position => 17,
245
- :defaults => {
263
+ :identified_by => {
246
264
  'REF01' => '9F'
247
265
  }
248
266
 
@@ -252,7 +270,7 @@ module Hippo::TransactionSets
252
270
  :minimum => 0,
253
271
  :maximum => 1,
254
272
  :position => 1800,
255
- :defaults => {
273
+ :identified_by => {
256
274
  'REF01' => 'G1'
257
275
  }
258
276
 
@@ -262,7 +280,7 @@ module Hippo::TransactionSets
262
280
  :minimum => 0,
263
281
  :maximum => 1,
264
282
  :position => 1810,
265
- :defaults => {
283
+ :identified_by => {
266
284
  'REF01' => 'F8'
267
285
  }
268
286
 
@@ -272,7 +290,7 @@ module Hippo::TransactionSets
272
290
  :minimum => 0,
273
291
  :maximum => 1,
274
292
  :position => 1820,
275
- :defaults => {
293
+ :identified_by => {
276
294
  'REF01' => 'X4'
277
295
  }
278
296
 
@@ -282,7 +300,7 @@ module Hippo::TransactionSets
282
300
  :minimum => 0,
283
301
  :maximum => 1,
284
302
  :position => 1830,
285
- :defaults => {
303
+ :identified_by => {
286
304
  'REF01' => '9A'
287
305
  }
288
306
 
@@ -292,7 +310,7 @@ module Hippo::TransactionSets
292
310
  :minimum => 0,
293
311
  :maximum => 1,
294
312
  :position => 1840,
295
- :defaults => {
313
+ :identified_by => {
296
314
  'REF01' => '9C'
297
315
  }
298
316
 
@@ -302,7 +320,7 @@ module Hippo::TransactionSets
302
320
  :minimum => 0,
303
321
  :maximum => 1,
304
322
  :position => 1850,
305
- :defaults => {
323
+ :identified_by => {
306
324
  'REF01' => 'LX'
307
325
  }
308
326
 
@@ -312,7 +330,7 @@ module Hippo::TransactionSets
312
330
  :minimum => 0,
313
331
  :maximum => 1,
314
332
  :position => 1860,
315
- :defaults => {
333
+ :identified_by => {
316
334
  'REF01' => 'D9'
317
335
  }
318
336
 
@@ -322,7 +340,7 @@ module Hippo::TransactionSets
322
340
  :minimum => 0,
323
341
  :maximum => 1,
324
342
  :position => 1890,
325
- :defaults => {
343
+ :identified_by => {
326
344
  'REF01' => 'EA'
327
345
  }
328
346
 
@@ -332,7 +350,7 @@ module Hippo::TransactionSets
332
350
  :minimum => 0,
333
351
  :maximum => 1,
334
352
  :position => 18,
335
- :defaults => {
353
+ :identified_by => {
336
354
  'REF01' => 'P4'
337
355
  }
338
356
 
@@ -342,7 +360,7 @@ module Hippo::TransactionSets
342
360
  :minimum => 0,
343
361
  :maximum => 1,
344
362
  :position => 18,
345
- :defaults => {
363
+ :identified_by => {
346
364
  'REF01' => '1J'
347
365
  }
348
366
 
@@ -358,7 +376,10 @@ module Hippo::TransactionSets
358
376
  :name => 'Claim Note',
359
377
  :minimum => 0,
360
378
  :maximum => 1,
361
- :position => 1900
379
+ :position => 1900,
380
+ :identified_by => {
381
+ 'NTE01' => ["ADD", "CER", "DCP", "DGN", "TPO"]
382
+ }
362
383
 
363
384
  #Ambulance Transport Information
364
385
  segment Hippo::Segments::CR1,
@@ -366,7 +387,8 @@ module Hippo::TransactionSets
366
387
  :minimum => 0,
367
388
  :maximum => 1,
368
389
  :position => 1950,
369
- :defaults => {
390
+ :identified_by => {
391
+ 'CR104' => ["A", "B", "C", "D", "E"],
370
392
  'CR105' => 'DH'
371
393
  }
372
394
 
@@ -375,7 +397,10 @@ module Hippo::TransactionSets
375
397
  :name => 'Spinal Manipulation Service Information',
376
398
  :minimum => 0,
377
399
  :maximum => 1,
378
- :position => 2000
400
+ :position => 2000,
401
+ :identified_by => {
402
+ 'CR208' => ["A", "C", "D", "E", "F", "G", "M"]
403
+ }
379
404
 
380
405
  #Ambulance Certification
381
406
  segment Hippo::Segments::CRC,
@@ -383,8 +408,10 @@ module Hippo::TransactionSets
383
408
  :minimum => 0,
384
409
  :maximum => 3,
385
410
  :position => 2200,
386
- :defaults => {
387
- 'CRC01' => '07'
411
+ :identified_by => {
412
+ 'CRC01' => '07',
413
+ 'CRC02' => ["N", "Y"],
414
+ 'CRC03' => ["01", "04", "05", "06", "07", "08", "09", "12"]
388
415
  }
389
416
 
390
417
  #Patient Condition Information: Vision
@@ -392,7 +419,12 @@ module Hippo::TransactionSets
392
419
  :name => 'Patient Condition Information: Vision',
393
420
  :minimum => 0,
394
421
  :maximum => 3,
395
- :position => 2210
422
+ :position => 2210,
423
+ :identified_by => {
424
+ 'CRC01' => ["E1", "E2", "E3"],
425
+ 'CRC02' => ["N", "Y"],
426
+ 'CRC03' => ["L1", "L2", "L3", "L4", "L5"]
427
+ }
396
428
 
397
429
  #Homebound Indicator
398
430
  segment Hippo::Segments::CRC,
@@ -400,7 +432,7 @@ module Hippo::TransactionSets
400
432
  :minimum => 0,
401
433
  :maximum => 1,
402
434
  :position => 2220,
403
- :defaults => {
435
+ :identified_by => {
404
436
  'CRC01' => '75',
405
437
  'CRC02' => 'Y',
406
438
  'CRC03' => 'IH'
@@ -412,8 +444,10 @@ module Hippo::TransactionSets
412
444
  :minimum => 0,
413
445
  :maximum => 1,
414
446
  :position => 2230,
415
- :defaults => {
416
- 'CRC01' => 'ZZ'
447
+ :identified_by => {
448
+ 'CRC01' => 'ZZ',
449
+ 'CRC02' => ["N", "Y"],
450
+ 'CRC03' => ["AV", "NU", "S2", "ST"]
417
451
  }
418
452
 
419
453
  #Health Care Diagnosis Code
@@ -442,61 +476,87 @@ module Hippo::TransactionSets
442
476
  :name => 'Claim Pricing/Repricing Information',
443
477
  :minimum => 0,
444
478
  :maximum => 1,
445
- :position => 2410
479
+ :position => 2410,
480
+ :identified_by => {
481
+ 'HCP01' => ["00", "01", "02", "03", "04", "05", "07", "08", "09", "10", "11", "12", "13", "14"]
482
+ }
446
483
 
447
484
  #Referring Provider Name
448
485
  loop Hippo::TransactionSets::HIPAA_837::L2310A,
449
486
  :name => 'Referring Provider Name',
450
487
  :minimum => 0,
451
488
  :maximum => 2,
452
- :position => 2500
489
+ :position => 2500,
490
+ :identified_by => {
491
+ 'NM1.NM101' => ["DN", "P3"],
492
+ 'NM1.NM102' => '1'
493
+ }
453
494
 
454
495
  #Rendering Provider Name
455
496
  loop Hippo::TransactionSets::HIPAA_837::L2310B,
456
497
  :name => 'Rendering Provider Name',
457
- :identified_by => {'NM1.NM101' => '82'},
458
498
  :minimum => 0,
459
499
  :maximum => 1,
460
- :position => 2500
500
+ :position => 2500,
501
+ :identified_by => {
502
+ 'NM1.NM101' => '82',
503
+ 'NM1.NM102' => ["1", "2"]
504
+ }
461
505
 
462
506
  #Service Facility Location Name
463
507
  loop Hippo::TransactionSets::HIPAA_837::L2310C,
464
508
  :name => 'Service Facility Location Name',
465
- :identified_by => {'NM1.NM101' => '77'},
466
509
  :minimum => 0,
467
510
  :maximum => 1,
468
- :position => 2500
511
+ :position => 2500,
512
+ :identified_by => {
513
+ 'NM1.NM101' => '77',
514
+ 'NM1.NM102' => '2'
515
+ }
469
516
 
470
517
  #Supervising Provider Name
471
518
  loop Hippo::TransactionSets::HIPAA_837::L2310D,
472
519
  :name => 'Supervising Provider Name',
473
- :identified_by => {'NM1.NM101' => 'DQ'},
474
520
  :minimum => 0,
475
521
  :maximum => 1,
476
- :position => 2500
522
+ :position => 2500,
523
+ :identified_by => {
524
+ 'NM1.NM101' => 'DQ',
525
+ 'NM1.NM102' => '1'
526
+ }
477
527
 
478
528
  #Ambulance Pick-up Location
479
529
  loop Hippo::TransactionSets::HIPAA_837::L2310E,
480
530
  :name => 'Ambulance Pick-up Location',
481
- :identified_by => {'NM1.NM101' => 'PW'},
482
531
  :minimum => 0,
483
532
  :maximum => 1,
484
- :position => 2500
533
+ :position => 2500,
534
+ :identified_by => {
535
+ 'NM1.NM101' => 'PW',
536
+ 'NM1.NM102' => '2'
537
+ }
485
538
 
486
539
  #Ambulance Drop-off Location
487
540
  loop Hippo::TransactionSets::HIPAA_837::L2310F,
488
541
  :name => 'Ambulance Drop-off Location',
489
- :identified_by => {'NM1.NM101' => '45'},
490
542
  :minimum => 0,
491
543
  :maximum => 1,
492
- :position => 2500
544
+ :position => 2500,
545
+ :identified_by => {
546
+ 'NM1.NM101' => '45',
547
+ 'NM1.NM102' => '2'
548
+ }
493
549
 
494
550
  #Other Subscriber Information
495
551
  loop Hippo::TransactionSets::HIPAA_837::L2320,
496
552
  :name => 'Other Subscriber Information',
497
553
  :minimum => 0,
498
554
  :maximum => 10,
499
- :position => 2900
555
+ :position => 2900,
556
+ :identified_by => {
557
+ 'SBR.SBR01' => ["A", "B", "C", "D", "E", "F", "G", "H", "P", "S", "T", "U"],
558
+ 'SBR.SBR02' => ["01", "18", "19", "20", "21", "39", "40", "53", "G8"]
559
+ }
500
560
 
501
561
  #Service Line Number
502
562
  loop Hippo::TransactionSets::HIPAA_837::L2400,
@@ -10,7 +10,8 @@ module Hippo::TransactionSets
10
10
  :minimum => 0,
11
11
  :maximum => 1,
12
12
  :position => 2500,
13
- :defaults => {
13
+ :identified_by => {
14
+ 'NM101' => ["DN", "P3"],
14
15
  'NM102' => '1'
15
16
  }
16
17
 
@@ -19,7 +20,10 @@ module Hippo::TransactionSets
19
20
  :name => 'Referring Provider Secondary Identification',
20
21
  :minimum => 0,
21
22
  :maximum => 3,
22
- :position => 2710
23
+ :position => 2710,
24
+ :identified_by => {
25
+ 'REF01' => ["0B", "1G", "G2"]
26
+ }
23
27
 
24
28
  end
25
29
  end
@@ -10,8 +10,9 @@ module Hippo::TransactionSets
10
10
  :minimum => 0,
11
11
  :maximum => 1,
12
12
  :position => 2500,
13
- :defaults => {
14
- 'NM101' => '82'
13
+ :identified_by => {
14
+ 'NM101' => '82',
15
+ 'NM102' => ["1", "2"]
15
16
  }
16
17
 
17
18
  #Rendering Provider Specialty Information
@@ -20,7 +21,7 @@ module Hippo::TransactionSets
20
21
  :minimum => 0,
21
22
  :maximum => 1,
22
23
  :position => 2550,
23
- :defaults => {
24
+ :identified_by => {
24
25
  'PRV01' => 'PE',
25
26
  'PRV02' => 'PXC'
26
27
  }
@@ -30,7 +31,10 @@ module Hippo::TransactionSets
30
31
  :name => 'Rendering Provider Secondary Identification',
31
32
  :minimum => 0,
32
33
  :maximum => 4,
33
- :position => 2710
34
+ :position => 2710,
35
+ :identified_by => {
36
+ 'REF01' => ["0B", "1G", "G2", "LU"]
37
+ }
34
38
 
35
39
  end
36
40
  end
@@ -10,7 +10,7 @@ module Hippo::TransactionSets
10
10
  :minimum => 0,
11
11
  :maximum => 1,
12
12
  :position => 2500,
13
- :defaults => {
13
+ :identified_by => {
14
14
  'NM101' => '77',
15
15
  'NM102' => '2'
16
16
  }
@@ -34,7 +34,10 @@ module Hippo::TransactionSets
34
34
  :name => 'Service Facility Location Secondary Identification',
35
35
  :minimum => 0,
36
36
  :maximum => 3,
37
- :position => 2710
37
+ :position => 2710,
38
+ :identified_by => {
39
+ 'REF01' => ["0B", "G2", "LU"]
40
+ }
38
41
 
39
42
  #Service Facility Contact Information
40
43
  segment Hippo::Segments::PER,
@@ -42,7 +45,7 @@ module Hippo::TransactionSets
42
45
  :minimum => 0,
43
46
  :maximum => 1,
44
47
  :position => 2750,
45
- :defaults => {
48
+ :identified_by => {
46
49
  'PER01' => 'IC',
47
50
  'PER03' => 'TE'
48
51
  }
@@ -10,7 +10,7 @@ module Hippo::TransactionSets
10
10
  :minimum => 0,
11
11
  :maximum => 1,
12
12
  :position => 2500,
13
- :defaults => {
13
+ :identified_by => {
14
14
  'NM101' => 'DQ',
15
15
  'NM102' => '1'
16
16
  }
@@ -20,7 +20,10 @@ module Hippo::TransactionSets
20
20
  :name => 'Supervising Provider Secondary Identification',
21
21
  :minimum => 0,
22
22
  :maximum => 4,
23
- :position => 2710
23
+ :position => 2710,
24
+ :identified_by => {
25
+ 'REF01' => ["0B", "1G", "G2", "LU"]
26
+ }
24
27
 
25
28
  end
26
29
  end
@@ -10,7 +10,7 @@ module Hippo::TransactionSets
10
10
  :minimum => 0,
11
11
  :maximum => 1,
12
12
  :position => 2500,
13
- :defaults => {
13
+ :identified_by => {
14
14
  'NM101' => 'PW',
15
15
  'NM102' => '2'
16
16
  }
@@ -10,7 +10,7 @@ module Hippo::TransactionSets
10
10
  :minimum => 0,
11
11
  :maximum => 1,
12
12
  :position => 2500,
13
- :defaults => {
13
+ :identified_by => {
14
14
  'NM101' => '45',
15
15
  'NM102' => '2'
16
16
  }