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,41 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2000D < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2000D' #Patient Level
6
+
7
+ #Patient Level
8
+ segment Hippo_eyeDoc::Segments::HL,
9
+ :name => 'Patient Level',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :identified_by => {
14
+ 'HL03' => 'PT'
15
+ }
16
+
17
+ #Patient Name
18
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2100D,
19
+ :name => 'Patient Name',
20
+ :minimum => 1,
21
+ :maximum => 1,
22
+ :position => 500,
23
+ :identified_by => {
24
+ 'NM1.NM101' => 'QC',
25
+ 'NM1.NM102' => '1',
26
+ 'NM1.NM108' => ["II", "MI"]
27
+ }
28
+
29
+ #Claim Status Tracking Number
30
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2200D,
31
+ :name => 'Claim Status Tracking Number',
32
+ :minimum => 1,
33
+ :maximum => 99999,
34
+ :position => 900,
35
+ :identified_by => {
36
+ 'TRN.TRN01' => '2'
37
+ }
38
+
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,40 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2000E < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2000E' #Dependent Level
6
+
7
+ #Dependent Level
8
+ segment Hippo_eyeDoc::Segments::HL,
9
+ :name => 'Dependent Level',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 100,
13
+ :identified_by => {
14
+ 'HL03' => '23'
15
+ }
16
+
17
+ #Dependent Name
18
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2100E,
19
+ :name => 'Dependent Name',
20
+ :minimum => 1,
21
+ :maximum => 1,
22
+ :position => 500,
23
+ :identified_by => {
24
+ 'NM1.NM101' => 'QC',
25
+ 'NM1.NM102' => '1'
26
+ }
27
+
28
+ #Claim Status Tracking Number
29
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2200E,
30
+ :name => 'Claim Status Tracking Number',
31
+ :minimum => 1,
32
+ :maximum => 99999,
33
+ :position => 900,
34
+ :identified_by => {
35
+ 'TRN.TRN01' => '2'
36
+ }
37
+
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,21 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2100A < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2100A' #Information Source Name
6
+
7
+ #Information Source Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Information Source Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :identified_by => {
14
+ 'NM101' => ["AY", "PR"],
15
+ 'NM102' => '2',
16
+ 'NM108' => ["46", "FI", "PI", "XV"]
17
+ }
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2100B < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2100B' #Information Receiver Name
6
+
7
+ #Information Receiver Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Information Receiver Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :identified_by => {
14
+ 'NM101' => '41',
15
+ 'NM102' => ["1", "2"],
16
+ 'NM108' => '46'
17
+ }
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2100C < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2100C' #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 => 500,
13
+ :identified_by => {
14
+ 'NM101' => '85',
15
+ 'NM102' => ["1", "2"],
16
+ 'NM108' => ["FI", "XX"]
17
+ }
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2100D < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2100D' #Patient Name
6
+
7
+ #Patient Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Patient Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :identified_by => {
14
+ 'NM101' => 'QC',
15
+ 'NM102' => '1',
16
+ 'NM108' => ["II", "MI"]
17
+ }
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2100E < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2100E' #Dependent Name
6
+
7
+ #Dependent Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Dependent Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 500,
13
+ :identified_by => {
14
+ 'NM101' => 'QC',
15
+ 'NM102' => '1'
16
+ }
17
+
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,41 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2200A < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2200A' #Transmission Receipt Control Identifier
6
+
7
+ #Transmission Receipt Control Identifier
8
+ segment Hippo_eyeDoc::Segments::TRN,
9
+ :name => 'Transmission Receipt Control Identifier',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 900,
13
+ :identified_by => {
14
+ 'TRN01' => '1'
15
+ }
16
+
17
+ #Information Source Receipt Date
18
+ segment Hippo_eyeDoc::Segments::DTP,
19
+ :name => 'Information Source Receipt Date',
20
+ :minimum => 1,
21
+ :maximum => 1,
22
+ :position => 1200,
23
+ :identified_by => {
24
+ 'DTP01' => '050',
25
+ 'DTP02' => 'D8'
26
+ }
27
+
28
+ #Information Source Process Date
29
+ segment Hippo_eyeDoc::Segments::DTP,
30
+ :name => 'Information Source Process Date',
31
+ :minimum => 1,
32
+ :maximum => 1,
33
+ :position => 1205,
34
+ :identified_by => {
35
+ 'DTP01' => '009',
36
+ 'DTP02' => 'D8'
37
+ }
38
+
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,69 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2200B < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2200B' #Information Receiver Application Trace Identifier
6
+
7
+ #Information Receiver Application Trace Identifier
8
+ segment Hippo_eyeDoc::Segments::TRN,
9
+ :name => 'Information Receiver Application Trace Identifier',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 900,
13
+ :identified_by => {
14
+ 'TRN01' => '2'
15
+ }
16
+
17
+ #Information Receiver Status Information
18
+ segment Hippo_eyeDoc::Segments::STC,
19
+ :name => 'Information Receiver Status Information',
20
+ :minimum => 1,
21
+ :maximum => 99999,
22
+ :position => 1000,
23
+ :identified_by => {
24
+ 'STC03' => ["U", "WQ"]
25
+ }
26
+
27
+ #Total Accepted Quantity
28
+ segment Hippo_eyeDoc::Segments::QTY,
29
+ :name => 'Total Accepted Quantity',
30
+ :minimum => 0,
31
+ :maximum => 1,
32
+ :position => 1210,
33
+ :identified_by => {
34
+ 'QTY01' => '90'
35
+ }
36
+
37
+ #Total Rejected Quantity
38
+ segment Hippo_eyeDoc::Segments::QTY,
39
+ :name => 'Total Rejected Quantity',
40
+ :minimum => 0,
41
+ :maximum => 1,
42
+ :position => 1211,
43
+ :identified_by => {
44
+ 'QTY01' => 'AA'
45
+ }
46
+
47
+ #Total Accepted Amount
48
+ segment Hippo_eyeDoc::Segments::AMT,
49
+ :name => 'Total Accepted Amount',
50
+ :minimum => 0,
51
+ :maximum => 1,
52
+ :position => 1220,
53
+ :identified_by => {
54
+ 'AMT01' => 'YU'
55
+ }
56
+
57
+ #Total Rejected Amount
58
+ segment Hippo_eyeDoc::Segments::AMT,
59
+ :name => 'Total Rejected Amount',
60
+ :minimum => 0,
61
+ :maximum => 1,
62
+ :position => 1222,
63
+ :identified_by => {
64
+ 'AMT01' => 'YY'
65
+ }
66
+
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,79 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2200C < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2200C' #Provider of Service Information Trace Identifier
6
+
7
+ #Provider of Service Information Trace Identifier
8
+ segment Hippo_eyeDoc::Segments::TRN,
9
+ :name => 'Provider of Service Information Trace Identifier',
10
+ :minimum => 0,
11
+ :maximum => 1,
12
+ :position => 900,
13
+ :identified_by => {
14
+ 'TRN01' => '1'
15
+ }
16
+
17
+ #Billing Provider Status Information
18
+ segment Hippo_eyeDoc::Segments::STC,
19
+ :name => 'Billing Provider Status Information',
20
+ :minimum => 0,
21
+ :maximum => 99999,
22
+ :position => 1000,
23
+ :identified_by => {
24
+ 'STC03' => ["U", "WQ"]
25
+ }
26
+
27
+ #Provider Secondary Identifier
28
+ segment Hippo_eyeDoc::Segments::REF,
29
+ :name => 'Provider Secondary Identifier',
30
+ :minimum => 0,
31
+ :maximum => 3,
32
+ :position => 1100,
33
+ :identified_by => {
34
+ 'REF01' => ["0B", "1G", "G2", "LU", "SY", "TJ"]
35
+ }
36
+
37
+ #Total Accepted Quantity
38
+ segment Hippo_eyeDoc::Segments::QTY,
39
+ :name => 'Total Accepted Quantity',
40
+ :minimum => 0,
41
+ :maximum => 1,
42
+ :position => 1210,
43
+ :identified_by => {
44
+ 'QTY01' => 'QA'
45
+ }
46
+
47
+ #Total Rejected Quantity
48
+ segment Hippo_eyeDoc::Segments::QTY,
49
+ :name => 'Total Rejected Quantity',
50
+ :minimum => 0,
51
+ :maximum => 1,
52
+ :position => 1215,
53
+ :identified_by => {
54
+ 'QTY01' => 'QC'
55
+ }
56
+
57
+ #Total Accepted Amount
58
+ segment Hippo_eyeDoc::Segments::AMT,
59
+ :name => 'Total Accepted Amount',
60
+ :minimum => 0,
61
+ :maximum => 1,
62
+ :position => 1220,
63
+ :identified_by => {
64
+ 'AMT01' => 'YU'
65
+ }
66
+
67
+ #Total Rejected Amount
68
+ segment Hippo_eyeDoc::Segments::AMT,
69
+ :name => 'Total Rejected Amount',
70
+ :minimum => 0,
71
+ :maximum => 1,
72
+ :position => 1225,
73
+ :identified_by => {
74
+ 'AMT01' => 'YY'
75
+ }
76
+
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,77 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_277
3
+
4
+ class L2200D < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2200D' #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
+ :identified_by => {
24
+ 'STC03' => ["U", "WQ"]
25
+ }
26
+
27
+ #Payer Claim Control Number
28
+ segment Hippo_eyeDoc::Segments::REF,
29
+ :name => 'Payer Claim Control Number',
30
+ :minimum => 0,
31
+ :maximum => 1,
32
+ :position => 1100,
33
+ :identified_by => {
34
+ 'REF01' => '1K'
35
+ }
36
+
37
+ #Claim Identifier Number For Clearinghouse and Other Transmission Intermediaries
38
+ segment Hippo_eyeDoc::Segments::REF,
39
+ :name => 'Claim Identifier Number For Clearinghouse and Other Transmission Intermediaries',
40
+ :minimum => 0,
41
+ :maximum => 1,
42
+ :position => 1110,
43
+ :identified_by => {
44
+ 'REF01' => 'D9'
45
+ }
46
+
47
+ #Institutional Bill Type Identification
48
+ segment Hippo_eyeDoc::Segments::REF,
49
+ :name => 'Institutional Bill Type Identification',
50
+ :minimum => 0,
51
+ :maximum => 1,
52
+ :position => 1120,
53
+ :identified_by => {
54
+ 'REF01' => 'BLT'
55
+ }
56
+
57
+ #Claim Level Service Date
58
+ segment Hippo_eyeDoc::Segments::DTP,
59
+ :name => 'Claim Level Service Date',
60
+ :minimum => 1,
61
+ :maximum => 1,
62
+ :position => 1200,
63
+ :identified_by => {
64
+ 'DTP01' => '472',
65
+ 'DTP02' => ["D8", "RD8"]
66
+ }
67
+
68
+ #Service Line Information
69
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_277::L2220D,
70
+ :name => 'Service Line Information',
71
+ :minimum => 0,
72
+ :maximum => 99999,
73
+ :position => 1800
74
+
75
+ end
76
+ end
77
+ end