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,117 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
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' => '1'
15
+ }
16
+
17
+ #Payer Claim Control Number
18
+ segment Hippo_eyeDoc::Segments::REF,
19
+ :name => 'Payer Claim Control Number',
20
+ :minimum => 0,
21
+ :maximum => 1,
22
+ :position => 1000,
23
+ :identified_by => {
24
+ 'REF01' => '1K'
25
+ }
26
+
27
+ #Institutional Bill Type Identification
28
+ segment Hippo_eyeDoc::Segments::REF,
29
+ :name => 'Institutional Bill Type Identification',
30
+ :minimum => 0,
31
+ :maximum => 1,
32
+ :position => 1010,
33
+ :identified_by => {
34
+ 'REF01' => 'BLT'
35
+ }
36
+
37
+ #Application or Location System Identifier
38
+ segment Hippo_eyeDoc::Segments::REF,
39
+ :name => 'Application or Location System Identifier',
40
+ :minimum => 0,
41
+ :maximum => 1,
42
+ :position => 1030,
43
+ :identified_by => {
44
+ 'REF01' => 'LU'
45
+ }
46
+
47
+ #Group Number
48
+ segment Hippo_eyeDoc::Segments::REF,
49
+ :name => 'Group Number',
50
+ :minimum => 0,
51
+ :maximum => 1,
52
+ :position => 1035,
53
+ :identified_by => {
54
+ 'REF01' => '6P'
55
+ }
56
+
57
+ #Patient Control Number
58
+ segment Hippo_eyeDoc::Segments::REF,
59
+ :name => 'Patient Control Number',
60
+ :minimum => 0,
61
+ :maximum => 1,
62
+ :position => 1040,
63
+ :identified_by => {
64
+ 'REF01' => 'EJ'
65
+ }
66
+
67
+ #Pharmacy Prescription Number
68
+ segment Hippo_eyeDoc::Segments::REF,
69
+ :name => 'Pharmacy Prescription Number',
70
+ :minimum => 0,
71
+ :maximum => 1,
72
+ :position => 1045,
73
+ :identified_by => {
74
+ 'REF01' => 'XZ'
75
+ }
76
+
77
+ #Claim Identification Number For Clearinghouses and Other Transmission Intermediaries
78
+ segment Hippo_eyeDoc::Segments::REF,
79
+ :name => 'Claim Identification Number For Clearinghouses and Other Transmission Intermediaries',
80
+ :minimum => 0,
81
+ :maximum => 1,
82
+ :position => 1050,
83
+ :identified_by => {
84
+ 'REF01' => 'D9'
85
+ }
86
+
87
+ #Claim Submitted Charges
88
+ segment Hippo_eyeDoc::Segments::AMT,
89
+ :name => 'Claim Submitted Charges',
90
+ :minimum => 0,
91
+ :maximum => 1,
92
+ :position => 1100,
93
+ :identified_by => {
94
+ 'AMT01' => 'T3'
95
+ }
96
+
97
+ #Claim Service Date
98
+ segment Hippo_eyeDoc::Segments::DTP,
99
+ :name => 'Claim Service Date',
100
+ :minimum => 0,
101
+ :maximum => 1,
102
+ :position => 1200,
103
+ :identified_by => {
104
+ 'DTP01' => '472',
105
+ 'DTP02' => ["D8", "RD8"]
106
+ }
107
+
108
+ #Service Line Information
109
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2210E,
110
+ :name => 'Service Line Information',
111
+ :minimum => 0,
112
+ :maximum => 99999,
113
+ :position => 1300
114
+
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,37 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2210D < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2210D' #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 => 1300
13
+
14
+ #Service Line Item Identification
15
+ segment Hippo_eyeDoc::Segments::REF,
16
+ :name => 'Service Line Item Identification',
17
+ :minimum => 0,
18
+ :maximum => 1,
19
+ :position => 1400,
20
+ :identified_by => {
21
+ 'REF01' => 'FJ'
22
+ }
23
+
24
+ #Service Line Date
25
+ segment Hippo_eyeDoc::Segments::DTP,
26
+ :name => 'Service Line Date',
27
+ :minimum => 1,
28
+ :maximum => 1,
29
+ :position => 1500,
30
+ :identified_by => {
31
+ 'DTP01' => '472',
32
+ 'DTP02' => ["D8", "RD8"]
33
+ }
34
+
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,37 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
3
+
4
+ class L2210E < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2210E' #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 => 1300
13
+
14
+ #Service Line Item Identification
15
+ segment Hippo_eyeDoc::Segments::REF,
16
+ :name => 'Service Line Item Identification',
17
+ :minimum => 0,
18
+ :maximum => 1,
19
+ :position => 1400,
20
+ :identified_by => {
21
+ 'REF01' => 'FJ'
22
+ }
23
+
24
+ #Service Line Date
25
+ segment Hippo_eyeDoc::Segments::DTP,
26
+ :name => 'Service Line Date',
27
+ :minimum => 1,
28
+ :maximum => 1,
29
+ :position => 1500,
30
+ :identified_by => {
31
+ 'DTP01' => '472',
32
+ 'DTP02' => ["D8", "RD8"]
33
+ }
34
+
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,90 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_276
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' => '276'
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' => '0010',
24
+ 'BHT02' => '13'
25
+ }
26
+
27
+ #Information Source Level
28
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2000A,
29
+ :name => 'Information Source Level',
30
+ :minimum => 1,
31
+ :maximum => 99999,
32
+ :position => 100,
33
+ :identified_by => {
34
+ 'HL.HL03' => '20',
35
+ 'HL.HL04' => '1'
36
+ }
37
+
38
+ #Information Receiver Level
39
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2000B,
40
+ :name => 'Information Receiver Level',
41
+ :minimum => 1,
42
+ :maximum => 99999,
43
+ :position => 100,
44
+ :identified_by => {
45
+ 'HL.HL03' => '21',
46
+ 'HL.HL04' => '1'
47
+ }
48
+
49
+ #Service Provider Level
50
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2000C,
51
+ :name => 'Service Provider Level',
52
+ :minimum => 1,
53
+ :maximum => 99999,
54
+ :position => 100,
55
+ :identified_by => {
56
+ 'HL.HL03' => '19',
57
+ 'HL.HL04' => '1'
58
+ }
59
+
60
+ #Subscriber Level
61
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2000D,
62
+ :name => 'Subscriber Level',
63
+ :minimum => 1,
64
+ :maximum => 99999,
65
+ :position => 100,
66
+ :identified_by => {
67
+ 'HL.HL03' => '22',
68
+ 'HL.HL04' => ["0", "1"]
69
+ }
70
+
71
+ #Dependent Level
72
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_276::L2000E,
73
+ :name => 'Dependent Level',
74
+ :minimum => 0,
75
+ :maximum => 99999,
76
+ :position => 100,
77
+ :identified_by => {
78
+ 'HL.HL03' => '23'
79
+ }
80
+
81
+ #Transaction Set Trailer
82
+ segment Hippo_eyeDoc::Segments::SE,
83
+ :name => 'Transaction Set Trailer',
84
+ :minimum => 1,
85
+ :maximum => 1,
86
+ :position => 1600
87
+
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,22 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+ autoload_relative :Base, 'HIPAA_277/base'
4
+ autoload_relative :L2000A, 'HIPAA_277/L2000A'
5
+ autoload_relative :L2000B, 'HIPAA_277/L2000B'
6
+ autoload_relative :L2000C, 'HIPAA_277/L2000C'
7
+ autoload_relative :L2000D, 'HIPAA_277/L2000D'
8
+ autoload_relative :L2000E, 'HIPAA_277/L2000E'
9
+ autoload_relative :L2100A, 'HIPAA_277/L2100A'
10
+ autoload_relative :L2100B, 'HIPAA_277/L2100B'
11
+ autoload_relative :L2100C, 'HIPAA_277/L2100C'
12
+ autoload_relative :L2100D, 'HIPAA_277/L2100D'
13
+ autoload_relative :L2100E, 'HIPAA_277/L2100E'
14
+ autoload_relative :L2200A, 'HIPAA_277/L2200A'
15
+ autoload_relative :L2200B, 'HIPAA_277/L2200B'
16
+ autoload_relative :L2200C, 'HIPAA_277/L2200C'
17
+ autoload_relative :L2200D, 'HIPAA_277/L2200D'
18
+ autoload_relative :L2200E, 'HIPAA_277/L2200E'
19
+ autoload_relative :L2220D, 'HIPAA_277/L2220D'
20
+ autoload_relative :L2220E, 'HIPAA_277/L2220E'
21
+ end
22
+ end
@@ -0,0 +1,42 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2000A < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2000A' #Information Source Level
6
+
7
+ #Information Source Level
8
+ segment Hippo_eyeDoc::Segments::HL,
9
+ :name => 'Information Source Level',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :identified_by => {
14
+ 'HL03' => '20',
15
+ 'HL04' => '1'
16
+ }
17
+
18
+ #Information Source Name
19
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2100A,
20
+ :name => 'Information Source Name',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 500,
24
+ :identified_by => {
25
+ 'NM1.NM101' => ["AY", "PR"],
26
+ 'NM1.NM102' => '2',
27
+ 'NM1.NM108' => ["46", "FI", "PI", "XV"]
28
+ }
29
+
30
+ #Transmission Receipt Control Identifier
31
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2200A,
32
+ :name => 'Transmission Receipt Control Identifier',
33
+ :minimum => 1,
34
+ :maximum => 1,
35
+ :position => 900,
36
+ :identified_by => {
37
+ 'TRN.TRN01' => '1'
38
+ }
39
+
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2000B < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2000B' #Information Receiver Level
6
+
7
+ #Information Receiver Level
8
+ segment Hippo_eyeDoc::Segments::HL,
9
+ :name => 'Information Receiver Level',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :identified_by => {
14
+ 'HL03' => '21',
15
+ 'HL04' => ["0", "1"]
16
+ }
17
+
18
+ #Information Receiver Name
19
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2100B,
20
+ :name => 'Information Receiver Name',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 500,
24
+ :identified_by => {
25
+ 'NM1.NM101' => '41',
26
+ 'NM1.NM102' => ["1", "2"],
27
+ 'NM1.NM108' => '46'
28
+ }
29
+
30
+ #Information Receiver Application Trace Identifier
31
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2200B,
32
+ :name => 'Information Receiver Application Trace Identifier',
33
+ :minimum => 1,
34
+ :maximum => 1,
35
+ :position => 900,
36
+ :identified_by => {
37
+ 'TRN.TRN01' => '2'
38
+ }
39
+
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,52 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2000C < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2000C' #Billing Provider of Service Level
6
+
7
+ #Billing Provider of Service Level
8
+ segment Hippo_eyeDoc::Segments::HL,
9
+ :name => 'Billing Provider of Service Level',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :identified_by => {
14
+ 'HL03' => '19',
15
+ 'HL04' => ["0", "1"]
16
+ }
17
+
18
+ #Billing Provider Name
19
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2100C,
20
+ :name => 'Billing Provider Name',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 500,
24
+ :identified_by => {
25
+ 'NM1.NM101' => '85',
26
+ 'NM1.NM102' => ["1", "2"],
27
+ 'NM1.NM108' => ["FI", "XX"]
28
+ }
29
+
30
+ #Provider of Service Information Trace Identifier
31
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2200C,
32
+ :name => 'Provider of Service Information Trace Identifier',
33
+ :minimum => 0,
34
+ :maximum => 1,
35
+ :position => 900,
36
+ :identified_by => {
37
+ 'TRN.TRN01' => '1'
38
+ }
39
+
40
+ #Patient Level
41
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2000D,
42
+ :name => 'Patient Level',
43
+ :minimum => 0,
44
+ :maximum => 99999,
45
+ :position => 100,
46
+ :identified_by => {
47
+ 'HL.HL03' => 'PT'
48
+ }
49
+
50
+ end
51
+ end
52
+ end