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,32 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L1000A < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L1000A' #Submitter Name
6
+
7
+ #Submitter Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Submitter Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 200,
13
+ :identified_by => {
14
+ 'NM101' => '41',
15
+ 'NM102' => ["1", "2"],
16
+ 'NM108' => '46'
17
+ }
18
+
19
+ #Submitter EDI Contact Information
20
+ segment Hippo_eyeDoc::Segments::PER,
21
+ :name => 'Submitter EDI Contact Information',
22
+ :minimum => 1,
23
+ :maximum => 2,
24
+ :position => 450,
25
+ :identified_by => {
26
+ 'PER01' => 'IC',
27
+ 'PER03' => ["EM", "FX", "TE"]
28
+ }
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,21 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L1000B < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L1000B' #Receiver Name
6
+
7
+ #Receiver Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Receiver Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :identified_by => {
14
+ 'NM101' => '40',
15
+ 'NM102' => '2',
16
+ 'NM108' => '46'
17
+ }
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,88 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2000A < Hippo_eyeDoc::TransactionSets::Base
5
+ include Hippo_eyeDoc::Outputters::PaperClaim
6
+
7
+ loop_name 'L2000A' #Billing Provider Hierarchical Level
8
+
9
+ #Billing Provider Hierarchical Level
10
+ segment Hippo_eyeDoc::Segments::HL,
11
+ :name => 'Billing Provider Hierarchical Level',
12
+ :minimum => 1,
13
+ :maximum => 1,
14
+ :position => 10,
15
+ :identified_by => {
16
+ 'HL03' => '20',
17
+ 'HL04' => '1'
18
+ }
19
+
20
+ #Billing Provider Specialty Information
21
+ segment Hippo_eyeDoc::Segments::PRV,
22
+ :name => 'Billing Provider Specialty Information',
23
+ :minimum => 0,
24
+ :maximum => 1,
25
+ :position => 30,
26
+ :identified_by => {
27
+ 'PRV01' => 'BI',
28
+ 'PRV02' => 'PXC'
29
+ }
30
+
31
+ #Foreign Currency Information
32
+ segment Hippo_eyeDoc::Segments::CUR,
33
+ :name => 'Foreign Currency Information',
34
+ :minimum => 0,
35
+ :maximum => 1,
36
+ :position => 100,
37
+ :identified_by => {
38
+ 'CUR01' => '85'
39
+ }
40
+
41
+ #Billing Provider Name
42
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2010AA,
43
+ :name => 'Billing Provider Name',
44
+ :minimum => 1,
45
+ :maximum => 1,
46
+ :position => 150,
47
+ :identified_by => {
48
+ 'NM1.NM101' => '85',
49
+ 'NM1.NM102' => ["1", "2"]
50
+ }
51
+
52
+ #Pay-to Address Name
53
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2010AB,
54
+ :name => 'Pay-to Address Name',
55
+ :minimum => 0,
56
+ :maximum => 1,
57
+ :position => 150,
58
+ :identified_by => {
59
+ 'NM1.NM101' => '87',
60
+ 'NM1.NM102' => ["1", "2"]
61
+ }
62
+
63
+ #Pay-To Plan Name
64
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2010AC,
65
+ :name => 'Pay-To Plan Name',
66
+ :minimum => 0,
67
+ :maximum => 1,
68
+ :position => 450,
69
+ :identified_by => {
70
+ 'NM1.NM101' => 'PE',
71
+ 'NM1.NM102' => '2',
72
+ 'NM1.NM108' => ["PI", "XV"]
73
+ }
74
+
75
+ #Subscriber Hierarchical Level
76
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2000B,
77
+ :name => 'Subscriber Hierarchical Level',
78
+ :minimum => 1,
79
+ :maximum => 99999,
80
+ :position => 10,
81
+ :identified_by => {
82
+ 'HL.HL03' => '22',
83
+ 'HL.HL04' => ["0", "1"]
84
+ }
85
+
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,87 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2000B < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2000B' #Subscriber Hierarchical Level
6
+
7
+ #Subscriber Hierarchical Level
8
+ segment Hippo_eyeDoc::Segments::HL,
9
+ :name => 'Subscriber Hierarchical Level',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 10,
13
+ :identified_by => {
14
+ 'HL03' => '22',
15
+ 'HL04' => ["0", "1"]
16
+ }
17
+
18
+ #Subscriber Information
19
+ segment Hippo_eyeDoc::Segments::SBR,
20
+ :name => 'Subscriber Information',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 50,
24
+ :identified_by => {
25
+ 'SBR01' => ["A", "B", "C", "D", "E", "F", "G", "H", "P", "S", "T", "U"]
26
+ }
27
+
28
+ #Patient Information
29
+ segment Hippo_eyeDoc::Segments::PAT,
30
+ :name => 'Patient Information',
31
+ :minimum => 0,
32
+ :maximum => 1,
33
+ :position => 70
34
+
35
+ #Subscriber Name
36
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2010BA,
37
+ :name => 'Subscriber Name',
38
+ :minimum => 1,
39
+ :maximum => 1,
40
+ :position => 150,
41
+ :identified_by => {
42
+ 'NM1.NM101' => 'IL',
43
+ 'NM1.NM102' => ["1", "2"]
44
+ }
45
+
46
+ #Payer Name
47
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2010BB,
48
+ :name => 'Payer Name',
49
+ :minimum => 1,
50
+ :maximum => 1,
51
+ :position => 150,
52
+ :identified_by => {
53
+ 'NM1.NM101' => 'PR',
54
+ 'NM1.NM102' => '2',
55
+ 'NM1.NM108' => ["PI", "XV"]
56
+ }
57
+
58
+ #Claim Information
59
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2300,
60
+ :name => 'Claim Information',
61
+ :minimum => 1,
62
+ :maximum => 100,
63
+ :position => 1300,
64
+ :identified_by => {
65
+ 'CLM.CLM06' => ["N", "Y"],
66
+ 'CLM.CLM07' => ["A", "B", "C"],
67
+ 'CLM.CLM08' => ["N", "W", "Y"],
68
+ 'CLM.CLM09' => ["I", "Y"]
69
+ },
70
+ :parent_context_conditions => {
71
+ 'HL.HL04' => '0'
72
+ }
73
+
74
+ #Patient Hierarchical Level
75
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2000C,
76
+ :name => 'Patient Hierarchical Level',
77
+ :minimum => 0,
78
+ :maximum => 99999,
79
+ :position => 10,
80
+ :identified_by => {
81
+ 'HL.HL03' => '23',
82
+ 'HL.HL04' => '0'
83
+ }
84
+
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,54 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2000C < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2000C' #Patient Hierarchical Level
6
+
7
+ #Patient Hierarchical Level
8
+ segment Hippo_eyeDoc::Segments::HL,
9
+ :name => 'Patient Hierarchical Level',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 10,
13
+ :identified_by => {
14
+ 'HL03' => '23',
15
+ 'HL04' => '0'
16
+ }
17
+
18
+ #Patient Information
19
+ segment Hippo_eyeDoc::Segments::PAT,
20
+ :name => 'Patient Information',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 70,
24
+ :identified_by => {
25
+ 'PAT01' => ["01", "19", "20", "21", "39", "40", "53", "G8"]
26
+ }
27
+
28
+ #Patient Name
29
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2010CA,
30
+ :name => 'Patient Name',
31
+ :minimum => 1,
32
+ :maximum => 1,
33
+ :position => 150,
34
+ :identified_by => {
35
+ 'NM1.NM101' => 'QC',
36
+ 'NM1.NM102' => '1'
37
+ }
38
+
39
+ #Claim Information
40
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2300,
41
+ :name => 'Claim Information',
42
+ :minimum => 1,
43
+ :maximum => 100,
44
+ :position => 1300,
45
+ :identified_by => {
46
+ 'CLM.CLM06' => ["N", "Y"],
47
+ 'CLM.CLM07' => ["A", "B", "C"],
48
+ 'CLM.CLM08' => ["N", "W", "Y"],
49
+ 'CLM.CLM09' => ["I", "Y"]
50
+ }
51
+
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,65 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2010AA < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2010AA' #Billing Provider Name
6
+
7
+ #Billing Provider Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Billing Provider Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 150,
13
+ :identified_by => {
14
+ 'NM101' => '85',
15
+ 'NM102' => ["1", "2"]
16
+ }
17
+
18
+ #Billing Provider Address
19
+ segment Hippo_eyeDoc::Segments::N3,
20
+ :name => 'Billing Provider Address',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 250
24
+
25
+ #Billing Provider City, State, ZIP Code
26
+ segment Hippo_eyeDoc::Segments::N4,
27
+ :name => 'Billing Provider City, State, ZIP Code',
28
+ :minimum => 1,
29
+ :maximum => 1,
30
+ :position => 300
31
+
32
+ #Billing Provider Tax Identification
33
+ segment Hippo_eyeDoc::Segments::REF,
34
+ :name => 'Billing Provider Tax Identification',
35
+ :minimum => 1,
36
+ :maximum => 1,
37
+ :position => 350,
38
+ :identified_by => {
39
+ 'REF01' => ["EI", "SY"]
40
+ }
41
+
42
+ #Billing Provider UPIN/License Information
43
+ segment Hippo_eyeDoc::Segments::REF,
44
+ :name => 'Billing Provider UPIN/License Information',
45
+ :minimum => 0,
46
+ :maximum => 2,
47
+ :position => 360,
48
+ :identified_by => {
49
+ 'REF01' => ["0B", "1G"]
50
+ }
51
+
52
+ #Billing Provider Contact Information
53
+ segment Hippo_eyeDoc::Segments::PER,
54
+ :name => 'Billing Provider Contact Information',
55
+ :minimum => 0,
56
+ :maximum => 2,
57
+ :position => 400,
58
+ :identified_by => {
59
+ 'PER01' => 'IC',
60
+ 'PER03' => ["EM", "FX", "TE"]
61
+ }
62
+
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,34 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2010AB < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2010AB' #Pay-to Address Name
6
+
7
+ #Pay-to Address Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Pay-to Address Name',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 150,
13
+ :identified_by => {
14
+ 'NM101' => '87',
15
+ 'NM102' => ["1", "2"]
16
+ }
17
+
18
+ #Pay-to Address - ADDRESS
19
+ segment Hippo_eyeDoc::Segments::N3,
20
+ :name => 'Pay-to Address - ADDRESS',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 250
24
+
25
+ #Pay-To Address City, State, ZIP Code
26
+ segment Hippo_eyeDoc::Segments::N4,
27
+ :name => 'Pay-To Address City, State, ZIP Code',
28
+ :minimum => 1,
29
+ :maximum => 1,
30
+ :position => 300
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,55 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2010AC < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2010AC' #Pay-To Plan Name
6
+
7
+ #Pay-To Plan Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Pay-To Plan Name',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 450,
13
+ :identified_by => {
14
+ 'NM101' => 'PE',
15
+ 'NM102' => '2',
16
+ 'NM108' => ["PI", "XV"]
17
+ }
18
+
19
+ #Pay-to Plan Address
20
+ segment Hippo_eyeDoc::Segments::N3,
21
+ :name => 'Pay-to Plan Address',
22
+ :minimum => 1,
23
+ :maximum => 1,
24
+ :position => 550
25
+
26
+ #Pay-To Plan City, State, ZIP Code
27
+ segment Hippo_eyeDoc::Segments::N4,
28
+ :name => 'Pay-To Plan City, State, ZIP Code',
29
+ :minimum => 1,
30
+ :maximum => 1,
31
+ :position => 600
32
+
33
+ #Pay-to Plan Secondary Identification
34
+ segment Hippo_eyeDoc::Segments::REF,
35
+ :name => 'Pay-to Plan Secondary Identification',
36
+ :minimum => 0,
37
+ :maximum => 1,
38
+ :position => 650,
39
+ :identified_by => {
40
+ 'REF01' => ["2U", "FY", "NF"]
41
+ }
42
+
43
+ #Pay-To Plan Tax Identification Number
44
+ segment Hippo_eyeDoc::Segments::REF,
45
+ :name => 'Pay-To Plan Tax Identification Number',
46
+ :minimum => 1,
47
+ :maximum => 1,
48
+ :position => 655,
49
+ :identified_by => {
50
+ 'REF01' => 'EI'
51
+ }
52
+
53
+ end
54
+ end
55
+ end