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,104 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2200E < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2200E' #Claim Status Tracking Number
6
+
7
+ #Claim Status Tracking Number
8
+ segment Hippo_eyeDoc::Segments::TRN,
9
+ :name => 'Claim Status Tracking Number',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 900,
13
+ :identified_by => {
14
+ 'TRN01' => '2'
15
+ }
16
+
17
+ #Claim Level Status Information
18
+ segment Hippo_eyeDoc::Segments::STC,
19
+ :name => 'Claim Level Status Information',
20
+ :minimum => 1,
21
+ :maximum => 99999,
22
+ :position => 1000
23
+
24
+ #Payer Claim Control Number
25
+ segment Hippo_eyeDoc::Segments::REF,
26
+ :name => 'Payer Claim Control Number',
27
+ :minimum => 0,
28
+ :maximum => 1,
29
+ :position => 1100,
30
+ :identified_by => {
31
+ 'REF01' => '1K'
32
+ }
33
+
34
+ #Institutional Bill Type Identification
35
+ segment Hippo_eyeDoc::Segments::REF,
36
+ :name => 'Institutional Bill Type Identification',
37
+ :minimum => 0,
38
+ :maximum => 1,
39
+ :position => 1120,
40
+ :identified_by => {
41
+ 'REF01' => 'BLT'
42
+ }
43
+
44
+ #Patient Control Number
45
+ segment Hippo_eyeDoc::Segments::REF,
46
+ :name => 'Patient Control Number',
47
+ :minimum => 0,
48
+ :maximum => 1,
49
+ :position => 1145,
50
+ :identified_by => {
51
+ 'REF01' => 'EJ'
52
+ }
53
+
54
+ #Pharmacy Prescription Number
55
+ segment Hippo_eyeDoc::Segments::REF,
56
+ :name => 'Pharmacy Prescription Number',
57
+ :minimum => 0,
58
+ :maximum => 1,
59
+ :position => 1150,
60
+ :identified_by => {
61
+ 'REF01' => 'XZ'
62
+ }
63
+
64
+ #Voucher Identifier
65
+ segment Hippo_eyeDoc::Segments::REF,
66
+ :name => 'Voucher Identifier',
67
+ :minimum => 0,
68
+ :maximum => 1,
69
+ :position => 1155,
70
+ :identified_by => {
71
+ 'REF01' => 'VV'
72
+ }
73
+
74
+ #Claim Identification Number For Clearinghouses and Other Transmission Intermediaries
75
+ segment Hippo_eyeDoc::Segments::REF,
76
+ :name => 'Claim Identification Number For Clearinghouses and Other Transmission Intermediaries',
77
+ :minimum => 0,
78
+ :maximum => 1,
79
+ :position => 1160,
80
+ :identified_by => {
81
+ 'REF01' => 'D9'
82
+ }
83
+
84
+ #Claim Service Date
85
+ segment Hippo_eyeDoc::Segments::DTP,
86
+ :name => 'Claim Service Date',
87
+ :minimum => 0,
88
+ :maximum => 1,
89
+ :position => 1200,
90
+ :identified_by => {
91
+ 'DTP01' => '472',
92
+ 'DTP02' => ["D8", "RD8"]
93
+ }
94
+
95
+ #Service Line Information
96
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2220E,
97
+ :name => 'Service Line Information',
98
+ :minimum => 0,
99
+ :maximum => 99999,
100
+ :position => 1800
101
+
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,57 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2220D < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2220D' #Service Line Information
6
+
7
+ #Service Line Information
8
+ segment Hippo_eyeDoc::Segments::SVC,
9
+ :name => 'Service Line Information',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 1800
13
+
14
+ #Service Line Level Status Information
15
+ segment Hippo_eyeDoc::Segments::STC,
16
+ :name => 'Service Line Level Status Information',
17
+ :minimum => 1,
18
+ :maximum => 99999,
19
+ :position => 1900,
20
+ :identified_by => {
21
+ 'STC03' => 'U'
22
+ }
23
+
24
+ #Service Line Item Identification
25
+ segment Hippo_eyeDoc::Segments::REF,
26
+ :name => 'Service Line Item Identification',
27
+ :minimum => 1,
28
+ :maximum => 1,
29
+ :position => 2000,
30
+ :identified_by => {
31
+ 'REF01' => 'FJ'
32
+ }
33
+
34
+ #Pharmacy Prescription Number
35
+ segment Hippo_eyeDoc::Segments::REF,
36
+ :name => 'Pharmacy Prescription Number',
37
+ :minimum => 0,
38
+ :maximum => 1,
39
+ :position => 2010,
40
+ :identified_by => {
41
+ 'REF01' => 'XZ'
42
+ }
43
+
44
+ #Service Line Date
45
+ segment Hippo_eyeDoc::Segments::DTP,
46
+ :name => 'Service Line Date',
47
+ :minimum => 0,
48
+ :maximum => 1,
49
+ :position => 2100,
50
+ :identified_by => {
51
+ 'DTP01' => '472',
52
+ 'DTP02' => ["D8", "RD8"]
53
+ }
54
+
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,44 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2220E < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2220E' #Service Line Information
6
+
7
+ #Service Line Information
8
+ segment Hippo_eyeDoc::Segments::SVC,
9
+ :name => 'Service Line Information',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 1800
13
+
14
+ #Service Line Status Information
15
+ segment Hippo_eyeDoc::Segments::STC,
16
+ :name => 'Service Line Status Information',
17
+ :minimum => 1,
18
+ :maximum => 99999,
19
+ :position => 1900
20
+
21
+ #Service Line Item Identification
22
+ segment Hippo_eyeDoc::Segments::REF,
23
+ :name => 'Service Line Item Identification',
24
+ :minimum => 0,
25
+ :maximum => 1,
26
+ :position => 2000,
27
+ :identified_by => {
28
+ 'REF01' => 'FJ'
29
+ }
30
+
31
+ #Service Line Date
32
+ segment Hippo_eyeDoc::Segments::DTP,
33
+ :name => 'Service Line Date',
34
+ :minimum => 1,
35
+ :maximum => 1,
36
+ :position => 2100,
37
+ :identified_by => {
38
+ 'DTP01' => '472',
39
+ 'DTP02' => ["D8", "RD8"]
40
+ }
41
+
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,70 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class Base < Hippo_eyeDoc::TransactionSets::Base
5
+
6
+ #Transaction Set Header
7
+ segment Hippo_eyeDoc::Segments::ST,
8
+ :name => 'Transaction Set Header',
9
+ :minimum => 1,
10
+ :maximum => 1,
11
+ :position => 100,
12
+ :identified_by => {
13
+ 'ST01' => '277'
14
+ }
15
+
16
+ #Beginning of Hierarchical Transaction
17
+ segment Hippo_eyeDoc::Segments::BHT,
18
+ :name => 'Beginning of Hierarchical Transaction',
19
+ :minimum => 1,
20
+ :maximum => 1,
21
+ :position => 200,
22
+ :identified_by => {
23
+ 'BHT01' => '0085',
24
+ 'BHT02' => '08',
25
+ 'BHT06' => 'TH'
26
+ }
27
+
28
+ #Information Source Level
29
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2000A,
30
+ :name => 'Information Source Level',
31
+ :minimum => 1,
32
+ :maximum => 1,
33
+ :position => 100,
34
+ :identified_by => {
35
+ 'HL.HL03' => '20',
36
+ 'HL.HL04' => '1'
37
+ }
38
+
39
+ #Information Receiver Level
40
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2000B,
41
+ :name => 'Information Receiver Level',
42
+ :minimum => 1,
43
+ :maximum => 1,
44
+ :position => 100,
45
+ :identified_by => {
46
+ 'HL.HL03' => '21',
47
+ 'HL.HL04' => ["0", "1"]
48
+ }
49
+
50
+ #Billing Provider of Service Level
51
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2000C,
52
+ :name => 'Billing Provider of Service Level',
53
+ :minimum => 0,
54
+ :maximum => 99999,
55
+ :position => 100,
56
+ :identified_by => {
57
+ 'HL.HL03' => '19',
58
+ 'HL.HL04' => ["0", "1"]
59
+ }
60
+
61
+ #Transaction Set Trailer
62
+ segment Hippo_eyeDoc::Segments::SE,
63
+ :name => 'Transaction Set Trailer',
64
+ :minimum => 1,
65
+ :maximum => 1,
66
+ :position => 2700
67
+
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,10 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_835
3
+ autoload_relative :Base, 'HIPAA_835/base'
4
+ autoload_relative :L1000A, 'HIPAA_835/L1000A'
5
+ autoload_relative :L1000B, 'HIPAA_835/L1000B'
6
+ autoload_relative :L2000, 'HIPAA_835/L2000'
7
+ autoload_relative :L2100, 'HIPAA_835/L2100'
8
+ autoload_relative :L2110, 'HIPAA_835/L2110'
9
+ end
10
+ end
@@ -0,0 +1,74 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_835
3
+
4
+ class L1000A < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L1000A' #Payer Identification
6
+
7
+ #Payer Identification
8
+ segment Hippo_eyeDoc::Segments::N1,
9
+ :name => 'Payer Identification',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 800,
13
+ :identified_by => {
14
+ 'N101' => 'PR'
15
+ }
16
+
17
+ #Payer Address
18
+ segment Hippo_eyeDoc::Segments::N3,
19
+ :name => 'Payer Address',
20
+ :minimum => 1,
21
+ :maximum => 1,
22
+ :position => 1000
23
+
24
+ #Payer City, State, ZIP Code
25
+ segment Hippo_eyeDoc::Segments::N4,
26
+ :name => 'Payer City, State, ZIP Code',
27
+ :minimum => 1,
28
+ :maximum => 1,
29
+ :position => 1100
30
+
31
+ #Additional Payer Identification
32
+ segment Hippo_eyeDoc::Segments::REF,
33
+ :name => 'Additional Payer Identification',
34
+ :minimum => 0,
35
+ :maximum => 4,
36
+ :position => 1200,
37
+ :identified_by => {
38
+ 'REF01' => ["2U", "EO", "HI", "NF"]
39
+ }
40
+
41
+ #Payer Business Contact Information
42
+ segment Hippo_eyeDoc::Segments::PER,
43
+ :name => 'Payer Business Contact Information',
44
+ :minimum => 0,
45
+ :maximum => 1,
46
+ :position => 1300,
47
+ :identified_by => {
48
+ 'PER01' => 'CX'
49
+ }
50
+
51
+ #Payer Technical Contact Information
52
+ segment Hippo_eyeDoc::Segments::PER,
53
+ :name => 'Payer Technical Contact Information',
54
+ :minimum => 1,
55
+ :maximum => 99999,
56
+ :position => 1303,
57
+ :identified_by => {
58
+ 'PER01' => 'BL'
59
+ }
60
+
61
+ #Payer WEB Site
62
+ segment Hippo_eyeDoc::Segments::PER,
63
+ :name => 'Payer WEB Site',
64
+ :minimum => 0,
65
+ :maximum => 1,
66
+ :position => 1305,
67
+ :identified_by => {
68
+ 'PER01' => 'IC',
69
+ 'PER03' => 'UR'
70
+ }
71
+
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,54 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_835
3
+
4
+ class L1000B < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L1000B' #Payee Identification
6
+
7
+ #Payee Identification
8
+ segment Hippo_eyeDoc::Segments::N1,
9
+ :name => 'Payee Identification',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 1400,
13
+ :identified_by => {
14
+ 'N101' => 'PE',
15
+ 'N103' => ["FI", "XV", "XX"]
16
+ }
17
+
18
+ #Payee Address
19
+ segment Hippo_eyeDoc::Segments::N3,
20
+ :name => 'Payee Address',
21
+ :minimum => 0,
22
+ :maximum => 1,
23
+ :position => 1600
24
+
25
+ #Payee City, State, ZIP Code
26
+ segment Hippo_eyeDoc::Segments::N4,
27
+ :name => 'Payee City, State, ZIP Code',
28
+ :minimum => 0,
29
+ :maximum => 1,
30
+ :position => 1700
31
+
32
+ #Payee Additional Identification
33
+ segment Hippo_eyeDoc::Segments::REF,
34
+ :name => 'Payee Additional Identification',
35
+ :minimum => 0,
36
+ :maximum => 99999,
37
+ :position => 1800,
38
+ :identified_by => {
39
+ 'REF01' => ["0B", "D3", "PQ", "TJ"]
40
+ }
41
+
42
+ #Remittance Delivery Method
43
+ segment Hippo_eyeDoc::Segments::RDM,
44
+ :name => 'Remittance Delivery Method',
45
+ :minimum => 0,
46
+ :maximum => 1,
47
+ :position => 2000,
48
+ :identified_by => {
49
+ 'RDM01' => ["BM", "EM", "FT", "OL"]
50
+ }
51
+
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,41 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_835
3
+
4
+ class L2000 < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2000' #Header Number
6
+
7
+ #Header Number
8
+ segment Hippo_eyeDoc::Segments::LX,
9
+ :name => 'Header Number',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 30
13
+
14
+ #Provider Summary Information
15
+ segment Hippo_eyeDoc::Segments::TS3,
16
+ :name => 'Provider Summary Information',
17
+ :minimum => 0,
18
+ :maximum => 1,
19
+ :position => 50
20
+
21
+ #Provider Supplemental Summary Information
22
+ segment Hippo_eyeDoc::Segments::TS2,
23
+ :name => 'Provider Supplemental Summary Information',
24
+ :minimum => 0,
25
+ :maximum => 1,
26
+ :position => 70
27
+
28
+ #Claim Payment Information
29
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_835::L2100,
30
+ :name => 'Claim Payment Information',
31
+ :minimum => 1,
32
+ :maximum => 99999,
33
+ :position => 100,
34
+ :identified_by => {
35
+ 'CLP.CLP02' => ["1", "2", "3", "4", "19", "20", "21", "22", "23", "25"],
36
+ 'CLP.CLP06' => ["12", "13", "14", "15", "16", "17", "AM", "CH", "DS", "HM", "LM", "MA", "MB", "MC", "OF", "TV", "VA", "WC", "ZZ"]
37
+ }
38
+
39
+ end
40
+ end
41
+ end