hippo_eyeDoc 0.0.1

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 (284) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG +124 -0
  3. data/Gemfile +10 -0
  4. data/Guardfile +14 -0
  5. data/LICENSE +24 -0
  6. data/README.md +385 -0
  7. data/Rakefile +12 -0
  8. data/hippo_eyeDoc.gemspec +25 -0
  9. data/lib/hippo_eyeDoc.rb +15 -0
  10. data/lib/hippo_eyeDoc/code_lists.rb +10 -0
  11. data/lib/hippo_eyeDoc/code_lists/claim_adjustment_reason_codes.rb +2252 -0
  12. data/lib/hippo_eyeDoc/code_lists/claim_status_category_codes.rb +376 -0
  13. data/lib/hippo_eyeDoc/code_lists/claim_status_codes.rb +5456 -0
  14. data/lib/hippo_eyeDoc/code_lists/remittance_advice_remark_codes.rb +6280 -0
  15. data/lib/hippo_eyeDoc/code_lists/service_type_codes.rb +1299 -0
  16. data/lib/hippo_eyeDoc/code_lists/taxonomy_codes.rb +9224 -0
  17. data/lib/hippo_eyeDoc/exceptions.rb +10 -0
  18. data/lib/hippo_eyeDoc/field.rb +149 -0
  19. data/lib/hippo_eyeDoc/outputters.rb +4 -0
  20. data/lib/hippo_eyeDoc/outputters/html.rb +39 -0
  21. data/lib/hippo_eyeDoc/outputters/paper_claim.rb +7 -0
  22. data/lib/hippo_eyeDoc/outputters/pdf.rb +18 -0
  23. data/lib/hippo_eyeDoc/outputters/pretty_string.rb +45 -0
  24. data/lib/hippo_eyeDoc/parser.rb +70 -0
  25. data/lib/hippo_eyeDoc/parser/segment.rb +35 -0
  26. data/lib/hippo_eyeDoc/parser/transaction_set.rb +45 -0
  27. data/lib/hippo_eyeDoc/segments.rb +111 -0
  28. data/lib/hippo_eyeDoc/segments/AAA.rb +39 -0
  29. data/lib/hippo_eyeDoc/segments/AK1.rb +31 -0
  30. data/lib/hippo_eyeDoc/segments/AK2.rb +31 -0
  31. data/lib/hippo_eyeDoc/segments/AK3.rb +39 -0
  32. data/lib/hippo_eyeDoc/segments/AK4.rb +59 -0
  33. data/lib/hippo_eyeDoc/segments/AK5.rb +55 -0
  34. data/lib/hippo_eyeDoc/segments/AK9.rb +79 -0
  35. data/lib/hippo_eyeDoc/segments/AMT.rb +31 -0
  36. data/lib/hippo_eyeDoc/segments/BHT.rb +55 -0
  37. data/lib/hippo_eyeDoc/segments/BPR.rb +175 -0
  38. data/lib/hippo_eyeDoc/segments/CAS.rb +159 -0
  39. data/lib/hippo_eyeDoc/segments/CL1.rb +39 -0
  40. data/lib/hippo_eyeDoc/segments/CLM.rb +223 -0
  41. data/lib/hippo_eyeDoc/segments/CLP.rb +119 -0
  42. data/lib/hippo_eyeDoc/segments/CN1.rb +55 -0
  43. data/lib/hippo_eyeDoc/segments/CR1.rb +87 -0
  44. data/lib/hippo_eyeDoc/segments/CR2.rb +103 -0
  45. data/lib/hippo_eyeDoc/segments/CR3.rb +47 -0
  46. data/lib/hippo_eyeDoc/segments/CR4.rb +239 -0
  47. data/lib/hippo_eyeDoc/segments/CR5.rb +151 -0
  48. data/lib/hippo_eyeDoc/segments/CR6.rb +175 -0
  49. data/lib/hippo_eyeDoc/segments/CR7.rb +31 -0
  50. data/lib/hippo_eyeDoc/segments/CR8.rb +79 -0
  51. data/lib/hippo_eyeDoc/segments/CRC.rb +63 -0
  52. data/lib/hippo_eyeDoc/segments/CTP.rb +211 -0
  53. data/lib/hippo_eyeDoc/segments/CTX.rb +99 -0
  54. data/lib/hippo_eyeDoc/segments/CUR.rb +175 -0
  55. data/lib/hippo_eyeDoc/segments/DMG.rb +115 -0
  56. data/lib/hippo_eyeDoc/segments/DN1.rb +39 -0
  57. data/lib/hippo_eyeDoc/segments/DN2.rb +55 -0
  58. data/lib/hippo_eyeDoc/segments/DSB.rb +71 -0
  59. data/lib/hippo_eyeDoc/segments/DTM.rb +55 -0
  60. data/lib/hippo_eyeDoc/segments/DTP.rb +31 -0
  61. data/lib/hippo_eyeDoc/segments/EB.rb +207 -0
  62. data/lib/hippo_eyeDoc/segments/EM.rb +63 -0
  63. data/lib/hippo_eyeDoc/segments/EQ.rb +135 -0
  64. data/lib/hippo_eyeDoc/segments/FRM.rb +47 -0
  65. data/lib/hippo_eyeDoc/segments/GE.rb +23 -0
  66. data/lib/hippo_eyeDoc/segments/GS.rb +71 -0
  67. data/lib/hippo_eyeDoc/segments/HCP.rb +127 -0
  68. data/lib/hippo_eyeDoc/segments/HI.rb +919 -0
  69. data/lib/hippo_eyeDoc/segments/HL.rb +44 -0
  70. data/lib/hippo_eyeDoc/segments/HSD.rb +71 -0
  71. data/lib/hippo_eyeDoc/segments/IEA.rb +23 -0
  72. data/lib/hippo_eyeDoc/segments/III.rb +195 -0
  73. data/lib/hippo_eyeDoc/segments/IK3.rb +39 -0
  74. data/lib/hippo_eyeDoc/segments/IK4.rb +59 -0
  75. data/lib/hippo_eyeDoc/segments/IK5.rb +55 -0
  76. data/lib/hippo_eyeDoc/segments/IMM.rb +55 -0
  77. data/lib/hippo_eyeDoc/segments/INS.rb +171 -0
  78. data/lib/hippo_eyeDoc/segments/ISA.rb +136 -0
  79. data/lib/hippo_eyeDoc/segments/K3.rb +147 -0
  80. data/lib/hippo_eyeDoc/segments/LE.rb +15 -0
  81. data/lib/hippo_eyeDoc/segments/LIN.rb +255 -0
  82. data/lib/hippo_eyeDoc/segments/LQ.rb +23 -0
  83. data/lib/hippo_eyeDoc/segments/LS.rb +15 -0
  84. data/lib/hippo_eyeDoc/segments/LX.rb +20 -0
  85. data/lib/hippo_eyeDoc/segments/MEA.rb +219 -0
  86. data/lib/hippo_eyeDoc/segments/MIA.rb +199 -0
  87. data/lib/hippo_eyeDoc/segments/MOA.rb +79 -0
  88. data/lib/hippo_eyeDoc/segments/MPI.rb +63 -0
  89. data/lib/hippo_eyeDoc/segments/MSG.rb +31 -0
  90. data/lib/hippo_eyeDoc/segments/N1.rb +55 -0
  91. data/lib/hippo_eyeDoc/segments/N2.rb +23 -0
  92. data/lib/hippo_eyeDoc/segments/N3.rb +23 -0
  93. data/lib/hippo_eyeDoc/segments/N4.rb +63 -0
  94. data/lib/hippo_eyeDoc/segments/NM1.rb +103 -0
  95. data/lib/hippo_eyeDoc/segments/NTE.rb +23 -0
  96. data/lib/hippo_eyeDoc/segments/OI.rb +55 -0
  97. data/lib/hippo_eyeDoc/segments/PAT.rb +79 -0
  98. data/lib/hippo_eyeDoc/segments/PCT.rb +23 -0
  99. data/lib/hippo_eyeDoc/segments/PDP.rb +31 -0
  100. data/lib/hippo_eyeDoc/segments/PDR.rb +39 -0
  101. data/lib/hippo_eyeDoc/segments/PER.rb +79 -0
  102. data/lib/hippo_eyeDoc/segments/PID.rb +79 -0
  103. data/lib/hippo_eyeDoc/segments/PKD.rb +47 -0
  104. data/lib/hippo_eyeDoc/segments/PLB.rb +191 -0
  105. data/lib/hippo_eyeDoc/segments/PRV.rb +75 -0
  106. data/lib/hippo_eyeDoc/segments/PS1.rb +31 -0
  107. data/lib/hippo_eyeDoc/segments/PWK.rb +115 -0
  108. data/lib/hippo_eyeDoc/segments/QTY.rb +155 -0
  109. data/lib/hippo_eyeDoc/segments/RDM.rb +135 -0
  110. data/lib/hippo_eyeDoc/segments/REF.rb +83 -0
  111. data/lib/hippo_eyeDoc/segments/SBR.rb +79 -0
  112. data/lib/hippo_eyeDoc/segments/SD1.rb +71 -0
  113. data/lib/hippo_eyeDoc/segments/SE.rb +23 -0
  114. data/lib/hippo_eyeDoc/segments/ST.rb +31 -0
  115. data/lib/hippo_eyeDoc/segments/STC.rb +187 -0
  116. data/lib/hippo_eyeDoc/segments/SV1.rb +263 -0
  117. data/lib/hippo_eyeDoc/segments/SV2.rb +147 -0
  118. data/lib/hippo_eyeDoc/segments/SV3.rb +219 -0
  119. data/lib/hippo_eyeDoc/segments/SV4.rb +211 -0
  120. data/lib/hippo_eyeDoc/segments/SV5.rb +123 -0
  121. data/lib/hippo_eyeDoc/segments/SV6.rb +151 -0
  122. data/lib/hippo_eyeDoc/segments/SV7.rb +55 -0
  123. data/lib/hippo_eyeDoc/segments/SVC.rb +183 -0
  124. data/lib/hippo_eyeDoc/segments/SVD.rb +115 -0
  125. data/lib/hippo_eyeDoc/segments/TA1.rb +46 -0
  126. data/lib/hippo_eyeDoc/segments/TOO.rb +67 -0
  127. data/lib/hippo_eyeDoc/segments/TRN.rb +39 -0
  128. data/lib/hippo_eyeDoc/segments/TS2.rb +159 -0
  129. data/lib/hippo_eyeDoc/segments/TS3.rb +199 -0
  130. data/lib/hippo_eyeDoc/segments/UR.rb +23 -0
  131. data/lib/hippo_eyeDoc/segments/VEH.rb +159 -0
  132. data/lib/hippo_eyeDoc/segments/base.rb +190 -0
  133. data/lib/hippo_eyeDoc/separator.rb +79 -0
  134. data/lib/hippo_eyeDoc/transaction_sets.rb +16 -0
  135. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_270.rb +15 -0
  136. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_270/L2000A.rb +43 -0
  137. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_270/L2000B.rb +42 -0
  138. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_270/L2000C.rb +52 -0
  139. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_270/L2000D.rb +41 -0
  140. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_270/L2100A.rb +21 -0
  141. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_270/L2100B.rb +55 -0
  142. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_270/L2100C.rb +97 -0
  143. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_270/L2100D.rb +0 -0
  144. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_270/L2110C.rb +67 -0
  145. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_270/L2110D.rb +47 -0
  146. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_270/base.rb +47 -0
  147. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271.rb +19 -0
  148. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2000A.rb +55 -0
  149. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2000B.rb +43 -0
  150. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2000C.rb +52 -0
  151. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2000D.rb +41 -0
  152. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2100A.rb +43 -0
  153. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2100B.rb +67 -0
  154. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2100C.rb +124 -0
  155. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2100D.rb +124 -0
  156. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2110C.rb +98 -0
  157. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2110D.rb +98 -0
  158. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2115C.rb +16 -0
  159. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2115D.rb +16 -0
  160. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2120C.rb +54 -0
  161. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/L2120D.rb +54 -0
  162. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_271/base.rb +47 -0
  163. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276.rb +19 -0
  164. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2000A.rb +32 -0
  165. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2000B.rb +32 -0
  166. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2000C.rb +32 -0
  167. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2000D.rb +52 -0
  168. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2000E.rb +50 -0
  169. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2100A.rb +21 -0
  170. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2100B.rb +21 -0
  171. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2100C.rb +21 -0
  172. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2100D.rb +21 -0
  173. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2100E.rb +20 -0
  174. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2200D.rb +117 -0
  175. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2200E.rb +117 -0
  176. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2210D.rb +37 -0
  177. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/L2210E.rb +37 -0
  178. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_276/base.rb +90 -0
  179. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277.rb +22 -0
  180. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2000A.rb +42 -0
  181. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2000B.rb +42 -0
  182. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2000C.rb +52 -0
  183. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2000D.rb +41 -0
  184. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2000E.rb +40 -0
  185. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2100A.rb +21 -0
  186. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2100B.rb +21 -0
  187. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2100C.rb +21 -0
  188. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2100D.rb +21 -0
  189. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2100E.rb +20 -0
  190. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2200A.rb +41 -0
  191. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2200B.rb +69 -0
  192. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2200C.rb +79 -0
  193. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2200D.rb +77 -0
  194. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2200E.rb +104 -0
  195. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2220D.rb +57 -0
  196. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/L2220E.rb +44 -0
  197. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_277/base.rb +70 -0
  198. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_835.rb +10 -0
  199. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_835/L1000A.rb +74 -0
  200. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_835/L1000B.rb +54 -0
  201. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_835/L2000.rb +41 -0
  202. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_835/L2100.rb +213 -0
  203. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_835/L2110.rb +106 -0
  204. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_835/base.rb +122 -0
  205. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837.rb +43 -0
  206. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L1000A.rb +32 -0
  207. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L1000B.rb +21 -0
  208. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2000A.rb +88 -0
  209. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2000B.rb +87 -0
  210. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2000C.rb +54 -0
  211. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2010AA.rb +65 -0
  212. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2010AB.rb +34 -0
  213. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2010AC.rb +55 -0
  214. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2010BA.rb +76 -0
  215. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2010BB.rb +55 -0
  216. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2010CA.rb +76 -0
  217. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2300.rb +570 -0
  218. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2310A.rb +30 -0
  219. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2310B.rb +41 -0
  220. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2310C.rb +55 -0
  221. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2310D.rb +30 -0
  222. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2310E.rb +34 -0
  223. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2310F.rb +34 -0
  224. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2320.rb +157 -0
  225. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2330A.rb +45 -0
  226. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2330B.rb +96 -0
  227. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2330C.rb +30 -0
  228. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2330D.rb +30 -0
  229. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2330E.rb +30 -0
  230. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2330F.rb +30 -0
  231. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2330G.rb +30 -0
  232. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2400.rb +537 -0
  233. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2410.rb +36 -0
  234. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2420A.rb +41 -0
  235. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2420B.rb +30 -0
  236. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2420C.rb +44 -0
  237. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2420D.rb +30 -0
  238. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2420E.rb +55 -0
  239. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2420F.rb +30 -0
  240. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2420G.rb +34 -0
  241. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2420H.rb +34 -0
  242. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2430.rb +47 -0
  243. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/L2440.rb +26 -0
  244. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_837/base.rb +71 -0
  245. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_997.rb +7 -0
  246. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_997/L2000.rb +36 -0
  247. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_997/L2100.rb +29 -0
  248. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_997/base.rb +49 -0
  249. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_999.rb +8 -0
  250. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_999/L2000 - AK2.rb +30 -0
  251. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_999/L2000AK2.rb +36 -0
  252. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_999/L2100 - AK2.rb +37 -0
  253. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_999/L2100AK2.rb +43 -0
  254. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_999/L2110 - AK2.rb +23 -0
  255. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_999/L2110AK2.rb +26 -0
  256. data/lib/hippo_eyeDoc/transaction_sets/HIPAA_999/base.rb +49 -0
  257. data/lib/hippo_eyeDoc/transaction_sets/base.rb +236 -0
  258. data/lib/hippo_eyeDoc/transaction_sets/component.rb +96 -0
  259. data/lib/hippo_eyeDoc/transaction_sets/repeating_component.rb +48 -0
  260. data/lib/hippo_eyeDoc/utilities.rb +37 -0
  261. data/lib/hippo_eyeDoc/version.rb +3 -0
  262. data/samples/005010X221A1_business_scenario_1.edi +1 -0
  263. data/samples/005010X221A1_tmhp_example.edi +1 -0
  264. data/samples/005010X222A1_anesthesia.edi +1 -0
  265. data/samples/005010X222A1_commercial_health_insurance.edi +1 -0
  266. data/samples/005010X231A1_01.edi +11 -0
  267. data/samples/005010X231A1_02.edi +11 -0
  268. data/samples/200823.EDI +22 -0
  269. data/samples/837_L2000A_01.edi +1 -0
  270. data/samples/837_L2000A_02.edi +1 -0
  271. data/samples/parse_277.rb +127 -0
  272. data/samples/parse_999.rb +122 -0
  273. data/samples/sample835.html +1 -0
  274. data/samples/sample835.pretty_string +28 -0
  275. data/samples/sample837.html +1 -0
  276. data/test/test_helper.rb +155 -0
  277. data/test/test_hipaa_835.rb +229 -0
  278. data/test/test_hipaa_837.rb +596 -0
  279. data/test/test_html_outputter.rb +22 -0
  280. data/test/test_parser.rb +138 -0
  281. data/test/test_pretty_string_outputter.rb +33 -0
  282. data/test/test_segments_base.rb +201 -0
  283. data/test/test_transaction_sets_base.rb +122 -0
  284. metadata +356 -0
