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
data/CHANGELOG CHANGED
@@ -1,9 +1,8 @@
1
- 0.0.3 - Pending
1
+ 0.0.5 - 2011/09/16
2
+ * Add ability to parse transaction sets.
3
+
4
+ 0.0.4
2
5
  * Fix issue when no values are set in any subfield of a composite field.
3
6
  * Add more segment tests.
4
-
5
- 0.0.2 - 2011-09-06
6
7
  * Import all segments and loops from the X12 CSV Table Data
7
-
8
- 0.0.1 - 2011-02-05
9
8
  * Intial version.
data/README.md CHANGED
@@ -31,7 +31,7 @@ Usage
31
31
  This is very straight forward. Basically, create an instance of the
32
32
  transaction set that you will be working with, and start filling in the
33
33
  loops, segments, and fields. For a complete example from the 222A1 (837-P) implementation
34
- guide please review [test/test_hipaa_837.rb](/promedical/hippo/test/test_hipaa_837.rb).
34
+ guide please review [test/test_hipaa_837.rb](/promedical/hippo/blob/master/test/test_hipaa_837.rb).
35
35
 
36
36
  Below is a small sample of how to create a transaction set.
37
37
 
@@ -68,9 +68,14 @@ Below is a small sample of how to create a transaction set.
68
68
  end
69
69
 
70
70
  puts ts.to_s
71
-
72
- => "ST*837*0021*005010X222A1~BHT*0019*00*244579*20061015*1023*CH~NM1*41*2*PREMIER BILLING SERVICE*****46*TGJ23~PER*IC*JERRY*TE*3055552222*EX*231~"
73
- ```
71
+
72
+ # Below is the output of ts.to_s (split onto separate lines for readability)
73
+ #
74
+ # ST*837*0021*005010X222A1~
75
+ # BHT*0019*00*244579*20061015*1023*CH~
76
+ # NM1*41*2*PREMIER BILLING SERVICE*****46*TGJ23~
77
+ # PER*IC*JERRY*TE*3055552222*EX*231~
78
+ ```
74
79
 
75
80
  Transaction Set/Loop and Segment DSL
76
81
  ------------------------------------
@@ -224,4 +229,4 @@ The same technique can be used to reference fields within a segment that have th
224
229
  # ts.to_s => 'TSS*Blah*Bar***Value1*Value2~TCS*Foo**Preset Field 7~TSS*Last Segment*Baz~'
