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,76 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2010BA < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2010BA' #Subscriber Name
6
+
7
+ #Subscriber Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Subscriber Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 150,
13
+ :identified_by => {
14
+ 'NM101' => 'IL',
15
+ 'NM102' => ["1", "2"]
16
+ }
17
+
18
+ #Subscriber Address
19
+ segment Hippo_eyeDoc::Segments::N3,
20
+ :name => 'Subscriber Address',
21
+ :minimum => 0,
22
+ :maximum => 1,
23
+ :position => 250
24
+
25
+ #Subscriber City, State, ZIP Code
26
+ segment Hippo_eyeDoc::Segments::N4,
27
+ :name => 'Subscriber City, State, ZIP Code',
28
+ :minimum => 0,
29
+ :maximum => 1,
30
+ :position => 300
31
+
32
+ #Subscriber Demographic Information
33
+ segment Hippo_eyeDoc::Segments::DMG,
34
+ :name => 'Subscriber Demographic Information',
35
+ :minimum => 0,
36
+ :maximum => 1,
37
+ :position => 320,
38
+ :identified_by => {
39
+ 'DMG01' => 'D8',
40
+ 'DMG03' => ["F", "M", "U"]
41
+ }
42
+
43
+ #Subscriber Secondary Identification
44
+ segment Hippo_eyeDoc::Segments::REF,
45
+ :name => 'Subscriber Secondary Identification',
46
+ :minimum => 0,
47
+ :maximum => 1,
48
+ :position => 350,
49
+ :identified_by => {
50
+ 'REF01' => 'SY'
51
+ }
52
+
53
+ #Property and Casualty Claim Number
54
+ segment Hippo_eyeDoc::Segments::REF,
55
+ :name => 'Property and Casualty Claim Number',
56
+ :minimum => 0,
57
+ :maximum => 1,
58
+ :position => 360,
59
+ :identified_by => {
60
+ 'REF01' => 'Y4'
61
+ }
62
+
63
+ #Property and Casualty Subscriber Contact Information
64
+ segment Hippo_eyeDoc::Segments::PER,
65
+ :name => 'Property and Casualty Subscriber Contact Information',
66
+ :minimum => 0,
67
+ :maximum => 1,
68
+ :position => 400,
69
+ :identified_by => {
70
+ 'PER01' => 'IC',
71
+ 'PER03' => 'TE'
72
+ }
73
+
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,55 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2010BB < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2010BB' #Payer Name
6
+
7
+ #Payer Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Payer Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 150,
13
+ :identified_by => {
14
+ 'NM101' => 'PR',
15
+ 'NM102' => '2',
16
+ 'NM108' => ["PI", "XV"]
17
+ }
18
+
19
+ #Payer Address
20
+ segment Hippo_eyeDoc::Segments::N3,
21
+ :name => 'Payer Address',
22
+ :minimum => 0,
23
+ :maximum => 1,
24
+ :position => 250
25
+
26
+ #Payer City, State, ZIP Code
27
+ segment Hippo_eyeDoc::Segments::N4,
28
+ :name => 'Payer City, State, ZIP Code',
29
+ :minimum => 0,
30
+ :maximum => 1,
31
+ :position => 300
32
+
33
+ #Payer Secondary Identification
34
+ segment Hippo_eyeDoc::Segments::REF,
35
+ :name => 'Payer Secondary Identification',
36
+ :minimum => 0,
37
+ :maximum => 3,
38
+ :position => 350,
39
+ :identified_by => {
40
+ 'REF01' => ["2U", "EI", "FY", "NF"]
41
+ }
42
+
43
+ #Billing Provider Secondary Identification
44
+ segment Hippo_eyeDoc::Segments::REF,
45
+ :name => 'Billing Provider Secondary Identification',
46
+ :minimum => 0,
47
+ :maximum => 2,
48
+ :position => 370,
49
+ :identified_by => {
50
+ 'REF01' => ["G2", "LU"]
51
+ }
52
+
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,76 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2010CA < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2010CA' #Patient Name
6
+
7
+ #Patient Name
8
+ segment Hippo_eyeDoc::Segments::NM1,
9
+ :name => 'Patient Name',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 150,
13
+ :identified_by => {
14
+ 'NM101' => 'QC',
15
+ 'NM102' => '1'
16
+ }
17
+
18
+ #Patient Address
19
+ segment Hippo_eyeDoc::Segments::N3,
20
+ :name => 'Patient Address',
21
+ :minimum => 1,
22
+ :maximum => 1,
23
+ :position => 250
24
+
25
+ #Patient City, State, ZIP Code
26
+ segment Hippo_eyeDoc::Segments::N4,
27
+ :name => 'Patient City, State, ZIP Code',
28
+ :minimum => 1,
29
+ :maximum => 1,
30
+ :position => 300
31
+
32
+ #Patient Demographic Information
33
+ segment Hippo_eyeDoc::Segments::DMG,
34
+ :name => 'Patient Demographic Information',
35
+ :minimum => 1,
36
+ :maximum => 1,
37
+ :position => 320,
38
+ :identified_by => {
39
+ 'DMG01' => 'D8',
40
+ 'DMG03' => ["F", "M", "U"]
41
+ }
42
+
43
+ #Property and Casualty Claim Number
44
+ segment Hippo_eyeDoc::Segments::REF,
45
+ :name => 'Property and Casualty Claim Number',
46
+ :minimum => 0,
47
+ :maximum => 1,
48
+ :position => 360,
49
+ :identified_by => {
50
+ 'REF01' => 'Y4'
51
+ }
52
+
53
+ #Property and Casualty Patient Identifier
54
+ segment Hippo_eyeDoc::Segments::REF,
55
+ :name => 'Property and Casualty Patient Identifier',
56
+ :minimum => 0,
57
+ :maximum => 1,
58
+ :position => 362,
59
+ :identified_by => {
60
+ 'REF01' => ["1W", "SY"]
61
+ }
62
+
63
+ #Property and Casualty Patient Contact Information
64
+ segment Hippo_eyeDoc::Segments::PER,
65
+ :name => 'Property and Casualty Patient Contact Information',
66
+ :minimum => 0,
67
+ :maximum => 1,
68
+ :position => 400,
69
+ :identified_by => {
70
+ 'PER01' => 'IC',
71
+ 'PER03' => 'TE'
72
+ }
73
+
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,570 @@
1
+ module Hippo_eyeDoc::TransactionSets
2
+ module HIPAA_837
3
+
4
+ class L2300 < Hippo_eyeDoc::TransactionSets::Base
5
+ loop_name 'L2300' #Claim Information
6
+
7
+ #Claim Information
8
+ segment Hippo_eyeDoc::Segments::CLM,
9
+ :name => 'Claim Information',
10
+ :minimum => 1,
11
+ :maximum => 1,
12
+ :position => 1300,
13
+ :identified_by => {
14
+ 'CLM06' => ["N", "Y"],
15
+ 'CLM07' => ["A", "B", "C"],
16
+ 'CLM08' => ["N", "W", "Y"],
17
+ 'CLM09' => ["I", "Y"]
18
+ }
19
+
20
+ #Date - Onset of Current Illness or Symptom
21
+ segment Hippo_eyeDoc::Segments::DTP,
22
+ :name => 'Date - Onset of Current Illness or Symptom',
23
+ :minimum => 0,
24
+ :maximum => 1,
25
+ :position => 1350,
26
+ :identified_by => {
27
+ 'DTP01' => '431',
28
+ 'DTP02' => 'D8'
29
+ }
30
+
31
+ #Date - Initial Treatment Date
32
+ segment Hippo_eyeDoc::Segments::DTP,
33
+ :name => 'Date - Initial Treatment Date',
34
+ :minimum => 0,
35
+ :maximum => 1,
36
+ :position => 1370,
37
+ :identified_by => {
38
+ 'DTP01' => '454',
39
+ 'DTP02' => 'D8'
40
+ }
41
+
42
+ #Date - Last Seen Date
43
+ segment Hippo_eyeDoc::Segments::DTP,
44
+ :name => 'Date - Last Seen Date',
45
+ :minimum => 0,
46
+ :maximum => 1,
47
+ :position => 1390,
48
+ :identified_by => {
49
+ 'DTP01' => '304',
50
+ 'DTP02' => 'D8'
51
+ }
52
+
53
+ #Date - Acute Manifestation
54
+ segment Hippo_eyeDoc::Segments::DTP,
55
+ :name => 'Date - Acute Manifestation',
56
+ :minimum => 0,
57
+ :maximum => 1,
58
+ :position => 13,
59
+ :identified_by => {
60
+ 'DTP01' => '453',
61
+ 'DTP02' => 'D8'
62
+ }
63
+
64
+ #Date - Accident
65
+ segment Hippo_eyeDoc::Segments::DTP,
66
+ :name => 'Date - Accident',
67
+ :minimum => 0,
68
+ :maximum => 1,
69
+ :position => 13,
70
+ :identified_by => {
71
+ 'DTP01' => '439',
72
+ 'DTP02' => 'D8'
73
+ }
74
+
75
+ #Date - Last Menstrual Period
76
+ segment Hippo_eyeDoc::Segments::DTP,
77
+ :name => 'Date - Last Menstrual Period',
78
+ :minimum => 0,
79
+ :maximum => 1,
80
+ :position => 13,
81
+ :identified_by => {
82
+ 'DTP01' => '484',
83
+ 'DTP02' => 'D8'
84
+ }
85
+
86
+ #Date - Last X-ray Date
87
+ segment Hippo_eyeDoc::Segments::DTP,
88
+ :name => 'Date - Last X-ray Date',
89
+ :minimum => 0,
90
+ :maximum => 1,
91
+ :position => 13,
92
+ :identified_by => {
93
+ 'DTP01' => '455',
94
+ 'DTP02' => 'D8'
95
+ }
96
+
97
+ #Date - Hearing and Vision Prescription Date
98
+ segment Hippo_eyeDoc::Segments::DTP,
99
+ :name => 'Date - Hearing and Vision Prescription Date',
100
+ :minimum => 0,
101
+ :maximum => 1,
102
+ :position => 13,
103
+ :identified_by => {
104
+ 'DTP01' => '471',
105
+ 'DTP02' => 'D8'
106
+ }
107
+
108
+ #Date - Disability Dates
109
+ segment Hippo_eyeDoc::Segments::DTP,
110
+ :name => 'Date - Disability Dates',
111
+ :minimum => 0,
112
+ :maximum => 1,
113
+ :position => 13,
114
+ :identified_by => {
115
+ 'DTP01' => ["314", "360", "361"],
116
+ 'DTP02' => ["D8", "RD8"]
117
+ }
118
+
119
+ #Date - Last Worked
120
+ segment Hippo_eyeDoc::Segments::DTP,
121
+ :name => 'Date - Last Worked',
122
+ :minimum => 0,
123
+ :maximum => 1,
124
+ :position => 13,
125
+ :identified_by => {
126
+ 'DTP01' => '297',
127
+ 'DTP02' => 'D8'
128
+ }
129
+
130
+ #Date - Authorized Return to Work
131
+ segment Hippo_eyeDoc::Segments::DTP,
132
+ :name => 'Date - Authorized Return to Work',
133
+ :minimum => 0,
134
+ :maximum => 1,
135
+ :position => 13,
136
+ :identified_by => {
137
+ 'DTP01' => '296',
138
+ 'DTP02' => 'D8'
139
+ }
140
+
141
+ #Date - Admission
142
+ segment Hippo_eyeDoc::Segments::DTP,
143
+ :name => 'Date - Admission',
144
+ :minimum => 0,
145
+ :maximum => 1,
146
+ :position => 13,
147
+ :identified_by => {
148
+ 'DTP01' => '435',
149
+ 'DTP02' => 'D8'
150
+ }
151
+
152
+ #Date - Discharge
153
+ segment Hippo_eyeDoc::Segments::DTP,
154
+ :name => 'Date - Discharge',
155
+ :minimum => 0,
156
+ :maximum => 1,
157
+ :position => 13,
158
+ :identified_by => {
159
+ 'DTP01' => '096',
160
+ 'DTP02' => 'D8'
161
+ }
162
+
163
+ #Date - Assumed and Relinquished Care Dates
164
+ segment Hippo_eyeDoc::Segments::DTP,
165
+ :name => 'Date - Assumed and Relinquished Care Dates',
166
+ :minimum => 0,
167
+ :maximum => 2,
168
+ :position => 13,
169
+ :identified_by => {
170
+ 'DTP01' => ["090", "091"],
171
+ 'DTP02' => 'D8'
172
+ }
173
+
174
+ #Date - Property and Casualty Date of First Contact
175
+ segment Hippo_eyeDoc::Segments::DTP,
176
+ :name => 'Date - Property and Casualty Date of First Contact',
177
+ :minimum => 0,
178
+ :maximum => 1,
179
+ :position => 13,
180
+ :identified_by => {
181
+ 'DTP01' => '444',
182
+ 'DTP02' => 'D8'
183
+ }
184
+
185
+ #Date - Repricer Received Date
186
+ segment Hippo_eyeDoc::Segments::DTP,
187
+ :name => 'Date - Repricer Received Date',
188
+ :minimum => 0,
189
+ :maximum => 1,
190
+ :position => 13,
191
+ :identified_by => {
192
+ 'DTP01' => '050',
193
+ 'DTP02' => 'D8'
194
+ }
195
+
196
+ #Claim Supplemental Information
197
+ segment Hippo_eyeDoc::Segments::PWK,
198
+ :name => 'Claim Supplemental Information',
199
+ :minimum => 0,
200
+ :maximum => 10,
201
+ :position => 1550,
202
+ :identified_by => {
203
+ 'PWK01' => ["03", "04", "05", "06", "07", "08", "09", "10", "11", "13", "15", "21", "A3", "A4", "AM", "AS", "B2", "B3", "B4", "BR", "BS", "BT", "CB", "CK", "CT", "D2", "DA", "DB", "DG", "DJ", "DS", "EB", "HC", "HR", "I5", "IR", "LA", "M1", "MT", "NN", "OB", "OC", "OD", "OE", "OX", "OZ", "P4", "P5", "PE", "PN", "PO", "PQ", "PY", "PZ", "RB", "RR", "RT", "RX", "SG", "V5", "XP"],
204
+ 'PWK02' => ["AA", "BM", "EL", "EM", "FT", "FX"]
205
+ }
206
+
207
+ #Contract Information
208
+ segment Hippo_eyeDoc::Segments::CN1,
209
+ :name => 'Contract Information',
210
+ :minimum => 0,
211
+ :maximum => 1,
212
+ :position => 1600,
213
+ :identified_by => {
214
+ 'CN101' => ["01", "02", "03", "04", "05", "06", "09"]
215
+ }
216
+
217
+ #Patient Amount Paid
218
+ segment Hippo_eyeDoc::Segments::AMT,
219
+ :name => 'Patient Amount Paid',
220
+ :minimum => 0,
221
+ :maximum => 1,
222
+ :position => 1760,
223
+ :identified_by => {
224
+ 'AMT01' => 'F5'
225
+ }
226
+
227
+ #Service Authorization Exception Code
228
+ segment Hippo_eyeDoc::Segments::REF,
229
+ :name => 'Service Authorization Exception Code',
230
+ :minimum => 0,
231
+ :maximum => 1,
232
+ :position => 17,
233
+ :identified_by => {
234
+ 'REF01' => '4N'
235
+ }
236
+
237
+ #Mandatory Medicare (Section 4081) Crossover Indicator
238
+ segment Hippo_eyeDoc::Segments::REF,
239
+ :name => 'Mandatory Medicare (Section 4081) Crossover Indicator',
240
+ :minimum => 0,
241
+ :maximum => 1,
242
+ :position => 17,
243
+ :identified_by => {
244
+ 'REF01' => 'F5'
245
+ }
246
+
247
+ #Mammography Certification Number
248
+ segment Hippo_eyeDoc::Segments::REF,
249
+ :name => 'Mammography Certification Number',
250
+ :minimum => 0,
251
+ :maximum => 1,
252
+ :position => 17,
253
+ :identified_by => {
254
+ 'REF01' => 'EW'
255
+ }
256
+
257
+ #Referral Number
258
+ segment Hippo_eyeDoc::Segments::REF,
259
+ :name => 'Referral Number',
260
+ :minimum => 0,
261
+ :maximum => 1,
262
+ :position => 17,
263
+ :identified_by => {
264
+ 'REF01' => '9F'
265
+ }
266
+
267
+ #Prior Authorization
268
+ segment Hippo_eyeDoc::Segments::REF,
269
+ :name => 'Prior Authorization',
270
+ :minimum => 0,
271
+ :maximum => 1,
272
+ :position => 1800,
273
+ :identified_by => {
274
+ 'REF01' => 'G1'
275
+ }
276
+
277
+ #Payer Claim Control Number
278
+ segment Hippo_eyeDoc::Segments::REF,
279
+ :name => 'Payer Claim Control Number',
280
+ :minimum => 0,
281
+ :maximum => 1,
282
+ :position => 1810,
283
+ :identified_by => {
284
+ 'REF01' => 'F8'
285
+ }
286
+
287
+ #Clinical Laboratory Improvement Amendment (CLIA) Number
288
+ segment Hippo_eyeDoc::Segments::REF,
289
+ :name => 'Clinical Laboratory Improvement Amendment (CLIA) Number',
290
+ :minimum => 0,
291
+ :maximum => 1,
292
+ :position => 1820,
293
+ :identified_by => {
294
+ 'REF01' => 'X4'
295
+ }
296
+
297
+ #Repriced Claim Number
298
+ segment Hippo_eyeDoc::Segments::REF,
299
+ :name => 'Repriced Claim Number',
300
+ :minimum => 0,
301
+ :maximum => 1,
302
+ :position => 1830,
303
+ :identified_by => {
304
+ 'REF01' => '9A'
305
+ }
306
+
307
+ #Adjusted Repriced Claim Number
308
+ segment Hippo_eyeDoc::Segments::REF,
309
+ :name => 'Adjusted Repriced Claim Number',
310
+ :minimum => 0,
311
+ :maximum => 1,
312
+ :position => 1840,
313
+ :identified_by => {
314
+ 'REF01' => '9C'
315
+ }
316
+
317
+ #Investigational Device Exemption Number
318
+ segment Hippo_eyeDoc::Segments::REF,
319
+ :name => 'Investigational Device Exemption Number',
320
+ :minimum => 0,
321
+ :maximum => 1,
322
+ :position => 1850,
323
+ :identified_by => {
324
+ 'REF01' => 'LX'
325
+ }
326
+
327
+ #Claim Identifier For Transmission Intermediaries
328
+ segment Hippo_eyeDoc::Segments::REF,
329
+ :name => 'Claim Identifier For Transmission Intermediaries',
330
+ :minimum => 0,
331
+ :maximum => 1,
332
+ :position => 1860,
333
+ :identified_by => {
334
+ 'REF01' => 'D9'
335
+ }
336
+
337
+ #Medical Record Number
338
+ segment Hippo_eyeDoc::Segments::REF,
339
+ :name => 'Medical Record Number',
340
+ :minimum => 0,
341
+ :maximum => 1,
342
+ :position => 1890,
343
+ :identified_by => {
344
+ 'REF01' => 'EA'
345
+ }
346
+
347
+ #Demonstration Project Identifier
348
+ segment Hippo_eyeDoc::Segments::REF,
349
+ :name => 'Demonstration Project Identifier',
350
+ :minimum => 0,
351
+ :maximum => 1,
352
+ :position => 18,
353
+ :identified_by => {
354
+ 'REF01' => 'P4'
355
+ }
356
+
357
+ #Care Plan Oversight
358
+ segment Hippo_eyeDoc::Segments::REF,
359
+ :name => 'Care Plan Oversight',
360
+ :minimum => 0,
361
+ :maximum => 1,
362
+ :position => 18,
363
+ :identified_by => {
364
+ 'REF01' => '1J'
365
+ }
366
+
367
+ #File Information
368
+ segment Hippo_eyeDoc::Segments::K3,
369
+ :name => 'File Information',
370
+ :minimum => 0,
371
+ :maximum => 10,
372
+ :position => 18
373
+
374
+ #Claim Note
375
+ segment Hippo_eyeDoc::Segments::NTE,
376
+ :name => 'Claim Note',
377
+ :minimum => 0,
378
+ :maximum => 1,
379
+ :position => 1900,
380
+ :identified_by => {
381
+ 'NTE01' => ["ADD", "CER", "DCP", "DGN", "TPO"]
382
+ }
383
+
384
+ #Ambulance Transport Information
385
+ segment Hippo_eyeDoc::Segments::CR1,
386
+ :name => 'Ambulance Transport Information',
387
+ :minimum => 0,
388
+ :maximum => 1,
389
+ :position => 1950,
390
+ :identified_by => {
391
+ 'CR104' => ["A", "B", "C", "D", "E"],
392
+ 'CR105' => 'DH'
393
+ }
394
+
395
+ #Spinal Manipulation Service Information
396
+ segment Hippo_eyeDoc::Segments::CR2,
397
+ :name => 'Spinal Manipulation Service Information',
398
+ :minimum => 0,
399
+ :maximum => 1,
400
+ :position => 2000,
401
+ :identified_by => {
402
+ 'CR208' => ["A", "C", "D", "E", "F", "G", "M"]
403
+ }
404
+
405
+ #Ambulance Certification
406
+ segment Hippo_eyeDoc::Segments::CRC,
407
+ :name => 'Ambulance Certification',
408
+ :minimum => 0,
409
+ :maximum => 3,
410
+ :position => 2200,
411
+ :identified_by => {
412
+ 'CRC01' => '07',
413
+ 'CRC02' => ["N", "Y"],
414
+ 'CRC03' => ["01", "04", "05", "06", "07", "08", "09", "12"]
415
+ }
416
+
417
+ #Patient Condition Information: Vision
418
+ segment Hippo_eyeDoc::Segments::CRC,
419
+ :name => 'Patient Condition Information: Vision',
420
+ :minimum => 0,
421
+ :maximum => 3,
422
+ :position => 2210,
423
+ :identified_by => {
424
+ 'CRC01' => ["E1", "E2", "E3"],
425
+ 'CRC02' => ["N", "Y"],
426
+ 'CRC03' => ["L1", "L2", "L3", "L4", "L5"]
427
+ }
428
+
429
+ #Homebound Indicator
430
+ segment Hippo_eyeDoc::Segments::CRC,
431
+ :name => 'Homebound Indicator',
432
+ :minimum => 0,
433
+ :maximum => 1,
434
+ :position => 2220,
435
+ :identified_by => {
436
+ 'CRC01' => '75',
437
+ 'CRC02' => 'Y',
438
+ 'CRC03' => 'IH'
439
+ }
440
+
441
+ #EPSDT Referral
442
+ segment Hippo_eyeDoc::Segments::CRC,
443
+ :name => 'EPSDT Referral',
444
+ :minimum => 0,
445
+ :maximum => 1,
446
+ :position => 2230,
447
+ :identified_by => {
448
+ 'CRC01' => 'ZZ',
449
+ 'CRC02' => ["N", "Y"],
450
+ 'CRC03' => ["AV", "NU", "S2", "ST"]
451
+ }
452
+
453
+ #Health Care Diagnosis Code
454
+ segment Hippo_eyeDoc::Segments::HI,
455
+ :name => 'Health Care Diagnosis Code',
456
+ :minimum => 1,
457
+ :maximum => 1,
458
+ :position => 2310
459
+
460
+ #Anesthesia Related Procedure
461
+ segment Hippo_eyeDoc::Segments::HI,
462
+ :name => 'Anesthesia Related Procedure',
463
+ :minimum => 0,
464
+ :maximum => 1,
465
+ :position => 2313
466
+
467
+ #Condition Information
468
+ segment Hippo_eyeDoc::Segments::HI,
469
+ :name => 'Condition Information',
470
+ :minimum => 0,
471
+ :maximum => 2,
472
+ :position => 2320
473
+
474
+ #Claim Pricing/Repricing Information
475
+ segment Hippo_eyeDoc::Segments::HCP,
476
+ :name => 'Claim Pricing/Repricing Information',
477
+ :minimum => 0,
478
+ :maximum => 1,
479
+ :position => 2410,
480
+ :identified_by => {
481
+ 'HCP01' => ["00", "01", "02", "03", "04", "05", "07", "08", "09", "10", "11", "12", "13", "14"]
482
+ }
483
+
484
+ #Referring Provider Name
485
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2310A,
486
+ :name => 'Referring Provider Name',
487
+ :minimum => 0,
488
+ :maximum => 2,
489
+ :position => 2500,
490
+ :identified_by => {
491
+ 'NM1.NM101' => ["DN", "P3"],
492
+ 'NM1.NM102' => '1'
493
+ }
494
+
495
+ #Rendering Provider Name
496
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2310B,
497
+ :name => 'Rendering Provider Name',
498
+ :minimum => 0,
499
+ :maximum => 1,
500
+ :position => 2500,
501
+ :identified_by => {
502
+ 'NM1.NM101' => '82',
503
+ 'NM1.NM102' => ["1", "2"]
504
+ }
505
+
506
+ #Service Facility Location Name
507
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2310C,
508
+ :name => 'Service Facility Location Name',
509
+ :minimum => 0,
510
+ :maximum => 1,
511
+ :position => 2500,
512
+ :identified_by => {
513
+ 'NM1.NM101' => '77',
514
+ 'NM1.NM102' => '2'
515
+ }
516
+
517
+ #Supervising Provider Name
518
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2310D,
519
+ :name => 'Supervising Provider Name',
520
+ :minimum => 0,
521
+ :maximum => 1,
522
+ :position => 2500,
523
+ :identified_by => {
524
+ 'NM1.NM101' => 'DQ',
525
+ 'NM1.NM102' => '1'
526
+ }
527
+
528
+ #Ambulance Pick-up Location
529
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2310E,
530
+ :name => 'Ambulance Pick-up Location',
531
+ :minimum => 0,
532
+ :maximum => 1,
533
+ :position => 2500,
534
+ :identified_by => {
535
+ 'NM1.NM101' => 'PW',
536
+ 'NM1.NM102' => '2'
537
+ }
538
+
539
+ #Ambulance Drop-off Location
540
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2310F,
541
+ :name => 'Ambulance Drop-off Location',
542
+ :minimum => 0,
543
+ :maximum => 1,
544
+ :position => 2500,
545
+ :identified_by => {
546
+ 'NM1.NM101' => '45',
547
+ 'NM1.NM102' => '2'
548
+ }
549
+
550
+ #Other Subscriber Information
551
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2320,
552
+ :name => 'Other Subscriber Information',
553
+ :minimum => 0,
554
+ :maximum => 10,
555
+ :position => 2900,
556
+ :identified_by => {
557
+ 'SBR.SBR01' => ["A", "B", "C", "D", "E", "F", "G", "H", "P", "S", "T", "U"],
558
+ 'SBR.SBR02' => ["01", "18", "19", "20", "21", "39", "40", "53", "G8"]
559
+ }
560
+
561
+ #Service Line Number
562
+ loop Hippo_eyeDoc::TransactionSets::HIPAA_837::L2400,
563
+ :name => 'Service Line Number',
564
+ :minimum => 1,
565
+ :maximum => 50,
566
+ :position => 3650
567
+
568
+ end
569
+ end
570
+ end