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,20 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2100B < Hippo::TransactionSets::Base
5
+ loop_name 'L2100B' #Information Receiver Name
6
+
7
+ #Information Receiver Name
8
+ segment Hippo::Segments::NM1,
9
+ :name => 'Information Receiver Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :defaults => {
14
+ 'NM101' => '41',
15
+ 'NM108' => '46'
16
+ }
17
+
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,19 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2100C < Hippo::TransactionSets::Base
5
+ loop_name 'L2100C' #Billing Provider Name
6
+
7
+ #Billing Provider Name
8
+ segment Hippo::Segments::NM1,
9
+ :name => 'Billing Provider Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :defaults => {
14
+ 'NM101' => '85'
15
+ }
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2100D < Hippo::TransactionSets::Base
5
+ loop_name 'L2100D' #Patient Name
6
+
7
+ #Patient Name
8
+ segment Hippo::Segments::NM1,
9
+ :name => 'Patient 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,20 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
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,41 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2200A < Hippo::TransactionSets::Base
5
+ loop_name 'L2200A' #Transmission Receipt Control Identifier
6
+
7
+ #Transmission Receipt Control Identifier
8
+ segment Hippo::Segments::TRN,
9
+ :name => 'Transmission Receipt Control Identifier',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 900,
13
+ :defaults => {
14
+ 'TRN01' => '1'
15
+ }
16
+
17
+ #Information Source Receipt Date
18
+ segment Hippo::Segments::DTP,
19
+ :name => 'Information Source Receipt Date',
20
+ :minimum => 1,
21
+ :maximum => 1,
22
+ :position => 1200,
23
+ :defaults => {
24
+ 'DTP01' => '050',
25
+ 'DTP02' => 'D8'
26
+ }
27
+
28
+ #Information Source Process Date
29
+ segment Hippo::Segments::DTP,
30
+ :name => 'Information Source Process Date',
31
+ :minimum => 1,
32
+ :maximum => 1,
33
+ :position => 1205,
34
+ :defaults => {
35
+ 'DTP01' => '009',
36
+ 'DTP02' => 'D8'
37
+ }
38
+
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,66 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2200B < Hippo::TransactionSets::Base
5
+ loop_name 'L2200B' #Information Receiver Application Trace Identifier
6
+
7
+ #Information Receiver Application Trace Identifier
8
+ segment Hippo::Segments::TRN,
9
+ :name => 'Information Receiver Application Trace Identifier',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 900,
13
+ :defaults => {
14
+ 'TRN01' => '2'
15
+ }
16
+
17
+ #Information Receiver Status Information
18
+ segment Hippo::Segments::STC,
19
+ :name => 'Information Receiver Status Information',
20
+ :minimum => 1,
21
+ :maximum => nil,
22
+ :position => 1000
23
+
24
+ #Total Accepted Quantity
25
+ segment Hippo::Segments::QTY,
26
+ :name => 'Total Accepted Quantity',
27
+ :minimum => 0,
28
+ :maximum => 1,
29
+ :position => 1210,
30
+ :defaults => {
31
+ 'QTY01' => '90'
32
+ }
33
+
34
+ #Total Rejected Quantity
35
+ segment Hippo::Segments::QTY,
36
+ :name => 'Total Rejected Quantity',
37
+ :minimum => 0,
38
+ :maximum => 1,
39
+ :position => 1211,
40
+ :defaults => {
41
+ 'QTY01' => 'AA'
42
+ }
43
+
44
+ #Total Accepted Amount
45
+ segment Hippo::Segments::AMT,
46
+ :name => 'Total Accepted Amount',
47
+ :minimum => 0,
48
+ :maximum => 1,
49
+ :position => 1220,
50
+ :defaults => {
51
+ 'AMT01' => 'YU'
52
+ }
53
+
54
+ #Total Rejected Amount
55
+ segment Hippo::Segments::AMT,
56
+ :name => 'Total Rejected Amount',
57
+ :minimum => 0,
58
+ :maximum => 1,
59
+ :position => 1222,
60
+ :defaults => {
61
+ 'AMT01' => 'YY'
62
+ }
63
+
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,73 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2200C < Hippo::TransactionSets::Base
5
+ loop_name 'L2200C' #Provider of Service Information Trace Identifier
6
+
7
+ #Provider of Service Information Trace Identifier
8
+ segment Hippo::Segments::TRN,
9
+ :name => 'Provider of Service Information Trace Identifier',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 900,
13
+ :defaults => {
14
+ 'TRN01' => '1'
15
+ }
16
+
17
+ #Billing Provider Status Information
18
+ segment Hippo::Segments::STC,
19
+ :name => 'Billing Provider Status Information',
20
+ :minimum => 0,
21
+ :maximum => nil,
22
+ :position => 1000
23
+
24
+ #Provider Secondary Identifier
25
+ segment Hippo::Segments::REF,
26
+ :name => 'Provider Secondary Identifier',
27
+ :minimum => 0,
28
+ :maximum => 3,
29
+ :position => 1100
30
+
31
+ #Total Accepted Quantity
32
+ segment Hippo::Segments::QTY,
33
+ :name => 'Total Accepted Quantity',
34
+ :minimum => 0,
35
+ :maximum => 1,
36
+ :position => 1210,
37
+ :defaults => {
38
+ 'QTY01' => 'QA'
39
+ }
40
+
41
+ #Total Rejected Quantity
42
+ segment Hippo::Segments::QTY,
43
+ :name => 'Total Rejected Quantity',
44
+ :minimum => 0,
45
+ :maximum => 1,
46
+ :position => 1215,
47
+ :defaults => {
48
+ 'QTY01' => 'QC'
49
+ }
50
+
51
+ #Total Accepted Amount
52
+ segment Hippo::Segments::AMT,
53
+ :name => 'Total Accepted Amount',
54
+ :minimum => 0,
55
+ :maximum => 1,
56
+ :position => 1220,
57
+ :defaults => {
58
+ 'AMT01' => 'YU'
59
+ }
60
+
61
+ #Total Rejected Amount
62
+ segment Hippo::Segments::AMT,
63
+ :name => 'Total Rejected Amount',
64
+ :minimum => 0,
65
+ :maximum => 1,
66
+ :position => 1225,
67
+ :defaults => {
68
+ 'AMT01' => 'YY'
69
+ }
70
+
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,73 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
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 => 1,
11
+ :maximum => 1,
12
+ :position => 900,
13
+ :defaults => {
14
+ 'TRN01' => '2'
15
+ }
16
+
17
+ #Claim Level Status Information
18
+ segment Hippo::Segments::STC,
19
+ :name => 'Claim Level Status Information',
20
+ :minimum => 1,
21
+ :maximum => nil,
22
+ :position => 1000
23
+
24
+ #Payer Claim Control Number
25
+ segment Hippo::Segments::REF,
26
+ :name => 'Payer Claim Control Number',
27
+ :minimum => 0,
28
+ :maximum => 1,
29
+ :position => 1100,
30
+ :defaults => {
31
+ 'REF01' => '1K'
32
+ }
33
+
34
+ #Claim Identifier Number For Clearinghouse and Other Transmission Intermediaries
35
+ segment Hippo::Segments::REF,
36
+ :name => 'Claim Identifier Number For Clearinghouse and Other Transmission Intermediaries',
37
+ :minimum => 0,
38
+ :maximum => 1,
39
+ :position => 1110,
40
+ :defaults => {
41
+ 'REF01' => 'D9'
42
+ }
43
+
44
+ #Institutional Bill Type Identification
45
+ segment Hippo::Segments::REF,
46
+ :name => 'Institutional Bill Type Identification',
47
+ :minimum => 0,
48
+ :maximum => 1,
49
+ :position => 1120,
50
+ :defaults => {
51
+ 'REF01' => 'BLT'
52
+ }
53
+
54
+ #Claim Level Service Date
55
+ segment Hippo::Segments::DTP,
56
+ :name => 'Claim Level Service Date',
57
+ :minimum => 1,
58
+ :maximum => 1,
59
+ :position => 1200,
60
+ :defaults => {
61
+ 'DTP01' => '472'
62
+ }
63
+
64
+ #Service Line Information
65
+ loop Hippo::TransactionSets::HIPAA_277::L2220D,
66
+ :name => 'Service Line Information',
67
+ :minimum => 0,
68
+ :maximum => nil,
69
+ :position => 1800
70
+
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,103 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
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' => '2'
15
+ }
16
+
17
+ #Claim Level Status Information
18
+ segment Hippo::Segments::STC,
19
+ :name => 'Claim Level Status Information',
20
+ :minimum => 1,
21
+ :maximum => nil,
22
+ :position => 1000
23
+
24
+ #Payer Claim Control Number
25
+ segment Hippo::Segments::REF,
26
+ :name => 'Payer Claim Control Number',
27
+ :minimum => 0,
28
+ :maximum => 1,
29
+ :position => 1100,
30
+ :defaults => {
31
+ 'REF01' => '1K'
32
+ }
33
+
34
+ #Institutional Bill Type Identification
35
+ segment Hippo::Segments::REF,
36
+ :name => 'Institutional Bill Type Identification',
37
+ :minimum => 0,
38
+ :maximum => 1,
39
+ :position => 1120,
40
+ :defaults => {
41
+ 'REF01' => 'BLT'
42
+ }
43
+
44
+ #Patient Control Number
45
+ segment Hippo::Segments::REF,
46
+ :name => 'Patient Control Number',
47
+ :minimum => 0,
48
+ :maximum => 1,
49
+ :position => 1145,
50
+ :defaults => {
51
+ 'REF01' => 'EJ'
52
+ }
53
+
54
+ #Pharmacy Prescription Number
55
+ segment Hippo::Segments::REF,
56
+ :name => 'Pharmacy Prescription Number',
57
+ :minimum => 0,
58
+ :maximum => 1,
59
+ :position => 1150,
60
+ :defaults => {
61
+ 'REF01' => 'XZ'
62
+ }
63
+
64
+ #Voucher Identifier
65
+ segment Hippo::Segments::REF,
66
+ :name => 'Voucher Identifier',
67
+ :minimum => 0,
68
+ :maximum => 1,
69
+ :position => 1155,
70
+ :defaults => {
71
+ 'REF01' => 'VV'
72
+ }
73
+
74
+ #Claim Identification Number For Clearinghouses and Other Transmission Intermediaries
75
+ segment Hippo::Segments::REF,
76
+ :name => 'Claim Identification Number For Clearinghouses and Other Transmission Intermediaries',
77
+ :minimum => 0,
78
+ :maximum => 1,
79
+ :position => 1160,
80
+ :defaults => {
81
+ 'REF01' => 'D9'
82
+ }
83
+
84
+ #Claim Service Date
85
+ segment Hippo::Segments::DTP,
86
+ :name => 'Claim Service Date',
87
+ :minimum => 0,
88
+ :maximum => 1,
89
+ :position => 1200,
90
+ :defaults => {
91
+ 'DTP01' => '472'
92
+ }
93
+
94
+ #Service Line Information
95
+ loop Hippo::TransactionSets::HIPAA_277::L2220E,
96
+ :name => 'Service Line Information',
97
+ :minimum => 0,
98
+ :maximum => nil,
99
+ :position => 1800
100
+
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,56 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2220D < Hippo::TransactionSets::Base
5
+ loop_name 'L2220D' #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 => 1800
13
+
14
+ #Service Line Level Status Information
15
+ segment Hippo::Segments::STC,
16
+ :name => 'Service Line Level Status Information',
17
+ :minimum => 1,
18
+ :maximum => nil,
19
+ :position => 1900,
20
+ :defaults => {
21
+ 'STC03' => 'U'
22
+ }
23
+
24
+ #Service Line Item Identification
25
+ segment Hippo::Segments::REF,
26
+ :name => 'Service Line Item Identification',
27
+ :minimum => 1,
28
+ :maximum => 1,
29
+ :position => 2000,
30
+ :defaults => {
31
+ 'REF01' => 'FJ'
32
+ }
33
+
34
+ #Pharmacy Prescription Number
35
+ segment Hippo::Segments::REF,
36
+ :name => 'Pharmacy Prescription Number',
37
+ :minimum => 0,
38
+ :maximum => 1,
39
+ :position => 2010,
40
+ :defaults => {
41
+ 'REF01' => 'XZ'
42
+ }
43
+
44
+ #Service Line Date
45
+ segment Hippo::Segments::DTP,
46
+ :name => 'Service Line Date',
47
+ :minimum => 0,
48
+ :maximum => 1,
49
+ :position => 2100,
50
+ :defaults => {
51
+ 'DTP01' => '472'
52
+ }
53
+
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,43 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2220E < Hippo::TransactionSets::Base
5
+ loop_name 'L2220E' #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 => 1800
13
+
14
+ #Service Line Status Information
15
+ segment Hippo::Segments::STC,
16
+ :name => 'Service Line Status Information',
17
+ :minimum => 1,
18
+ :maximum => nil,
19
+ :position => 1900
20
+
21
+ #Service Line Item Identification
22
+ segment Hippo::Segments::REF,
23
+ :name => 'Service Line Item Identification',
24
+ :minimum => 0,
25
+ :maximum => 1,
26
+ :position => 2000,
27
+ :defaults => {
28
+ 'REF01' => 'FJ'
29
+ }
30
+
31
+ #Service Line Date
32
+ segment Hippo::Segments::DTP,
33
+ :name => 'Service Line Date',
34
+ :minimum => 1,
35
+ :maximum => 1,
36
+ :position => 2100,
37
+ :defaults => {
38
+ 'DTP01' => '472'
39
+ }
40
+
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,77 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
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' => '277'
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' => '0085',
24
+ 'BHT02' => '08',
25
+ 'BHT06' => 'TH'
26
+ }
27
+
28
+ #Information Source Level
29
+ loop Hippo::TransactionSets::HIPAA_277::L2000A,
30
+ :name => 'Information Source Level',
31
+ :identified_by => {
32
+ 'HL.HL03' => '20'
33
+ },
34
+ :minimum => 1,
35
+ :maximum => 1,
36
+ :position => 100
37
+
38
+ #Information Receiver Level
39
+ loop Hippo::TransactionSets::HIPAA_277::L2000B,
40
+ :name => 'Information Receiver Level',
41
+ :identified_by => {
42
+ 'HL.HL03' => '21'
43
+ },
44
+ :minimum => 1,
45
+ :maximum => 1,
46
+ :position => 100
47
+
48
+ #Billing Provider of Service Level
49
+ loop Hippo::TransactionSets::HIPAA_277::L2000C,
50
+ :name => 'Billing Provider of Service Level',
51
+ :identified_by => {
52
+ 'HL.HL03' => '19'
53
+ },
54
+ :minimum => 0,
55
+ :maximum => nil,
56
+ :position => 100
57
+
58
+ #Patient Level
59
+ loop Hippo::TransactionSets::HIPAA_277::L2000D,
60
+ :name => 'Patient Level',
61
+ :identified_by => {
62
+ 'HL.HL03' => 'PT'
63
+ },
64
+ :minimum => 0,
65
+ :maximum => nil,
66
+ :position => 100
67
+
68
+ #Transaction Set Trailer
69
+ segment Hippo::Segments::SE,
70
+ :name => 'Transaction Set Trailer',
71
+ :minimum => 1,
72
+ :maximum => 1,
73
+ :position => 2700
74
+
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,24 @@
1
+ module Hippo::TransactionSets
2
+ module HIPAA_277
3
+
4
+ autoload :Base, 'hippo/transaction_sets/HIPAA_277/base'
5
+ autoload :L2000A, 'hippo/transaction_sets/HIPAA_277/L2000A'
6
+ autoload :L2000B, 'hippo/transaction_sets/HIPAA_277/L2000B'
7
+ autoload :L2000C, 'hippo/transaction_sets/HIPAA_277/L2000C'
8
+ autoload :L2000D, 'hippo/transaction_sets/HIPAA_277/L2000D'
9
+ autoload :L2000E, 'hippo/transaction_sets/HIPAA_277/L2000E'
10
+ autoload :L2100A, 'hippo/transaction_sets/HIPAA_277/L2100A'
11
+ autoload :L2100B, 'hippo/transaction_sets/HIPAA_277/L2100B'
12
+ autoload :L2100C, 'hippo/transaction_sets/HIPAA_277/L2100C'
13
+ autoload :L2100D, 'hippo/transaction_sets/HIPAA_277/L2100D'
14
+ autoload :L2100E, 'hippo/transaction_sets/HIPAA_277/L2100E'
15
+ autoload :L2200A, 'hippo/transaction_sets/HIPAA_277/L2200A'
16
+ autoload :L2200B, 'hippo/transaction_sets/HIPAA_277/L2200B'
17
+ autoload :L2200C, 'hippo/transaction_sets/HIPAA_277/L2200C'
18
+ autoload :L2200D, 'hippo/transaction_sets/HIPAA_277/L2200D'
19
+ autoload :L2200E, 'hippo/transaction_sets/HIPAA_277/L2200E'
20
+ autoload :L2220D, 'hippo/transaction_sets/HIPAA_277/L2220D'
21
+ autoload :L2220E, 'hippo/transaction_sets/HIPAA_277/L2220E'
22
+
23
+ end
24
+ end