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,19 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2100C < Hippo::TransactionSets::Base
5
+ loop_name 'L2100C' #Provider Name
6
+
7
+ #Provider Name
8
+ segment Hippo::Segments::NM1,
9
+ :name => 'Provider Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :defaults => {
14
+ 'NM101' => '1P'
15
+ }
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2100D < Hippo::TransactionSets::Base
5
+ loop_name 'L2100D' #Subscriber Name
6
+
7
+ #Subscriber Name
8
+ segment Hippo::Segments::NM1,
9
+ :name => 'Subscriber Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :defaults => {
14
+ 'NM101' => 'IL'
15
+ }
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2100E < Hippo::TransactionSets::Base
5
+ loop_name 'L2100E' #Dependent Name
6
+
7
+ #Dependent Name
8
+ segment Hippo::Segments::NM1,
9
+ :name => 'Dependent Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :defaults => {
14
+ 'NM101' => 'QC',
15
+ 'NM102' => '1'
16
+ }
17
+
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,116 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2200D < Hippo::TransactionSets::Base
5
+ loop_name 'L2200D' #Claim Status Tracking Number
6
+
7
+ #Claim Status Tracking Number
8
+ segment Hippo::Segments::TRN,
9
+ :name => 'Claim Status Tracking Number',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 900,
13
+ :defaults => {
14
+ 'TRN01' => '1'
15
+ }
16
+
17
+ #Payer Claim Control Number
18
+ segment Hippo::Segments::REF,
19
+ :name => 'Payer Claim Control Number',
20
+ :minimum => 0,
21
+ :maximum => 1,
22
+ :position => 1000,
23
+ :defaults => {
24
+ 'REF01' => '1K'
25
+ }
26
+
27
+ #Institutional Bill Type Identification
28
+ segment Hippo::Segments::REF,
29
+ :name => 'Institutional Bill Type Identification',
30
+ :minimum => 0,
31
+ :maximum => 1,
32
+ :position => 1010,
33
+ :defaults => {
34
+ 'REF01' => 'BLT'
35
+ }
36
+
37
+ #Application or Location System Identifier
38
+ segment Hippo::Segments::REF,
39
+ :name => 'Application or Location System Identifier',
40
+ :minimum => 0,
41
+ :maximum => 1,
42
+ :position => 1030,
43
+ :defaults => {
44
+ 'REF01' => 'LU'
45
+ }
46
+
47
+ #Group Number
48
+ segment Hippo::Segments::REF,
49
+ :name => 'Group Number',
50
+ :minimum => 0,
51
+ :maximum => 1,
52
+ :position => 1035,
53
+ :defaults => {
54
+ 'REF01' => '6P'
55
+ }
56
+
57
+ #Patient Control Number
58
+ segment Hippo::Segments::REF,
59
+ :name => 'Patient Control Number',
60
+ :minimum => 0,
61
+ :maximum => 1,
62
+ :position => 1040,
63
+ :defaults => {
64
+ 'REF01' => 'EJ'
65
+ }
66
+
67
+ #Pharmacy Prescription Number
68
+ segment Hippo::Segments::REF,
69
+ :name => 'Pharmacy Prescription Number',
70
+ :minimum => 0,
71
+ :maximum => 1,
72
+ :position => 1045,
73
+ :defaults => {
74
+ 'REF01' => 'XZ'
75
+ }
76
+
77
+ #Claim Identification Number For Clearinghouses and Other Transmission Intermediaries
78
+ segment Hippo::Segments::REF,
79
+ :name => 'Claim Identification Number For Clearinghouses and Other Transmission Intermediaries',
80
+ :minimum => 0,
81
+ :maximum => 1,
82
+ :position => 1050,
83
+ :defaults => {
84
+ 'REF01' => 'D9'
85
+ }
86
+
87
+ #Claim Submitted Charges
88
+ segment Hippo::Segments::AMT,
89
+ :name => 'Claim Submitted Charges',
90
+ :minimum => 0,
91
+ :maximum => 1,
92
+ :position => 1100,
93
+ :defaults => {
94
+ 'AMT01' => 'T3'
95
+ }
96
+
97
+ #Claim Service Date
98
+ segment Hippo::Segments::DTP,
99
+ :name => 'Claim Service Date',
100
+ :minimum => 0,
101
+ :maximum => 1,
102
+ :position => 1200,
103
+ :defaults => {
104
+ 'DTP01' => '472'
105
+ }
106
+
107
+ #Service Line Information
108
+ loop Hippo::TransactionSets::HIPAA_276::L2210D,
109
+ :name => 'Service Line Information',
110
+ :minimum => 0,
111
+ :maximum => nil,
112
+ :position => 1300
113
+
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,116 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2200E < Hippo::TransactionSets::Base
5
+ loop_name 'L2200E' #Claim Status Tracking Number
6
+
7
+ #Claim Status Tracking Number
8
+ segment Hippo::Segments::TRN,
9
+ :name => 'Claim Status Tracking Number',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 900,
13
+ :defaults => {
14
+ 'TRN01' => '1'
15
+ }
16
+
17
+ #Payer Claim Control Number
18
+ segment Hippo::Segments::REF,
19
+ :name => 'Payer Claim Control Number',
20
+ :minimum => 0,
21
+ :maximum => 1,
22
+ :position => 1000,
23
+ :defaults => {
24
+ 'REF01' => '1K'
25
+ }
26
+
27
+ #Institutional Bill Type Identification
28
+ segment Hippo::Segments::REF,
29
+ :name => 'Institutional Bill Type Identification',
30
+ :minimum => 0,
31
+ :maximum => 1,
32
+ :position => 1010,
33
+ :defaults => {
34
+ 'REF01' => 'BLT'
35
+ }
36
+
37
+ #Application or Location System Identifier
38
+ segment Hippo::Segments::REF,
39
+ :name => 'Application or Location System Identifier',
40
+ :minimum => 0,
41
+ :maximum => 1,
42
+ :position => 1030,
43
+ :defaults => {
44
+ 'REF01' => 'LU'
45
+ }
46
+
47
+ #Group Number
48
+ segment Hippo::Segments::REF,
49
+ :name => 'Group Number',
50
+ :minimum => 0,
51
+ :maximum => 1,
52
+ :position => 1035,
53
+ :defaults => {
54
+ 'REF01' => '6P'
55
+ }
56
+
57
+ #Patient Control Number
58
+ segment Hippo::Segments::REF,
59
+ :name => 'Patient Control Number',
60
+ :minimum => 0,
61
+ :maximum => 1,
62
+ :position => 1040,
63
+ :defaults => {
64
+ 'REF01' => 'EJ'
65
+ }
66
+
67
+ #Pharmacy Prescription Number
68
+ segment Hippo::Segments::REF,
69
+ :name => 'Pharmacy Prescription Number',
70
+ :minimum => 0,
71
+ :maximum => 1,
72
+ :position => 1045,
73
+ :defaults => {
74
+ 'REF01' => 'XZ'
75
+ }
76
+
77
+ #Claim Identification Number For Clearinghouses and Other Transmission Intermediaries
78
+ segment Hippo::Segments::REF,
79
+ :name => 'Claim Identification Number For Clearinghouses and Other Transmission Intermediaries',
80
+ :minimum => 0,
81
+ :maximum => 1,
82
+ :position => 1050,
83
+ :defaults => {
84
+ 'REF01' => 'D9'
85
+ }
86
+
87
+ #Claim Submitted Charges
88
+ segment Hippo::Segments::AMT,
89
+ :name => 'Claim Submitted Charges',
90
+ :minimum => 0,
91
+ :maximum => 1,
92
+ :position => 1100,
93
+ :defaults => {
94
+ 'AMT01' => 'T3'
95
+ }
96
+
97
+ #Claim Service Date
98
+ segment Hippo::Segments::DTP,
99
+ :name => 'Claim Service Date',
100
+ :minimum => 0,
101
+ :maximum => 1,
102
+ :position => 1200,
103
+ :defaults => {
104
+ 'DTP01' => '472'
105
+ }
106
+
107
+ #Service Line Information
108
+ loop Hippo::TransactionSets::HIPAA_276::L2210E,
109
+ :name => 'Service Line Information',
110
+ :minimum => 0,
111
+ :maximum => nil,
112
+ :position => 1300
113
+
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,36 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2210D < Hippo::TransactionSets::Base
5
+ loop_name 'L2210D' #Service Line Information
6
+
7
+ #Service Line Information
8
+ segment Hippo::Segments::SVC,
9
+ :name => 'Service Line Information',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 1300
13
+
14
+ #Service Line Item Identification
15
+ segment Hippo::Segments::REF,
16
+ :name => 'Service Line Item Identification',
17
+ :minimum => 0,
18
+ :maximum => 1,
19
+ :position => 1400,
20
+ :defaults => {
21
+ 'REF01' => 'FJ'
22
+ }
23
+
24
+ #Service Line Date
25
+ segment Hippo::Segments::DTP,
26
+ :name => 'Service Line Date',
27
+ :minimum => 1,
28
+ :maximum => 1,
29
+ :position => 1500,
30
+ :defaults => {
31
+ 'DTP01' => '472'
32
+ }
33
+
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,36 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2210E < Hippo::TransactionSets::Base
5
+ loop_name 'L2210E' #Service Line Information
6
+
7
+ #Service Line Information
8
+ segment Hippo::Segments::SVC,
9
+ :name => 'Service Line Information',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 1300
13
+
14
+ #Service Line Item Identification
15
+ segment Hippo::Segments::REF,
16
+ :name => 'Service Line Item Identification',
17
+ :minimum => 0,
18
+ :maximum => 1,
19
+ :position => 1400,
20
+ :defaults => {
21
+ 'REF01' => 'FJ'
22
+ }
23
+
24
+ #Service Line Date
25
+ segment Hippo::Segments::DTP,
26
+ :name => 'Service Line Date',
27
+ :minimum => 1,
28
+ :maximum => 1,
29
+ :position => 1500,
30
+ :defaults => {
31
+ 'DTP01' => '472'
32
+ }
33
+
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,86 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class Base < Hippo::TransactionSets::Base
5
+
6
+ #Transaction Set Header
7
+ segment Hippo::Segments::ST,
8
+ :name => 'Transaction Set Header',
9
+ :minimum => 1,
10
+ :maximum => 1,
11
+ :position => 100,
12
+ :defaults => {
13
+ 'ST01' => '276'
14
+ }
15
+
16
+ #Beginning of Hierarchical Transaction
17
+ segment Hippo::Segments::BHT,
18
+ :name => 'Beginning of Hierarchical Transaction',
19
+ :minimum => 1,
20
+ :maximum => 1,
21
+ :position => 200,
22
+ :defaults => {
23
+ 'BHT01' => '0010',
24
+ 'BHT02' => '13'
25
+ }
26
+
27
+ #Information Source Level
28
+ loop Hippo::TransactionSets::HIPAA_276::L2000A,
29
+ :name => 'Information Source Level',
30
+ :identified_by => {
31
+ 'HL.HL03' => '20'
32
+ },
33
+ :minimum => 1,
34
+ :maximum => nil,
35
+ :position => 100
36
+
37
+ #Information Receiver Level
38
+ loop Hippo::TransactionSets::HIPAA_276::L2000B,
39
+ :name => 'Information Receiver Level',
40
+ :identified_by => {
41
+ 'HL.HL03' => '21'
42
+ },
43
+ :minimum => 1,
44
+ :maximum => nil,
45
+ :position => 100
46
+
47
+ #Service Provider Level
48
+ loop Hippo::TransactionSets::HIPAA_276::L2000C,
49
+ :name => 'Service Provider Level',
50
+ :identified_by => {
51
+ 'HL.HL03' => '19'
52
+ },
53
+ :minimum => 1,
54
+ :maximum => nil,
55
+ :position => 100
56
+
57
+ #Subscriber Level
58
+ loop Hippo::TransactionSets::HIPAA_276::L2000D,
59
+ :name => 'Subscriber Level',
60
+ :identified_by => {
61
+ 'HL.HL03' => '22'
62
+ },
63
+ :minimum => 1,
64
+ :maximum => nil,
65
+ :position => 100
66
+
67
+ #Dependent Level
68
+ loop Hippo::TransactionSets::HIPAA_276::L2000E,
69
+ :name => 'Dependent Level',
70
+ :identified_by => {
71
+ 'HL.HL03' => '23'
72
+ },
73
+ :minimum => 0,
74
+ :maximum => nil,
75
+ :position => 100
76
+
77
+ #Transaction Set Trailer
78
+ segment Hippo::Segments::SE,
79
+ :name => 'Transaction Set Trailer',
80
+ :minimum => 1,
81
+ :maximum => 1,
82
+ :position => 1600
83
+
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,21 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_276
3
+
4
+ autoload :Base, 'hippo/transaction_sets/HIPAA_276/base'
5
+ autoload :L2000A, 'hippo/transaction_sets/HIPAA_276/L2000A'
6
+ autoload :L2000B, 'hippo/transaction_sets/HIPAA_276/L2000B'
7
+ autoload :L2000C, 'hippo/transaction_sets/HIPAA_276/L2000C'
8
+ autoload :L2000D, 'hippo/transaction_sets/HIPAA_276/L2000D'
9
+ autoload :L2000E, 'hippo/transaction_sets/HIPAA_276/L2000E'
10
+ autoload :L2100A, 'hippo/transaction_sets/HIPAA_276/L2100A'
11
+ autoload :L2100B, 'hippo/transaction_sets/HIPAA_276/L2100B'
12
+ autoload :L2100C, 'hippo/transaction_sets/HIPAA_276/L2100C'
13
+ autoload :L2100D, 'hippo/transaction_sets/HIPAA_276/L2100D'
14
+ autoload :L2100E, 'hippo/transaction_sets/HIPAA_276/L2100E'
15
+ autoload :L2200D, 'hippo/transaction_sets/HIPAA_276/L2200D'
16
+ autoload :L2200E, 'hippo/transaction_sets/HIPAA_276/L2200E'
17
+ autoload :L2210D, 'hippo/transaction_sets/HIPAA_276/L2210D'
18
+ autoload :L2210E, 'hippo/transaction_sets/HIPAA_276/L2210E'
19
+
20
+ end
21
+ end
@@ -0,0 +1,35 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2000A < Hippo::TransactionSets::Base
5
+ loop_name 'L2000A' #Information Source Level
6
+
7
+ #Information Source Level
8
+ segment Hippo::Segments::HL,
9
+ :name => 'Information Source Level',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :defaults => {
14
+ 'HL03' => '20',
15
+ 'HL04' => '1'
16
+ }
17
+
18
+ #Information Source Name
19
+ loop Hippo::TransactionSets::HIPAA_277::L2100A,
20
+ :name => 'Information Source Name',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 500
24
+
25
+ #Transmission Receipt Control Identifier
26
+ loop Hippo::TransactionSets::HIPAA_277::L2200A,
27
+ :name => 'Transmission Receipt Control Identifier',
28
+ :identified_by => {'TRN.TRN01' => '1'},
29
+ :minimum => 1,
30
+ :maximum => 1,
31
+ :position => 900
32
+
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2000B < Hippo::TransactionSets::Base
5
+ loop_name 'L2000B' #Information Receiver Level
6
+
7
+ #Information Receiver Level
8
+ segment Hippo::Segments::HL,
9
+ :name => 'Information Receiver Level',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :defaults => {
14
+ 'HL03' => '21'
15
+ }
16
+
17
+ #Information Receiver Name
18
+ loop Hippo::TransactionSets::HIPAA_277::L2100B,
19
+ :name => 'Information Receiver Name',
20
+ :identified_by => {'NM1.NM101' => '41'},
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 500
24
+
25
+ #Information Receiver Application Trace Identifier
26
+ loop Hippo::TransactionSets::HIPAA_277::L2200B,
27
+ :name => 'Information Receiver Application Trace Identifier',
28
+ :identified_by => {'TRN.TRN01' => '2'},
29
+ :minimum => 1,
30
+ :maximum => 1,
31
+ :position => 900
32
+
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2000C < Hippo::TransactionSets::Base
5
+ loop_name 'L2000C' #Billing Provider of Service Level
6
+
7
+ #Billing Provider of Service Level
8
+ segment Hippo::Segments::HL,
9
+ :name => 'Billing Provider of Service Level',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :defaults => {
14
+ 'HL03' => '19'
15
+ }
16
+
17
+ #Billing Provider Name
18
+ loop Hippo::TransactionSets::HIPAA_277::L2100C,
19
+ :name => 'Billing Provider Name',
20
+ :identified_by => {'NM1.NM101' => '85'},
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 500
24
+
25
+ #Provider of Service Information Trace Identifier
26
+ loop Hippo::TransactionSets::HIPAA_277::L2200C,
27
+ :name => 'Provider of Service Information Trace Identifier',
28
+ :identified_by => {'TRN.TRN01' => '1'},
29
+ :minimum => 0,
30
+ :maximum => 1,
31
+ :position => 900
32
+
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2000D < Hippo::TransactionSets::Base
5
+ loop_name 'L2000D' #Patient Level
6
+
7
+ #Patient Level
8
+ segment Hippo::Segments::HL,
9
+ :name => 'Patient Level',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :defaults => {
14
+ 'HL03' => 'PT'
15
+ }
16
+
17
+ #Patient Name
18
+ loop Hippo::TransactionSets::HIPAA_277::L2100D,
19
+ :name => 'Patient Name',
20
+ :identified_by => {'NM1.NM101' => 'QC'},
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 500
24
+
25
+ #Claim Status Tracking Number
26
+ loop Hippo::TransactionSets::HIPAA_277::L2200D,
27
+ :name => 'Claim Status Tracking Number',
28
+ :identified_by => {'TRN.TRN01' => '2'},
29
+ :minimum => 1,
30
+ :maximum => nil,
31
+ :position => 900
32
+
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2000E < Hippo::TransactionSets::Base
5
+ loop_name 'L2000E' #Dependent Level
6
+
7
+ #Dependent Level
8
+ segment Hippo::Segments::HL,
9
+ :name => 'Dependent Level',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :defaults => {
14
+ 'HL03' => '23'
15
+ }
16
+
17
+ #Dependent Name
18
+ loop Hippo::TransactionSets::HIPAA_277::L2100E,
19
+ :name => 'Dependent Name',
20
+ :identified_by => {'NM1.NM101' => 'QC'},
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 500
24
+
25
+ #Claim Status Tracking Number
26
+ loop Hippo::TransactionSets::HIPAA_277::L2200E,
27
+ :name => 'Claim Status Tracking Number',
28
+ :identified_by => {'TRN.TRN01' => '2'},
29
+ :minimum => 1,
30
+ :maximum => nil,
31
+ :position => 900
32
+
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,19 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2100A < Hippo::TransactionSets::Base
5
+ loop_name 'L2100A' #Information Source Name
6
+
7
+ #Information Source Name
8
+ segment Hippo::Segments::NM1,
9
+ :name => 'Information Source Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :defaults => {
14
+ 'NM102' => '2'
15
+ }
16
+
17
+ end
18
+ end
19
+ end