@@ -0,0 +1,47 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_271
3
+
4
+ class Base < Hippo_eyeDoc::TransactionSets::Base
5
+
6
+ #Transaction Set Header
7
+ segment Hippo_eyeDoc::Segments::ST,
8
+ :name => 'Transaction Set Header',
9
+ :minimum => 1,
10
+ :maximum => 1,
11
+ :position => 100,
12
+ :identified_by => {
13
+ 'ST01' => '271'
14
+ }
15
+
16
+ #Beginning of Hierarchical Transaction
17
+ segment Hippo_eyeDoc::Segments::BHT,
18
+ :name => 'Beginning of Hierarchical Transaction',
19
+ :minimum => 1,
20
+ :maximum => 1,
21
+ :position => 200,
22
+ :identified_by => {
23
+ 'BHT01' => '0022',
24
+ 'BHT02' => ["06", "11"]
25
+ }
26
+
27
+ #Information Source Level
28
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_271::L2000A,
29
+ :name => 'Information Source Level',
30
+ :minimum => 1,
31
+ :maximum => 99999,
32
+ :position => 100,
33
+ :identified_by => {
34
+ 'HL.HL03' => '20',
35
+ 'HL.HL04' => ["0", "1"]
36
+ }
37
+
38
+ #Transaction Set Trailer
39
+ segment Hippo_eyeDoc::Segments::SE,
40
+ :name => 'Transaction Set Trailer',
41
+ :minimum => 1,
42
+ :maximum => 1,
43
+ :position => 2300
44
+
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,19 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+ autoload_relative :Base, 'HIPAA_276/base'
4
+ autoload_relative :L2000A, 'HIPAA_276/L2000A'
5
+ autoload_relative :L2000B, 'HIPAA_276/L2000B'
6
+ autoload_relative :L2000C, 'HIPAA_276/L2000C'
7
+ autoload_relative :L2000D, 'HIPAA_276/L2000D'
8
+ autoload_relative :L2000E, 'HIPAA_276/L2000E'
9
+ autoload_relative :L2100A, 'HIPAA_276/L2100A'
10
+ autoload_relative :L2100B, 'HIPAA_276/L2100B'
11
+ autoload_relative :L2100C, 'HIPAA_276/L2100C'
12
+ autoload_relative :L2100D, 'HIPAA_276/L2100D'
13
+ autoload_relative :L2100E, 'HIPAA_276/L2100E'
14
+ autoload_relative :L2200D, 'HIPAA_276/L2200D'
15
+ autoload_relative :L2200E, 'HIPAA_276/L2200E'
16
+ autoload_relative :L2210D, 'HIPAA_276/L2210D'
17
+ autoload_relative :L2210E, 'HIPAA_276/L2210E'
18
+ end
19
+ end
@@ -0,0 +1,32 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2000A < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2000A' #Information Source Level
6
+
7
+ #Information Source Level
8
+ segment Hippo_eyeDoc::Segments::HL,
9
+ :name => 'Information Source Level',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :identified_by => {
14
+ 'HL03' => '20',
15
+ 'HL04' => '1'
16
+ }
17
+
18
+ #Payer Name
19
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2100A,
20
+ :name => 'Payer Name',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 500,
24
+ :identified_by => {
25
+ 'NM1.NM101' => 'PR',
26
+ 'NM1.NM102' => '2',
27
+ 'NM1.NM108' => ["PI", "XV"]
28
+ }
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2000B < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2000B' #Information Receiver Level
6
+
7
+ #Information Receiver Level
8
+ segment Hippo_eyeDoc::Segments::HL,
9
+ :name => 'Information Receiver Level',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :identified_by => {
14
+ 'HL03' => '21',
15
+ 'HL04' => '1'
16
+ }
17
+
18
+ #Information Receiver Name
19
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2100B,
20
+ :name => 'Information Receiver Name',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 500,
24
+ :identified_by => {
25
+ 'NM1.NM101' => '41',
26
+ 'NM1.NM102' => ["1", "2"],
27
+ 'NM1.NM108' => '46'
28
+ }
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2000C < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2000C' #Service Provider Level
6
+
7
+ #Service Provider Level
8
+ segment Hippo_eyeDoc::Segments::HL,
9
+ :name => 'Service Provider Level',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :identified_by => {
14
+ 'HL03' => '19',
15
+ 'HL04' => '1'
16
+ }
17
+
18
+ #Provider Name
19
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2100C,
20
+ :name => 'Provider Name',
21
+ :minimum => 1,
22
+ :maximum => 2,
23
+ :position => 500,
24
+ :identified_by => {
25
+ 'NM1.NM101' => '1P',
26
+ 'NM1.NM102' => ["1", "2"],
27
+ 'NM1.NM108' => ["FI", "SV", "XX"]
28
+ }
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,52 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2000D < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2000D' #Subscriber Level
6
+
7
+ #Subscriber Level
8
+ segment Hippo_eyeDoc::Segments::HL,
9
+ :name => 'Subscriber Level',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :identified_by => {
14
+ 'HL03' => '22',
15
+ 'HL04' => ["0", "1"]
16
+ }
17
+
18
+ #Subscriber Demographic Information
19
+ segment Hippo_eyeDoc::Segments::DMG,
20
+ :name => 'Subscriber Demographic Information',
21
+ :minimum => 0,
22
+ :maximum => 1,
23
+ :position => 400,
24
+ :identified_by => {
25
+ 'DMG01' => 'D8'
26
+ }
27
+
28
+ #Subscriber Name
29
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2100D,
30
+ :name => 'Subscriber Name',
31
+ :minimum => 1,
32
+ :maximum => 1,
33
+ :position => 500,
34
+ :identified_by => {
35
+ 'NM1.NM101' => 'IL',
36
+ 'NM1.NM102' => ["1", "2"],
37
+ 'NM1.NM108' => ["24", "II", "MI"]
38
+ }
39
+
40
+ #Claim Status Tracking Number
41
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2200D,
42
+ :name => 'Claim Status Tracking Number',
43
+ :minimum => 0,
44
+ :maximum => 99999,
45
+ :position => 900,
46
+ :identified_by => {
47
+ 'TRN.TRN01' => '1'
48
+ }
49
+
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,50 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2000E < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2000E' #Dependent Level
6
+
7
+ #Dependent Level
8
+ segment Hippo_eyeDoc::Segments::HL,
9
+ :name => 'Dependent Level',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :identified_by => {
14
+ 'HL03' => '23'
15
+ }
16
+
17
+ #Dependent Demographic Information
18
+ segment Hippo_eyeDoc::Segments::DMG,
19
+ :name => 'Dependent Demographic Information',
20
+ :minimum => 1,
21
+ :maximum => 1,
22
+ :position => 400,
23
+ :identified_by => {
24
+ 'DMG01' => 'D8'
25
+ }
26
+
27
+ #Dependent Name
28
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2100E,
29
+ :name => 'Dependent Name',
30
+ :minimum => 1,
31
+ :maximum => 1,
32
+ :position => 500,
33
+ :identified_by => {
34
+ 'NM1.NM101' => 'QC',
35
+ 'NM1.NM102' => '1'
36
+ }
37
+
38
+ #Claim Status Tracking Number
39
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2200E,
40
+ :name => 'Claim Status Tracking Number',
41
+ :minimum => 1,
42
+ :maximum => 99999,
43
+ :position => 900,
44
+ :identified_by => {
45
+ 'TRN.TRN01' => '1'
46
+ }
47
+
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,21 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2100A < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2100A' #Payer Name
6
+
7
+ #Payer Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Payer Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :identified_by => {
14
+ 'NM101' => 'PR',
15
+ 'NM102' => '2',
16
+ 'NM108' => ["PI", "XV"]
17
+ }
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2100B < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2100B' #Information Receiver Name
6
+
7
+ #Information Receiver Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Information Receiver Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :identified_by => {
14
+ 'NM101' => '41',
15
+ 'NM102' => ["1", "2"],
16
+ 'NM108' => '46'
17
+ }
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2100C < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2100C' #Provider Name
6
+
7
+ #Provider Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Provider Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :identified_by => {
14
+ 'NM101' => '1P',
15
+ 'NM102' => ["1", "2"],
16
+ 'NM108' => ["FI", "SV", "XX"]
17
+ }
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2100D < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2100D' #Subscriber Name
6
+
7
+ #Subscriber Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Subscriber Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :identified_by => {
14
+ 'NM101' => 'IL',
15
+ 'NM102' => ["1", "2"],
16
+ 'NM108' => ["24", "II", "MI"]
17
+ }
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2100E < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2100E' #Dependent Name
6
+
7
+ #Dependent Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Dependent Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :identified_by => {
14
+ 'NM101' => 'QC',
15
+ 'NM102' => '1'
16
+ }
17
+
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,117 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2200D < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2200D' #Claim Status Tracking Number
6
+
7
+ #Claim Status Tracking Number
8
+ segment Hippo_eyeDoc::Segments::TRN,
9
+ :name => 'Claim Status Tracking Number',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 900,
13
+ :identified_by => {
14
+ 'TRN01' => '1'
15
+ }
16
+
17
+ #Payer Claim Control Number
18
+ segment Hippo_eyeDoc::Segments::REF,
19
+ :name => 'Payer Claim Control Number',
20
+ :minimum => 0,
21
+ :maximum => 1,
22
+ :position => 1000,
23
+ :identified_by => {
24
+ 'REF01' => '1K'
25
+ }
26
+
27
+ #Institutional Bill Type Identification
28
+ segment Hippo_eyeDoc::Segments::REF,
29
+ :name => 'Institutional Bill Type Identification',
30
+ :minimum => 0,
31
+ :maximum => 1,
32
+ :position => 1010,
33
+ :identified_by => {
34
+ 'REF01' => 'BLT'
35
+ }
36
+
37
+ #Application or Location System Identifier
38
+ segment Hippo_eyeDoc::Segments::REF,
39
+ :name => 'Application or Location System Identifier',
40
+ :minimum => 0,
41
+ :maximum => 1,
42
+ :position => 1030,
43
+ :identified_by => {
44
+ 'REF01' => 'LU'
45
+ }
46
+
47
+ #Group Number
48
+ segment Hippo_eyeDoc::Segments::REF,
49
+ :name => 'Group Number',
50
+ :minimum => 0,
51
+ :maximum => 1,
52
+ :position => 1035,
53
+ :identified_by => {
54
+ 'REF01' => '6P'
55
+ }
56
+
57
+ #Patient Control Number
58
+ segment Hippo_eyeDoc::Segments::REF,
59
+ :name => 'Patient Control Number',
60
+ :minimum => 0,
61
+ :maximum => 1,
62
+ :position => 1040,
63
+ :identified_by => {
64
+ 'REF01' => 'EJ'
65
+ }
66
+
67
+ #Pharmacy Prescription Number
68
+ segment Hippo_eyeDoc::Segments::REF,
69
+ :name => 'Pharmacy Prescription Number',
70
+ :minimum => 0,
71
+ :maximum => 1,
72
+ :position => 1045,
73
+ :identified_by => {
74
+ 'REF01' => 'XZ'
75
+ }
76
+
77
+ #Claim Identification Number For Clearinghouses and Other Transmission Intermediaries
78
+ segment Hippo_eyeDoc::Segments::REF,
79
+ :name => 'Claim Identification Number For Clearinghouses and Other Transmission Intermediaries',
80
+ :minimum => 0,
81
+ :maximum => 1,
82
+ :position => 1050,
83
+ :identified_by => {
84
+ 'REF01' => 'D9'
85
+ }
86
+
87
+ #Claim Submitted Charges
88
+ segment Hippo_eyeDoc::Segments::AMT,
89
+ :name => 'Claim Submitted Charges',
90
+ :minimum => 0,
91
+ :maximum => 1,
92
+ :position => 1100,
93
+ :identified_by => {
94
+ 'AMT01' => 'T3'
95
+ }
96
+
97
+ #Claim Service Date
98
+ segment Hippo_eyeDoc::Segments::DTP,
99
+ :name => 'Claim Service Date',
100
+ :minimum => 0,
101
+ :maximum => 1,
102
+ :position => 1200,
103
+ :identified_by => {
104
+ 'DTP01' => '472',
105
+ 'DTP02' => ["D8", "RD8"]
106
+ }
107
+
108
+ #Service Line Information
109
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2210D,
110
+ :name => 'Service Line Information',
111
+ :minimum => 0,
112
+ :maximum => 99999,
113
+ :position => 1300
114
+
115
+ end
116
+ end
117
+ end