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,30 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2310A < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2310A' #Referring Provider Name
6
+
7
+ #Referring Provider Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Referring Provider Name',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 2500,
13
+ :identified_by => {
14
+ 'NM101' => ["DN", "P3"],
15
+ 'NM102' => '1'
16
+ }
17
+
18
+ #Referring Provider Secondary Identification
19
+ segment Hippo_eyeDoc::Segments::REF,
20
+ :name => 'Referring Provider Secondary Identification',
21
+ :minimum => 0,
22
+ :maximum => 3,
23
+ :position => 2710,
24
+ :identified_by => {
25
+ 'REF01' => ["0B", "1G", "G2"]
26
+ }
27
+
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,41 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2310B < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2310B' #Rendering Provider Name
6
+
7
+ #Rendering Provider Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Rendering Provider Name',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 2500,
13
+ :identified_by => {
14
+ 'NM101' => '82',
15
+ 'NM102' => ["1", "2"]
16
+ }
17
+
18
+ #Rendering Provider Specialty Information
19
+ segment Hippo_eyeDoc::Segments::PRV,
20
+ :name => 'Rendering Provider Specialty Information',
21
+ :minimum => 0,
22
+ :maximum => 1,
23
+ :position => 2550,
24
+ :identified_by => {
25
+ 'PRV01' => 'PE',
26
+ 'PRV02' => 'PXC'
27
+ }
28
+
29
+ #Rendering Provider Secondary Identification
30
+ segment Hippo_eyeDoc::Segments::REF,
31
+ :name => 'Rendering Provider Secondary Identification',
32
+ :minimum => 0,
33
+ :maximum => 4,
34
+ :position => 2710,
35
+ :identified_by => {
36
+ 'REF01' => ["0B", "1G", "G2", "LU"]
37
+ }
38
+
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,55 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2310C < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2310C' #Service Facility Location Name
6
+
7
+ #Service Facility Location Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Service Facility Location Name',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 2500,
13
+ :identified_by => {
14
+ 'NM101' => '77',
15
+ 'NM102' => '2'
16
+ }
17
+
18
+ #Service Facility Location Address
19
+ segment Hippo_eyeDoc::Segments::N3,
20
+ :name => 'Service Facility Location Address',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 2650
24
+
25
+ #Service Facility Location City, State, ZIP Code
26
+ segment Hippo_eyeDoc::Segments::N4,
27
+ :name => 'Service Facility Location City, State, ZIP Code',
28
+ :minimum => 1,
29
+ :maximum => 1,
30
+ :position => 2700
31
+
32
+ #Service Facility Location Secondary Identification
33
+ segment Hippo_eyeDoc::Segments::REF,
34
+ :name => 'Service Facility Location Secondary Identification',
35
+ :minimum => 0,
36
+ :maximum => 3,
37
+ :position => 2710,
38
+ :identified_by => {
39
+ 'REF01' => ["0B", "G2", "LU"]
40
+ }
41
+
42
+ #Service Facility Contact Information
43
+ segment Hippo_eyeDoc::Segments::PER,
44
+ :name => 'Service Facility Contact Information',
45
+ :minimum => 0,
46
+ :maximum => 1,
47
+ :position => 2750,
48
+ :identified_by => {
49
+ 'PER01' => 'IC',
50
+ 'PER03' => 'TE'
51
+ }
52
+
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,30 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2310D < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2310D' #Supervising Provider Name
6
+
7
+ #Supervising Provider Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Supervising Provider Name',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 2500,
13
+ :identified_by => {
14
+ 'NM101' => 'DQ',
15
+ 'NM102' => '1'
16
+ }
17
+
18
+ #Supervising Provider Secondary Identification
19
+ segment Hippo_eyeDoc::Segments::REF,
20
+ :name => 'Supervising Provider Secondary Identification',
21
+ :minimum => 0,
22
+ :maximum => 4,
23
+ :position => 2710,
24
+ :identified_by => {
25
+ 'REF01' => ["0B", "1G", "G2", "LU"]
26
+ }
27
+
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,34 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2310E < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2310E' #Ambulance Pick-up Location
6
+
7
+ #Ambulance Pick-up Location
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Ambulance Pick-up Location',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 2500,
13
+ :identified_by => {
14
+ 'NM101' => 'PW',
15
+ 'NM102' => '2'
16
+ }
17
+
18
+ #Ambulance Pick-up Location Address
19
+ segment Hippo_eyeDoc::Segments::N3,
20
+ :name => 'Ambulance Pick-up Location Address',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 2650
24
+
25
+ #Ambulance Pick-up Location City, State, ZIP Code
26
+ segment Hippo_eyeDoc::Segments::N4,
27
+ :name => 'Ambulance Pick-up Location City, State, ZIP Code',
28
+ :minimum => 1,
29
+ :maximum => 1,
30
+ :position => 2700
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2310F < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2310F' #Ambulance Drop-off Location
6
+
7
+ #Ambulance Drop-off Location
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Ambulance Drop-off Location',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 2500,
13
+ :identified_by => {
14
+ 'NM101' => '45',
15
+ 'NM102' => '2'
16
+ }
17
+
18
+ #Ambulance Drop-off Location Address
19
+ segment Hippo_eyeDoc::Segments::N3,
20
+ :name => 'Ambulance Drop-off Location Address',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 2650
24
+
25
+ #Ambulance Drop-off Location City, State, ZIP Code
26
+ segment Hippo_eyeDoc::Segments::N4,
27
+ :name => 'Ambulance Drop-off Location City, State, ZIP Code',
28
+ :minimum => 1,
29
+ :maximum => 1,
30
+ :position => 2700
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,157 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2320 < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2320' #Other Subscriber Information
6
+
7
+ #Other Subscriber Information
8
+ segment Hippo_eyeDoc::Segments::SBR,
9
+ :name => 'Other Subscriber Information',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 2900,
13
+ :identified_by => {
14
+ 'SBR01' => ["A", "B", "C", "D", "E", "F", "G", "H", "P", "S", "T", "U"],
15
+ 'SBR02' => ["01", "18", "19", "20", "21", "39", "40", "53", "G8"]
16
+ }
17
+
18
+ #Claim Level Adjustments
19
+ segment Hippo_eyeDoc::Segments::CAS,
20
+ :name => 'Claim Level Adjustments',
21
+ :minimum => 0,
22
+ :maximum => 5,
23
+ :position => 2950,
24
+ :identified_by => {
25
+ 'CAS01' => ["CO", "CR", "OA", "PI", "PR"]
26
+ }
27
+
28
+ #Coordination of Benefits (COB) Payer Paid Amount
29
+ segment Hippo_eyeDoc::Segments::AMT,
30
+ :name => 'Coordination of Benefits (COB) Payer Paid Amount',
31
+ :minimum => 0,
32
+ :maximum => 1,
33
+ :position => 3000,
34
+ :identified_by => {
35
+ 'AMT01' => 'D'
36
+ }
37
+
38
+ #Coordination of Benefits (COB) Total Non-Covered Amount
39
+ segment Hippo_eyeDoc::Segments::AMT,
40
+ :name => 'Coordination of Benefits (COB) Total Non-Covered Amount',
41
+ :minimum => 0,
42
+ :maximum => 1,
43
+ :position => 3020,
44
+ :identified_by => {
45
+ 'AMT01' => 'A8'
46
+ }
47
+
48
+ #Remaining Patient Liability
49
+ segment Hippo_eyeDoc::Segments::AMT,
50
+ :name => 'Remaining Patient Liability',
51
+ :minimum => 0,
52
+ :maximum => 1,
53
+ :position => 3050,
54
+ :identified_by => {
55
+ 'AMT01' => 'EAF'
56
+ }
57
+
58
+ #Other Insurance Coverage Information
59
+ segment Hippo_eyeDoc::Segments::OI,
60
+ :name => 'Other Insurance Coverage Information',
61
+ :minimum => 1,
62
+ :maximum => 1,
63
+ :position => 3110,
64
+ :identified_by => {
65
+ 'OI03' => ["N", "W", "Y"],
66
+ 'OI06' => ["I", "Y"]
67
+ }
68
+
69
+ #Outpatient Adjudication Information
70
+ segment Hippo_eyeDoc::Segments::MOA,
71
+ :name => 'Outpatient Adjudication Information',
72
+ :minimum => 0,
73
+ :maximum => 1,
74
+ :position => 3200
75
+
76
+ #Other Subscriber Name
77
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2330A,
78
+ :name => 'Other Subscriber Name',
79
+ :minimum => 1,
80
+ :maximum => 1,
81
+ :position => 3250,
82
+ :identified_by => {
83
+ 'NM1.NM101' => 'IL',
84
+ 'NM1.NM102' => ["1", "2"],
85
+ 'NM1.NM108' => ["II", "MI"]
86
+ }
87
+
88
+ #Other Payer Name
89
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2330B,
90
+ :name => 'Other Payer Name',
91
+ :minimum => 1,
92
+ :maximum => 1,
93
+ :position => 3250,
94
+ :identified_by => {
95
+ 'NM1.NM101' => 'PR',
96
+ 'NM1.NM102' => '2',
97
+ 'NM1.NM108' => ["PI", "XV"]
98
+ }
99
+
100
+ #Other Payer Referring Provider
101
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2330C,
102
+ :name => 'Other Payer Referring Provider',
103
+ :minimum => 0,
104
+ :maximum => 2,
105
+ :position => 3250,
106
+ :identified_by => {
107
+ 'NM1.NM101' => ["DN", "P3"],
108
+ 'NM1.NM102' => '1'
109
+ }
110
+
111
+ #Other Payer Rendering Provider
112
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2330D,
113
+ :name => 'Other Payer Rendering Provider',
114
+ :minimum => 0,
115
+ :maximum => 1,
116
+ :position => 3650,
117
+ :identified_by => {
118
+ 'NM1.NM101' => '82',
119
+ 'NM1.NM102' => ["1", "2"]
120
+ }
121
+
122
+ #Other Payer Service Facility Location
123
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2330E,
124
+ :name => 'Other Payer Service Facility Location',
125
+ :minimum => 0,
126
+ :maximum => 1,
127
+ :position => 4650,
128
+ :identified_by => {
129
+ 'NM1.NM101' => '77',
130
+ 'NM1.NM102' => '2'
131
+ }
132
+
133
+ #Other Payer Supervising Provider
134
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2330F,
135
+ :name => 'Other Payer Supervising Provider',
136
+ :minimum => 0,
137
+ :maximum => 1,
138
+ :position => 5650,
139
+ :identified_by => {
140
+ 'NM1.NM101' => 'DQ',
141
+ 'NM1.NM102' => '1'
142
+ }
143
+
144
+ #Other Payer Billing Provider
145
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2330G,
146
+ :name => 'Other Payer Billing Provider',
147
+ :minimum => 0,
148
+ :maximum => 1,
149
+ :position => 6350,
150
+ :identified_by => {
151
+ 'NM1.NM101' => '85',
152
+ 'NM1.NM102' => ["1", "2"]
153
+ }
154
+
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,45 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2330A < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2330A' #Other Subscriber Name
6
+
7
+ #Other Subscriber Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Other Subscriber Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 3250,
13
+ :identified_by => {
14
+ 'NM101' => 'IL',
15
+ 'NM102' => ["1", "2"],
16
+ 'NM108' => ["II", "MI"]
17
+ }
18
+
19
+ #Other Subscriber Address
20
+ segment Hippo_eyeDoc::Segments::N3,
21
+ :name => 'Other Subscriber Address',
22
+ :minimum => 0,
23
+ :maximum => 1,
24
+ :position => 3320
25
+
26
+ #Other Subscriber City, State, ZIP Code
27
+ segment Hippo_eyeDoc::Segments::N4,
28
+ :name => 'Other Subscriber City, State, ZIP Code',
29
+ :minimum => 0,
30
+ :maximum => 1,
31
+ :position => 3400
32
+
33
+ #Other Subscriber Secondary Identification
34
+ segment Hippo_eyeDoc::Segments::REF,
35
+ :name => 'Other Subscriber Secondary Identification',
36
+ :minimum => 0,
37
+ :maximum => 1,
38
+ :position => 3550,
39
+ :identified_by => {
40
+ 'REF01' => 'SY'
41
+ }
42
+
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,96 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2330B < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2330B' #Other Payer Name
6
+
7
+ #Other Payer Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Other Payer Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 3250,
13
+ :identified_by => {
14
+ 'NM101' => 'PR',
15
+ 'NM102' => '2',
16
+ 'NM108' => ["PI", "XV"]
17
+ }
18
+
19
+ #Other Payer Address
20
+ segment Hippo_eyeDoc::Segments::N3,
21
+ :name => 'Other Payer Address',
22
+ :minimum => 0,
23
+ :maximum => 1,
24
+ :position => 3320
25
+
26
+ #Other Payer City, State, ZIP Code
27
+ segment Hippo_eyeDoc::Segments::N4,
28
+ :name => 'Other Payer City, State, ZIP Code',
29
+ :minimum => 0,
30
+ :maximum => 1,
31
+ :position => 3400
32
+
33
+ #Claim Check or Remittance Date
34
+ segment Hippo_eyeDoc::Segments::DTP,
35
+ :name => 'Claim Check or Remittance Date',
36
+ :minimum => 0,
37
+ :maximum => 1,
38
+ :position => 3470,
39
+ :identified_by => {
40
+ 'DTP01' => '573',
41
+ 'DTP02' => 'D8'
42
+ }
43
+
44
+ #Other Payer Secondary Identifier
45
+ segment Hippo_eyeDoc::Segments::REF,
46
+ :name => 'Other Payer Secondary Identifier',
47
+ :minimum => 0,
48
+ :maximum => 2,
49
+ :position => 3550,
50
+ :identified_by => {
51
+ 'REF01' => ["2U", "EI", "FY", "NF"]
52
+ }
53
+
54
+ #Other Payer Prior Authorization Number
55
+ segment Hippo_eyeDoc::Segments::REF,
56
+ :name => 'Other Payer Prior Authorization Number',
57
+ :minimum => 0,
58
+ :maximum => 1,
59
+ :position => 3560,
60
+ :identified_by => {
61
+ 'REF01' => 'G1'
62
+ }
63
+
64
+ #Other Payer Referral Number
65
+ segment Hippo_eyeDoc::Segments::REF,
66
+ :name => 'Other Payer Referral Number',
67
+ :minimum => 0,
68
+ :maximum => 1,
69
+ :position => 3563,
70
+ :identified_by => {
71
+ 'REF01' => '9F'
72
+ }
73
+
74
+ #Other Payer Claim Adjustment Indicator
75
+ segment Hippo_eyeDoc::Segments::REF,
76
+ :name => 'Other Payer Claim Adjustment Indicator',
77
+ :minimum => 0,
78
+ :maximum => 1,
79
+ :position => 3570,
80
+ :identified_by => {
81
+ 'REF01' => 'T4'
82
+ }
83
+
84
+ #Other Payer Claim Control Number
85
+ segment Hippo_eyeDoc::Segments::REF,
86
+ :name => 'Other Payer Claim Control Number',
87
+ :minimum => 0,
88
+ :maximum => 1,
89
+ :position => 3575,
90
+ :identified_by => {
91
+ 'REF01' => 'F8'
92
+ }
93
+
94
+ end
95
+ end
96
+ end