225
230
  ```
226
231
 
227
- For more example please review the test suite.
232
+ For more example please review the test suite.
data/lib/hippo/parser.rb CHANGED
@@ -3,8 +3,6 @@ require 'hippo'
3
3
 
4
4
  module Hippo
5
5
  class Parser
6
- attr_accessor :raw_data, :segments, :output
7
-
8
6
  def segments
9
7
  @segments ||= []
10
8
  end
@@ -34,16 +32,16 @@ module Hippo
34
32
 
35
33
  # create a new segment object based on the identifier
36
34
  segment = Hippo::Segments.const_get(segment_identifier.upcase).new
37
-
35
+
38
36
  # populate each field from the original input
39
37
  fields.each_with_index do |value, index|
40
38
  field = segment.class.fields[index]
41
-
39
+
42
40
  # if the field is an array that means it is a
43
41
  # composite field
44
42
  if field.class == Array
45
43
  composite_fields = value.split(Hippo::CompositeSeparator)
46
-
44
+
47
45
  # initialize the values hash with a hash for this
48
46
  # composite field
49
47
  segment.values[index] = {}
@@ -58,22 +56,34 @@ module Hippo
58
56
  segment.values[field.sequence] = value
59
57
  end
60
58
  end
61
-
59
+
62
60
  # save the newly created segment to the segments accessor
63
61
  segments << segment
64
62
  end
63
+
64
+ segments
65
65
  end
66
66
 
67
- def parse_segments
67
+ def populate_transaction_sets
68
+ segments_by_transaction_set = []
69
+
68
70
  @segments.each do |segment|
69
- puts segment.to_s
71
+ if segment.class == Hippo::Segments::ST
72
+ segments_by_transaction_set << []
73
+ end
74
+
75
+ segments_by_transaction_set.last << segment if segments_by_transaction_set.last
76
+ end
77
+
78
+ segments_by_transaction_set.collect do |transaction_segments|
79
+ Hippo::TransactionSets.const_get(:"HIPAA_#{transaction_segments.first.ST01}")::Base.new(:segments => transaction_segments)
70
80
  end
71
81
  end
72
82
 
73
83
  def parse(filename)
74
84
  read_file(filename)
75
85
  populate_segments
76
- parse_segments
86
+ populate_transaction_sets
77
87
  end
78
88
  end
79
89
  end
@@ -10,7 +10,7 @@ module Hippo::TransactionSets
10
10
  :minimum => 1,
11
11
  :maximum => 1,
12
12
  :position => 100,
13
- :defaults => {
13
+ :identified_by => {
14
14
  'HL03' => '20',
15
15
  'HL04' => '1'
16
16
  }
@@ -18,10 +18,14 @@ module Hippo::TransactionSets
18
18
  #Payer Name
19
19
  loop Hippo::TransactionSets::HIPAA_276::L2100A,
20
20
  :name => 'Payer Name',
21
- :identified_by => {'NM1.NM101' => 'PR'},
22
21
  :minimum => 1,
23
22
  :maximum => 1,
24
- :position => 500
23
+ :position => 500,
24
+ :identified_by => {
25
+ 'NM1.NM101' => 'PR',
26
+ 'NM1.NM102' => '2',
27
+ 'NM1.NM108' => ["PI", "XV"]
28
+ }
25
29
 
26
30
  end
27
31
  end
@@ -10,7 +10,7 @@ module Hippo::TransactionSets
10
10
  :minimum => 1,
11
11
  :maximum => 1,
12
12
  :position => 100,
13
- :defaults => {
13
+ :identified_by => {
14
14
  'HL03' => '21',
15
15
  'HL04' => '1'
16
16
  }
@@ -18,10 +18,14 @@ module Hippo::TransactionSets
18
18
  #Information Receiver Name
19
19
  loop Hippo::TransactionSets::HIPAA_276::L2100B,
20
20
  :name => 'Information Receiver Name',
21
- :identified_by => {'NM1.NM101' => '41'},
22
21
  :minimum => 1,
23
22
  :maximum => 1,
24
- :position => 500
23
+ :position => 500,
24
+ :identified_by => {
25
+ 'NM1.NM101' => '41',
26
+ 'NM1.NM102' => ["1", "2"],
27
+ 'NM1.NM108' => '46'
28
+ }
25
29
 
26
30
  end
27
31
  end
@@ -10,7 +10,7 @@ module Hippo::TransactionSets
10
10
  :minimum => 1,
11
11
  :maximum => 1,
12
12
  :position => 100,
13
- :defaults => {
13
+ :identified_by => {
14
14
  'HL03' => '19',
15
15
  'HL04' => '1'
16
16
  }
@@ -18,10 +18,14 @@ module Hippo::TransactionSets
18
18
  #Provider Name
19
19
  loop Hippo::TransactionSets::HIPAA_276::L2100C,
20
20
  :name => 'Provider Name',
21
- :identified_by => {'NM1.NM101' => '1P'},
22
21
  :minimum => 1,
23
22
  :maximum => 2,
24
- :position => 500
23
+ :position => 500,
24
+ :identified_by => {
25
+ 'NM1.NM101' => '1P',
26
+ 'NM1.NM102' => ["1", "2"],
27
+ 'NM1.NM108' => ["FI", "SV", "XX"]
28
+ }
25
29
 
26
30
  end
27
31
  end
@@ -10,8 +10,9 @@ module Hippo::TransactionSets
10
10
  :minimum => 1,
11
11
  :maximum => 1,
12
12
  :position => 100,
13
- :defaults => {
14
- 'HL03' => '22'
13
+ :identified_by => {
14
+ 'HL03' => '22',
15
+ 'HL04' => ["0", "1"]
15
16
  }
16
17
 
17
18
  #Subscriber Demographic Information
@@ -20,25 +21,31 @@ module Hippo::TransactionSets
20
21
  :minimum => 0,
21
22
  :maximum => 1,
22
23
  :position => 400,
23
- :defaults => {
24
+ :identified_by => {
24
25
  'DMG01' => 'D8'
25
26
  }
26
27
 
27
28
  #Subscriber Name
28
29
  loop Hippo::TransactionSets::HIPAA_276::L2100D,
29
30
  :name => 'Subscriber Name',
30
- :identified_by => {'NM1.NM101' => 'IL'},
31
31
  :minimum => 1,
32
32
  :maximum => 1,
33
- :position => 500
33
+ :position => 500,
34
+ :identified_by => {
35
+ 'NM1.NM101' => 'IL',
36
+ 'NM1.NM102' => ["1", "2"],
37
+ 'NM1.NM108' => ["24", "II", "MI"]
38
+ }
34
39
 
35
40
  #Claim Status Tracking Number
36
41
  loop Hippo::TransactionSets::HIPAA_276::L2200D,
37
42
  :name => 'Claim Status Tracking Number',
38
- :identified_by => {'TRN.TRN01' => '1'},
39
43
  :minimum => 0,
40
- :maximum => nil,
41
- :position => 900
44
+ :maximum => 99999,
45
+ :position => 900,
46
+ :identified_by => {
47
+ 'TRN.TRN01' => '1'
48
+ }
42
49
 
43
50
  end
44
51
  end
@@ -10,7 +10,7 @@ module Hippo::TransactionSets
10
10
  :minimum => 0,
11
11
  :maximum => 1,
12
12
  :position => 100,
13
- :defaults => {
13
+ :identified_by => {
14
14
  'HL03' => '23'
15
15
  }
16
16
 
@@ -20,25 +20,30 @@ module Hippo::TransactionSets
20
20
  :minimum => 1,
21
21
  :maximum => 1,
22
22
  :position => 400,
23
- :defaults => {
23
+ :identified_by => {
24
24
  'DMG01' => 'D8'
25
25
  }
26
26
 
27
27
  #Dependent Name
28
28
  loop Hippo::TransactionSets::HIPAA_276::L2100E,
29
29
  :name => 'Dependent Name',
30
- :identified_by => {'NM1.NM101' => 'QC'},
31
30
  :minimum => 1,
32
31
  :maximum => 1,
33
- :position => 500
32
+ :position => 500,
33
+ :identified_by => {
34
+ 'NM1.NM101' => 'QC',
35
+ 'NM1.NM102' => '1'
36
+ }
34
37
 
35
38
  #Claim Status Tracking Number
36
39
  loop Hippo::TransactionSets::HIPAA_276::L2200E,
37
40
  :name => 'Claim Status Tracking Number',
38
- :identified_by => {'TRN.TRN01' => '1'},
39
41
  :minimum => 1,
40
- :maximum => nil,
41
- :position => 900
42
+ :maximum => 99999,
43
+ :position => 900,
44
+ :identified_by => {
45
+ 'TRN.TRN01' => '1'
46
+ }
42
47
 
43
48
  end
44
49
  end
@@ -10,9 +10,10 @@ module Hippo::TransactionSets
10
10
  :minimum => 1,
11
11
  :maximum => 1,
12
12
  :position => 500,
13
- :defaults => {
13
+ :identified_by => {
14
14
  'NM101' => 'PR',
15
- 'NM102' => '2'
15
+ 'NM102' => '2',
16
+ 'NM108' => ["PI", "XV"]
16
17
  }
17
18
 
18
19
  end
@@ -10,8 +10,9 @@ module Hippo::TransactionSets
10
10
  :minimum => 1,
11
11
  :maximum => 1,
12
12
  :position => 500,
13
- :defaults => {
13
+ :identified_by => {
14
14
  'NM101' => '41',
15
+ 'NM102' => ["1", "2"],
15
16
  'NM108' => '46'
16
17
  }
17
18
 
@@ -10,8 +10,10 @@ module Hippo::TransactionSets
10
10
  :minimum => 1,
11
11
  :maximum => 1,
12
12
  :position => 500,
13
- :defaults => {
14
- 'NM101' => '1P'
13
+ :identified_by => {
14
+ 'NM101' => '1P',
15
+ 'NM102' => ["1", "2"],
16
+ 'NM108' => ["FI", "SV", "XX"]
15
17
  }
16
18
 
17
19
  end
@@ -10,8 +10,10 @@ module Hippo::TransactionSets
10
10
  :minimum => 1,
11
11
  :maximum => 1,
12
12
  :position => 500,
13
- :defaults => {
14
- 'NM101' => 'IL'
13
+ :identified_by => {
14
+ 'NM101' => 'IL',
15
+ 'NM102' => ["1", "2"],
16
+ 'NM108' => ["24", "II", "MI"]
15
17
  }
16
18
 
17
19
  end
@@ -10,7 +10,7 @@ module Hippo::TransactionSets
10
10
  :minimum => 1,
11
11
  :maximum => 1,
12
12
  :position => 500,
13
- :defaults => {
13
+ :identified_by => {
14
14
  'NM101' => 'QC',
15
15
  'NM102' => '1'
16
16
  }
@@ -10,7 +10,7 @@ module Hippo::TransactionSets
10
10
  :minimum => 0,
11
11
  :maximum => 1,
12
12
  :position => 900,
13
- :defaults => {
13
+ :identified_by => {
14
14
  'TRN01' => '1'
15
15
  }
16
16
 
@@ -20,7 +20,7 @@ module Hippo::TransactionSets
20
20
  :minimum => 0,
21
21
  :maximum => 1,
22
22
  :position => 1000,
23
- :defaults => {
23
+ :identified_by => {
24
24
  'REF01' => '1K'
25
25
  }
26
26
 
@@ -30,7 +30,7 @@ module Hippo::TransactionSets
30
30
  :minimum => 0,
31
31
  :maximum => 1,
32
32
  :position => 1010,
33
- :defaults => {
33
+ :identified_by => {
34
34
  'REF01' => 'BLT'
35
35
  }
36
36
 
@@ -40,7 +40,7 @@ module Hippo::TransactionSets
40
40
  :minimum => 0,
41
41
  :maximum => 1,
42
42
  :position => 1030,
43
- :defaults => {
43
+ :identified_by => {
44
44
  'REF01' => 'LU'
45
45
  }
46
46
 
@@ -50,7 +50,7 @@ module Hippo::TransactionSets
50
50
  :minimum => 0,
51
51
  :maximum => 1,
52
52
  :position => 1035,
53
- :defaults => {
53
+ :identified_by => {
54
54
  'REF01' => '6P'
55
55
  }
56
56
 
@@ -60,7 +60,7 @@ module Hippo::TransactionSets
60
60
  :minimum => 0,
61
61
  :maximum => 1,
62
62
  :position => 1040,
63
- :defaults => {
63
+ :identified_by => {
64
64
  'REF01' => 'EJ'
65
65
  }
66
66
 
@@ -70,7 +70,7 @@ module Hippo::TransactionSets
70
70
  :minimum => 0,
71
71
  :maximum => 1,
72
72
  :position => 1045,
73
- :defaults => {
73
+ :identified_by => {
74
74
  'REF01' => 'XZ'
75
75
  }
76
76
 
@@ -80,7 +80,7 @@ module Hippo::TransactionSets
80
80
  :minimum => 0,
81
81
  :maximum => 1,
82
82
  :position => 1050,
83
- :defaults => {
83
+ :identified_by => {
84
84
  'REF01' => 'D9'
85
85
  }
86
86
 
@@ -90,7 +90,7 @@ module Hippo::TransactionSets
90
90
  :minimum => 0,
91
91
  :maximum => 1,
92
92
  :position => 1100,
93
- :defaults => {
93
+ :identified_by => {
94
94
  'AMT01' => 'T3'
95
95
  }
96
96
 
@@ -100,15 +100,16 @@ module Hippo::TransactionSets
100
100
  :minimum => 0,
101
101
  :maximum => 1,
102
102
  :position => 1200,
103
- :defaults => {
104
- 'DTP01' => '472'
103
+ :identified_by => {
104
+ 'DTP01' => '472',
105
+ 'DTP02' => ["D8", "RD8"]
105
106
  }
106
107
 
107
108
  #Service Line Information
108
109
  loop Hippo::TransactionSets::HIPAA_276::L2210D,
109
110
  :name => 'Service Line Information',
110
111
  :minimum => 0,
111
- :maximum => nil,
112
+ :maximum => 99999,
112
113
  :position => 1300
113
114
 
114
115
  end
@@ -10,7 +10,7 @@ module Hippo::TransactionSets
10
10
  :minimum => 1,
11
11
  :maximum => 1,
12
12
  :position => 900,
13
- :defaults => {
13
+ :identified_by => {
14
14
  'TRN01' => '1'
15
15
  }
16
16
 
@@ -20,7 +20,7 @@ module Hippo::TransactionSets
20
20
  :minimum => 0,
21
21
  :maximum => 1,
22
22
  :position => 1000,
23
- :defaults => {
23
+ :identified_by => {
24
24
  'REF01' => '1K'
25
25
  }
26
26
 
@@ -30,7 +30,7 @@ module Hippo::TransactionSets
30
30
  :minimum => 0,
31
31
  :maximum => 1,
32
32
  :position => 1010,
33
- :defaults => {
33
+ :identified_by => {
34
34
  'REF01' => 'BLT'
35
35
  }
36
36
 
@@ -40,7 +40,7 @@ module Hippo::TransactionSets
40
40
  :minimum => 0,
41
41
  :maximum => 1,
42
42
  :position => 1030,
43
- :defaults => {
43
+ :identified_by => {
44
44
  'REF01' => 'LU'
45
45
  }
46
46
 
@@ -50,7 +50,7 @@ module Hippo::TransactionSets
50
50
  :minimum => 0,
51
51
  :maximum => 1,
52
52
  :position => 1035,
53
- :defaults => {
53
+ :identified_by => {
54
54
  'REF01' => '6P'
55
55
  }
56
56
 
@@ -60,7 +60,7 @@ module Hippo::TransactionSets
60
60
  :minimum => 0,
61
61
  :maximum => 1,
62
62
  :position => 1040,
63
- :defaults => {
63
+ :identified_by => {
64
64
  'REF01' => 'EJ'
65
65
  }
66
66
 
@@ -70,7 +70,7 @@ module Hippo::TransactionSets
70
70
  :minimum => 0,
71
71
  :maximum => 1,
72
72
  :position => 1045,
73
- :defaults => {
73
+ :identified_by => {
74
74
  'REF01' => 'XZ'
75
75
  }
76
76
 
@@ -80,7 +80,7 @@ module Hippo::TransactionSets
80
80
  :minimum => 0,
81
81
  :maximum => 1,
82
82
  :position => 1050,
83
- :defaults => {
83
+ :identified_by => {
84
84
  'REF01' => 'D9'
85
85
  }
86
86
 
@@ -90,7 +90,7 @@ module Hippo::TransactionSets
90
90
  :minimum => 0,
91
91
  :maximum => 1,
92
92
  :position => 1100,
93
- :defaults => {
93
+ :identified_by => {
94
94
  'AMT01' => 'T3'
95
95
  }
96
96
 
@@ -100,15 +100,16 @@ module Hippo::TransactionSets
100
100
  :minimum => 0,
101
101
  :maximum => 1,
102
102
  :position => 1200,
103
- :defaults => {
104
- 'DTP01' => '472'
103
+ :identified_by => {
104
+ 'DTP01' => '472',
105
+ 'DTP02' => ["D8", "RD8"]
105
106
  }
106
107
 
107
108
  #Service Line Information
108
109
  loop Hippo::TransactionSets::HIPAA_276::L2210E,
109
110
  :name => 'Service Line Information',
110
111
  :minimum => 0,
111
- :maximum => nil,
112
+ :maximum => 99999,
112
113
  :position => 1300
113
114
 
114
115
  end
@@ -17,7 +17,7 @@ module Hippo::TransactionSets
17
17
  :minimum => 0,
18
18
  :maximum => 1,
19
19
  :position => 1400,
20
- :defaults => {
20
+ :identified_by => {
21
21
  'REF01' => 'FJ'
22
22
  }
23
23
 
@@ -27,8 +27,9 @@ module Hippo::TransactionSets
27
27
  :minimum => 1,
28
28
  :maximum => 1,
29
29
  :position => 1500,
30
- :defaults => {
31
- 'DTP01' => '472'
30
+ :identified_by => {
31
+ 'DTP01' => '472',
32
+ 'DTP02' => ["D8", "RD8"]
32
33
  }
33
34
 
34
35
  end
@@ -17,7 +17,7 @@ module Hippo::TransactionSets
17
17
  :minimum => 0,
18
18
  :maximum => 1,
19
19
  :position => 1400,
20
- :defaults => {
20
+ :identified_by => {
21
21
  'REF01' => 'FJ'
22
22
  }
23
23
 
@@ -27,8 +27,9 @@ module Hippo::TransactionSets
27
27
  :minimum => 1,
28
28
  :maximum => 1,
29
29
  :position => 1500,
30
- :defaults => {
31
- 'DTP01' => '472'
30
+ :identified_by => {
31
+ 'DTP01' => '472',
32
+ 'DTP02' => ["D8", "RD8"]
32
33
  }
33
34
 
34
35
  end