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,124 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_271
3
+
4
+ class L2100D < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2100D' #Dependent Name
6
+
7
+ #Dependent Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Dependent Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 300,
13
+ :identified_by => {
14
+ 'NM101' => '03',
15
+ 'NM102' => '1'
16
+ }
17
+
18
+ #Dependent Additional Identification
19
+ segment Hippo_eyeDoc::Segments::REF,
20
+ :name => 'Dependent Additional Identification',
21
+ :minimum => 0,
22
+ :maximum => 9,
23
+ :position => 400,
24
+ :identified_by => {
25
+ 'REF01' => ["18", "1L", "1W", "49", "6P", "CE", "CT", "EA", "EJ", "F6", "GH", "HJ", "IF", "IG", "MRC", "N6", "NQ", "Q4", "SY", "Y4"]
26
+ }
27
+
28
+ #Dependent Address
29
+ segment Hippo_eyeDoc::Segments::N3,
30
+ :name => 'Dependent Address',
31
+ :minimum => 0,
32
+ :maximum => 1,
33
+ :position => 600
34
+
35
+ #Dependent City, State, ZIP Code
36
+ segment Hippo_eyeDoc::Segments::N4,
37
+ :name => 'Dependent City, State, ZIP Code',
38
+ :minimum => 0,
39
+ :maximum => 1,
40
+ :position => 700
41
+
42
+ #Dependent Request Validation
43
+ segment Hippo_eyeDoc::Segments::AAA,
44
+ :name => 'Dependent Request Validation',
45
+ :minimum => 0,
46
+ :maximum => 9,
47
+ :position => 850,
48
+ :identified_by => {
49
+ 'AAA01' => ["N", "Y"],
50
+ 'AAA03' => ["15", "35", "42", "43", "45", "47", "48", "49", "51", "52", "56", "57", "58", "60", "61", "62", "63", "64", "65", "66", "67", "68", "71", "77"],
51
+ 'AAA04' => ["C", "N", "R", "S", "W", "X", "Y"]
52
+ }
53
+
54
+ #Provider Information
55
+ segment Hippo_eyeDoc::Segments::PRV,
56
+ :name => 'Provider Information',
57
+ :minimum => 0,
58
+ :maximum => 1,
59
+ :position => 900,
60
+ :identified_by => {
61
+ 'PRV01' => ["AD", "AT", "BI", "CO", "CV", "H", "HH", "LA", "OT", "P1", "P2", "PC", "PE", "R", "RF", "SK", "SU"]
62
+ }
63
+
64
+ #Dependent Demographic Information
65
+ segment Hippo_eyeDoc::Segments::DMG,
66
+ :name => 'Dependent Demographic Information',
67
+ :minimum => 0,
68
+ :maximum => 1,
69
+ :position => 1000
70
+
71
+ #Dependent Relationship
72
+ segment Hippo_eyeDoc::Segments::INS,
73
+ :name => 'Dependent Relationship',
74
+ :minimum => 0,
75
+ :maximum => 1,
76
+ :position => 1100,
77
+ :identified_by => {
78
+ 'INS01' => 'N',
79
+ 'INS02' => ["01", "19", "20", "21", "39", "40", "53", "G8"]
80
+ }
81
+
82
+ #Dependent Health Care Diagnosis Code
83
+ segment Hippo_eyeDoc::Segments::HI,
84
+ :name => 'Dependent Health Care Diagnosis Code',
85
+ :minimum => 0,
86
+ :maximum => 1,
87
+ :position => 1150
88
+
89
+ #Dependent Date
90
+ segment Hippo_eyeDoc::Segments::DTP,
91
+ :name => 'Dependent Date',
92
+ :minimum => 0,
93
+ :maximum => 9,
94
+ :position => 1200,
95
+ :identified_by => {
96
+ 'DTP01' => ["096", "102", "152", "291", "307", "318", "340", "341", "342", "343", "346", "347", "356", "357", "382", "435", "442", "458", "472", "539", "540", "636", "771"],
97
+ 'DTP02' => ["D8", "RD8"]
98
+ }
99
+
100
+ #Dependent Military Personnel Information
101
+ segment Hippo_eyeDoc::Segments::MPI,
102
+ :name => 'Dependent Military Personnel Information',
103
+ :minimum => 0,
104
+ :maximum => 1,
105
+ :position => 1275,
106
+ :identified_by => {
107
+ 'MPI01' => ["A", "C", "L", "O", "P", "S", "T"],
108
+ 'MPI02' => ["AE", "AO", "AS", "AT", "AU", "CC", "DD", "HD", "IR", "LX", "PE", "RE", "RM", "RR", "RU"],
109
+ 'MPI03' => ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "Q", "R", "S", "U", "W"]
110
+ }
111
+
112
+ #Dependent Eligibility or Benefit Information
113
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_271::L2110D,
114
+ :name => 'Dependent Eligibility or Benefit Information',
115
+ :minimum => 0,
116
+ :maximum => 99999,
117
+ :position => 1300,
118
+ :identified_by => {
119
+ 'EB.EB01' => ["1", "2", "3", "4", "5", "6", "7", "8", "A", "B", "C", "CB", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "MC", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y"]
120
+ }
121
+
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,98 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_271
3
+
4
+ class L2110C < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2110C' #Subscriber Eligibility or Benefit Information
6
+
7
+ #Subscriber Eligibility or Benefit Information
8
+ segment Hippo_eyeDoc::Segments::EB,
9
+ :name => 'Subscriber Eligibility or Benefit Information',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 1300,
13
+ :identified_by => {
14
+ 'EB01' => ["1", "2", "3", "4", "5", "6", "7", "8", "A", "B", "C", "CB", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "MC", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y"]
15
+ }
16
+
17
+ #Health Care Services Delivery
18
+ segment Hippo_eyeDoc::Segments::HSD,
19
+ :name => 'Health Care Services Delivery',
20
+ :minimum => 0,
21
+ :maximum => 9,
22
+ :position => 1350
23
+
24
+ #Subscriber Additional Identification
25
+ segment Hippo_eyeDoc::Segments::REF,
26
+ :name => 'Subscriber Additional Identification',
27
+ :minimum => 0,
28
+ :maximum => 9,
29
+ :position => 1400,
30
+ :identified_by => {
31
+ 'REF01' => ["18", "1L", "1W", "49", "6P", "9F", "ALS", "CLI", "F6", "FO", "G1", "IG", "M7", "N6", "NQ"]
32
+ }
33
+
34
+ #Subscriber Eligibility/Benefit Date
35
+ segment Hippo_eyeDoc::Segments::DTP,
36
+ :name => 'Subscriber Eligibility/Benefit Date',
37
+ :minimum => 0,
38
+ :maximum => 20,
39
+ :position => 1500,
40
+ :identified_by => {
41
+ 'DTP01' => ["096", "193", "194", "198", "290", "291", "292", "295", "304", "307", "318", "346", "348", "349", "356", "357", "435", "472", "636", "771"],
42
+ 'DTP02' => ["D8", "RD8"]
43
+ }
44
+
45
+ #Subscriber Request Validation
46
+ segment Hippo_eyeDoc::Segments::AAA,
47
+ :name => 'Subscriber Request Validation',
48
+ :minimum => 0,
49
+ :maximum => 9,
50
+ :position => 1600,
51
+ :identified_by => {
52
+ 'AAA01' => ["N", "Y"],
53
+ 'AAA03' => ["15", "33", "52", "53", "54", "55", "56", "57", "60", "61", "62", "63", "69", "70", "98", "AA", "AE", "AF", "AG", "AO", "CI", "E8", "IA", "MA"],
54
+ 'AAA04' => ["C", "N", "R", "W", "X", "Y"]
55
+ }
56
+
57
+ #Message Text
58
+ segment Hippo_eyeDoc::Segments::MSG,
59
+ :name => 'Message Text',
60
+ :minimum => 0,
61
+ :maximum => 10,
62
+ :position => 1700
63
+
64
+ #Subscriber Eligibility or Benefit Additional Information
65
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_271::L2115C,
66
+ :name => 'Subscriber Eligibility or Benefit Additional Information',
67
+ :minimum => 0,
68
+ :maximum => 10,
69
+ :position => 1710
70
+
71
+ #Loop Header
72
+ segment Hippo_eyeDoc::Segments::LS,
73
+ :name => 'Loop Header',
74
+ :minimum => 0,
75
+ :maximum => 1,
76
+ :position => 1780
77
+
78
+ #Subscriber Benefit Related Entity Name
79
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_271::L2120C,
80
+ :name => 'Subscriber Benefit Related Entity Name',
81
+ :minimum => 0,
82
+ :maximum => 23,
83
+ :position => 1800,
84
+ :identified_by => {
85
+ 'NM1.NM101' => ["13", "1I", "1P", "2B", "36", "73", "FA", "GP", "GW", "I3", "IL", "LR", "OC", "P3", "P4", "P5", "PR", "PRP", "SEP", "TTP", "VER", "VN", "VY", "X3", "Y2"],
86
+ 'NM1.NM102' => ["1", "2"]
87
+ }
88
+
89
+ #Loop Trailer
90
+ segment Hippo_eyeDoc::Segments::LE,
91
+ :name => 'Loop Trailer',
92
+ :minimum => 0,
93
+ :maximum => 1,
94
+ :position => 2250
95
+
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,98 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_271
3
+
4
+ class L2110D < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2110D' #Dependent Eligibility or Benefit Information
6
+
7
+ #Dependent Eligibility or Benefit Information
8
+ segment Hippo_eyeDoc::Segments::EB,
9
+ :name => 'Dependent Eligibility or Benefit Information',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 1300,
13
+ :identified_by => {
14
+ 'EB01' => ["1", "2", "3", "4", "5", "6", "7", "8", "A", "B", "C", "CB", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "MC", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y"]
15
+ }
16
+
17
+ #Health Care Services Delivery
18
+ segment Hippo_eyeDoc::Segments::HSD,
19
+ :name => 'Health Care Services Delivery',
20
+ :minimum => 0,
21
+ :maximum => 9,
22
+ :position => 1350
23
+
24
+ #Dependent Additional Identification
25
+ segment Hippo_eyeDoc::Segments::REF,
26
+ :name => 'Dependent Additional Identification',
27
+ :minimum => 0,
28
+ :maximum => 9,
29
+ :position => 1400,
30
+ :identified_by => {
31
+ 'REF01' => ["18", "1L", "1W", "49", "6P", "9F", "ALS", "CLI", "F6", "FO", "G1", "IG", "N6", "NQ"]
32
+ }
33
+
34
+ #Dependent Eligibility/Benefit Date
35
+ segment Hippo_eyeDoc::Segments::DTP,
36
+ :name => 'Dependent Eligibility/Benefit Date',
37
+ :minimum => 0,
38
+ :maximum => 20,
39
+ :position => 1500,
40
+ :identified_by => {
41
+ 'DTP01' => ["096", "193", "194", "198", "290", "291", "292", "295", "304", "307", "318", "346", "348", "349", "356", "357", "435", "472", "636", "771"],
42
+ 'DTP02' => ["D8", "RD8"]
43
+ }
44
+
45
+ #Dependent Request Validation
46
+ segment Hippo_eyeDoc::Segments::AAA,
47
+ :name => 'Dependent Request Validation',
48
+ :minimum => 0,
49
+ :maximum => 9,
50
+ :position => 1600,
51
+ :identified_by => {
52
+ 'AAA01' => ["N", "Y"],
53
+ 'AAA03' => ["15", "33", "52", "53", "54", "55", "56", "57", "60", "61", "62", "63", "69", "70", "98", "AA", "AE", "AF", "AG", "AO", "CI", "E8", "IA", "MA"],
54
+ 'AAA04' => ["C", "N", "R", "W", "X", "Y"]
55
+ }
56
+
57
+ #Message Text
58
+ segment Hippo_eyeDoc::Segments::MSG,
59
+ :name => 'Message Text',
60
+ :minimum => 0,
61
+ :maximum => 10,
62
+ :position => 1700
63
+
64
+ #Dependent Eligibility or Benefit Additional Information
65
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_271::L2115D,
66
+ :name => 'Dependent Eligibility or Benefit Additional Information',
67
+ :minimum => 0,
68
+ :maximum => 10,
69
+ :position => 1710
70
+
71
+ #Loop Header
72
+ segment Hippo_eyeDoc::Segments::LS,
73
+ :name => 'Loop Header',
74
+ :minimum => 0,
75
+ :maximum => 1,
76
+ :position => 1780
77
+
78
+ #Dependent Benefit Related Entity Name
79
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_271::L2120D,
80
+ :name => 'Dependent Benefit Related Entity Name',
81
+ :minimum => 0,
82
+ :maximum => 23,
83
+ :position => 1800,
84
+ :identified_by => {
85
+ 'NM1.NM101' => ["13", "1I", "1P", "2B", "36", "73", "FA", "GP", "GW", "I3", "IL", "LR", "OC", "P3", "P4", "P5", "PR", "PRP", "SEP", "TTP", "VER", "VN", "VY", "X3", "Y2"],
86
+ 'NM1.NM102' => ["1", "2"]
87
+ }
88
+
89
+ #Loop Trailer
90
+ segment Hippo_eyeDoc::Segments::LE,
91
+ :name => 'Loop Trailer',
92
+ :minimum => 0,
93
+ :maximum => 1,
94
+ :position => 2250
95
+
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,16 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_271
3
+
4
+ class L2115C < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2115C' #Subscriber Eligibility or Benefit Additional Information
6
+
7
+ #Subscriber Eligibility or Benefit Additional Information
8
+ segment Hippo_eyeDoc::Segments::III,
9
+ :name => 'Subscriber Eligibility or Benefit Additional Information',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 1710
13
+
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_271
3
+
4
+ class L2115D < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2115D' #Dependent Eligibility or Benefit Additional Information
6
+
7
+ #Dependent Eligibility or Benefit Additional Information
8
+ segment Hippo_eyeDoc::Segments::III,
9
+ :name => 'Dependent Eligibility or Benefit Additional Information',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 1710
13
+
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,54 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_271
3
+
4
+ class L2120C < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2120C' #Subscriber Benefit Related Entity Name
6
+
7
+ #Subscriber Benefit Related Entity Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Subscriber Benefit Related Entity Name',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 1800,
13
+ :identified_by => {
14
+ 'NM101' => ["13", "1I", "1P", "2B", "36", "73", "FA", "GP", "GW", "I3", "IL", "LR", "OC", "P3", "P4", "P5", "PR", "PRP", "SEP", "TTP", "VER", "VN", "VY", "X3", "Y2"],
15
+ 'NM102' => ["1", "2"]
16
+ }
17
+
18
+ #Subscriber Benefit Related Entity Address
19
+ segment Hippo_eyeDoc::Segments::N3,
20
+ :name => 'Subscriber Benefit Related Entity Address',
21
+ :minimum => 0,
22
+ :maximum => 1,
23
+ :position => 2000
24
+
25
+ #Subscriber Benefit Related Entity City, State, ZIP Code
26
+ segment Hippo_eyeDoc::Segments::N4,
27
+ :name => 'Subscriber Benefit Related Entity City, State, ZIP Code',
28
+ :minimum => 0,
29
+ :maximum => 1,
30
+ :position => 2100
31
+
32
+ #Subscriber Benefit Related Entity Contact Information
33
+ segment Hippo_eyeDoc::Segments::PER,
34
+ :name => 'Subscriber Benefit Related Entity Contact Information',
35
+ :minimum => 0,
36
+ :maximum => 3,
37
+ :position => 2200,
38
+ :identified_by => {
39
+ 'PER01' => 'IC'
40
+ }
41
+
42
+ #Subscriber Benefit Related Provider Information
43
+ segment Hippo_eyeDoc::Segments::PRV,
44
+ :name => 'Subscriber Benefit Related Provider Information',
45
+ :minimum => 0,
46
+ :maximum => 1,
47
+ :position => 2230,
48
+ :identified_by => {
49
+ 'PRV01' => ["AD", "AT", "BI", "CO", "CV", "H", "HH", "LA", "OT", "P1", "P2", "PC", "PE", "R", "RF", "SB", "SK", "SU"]
50
+ }
51
+
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,54 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_271
3
+
4
+ class L2120D < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2120D' #Dependent Benefit Related Entity Name
6
+
7
+ #Dependent Benefit Related Entity Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Dependent Benefit Related Entity Name',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 1800,
13
+ :identified_by => {
14
+ 'NM101' => ["13", "1I", "1P", "2B", "36", "73", "FA", "GP", "GW", "I3", "IL", "LR", "OC", "P3", "P4", "P5", "PR", "PRP", "SEP", "TTP", "VER", "VN", "VY", "X3", "Y2"],
15
+ 'NM102' => ["1", "2"]
16
+ }
17
+
18
+ #Dependent Benefit Related Entity Address
19
+ segment Hippo_eyeDoc::Segments::N3,
20
+ :name => 'Dependent Benefit Related Entity Address',
21
+ :minimum => 0,
22
+ :maximum => 1,
23
+ :position => 2000
24
+
25
+ #Dependent Benefit Related Entity City, State, ZIP Code
26
+ segment Hippo_eyeDoc::Segments::N4,
27
+ :name => 'Dependent Benefit Related Entity City, State, ZIP Code',
28
+ :minimum => 0,
29
+ :maximum => 1,
30
+ :position => 2100
31
+
32
+ #Dependent Benefit Related Entity Contact Information
33
+ segment Hippo_eyeDoc::Segments::PER,
34
+ :name => 'Dependent Benefit Related Entity Contact Information',
35
+ :minimum => 0,
36
+ :maximum => 3,
37
+ :position => 2200,
38
+ :identified_by => {
39
+ 'PER01' => 'IC'
40
+ }
41
+
42
+ #Dependent Benefit Related Provider Information
43
+ segment Hippo_eyeDoc::Segments::PRV,
44
+ :name => 'Dependent Benefit Related Provider Information',
45
+ :minimum => 0,
46
+ :maximum => 1,
47
+ :position => 2230,
48
+ :identified_by => {
49
+ 'PRV01' => ["AD", "AT", "BI", "CO", "CV", "H", "HH", "LA", "OT", "P1", "P2", "PC", "PE", "R", "RF", "SB", "SK", "SU"]
50
+ }
51
+
52
+ end
53
+ end
54
+ end