stupidedi 1.1.0

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 (500) hide show
  1. data/README.md +215 -0
  2. data/Rakefile +108 -0
  3. data/bin/edi-ed +71 -0
  4. data/bin/edi-pp +81 -0
  5. data/doc/Defining.md +0 -0
  6. data/doc/Generating.md +321 -0
  7. data/doc/LICENSE.md +0 -0
  8. data/doc/Navigating.md +645 -0
  9. data/doc/Parsing.md +0 -0
  10. data/doc/Serializing.md +7 -0
  11. data/doc/Tokenizing.md +0 -0
  12. data/doc/Validating.md +0 -0
  13. data/doc/design/Parser.md +0 -0
  14. data/doc/design/Reader.md +0 -0
  15. data/lib/ruby/array.rb +164 -0
  16. data/lib/ruby/blank.rb +67 -0
  17. data/lib/ruby/enumerable.rb +35 -0
  18. data/lib/ruby/exception.rb +33 -0
  19. data/lib/ruby/hash.rb +4 -0
  20. data/lib/ruby/instance_exec.rb +26 -0
  21. data/lib/ruby/module.rb +79 -0
  22. data/lib/ruby/object.rb +63 -0
  23. data/lib/ruby/string.rb +73 -0
  24. data/lib/ruby/symbol.rb +24 -0
  25. data/lib/ruby/to_d.rb +81 -0
  26. data/lib/ruby/to_date.rb +33 -0
  27. data/lib/ruby/to_time.rb +24 -0
  28. data/lib/ruby/try.rb +43 -0
  29. data/lib/stupidedi/blank_slate.rb +11 -0
  30. data/lib/stupidedi/builder/builder_dsl.rb +281 -0
  31. data/lib/stupidedi/builder/constraint_table.rb +418 -0
  32. data/lib/stupidedi/builder/generation.rb +112 -0
  33. data/lib/stupidedi/builder/instruction.rb +102 -0
  34. data/lib/stupidedi/builder/instruction_table.rb +204 -0
  35. data/lib/stupidedi/builder/navigation.rb +655 -0
  36. data/lib/stupidedi/builder/state_machine.rb +55 -0
  37. data/lib/stupidedi/builder/states/abstract_state.rb +332 -0
  38. data/lib/stupidedi/builder/states/failure_state.rb +69 -0
  39. data/lib/stupidedi/builder/states/functional_group_state.rb +97 -0
  40. data/lib/stupidedi/builder/states/initial_state.rb +63 -0
  41. data/lib/stupidedi/builder/states/interchange_state.rb +94 -0
  42. data/lib/stupidedi/builder/states/loop_state.rb +79 -0
  43. data/lib/stupidedi/builder/states/table_state.rb +96 -0
  44. data/lib/stupidedi/builder/states/transaction_set_state.rb +112 -0
  45. data/lib/stupidedi/builder/states/transmission_state.rb +59 -0
  46. data/lib/stupidedi/builder/tokenization.rb +196 -0
  47. data/lib/stupidedi/builder.rb +23 -0
  48. data/lib/stupidedi/color.rb +93 -0
  49. data/lib/stupidedi/config/code_list_config.rb +42 -0
  50. data/lib/stupidedi/config/editor_config.rb +51 -0
  51. data/lib/stupidedi/config/functional_group_config.rb +62 -0
  52. data/lib/stupidedi/config/interchange_config.rb +79 -0
  53. data/lib/stupidedi/config/transaction_set_config.rb +91 -0
  54. data/lib/stupidedi/config.rb +101 -0
  55. data/lib/stupidedi/editor/00501.rb +341 -0
  56. data/lib/stupidedi/editor/005010/N2.rb +0 -0
  57. data/lib/stupidedi/editor/005010/N3.rb +0 -0
  58. data/lib/stupidedi/editor/005010/N4.rb +63 -0
  59. data/lib/stupidedi/editor/005010/NM1.rb +0 -0
  60. data/lib/stupidedi/editor/005010.rb +469 -0
  61. data/lib/stupidedi/editor/X222-HC837.rb +195 -0
  62. data/lib/stupidedi/editor/abstract_ed.rb +36 -0
  63. data/lib/stupidedi/editor/claim_ack.rb +9 -0
  64. data/lib/stupidedi/editor/implementation_ack.rb +213 -0
  65. data/lib/stupidedi/editor/interchange_ack.rb +9 -0
  66. data/lib/stupidedi/editor/result.rb +100 -0
  67. data/lib/stupidedi/editor/result_set.rb +69 -0
  68. data/lib/stupidedi/editor/transaction_set_ed.rb +275 -0
  69. data/lib/stupidedi/editor/transmission_ed.rb +90 -0
  70. data/lib/stupidedi/editor.rb +37 -0
  71. data/lib/stupidedi/either.rb +287 -0
  72. data/lib/stupidedi/exceptions/invalid_element_error.rb +8 -0
  73. data/lib/stupidedi/exceptions/invalid_schema_error.rb +8 -0
  74. data/lib/stupidedi/exceptions/output_error.rb +8 -0
  75. data/lib/stupidedi/exceptions/parse_error.rb +8 -0
  76. data/lib/stupidedi/exceptions/stupidedi_error.rb +8 -0
  77. data/lib/stupidedi/exceptions/tokenize_error.rb +8 -0
  78. data/lib/stupidedi/exceptions/zipper_error.rb +8 -0
  79. data/lib/stupidedi/exceptions.rb +11 -0
  80. data/lib/stupidedi/guides/005010/X214-HN277.rb +409 -0
  81. data/lib/stupidedi/guides/005010/X221-HP835.rb +613 -0
  82. data/lib/stupidedi/guides/005010/X221A1-HP835.rb +613 -0
  83. data/lib/stupidedi/guides/005010/X222-HC837P.rb +2291 -0
  84. data/lib/stupidedi/guides/005010/X222A1-HC837P.rb +2297 -0
  85. data/lib/stupidedi/guides/005010/X231-FA999.rb +123 -0
  86. data/lib/stupidedi/guides/005010/X231A1-FA999.rb +119 -0
  87. data/lib/stupidedi/guides/005010/element_reqs.rb +38 -0
  88. data/lib/stupidedi/guides/005010/guide_builder.rb +180 -0
  89. data/lib/stupidedi/guides/005010/segment_reqs.rb +32 -0
  90. data/lib/stupidedi/guides/005010.rb +64 -0
  91. data/lib/stupidedi/guides.rb +5 -0
  92. data/lib/stupidedi/inspect.rb +26 -0
  93. data/lib/stupidedi/reader/input/abstract_input.rb +133 -0
  94. data/lib/stupidedi/reader/input/delegated_input.rb +111 -0
  95. data/lib/stupidedi/reader/input/file_input.rb +155 -0
  96. data/lib/stupidedi/reader/input.rb +30 -0
  97. data/lib/stupidedi/reader/position.rb +69 -0
  98. data/lib/stupidedi/reader/result.rb +168 -0
  99. data/lib/stupidedi/reader/segment_dict.rb +175 -0
  100. data/lib/stupidedi/reader/separators.rb +85 -0
  101. data/lib/stupidedi/reader/stream_reader.rb +172 -0
  102. data/lib/stupidedi/reader/token_reader.rb +466 -0
  103. data/lib/stupidedi/reader/tokens/component_element_tok.rb +56 -0
  104. data/lib/stupidedi/reader/tokens/composite_element_tok.rb +64 -0
  105. data/lib/stupidedi/reader/tokens/repeated_element_tok.rb +64 -0
  106. data/lib/stupidedi/reader/tokens/segment_tok.rb +51 -0
  107. data/lib/stupidedi/reader/tokens/simple_element_tok.rb +63 -0
  108. data/lib/stupidedi/reader.rb +121 -0
  109. data/lib/stupidedi/schema/abstract_def.rb +74 -0
  110. data/lib/stupidedi/schema/abstract_use.rb +73 -0
  111. data/lib/stupidedi/schema/code_list.rb +94 -0
  112. data/lib/stupidedi/schema/element_def.rb +173 -0
  113. data/lib/stupidedi/schema/element_req.rb +56 -0
  114. data/lib/stupidedi/schema/element_use.rb +251 -0
  115. data/lib/stupidedi/schema/functional_group_def.rb +114 -0
  116. data/lib/stupidedi/schema/interchange_def.rb +93 -0
  117. data/lib/stupidedi/schema/loop_def.rb +152 -0
  118. data/lib/stupidedi/schema/repeat_count.rb +85 -0
  119. data/lib/stupidedi/schema/segment_def.rb +108 -0
  120. data/lib/stupidedi/schema/segment_req.rb +43 -0
  121. data/lib/stupidedi/schema/segment_use.rb +98 -0
  122. data/lib/stupidedi/schema/syntax_note.rb +63 -0
  123. data/lib/stupidedi/schema/table_def.rb +139 -0
  124. data/lib/stupidedi/schema/transaction_set_def.rb +88 -0
  125. data/lib/stupidedi/schema.rb +28 -0
  126. data/lib/stupidedi/sets/absolute_set.rb +297 -0
  127. data/lib/stupidedi/sets/abstract_set.rb +174 -0
  128. data/lib/stupidedi/sets/null_set.rb +125 -0
  129. data/lib/stupidedi/sets/relative_complement.rb +137 -0
  130. data/lib/stupidedi/sets/relative_set.rb +269 -0
  131. data/lib/stupidedi/sets/universal_set.rb +104 -0
  132. data/lib/stupidedi/sets.rb +57 -0
  133. data/lib/stupidedi/tail_call.rb +109 -0
  134. data/lib/stupidedi/thread_local.rb +174 -0
  135. data/lib/stupidedi/values/abstract_element_val.rb +19 -0
  136. data/lib/stupidedi/values/abstract_val.rb +130 -0
  137. data/lib/stupidedi/values/composite_element_val.rb +95 -0
  138. data/lib/stupidedi/values/functional_group_val.rb +102 -0
  139. data/lib/stupidedi/values/interchange_val.rb +86 -0
  140. data/lib/stupidedi/values/invalid_envelope_val.rb +61 -0
  141. data/lib/stupidedi/values/invalid_segment_val.rb +78 -0
  142. data/lib/stupidedi/values/loop_val.rb +70 -0
  143. data/lib/stupidedi/values/repeated_element_val.rb +105 -0
  144. data/lib/stupidedi/values/segment_val.rb +104 -0
  145. data/lib/stupidedi/values/segment_val_group.rb +20 -0
  146. data/lib/stupidedi/values/simple_element_val.rb +80 -0
  147. data/lib/stupidedi/values/table_val.rb +66 -0
  148. data/lib/stupidedi/values/transaction_set_val.rb +66 -0
  149. data/lib/stupidedi/values/transmission_val.rb +52 -0
  150. data/lib/stupidedi/values.rb +21 -0
  151. data/lib/stupidedi/version.rb +3 -0
  152. data/lib/stupidedi/versions/functional_groups/004010/element_defs.rb +54 -0
  153. data/lib/stupidedi/versions/functional_groups/004010/element_reqs.rb +18 -0
  154. data/lib/stupidedi/versions/functional_groups/004010/element_types/date_val.rb +527 -0
  155. data/lib/stupidedi/versions/functional_groups/004010/element_types/fixnum_val.rb +335 -0
  156. data/lib/stupidedi/versions/functional_groups/004010/element_types/float_val.rb +299 -0
  157. data/lib/stupidedi/versions/functional_groups/004010/element_types/identifier_val.rb +287 -0
  158. data/lib/stupidedi/versions/functional_groups/004010/element_types/string_val.rb +338 -0
  159. data/lib/stupidedi/versions/functional_groups/004010/element_types/time_val.rb +309 -0
  160. data/lib/stupidedi/versions/functional_groups/004010/element_types.rb +124 -0
  161. data/lib/stupidedi/versions/functional_groups/004010/functional_group_def.rb +30 -0
  162. data/lib/stupidedi/versions/functional_groups/004010/segment_defs/GE.rb +20 -0
  163. data/lib/stupidedi/versions/functional_groups/004010/segment_defs/GS.rb +27 -0
  164. data/lib/stupidedi/versions/functional_groups/004010/segment_defs/SE.rb +20 -0
  165. data/lib/stupidedi/versions/functional_groups/004010/segment_defs/ST.rb +20 -0
  166. data/lib/stupidedi/versions/functional_groups/004010/segment_defs.rb +23 -0
  167. data/lib/stupidedi/versions/functional_groups/004010/segment_reqs.rb +18 -0
  168. data/lib/stupidedi/versions/functional_groups/004010/syntax_notes.rb +174 -0
  169. data/lib/stupidedi/versions/functional_groups/004010.rb +38 -0
  170. data/lib/stupidedi/versions/functional_groups/005010/element_defs.rb +1405 -0
  171. data/lib/stupidedi/versions/functional_groups/005010/element_reqs.rb +18 -0
  172. data/lib/stupidedi/versions/functional_groups/005010/element_types/date_val.rb +577 -0
  173. data/lib/stupidedi/versions/functional_groups/005010/element_types/fixnum_val.rb +322 -0
  174. data/lib/stupidedi/versions/functional_groups/005010/element_types/float_val.rb +354 -0
  175. data/lib/stupidedi/versions/functional_groups/005010/element_types/identifier_val.rb +368 -0
  176. data/lib/stupidedi/versions/functional_groups/005010/element_types/operators.rb +117 -0
  177. data/lib/stupidedi/versions/functional_groups/005010/element_types/string_val.rb +398 -0
  178. data/lib/stupidedi/versions/functional_groups/005010/element_types/time_val.rb +327 -0
  179. data/lib/stupidedi/versions/functional_groups/005010/element_types.rb +132 -0
  180. data/lib/stupidedi/versions/functional_groups/005010/functional_group_def.rb +30 -0
  181. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/AK1.rb +21 -0
  182. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/AK2.rb +21 -0
  183. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/AK9.rb +28 -0
  184. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/AMT.rb +21 -0
  185. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/BHT.rb +24 -0
  186. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/BPR.rb +49 -0
  187. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CAS.rb +56 -0
  188. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CL1.rb +22 -0
  189. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CLM.rb +41 -0
  190. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CLP.rb +34 -0
  191. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CN1.rb +24 -0
  192. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CR1.rb +32 -0
  193. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CR2.rb +35 -0
  194. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CR3.rb +25 -0
  195. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CRC.rb +26 -0
  196. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CTP.rb +36 -0
  197. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CTX.rb +24 -0
  198. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CUR.rb +57 -0
  199. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/DMG.rb +34 -0
  200. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/DN1.rb +22 -0
  201. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/DN2.rb +24 -0
  202. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/DTM.rb +24 -0
  203. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/DTP.rb +21 -0
  204. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/FRM.rb +25 -0
  205. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/GE.rb +20 -0
  206. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/GS.rb +27 -0
  207. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/HCP.rb +39 -0
  208. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/HI.rb +31 -0
  209. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/HL.rb +22 -0
  210. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/IK3.rb +22 -0
  211. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/IK4.rb +22 -0
  212. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/IK5.rb +24 -0
  213. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/K3.rb +21 -0
  214. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/LIN.rb +69 -0
  215. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/LQ.rb +22 -0
  216. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/LX.rb +19 -0
  217. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/MEA.rb +39 -0
  218. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/MIA.rb +45 -0
  219. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/MOA.rb +28 -0
  220. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/N1.rb +24 -0
  221. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/N2.rb +20 -0
  222. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/N3.rb +20 -0
  223. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/N4.rb +30 -0
  224. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/NM1.rb +35 -0
  225. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/NTE.rb +20 -0
  226. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/OI.rb +24 -0
  227. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/PAT.rb +31 -0
  228. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/PER.rb +32 -0
  229. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/PLB.rb +40 -0
  230. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/PRV.rb +26 -0
  231. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/PS1.rb +21 -0
  232. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/PWK.rb +30 -0
  233. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/QTY.rb +25 -0
  234. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/RDM.rb +23 -0
  235. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/REF.rb +23 -0
  236. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SBR.rb +28 -0
  237. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SE.rb +20 -0
  238. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/ST.rb +21 -0
  239. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/STC.rb +30 -0
  240. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SV1.rb +44 -0
  241. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SV2.rb +29 -0
  242. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SV3.rb +30 -0
  243. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SV5.rb +29 -0
  244. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SVC.rb +26 -0
  245. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SVD.rb +24 -0
  246. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/TOO.rb +21 -0
  247. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/TRN.rb +22 -0
  248. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/TS2.rb +40 -0
  249. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/TS3.rb +45 -0
  250. data/lib/stupidedi/versions/functional_groups/005010/segment_defs.rb +227 -0
  251. data/lib/stupidedi/versions/functional_groups/005010/segment_reqs.rb +18 -0
  252. data/lib/stupidedi/versions/functional_groups/005010/syntax_notes.rb +165 -0
  253. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/FA999.rb +38 -0
  254. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HB271.rb +85 -0
  255. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HC837.rb +163 -0
  256. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HI278.rb +64 -0
  257. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HN277.rb +74 -0
  258. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HP835.rb +68 -0
  259. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HR276.rb +57 -0
  260. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HS270.rb +53 -0
  261. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/RA820.rb +240 -0
  262. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs.rb +68 -0
  263. data/lib/stupidedi/versions/functional_groups/005010.rb +38 -0
  264. data/lib/stupidedi/versions/functional_groups.rb +8 -0
  265. data/lib/stupidedi/versions/interchanges/00401/element_defs.rb +224 -0
  266. data/lib/stupidedi/versions/interchanges/00401/interchange_def.rb +45 -0
  267. data/lib/stupidedi/versions/interchanges/00401/segment_defs/IEA.rb +20 -0
  268. data/lib/stupidedi/versions/interchanges/00401/segment_defs/ISA.rb +34 -0
  269. data/lib/stupidedi/versions/interchanges/00401/segment_defs/TA1.rb +23 -0
  270. data/lib/stupidedi/versions/interchanges/00401/segment_defs.rb +28 -0
  271. data/lib/stupidedi/versions/interchanges/00401.rb +23 -0
  272. data/lib/stupidedi/versions/interchanges/00501/element_defs.rb +269 -0
  273. data/lib/stupidedi/versions/interchanges/00501/interchange_def.rb +47 -0
  274. data/lib/stupidedi/versions/interchanges/00501/segment_defs/IEA.rb +20 -0
  275. data/lib/stupidedi/versions/interchanges/00501/segment_defs/ISA.rb +34 -0
  276. data/lib/stupidedi/versions/interchanges/00501/segment_defs/ISB.rb +18 -0
  277. data/lib/stupidedi/versions/interchanges/00501/segment_defs/ISE.rb +18 -0
  278. data/lib/stupidedi/versions/interchanges/00501/segment_defs/TA1.rb +23 -0
  279. data/lib/stupidedi/versions/interchanges/00501/segment_defs/TA3.rb +18 -0
  280. data/lib/stupidedi/versions/interchanges/00501/segment_defs.rb +37 -0
  281. data/lib/stupidedi/versions/interchanges/00501.rb +23 -0
  282. data/lib/stupidedi/versions/interchanges.rb +8 -0
  283. data/lib/stupidedi/versions.rb +6 -0
  284. data/lib/stupidedi/writer/claredi.rb +142 -0
  285. data/lib/stupidedi/writer/default.rb +124 -0
  286. data/lib/stupidedi/writer.rb +6 -0
  287. data/lib/stupidedi/zipper/abstract_cursor.rb +351 -0
  288. data/lib/stupidedi/zipper/dangling_cursor.rb +103 -0
  289. data/lib/stupidedi/zipper/edited_cursor.rb +157 -0
  290. data/lib/stupidedi/zipper/memoized_cursor.rb +131 -0
  291. data/lib/stupidedi/zipper/path.rb +124 -0
  292. data/lib/stupidedi/zipper/root_cursor.rb +120 -0
  293. data/lib/stupidedi/zipper.rb +25 -0
  294. data/lib/stupidedi.rb +66 -0
  295. data/spec/examples/integration/generating.example +551 -0
  296. data/spec/examples/integration/navigating.example +214 -0
  297. data/spec/examples/integration/parsing.example +445 -0
  298. data/spec/examples/ruby/array.example +476 -0
  299. data/spec/examples/ruby/blank.example +62 -0
  300. data/spec/examples/ruby/count.example +68 -0
  301. data/spec/examples/ruby/object.example +99 -0
  302. data/spec/examples/ruby/string.example +111 -0
  303. data/spec/examples/ruby/symbol.example +117 -0
  304. data/spec/examples/ruby/to_d.example +90 -0
  305. data/spec/examples/ruby/try.example +50 -0
  306. data/spec/examples/stupidedi/either.example +375 -0
  307. data/spec/examples/stupidedi/reader/failure.example +68 -0
  308. data/spec/examples/stupidedi/reader/input/delegated_input.example +292 -0
  309. data/spec/examples/stupidedi/reader/separators.example +73 -0
  310. data/spec/examples/stupidedi/reader/stream_reader.example +48 -0
  311. data/spec/examples/stupidedi/reader/success.example +34 -0
  312. data/spec/examples/stupidedi/reader/token_reader.example +775 -0
  313. data/spec/examples/stupidedi/reader.example +168 -0
  314. data/spec/examples/stupidedi/sets/absolute_set.example +1577 -0
  315. data/spec/examples/stupidedi/sets/null_set.example +2 -0
  316. data/spec/examples/stupidedi/sets/relative_set.example +2 -0
  317. data/spec/examples/stupidedi/sets/universal_set.example +1 -0
  318. data/spec/examples/stupidedi/versions/005010/element_types/an.example +201 -0
  319. data/spec/examples/stupidedi/versions/005010/element_types/dt.example +258 -0
  320. data/spec/examples/stupidedi/versions/005010/element_types/id.example +192 -0
  321. data/spec/examples/stupidedi/versions/005010/element_types/nn.example +177 -0
  322. data/spec/examples/stupidedi/versions/005010/element_types/r.example +178 -0
  323. data/spec/examples/stupidedi/versions/005010/element_types/tm.example +2 -0
  324. data/spec/examples/stupidedi/zipper/abstract_cursor.example +417 -0
  325. data/spec/examples/stupidedi/zipper.example +9 -0
  326. data/spec/fixtures/X186-AG824/1-bad.txt +21 -0
  327. data/spec/fixtures/X186-AG824/1-good.txt +17 -0
  328. data/spec/fixtures/X186-AG824/2-bad.txt +26 -0
  329. data/spec/fixtures/X186-AG824/2-good.txt +21 -0
  330. data/spec/fixtures/X186-AG824/3-bad.txt +87 -0
  331. data/spec/fixtures/X186-AG824/3-good.txt +61 -0
  332. data/spec/fixtures/X212-HN277/1-bad.txt +54 -0
  333. data/spec/fixtures/X212-HN277/1-good.txt +46 -0
  334. data/spec/fixtures/X212-HN277/2-bad.txt +37 -0
  335. data/spec/fixtures/X212-HN277/2-good.txt +29 -0
  336. data/spec/fixtures/X212-HN277/3-bad.txt +22 -0
  337. data/spec/fixtures/X212-HN277/3-good.txt +17 -0
  338. data/spec/fixtures/X212-HN277/4-bad.txt +30 -0
  339. data/spec/fixtures/X212-HN277/4-good.txt +24 -0
  340. data/spec/fixtures/X212-HR276/1-bad.txt +53 -0
  341. data/spec/fixtures/X212-HR276/1-good.txt +46 -0
  342. data/spec/fixtures/X212-HR276/2-bad.txt +45 -0
  343. data/spec/fixtures/X212-HR276/2-good.txt +38 -0
  344. data/spec/fixtures/X212-HR276/3-bad.txt +32 -0
  345. data/spec/fixtures/X212-HR276/3-good.txt +26 -0
  346. data/spec/fixtures/X212-HR276/4-bad.txt +32 -0
  347. data/spec/fixtures/X212-HR276/4-good.txt +26 -0
  348. data/spec/fixtures/X214-HN277/1-bad.txt +58 -0
  349. data/spec/fixtures/X214-HN277/1-good.txt +47 -0
  350. data/spec/fixtures/X214-HN277/2-bad.txt +34 -0
  351. data/spec/fixtures/X214-HN277/2-good.txt +22 -0
  352. data/spec/fixtures/X214-HN277/3-bad.txt +64 -0
  353. data/spec/fixtures/X214-HN277/3-good.txt +54 -0
  354. data/spec/fixtures/X214-HN277/4-bad.txt +77 -0
  355. data/spec/fixtures/X214-HN277/4-good.txt +63 -0
  356. data/spec/fixtures/X216-HI278/1-bad.txt +42 -0
  357. data/spec/fixtures/X216-HI278/1-good.txt +27 -0
  358. data/spec/fixtures/X216-HI278/2-bad.txt +43 -0
  359. data/spec/fixtures/X216-HI278/2-good.txt +29 -0
  360. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-1.txt +24 -0
  361. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-1_Clean.txt +20 -0
  362. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-2.txt +46 -0
  363. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-2_Clean.txt +30 -0
  364. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-3.txt +38 -0
  365. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-3_Clean.txt +24 -0
  366. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-4a.txt +39 -0
  367. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-4a_Clean.txt +24 -0
  368. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-4b.txt +43 -0
  369. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-4b_Clean.txt +25 -0
  370. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-5.txt +63 -0
  371. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-5_Clean.txt +41 -0
  372. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-6.txt +36 -0
  373. data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-6_Clean.txt +20 -0
  374. data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-1r.txt +34 -0
  375. data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-1r_Clean.txt +23 -0
  376. data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-2r.txt +46 -0
  377. data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-2r_Clean.txt +31 -0
  378. data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-3r.txt +44 -0
  379. data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-3r_Clean.txt +26 -0
  380. data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-4ar_Clean.txt +28 -0
  381. data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-4br_Clean.txt +35 -0
  382. data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-5r.txt +60 -0
  383. data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-5r_Clean.txt +42 -0
  384. data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-6r.txt +40 -0
  385. data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-6r_Clean.txt +24 -0
  386. data/spec/fixtures/X218-RA820/1-bad.txt +31 -0
  387. data/spec/fixtures/X218-RA820/1-good.txt +25 -0
  388. data/spec/fixtures/X218-RA820/2-bad.txt +37 -0
  389. data/spec/fixtures/X218-RA820/2-good.txt +29 -0
  390. data/spec/fixtures/X218-RA820/3-bad.txt +29 -0
  391. data/spec/fixtures/X218-RA820/3-good.txt +23 -0
  392. data/spec/fixtures/X218-RA820/4-bad.txt +36 -0
  393. data/spec/fixtures/X218-RA820/4-good.txt +27 -0
  394. data/spec/fixtures/X220-BE834/1-bad.txt +35 -0
  395. data/spec/fixtures/X220-BE834/1-good.txt +29 -0
  396. data/spec/fixtures/X220-BE834/10-bad.txt +26 -0
  397. data/spec/fixtures/X220-BE834/10-good.txt +19 -0
  398. data/spec/fixtures/X220-BE834/2-bad.txt +31 -0
  399. data/spec/fixtures/X220-BE834/2-good.txt +23 -0
  400. data/spec/fixtures/X220-BE834/3-bad.txt +36 -0
  401. data/spec/fixtures/X220-BE834/3-good.txt +26 -0
  402. data/spec/fixtures/X220-BE834/4-bad.txt +27 -0
  403. data/spec/fixtures/X220-BE834/4-good.txt +21 -0
  404. data/spec/fixtures/X220-BE834/5-bad.txt +26 -0
  405. data/spec/fixtures/X220-BE834/5-good.txt +17 -0
  406. data/spec/fixtures/X220-BE834/6-bad.txt +25 -0
  407. data/spec/fixtures/X220-BE834/6-good.txt +20 -0
  408. data/spec/fixtures/X220-BE834/7-bad.txt +25 -0
  409. data/spec/fixtures/X220-BE834/7-good.txt +20 -0
  410. data/spec/fixtures/X220-BE834/8-bad.txt +25 -0
  411. data/spec/fixtures/X220-BE834/8-good.txt +20 -0
  412. data/spec/fixtures/X220-BE834/9-bad.txt +27 -0
  413. data/spec/fixtures/X220-BE834/9-good.txt +21 -0
  414. data/spec/fixtures/X221-HP835/1-bad.txt +58 -0
  415. data/spec/fixtures/X221-HP835/1-good.txt +40 -0
  416. data/spec/fixtures/X221-HP835/2-bad.txt +51 -0
  417. data/spec/fixtures/X221-HP835/2-good.txt +40 -0
  418. data/spec/fixtures/X221-HP835/3a-bad.txt +78 -0
  419. data/spec/fixtures/X221-HP835/3a-good.txt +49 -0
  420. data/spec/fixtures/X221-HP835/3b-bad.txt +60 -0
  421. data/spec/fixtures/X221-HP835/3b-good.txt +32 -0
  422. data/spec/fixtures/X221-HP835/3c-bad.txt +55 -0
  423. data/spec/fixtures/X221-HP835/3c-good.txt +34 -0
  424. data/spec/fixtures/X222-HC837/1-bad.txt +60 -0
  425. data/spec/fixtures/X222-HC837/1-good.txt +53 -0
  426. data/spec/fixtures/X222-HC837/10a-bad.txt +52 -0
  427. data/spec/fixtures/X222-HC837/10a-good.txt +40 -0
  428. data/spec/fixtures/X222-HC837/10b-bad.txt +99 -0
  429. data/spec/fixtures/X222-HC837/10b-good.txt +80 -0
  430. data/spec/fixtures/X222-HC837/10c-bad.txt +105 -0
  431. data/spec/fixtures/X222-HC837/10c-good.txt +80 -0
  432. data/spec/fixtures/X222-HC837/11-bad.txt +69 -0
  433. data/spec/fixtures/X222-HC837/11-good.txt +45 -0
  434. data/spec/fixtures/X222-HC837/12-bad.txt +73 -0
  435. data/spec/fixtures/X222-HC837/12-good.txt +51 -0
  436. data/spec/fixtures/X222-HC837/13-bad.txt +64 -0
  437. data/spec/fixtures/X222-HC837/13-good.txt +46 -0
  438. data/spec/fixtures/X222-HC837/3a-bad.txt +83 -0
  439. data/spec/fixtures/X222-HC837/3a-good.txt +59 -0
  440. data/spec/fixtures/X222-HC837/3b-bad.txt +97 -0
  441. data/spec/fixtures/X222-HC837/3b-good.txt +70 -0
  442. data/spec/fixtures/X222-HC837/3c-bad.txt +95 -0
  443. data/spec/fixtures/X222-HC837/3c-good.txt +74 -0
  444. data/spec/fixtures/X222-HC837/4-bad.txt +67 -0
  445. data/spec/fixtures/X222-HC837/4-good.txt +48 -0
  446. data/spec/fixtures/X222-HC837/5-bad.txt +73 -0
  447. data/spec/fixtures/X222-HC837/5-good.txt +60 -0
  448. data/spec/fixtures/X222-HC837/6-bad.txt +50 -0
  449. data/spec/fixtures/X222-HC837/6-good.txt +39 -0
  450. data/spec/fixtures/X222-HC837/7-bad.txt +93 -0
  451. data/spec/fixtures/X222-HC837/7-good.txt +78 -0
  452. data/spec/fixtures/X222-HC837/8-bad.txt +64 -0
  453. data/spec/fixtures/X222-HC837/8-good.txt +52 -0
  454. data/spec/fixtures/X222-HC837/9-bad.txt +56 -0
  455. data/spec/fixtures/X222-HC837/9-good.txt +38 -0
  456. data/spec/fixtures/X223-HC837/1-bad.txt +66 -0
  457. data/spec/fixtures/X223-HC837/1-good.txt +53 -0
  458. data/spec/fixtures/X223-HC837/2-bad.txt +69 -0
  459. data/spec/fixtures/X223-HC837/2-good.txt +60 -0
  460. data/spec/fixtures/X223-HC837/3-bad.txt +89 -0
  461. data/spec/fixtures/X223-HC837/3-good.txt +61 -0
  462. data/spec/fixtures/X223-HC837/4-bad.txt +60 -0
  463. data/spec/fixtures/X223-HC837/4-good.txt +40 -0
  464. data/spec/fixtures/X223-HC837/5-bad.txt +75 -0
  465. data/spec/fixtures/X223-HC837/5-good.txt +58 -0
  466. data/spec/fixtures/X224-HC837/1-bad.txt +54 -0
  467. data/spec/fixtures/X224-HC837/1-good.txt +44 -0
  468. data/spec/fixtures/X224-HC837/2a-bad.txt +52 -0
  469. data/spec/fixtures/X224-HC837/2a-good.txt +42 -0
  470. data/spec/fixtures/X224-HC837/2b-bad.txt +67 -0
  471. data/spec/fixtures/X224-HC837/2b-good.txt +52 -0
  472. data/spec/fixtures/X224-HC837/3-bad.txt +67 -0
  473. data/spec/fixtures/X224-HC837/3-good.txt +51 -0
  474. data/spec/fixtures/X224-HC837/4-bad.txt +49 -0
  475. data/spec/fixtures/X224-HC837/4-good.txt +40 -0
  476. data/spec/fixtures/X230-FA997/1-bad.txt +19 -0
  477. data/spec/fixtures/X230-FA997/1-good.txt +16 -0
  478. data/spec/fixtures/X231-FA999/1-bad.txt +20 -0
  479. data/spec/fixtures/X231-FA999/1-good.txt +20 -0
  480. data/spec/fixtures/X279-HB271/1-bad.txt +36 -0
  481. data/spec/fixtures/X279-HB271/1-good.txt +30 -0
  482. data/spec/fixtures/X279-HB271/2-bad.txt +22 -0
  483. data/spec/fixtures/X279-HB271/2-good.txt +16 -0
  484. data/spec/fixtures/X279-HB271/3-bad.txt +44 -0
  485. data/spec/fixtures/X279-HB271/3-good.txt +36 -0
  486. data/spec/fixtures/X279-HS270/1-bad.txt +29 -0
  487. data/spec/fixtures/X279-HS270/1-good.txt +23 -0
  488. data/spec/fixtures/X279-HS270/2-bad.txt +32 -0
  489. data/spec/fixtures/X279-HS270/2-good.txt +25 -0
  490. data/spec/spec_helper.rb +34 -0
  491. data/spec/support/fixtures.rb +26 -0
  492. data/spec/support/matchers/either_matchers.rb +26 -0
  493. data/spec/support/matchers/navigation_matchers.rb +247 -0
  494. data/spec/support/node.rb +41 -0
  495. data/spec/support/quickcheck/characters.rb +28 -0
  496. data/spec/support/quickcheck/property.rb +105 -0
  497. data/spec/support/quickcheck/serialized_edi.rb +399 -0
  498. data/spec/support/quickcheck.rb +302 -0
  499. data/spec/support/rcov.rb +34 -0
  500. metadata +577 -0
@@ -0,0 +1,69 @@
1
+ Example 11 - PPO Repriced Claim
2
+
3
+ Repriced claim being transmitted from a regional PPO to a commercial health insurance company. The patient is the subscriber. In this situation, the provider has sent the claim to a clearinghouse, which then forwarded the claim to the repricer. The claim has been repriced and is forwarded to the appropriate payer for payment.
4
+
5
+ Errors Found in File 837P 5010X222-11
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HC'
8
+ * H11204:Code Value 'XX' not used for element 'GS01'
9
+ * H24402:The value '1234567890' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
10
+ * H20205:Incomplete loop (2010BB). Missing HIPAA-required N4 (Payer City, State, ZIP Code).
11
+ * H20205:Incomplete loop (2300). Missing HIPAA-required HI (Health Care Diagnosis Code).
12
+ * H10602:Assuming Sub-Element Delimiter is > rather than : in CLM05
13
+ * W22004:Your data contains character(s) from the extended character set which may only be used by agreement between communicating parties.
14
+ * W24411:The Claim Pricing/Repricing Information is to be completed by repricers only.
15
+ * H10602:Assuming Sub-Element Delimiter is > rather than : in HI01
16
+ * H20204:Code Value 'BK' at element 'HI0101' is valid in the X12 standard, but not in this HIPAA implementation
17
+ * H10602:Assuming Sub-Element Delimiter is > rather than : in HI02
18
+ * H20204:Code Value 'BF' at element 'HI0201' is valid in the X12 standard, but not in this HIPAA implementation
19
+ * W24411:The Claim Pricing/Repricing Information is to be completed by repricers only.
20
+ * W40362:The 'Referring Provider Name' without 'Prior Authorization or Referral Number' is allowed, but should notbe used unless necessary.
21
+ * H20617:The value '9988776655' does not match the format for a "HIPAA National Provider ID (NPI)"
22
+ * B40146:'Durable Medical Equipment Service' (SV5) is generally required for the procedure described in SV1-01.
23
+ * H10602:Assuming Sub-Element Delimiter is > rather than : in SV101
24
+ * H10602:Assuming Sub-Element Delimiter is > rather than : in SV107
25
+ * W24411:The Claim Pricing/Repricing Information is to be completed by repricers only.
26
+ * H10602:Assuming Sub-Element Delimiter is > rather than : in SV101
27
+ * W24411:The Claim Pricing/Repricing Information is to be completed by repricers only.
28
+
29
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
30
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
31
+ ST*837*1002*005010X222~
32
+ BHT*0019*00*1002*20050620*09460000*CH~
33
+ NM1*41*2*REGIONAL PPO NETWORK*****46*123456789~
34
+ PER*IC*SUBMITTER CONTACT INFO*TE*8001231234~
35
+ NM1*40*2*EXTRA HEALTHY INSURANCE*****46*112244~
36
+ HL*1**20*1~
37
+ NM1*85*2*HAPPY DOCTORS GROUP PRACTICE*****XX*1234567890~
38
+ N3*P O BOX 123~
39
+ N4*FORT WAYNE*IN*462540000~
40
+ REF*EI*555512345~
41
+ PER*IC*SUE BILLINGSWORTH*TE*8881231234~
42
+ HL*2*1*22*0~
43
+ SBR*P*18*123XYZ******CI~
44
+ NM1*IL*1*RING*DIAMOND*D***MI*00124A089~
45
+ N3*123 EXAMPLE DRIVE~
46
+ N4*INDIANAPOLIS*IN*462290000~
47
+ DMG*D8*19401229*F~
48
+ NM1*PR*2*EXTRA HEALTHY INSURANCE*****PI*12345~
49
+ CLM*ABC123-RI*28.75***11>B>1*Y*A*Y*Y*P~
50
+ REF*9A*0902352342~
51
+ REF*D9*061505501749388~
52
+ HI*BK>496*BF>25000~
53
+ HCP*03*26.75*2*908231234~
54
+ NM1*DN*1*DOE*JOHN****XX*9988776655~
55
+ NM1*82*1*ANTHONY*SUSAN*B***XX*1122334455~
56
+ NM1*77*2*HAPPY DOCTORS GROUP~
57
+ N3*123 FEEL GOOD ROAD~
58
+ N4*WASHINGTON*IN*475010000~
59
+ LX*1~
60
+ SV1*HC>E0570>RR*25*UN*1***1>2~
61
+ DTP*472*D8*20050514~
62
+ HCP*03*23.75*1.25*908231234~
63
+ LX*2~
64
+ SV1*HC>A7003>NU*3.75*UN*1***1~
65
+ DTP*472*D8*20050514~
66
+ HCP*03*3*.75*908231234~
67
+ SE*37*1002~
68
+ GE*1*1~
69
+ IEA*1*000000905~
@@ -0,0 +1,45 @@
1
+ Example 11 - PPO Repriced Claim
2
+
3
+ Repriced claim being transmitted from a regional PPO to a commercial health insurance company. The patient is the subscriber. In this situation, the provider has sent the claim to a clearinghouse, which then forwarded the claim to the repricer. The claim has been repriced and is forwarded to the appropriate payer for payment.
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
6
+ GS*HC*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
7
+ ST*837*1002*005010X222~
8
+ BHT*0019*00*1002*20050620*09460000*CH~
9
+ NM1*41*2*REGIONAL PPO NETWORK*****46*123456789~
10
+ PER*IC*SUBMITTER CONTACT INFO*TE*8001231234~
11
+ NM1*40*2*EXTRA HEALTHY INSURANCE*****46*112244~
12
+ HL*1**20*1~
13
+ NM1*85*2*HAPPY DOCTORS GROUP PRACTICE*****XX*1232343560~
14
+ N3*P O BOX 123~
15
+ N4*FORT WAYNE*IN*462540000~
16
+ REF*EI*555512345~
17
+ PER*IC*SUE BILLINGSWORTH*TE*8881231234~
18
+ HL*2*1*22*0~
19
+ SBR*P*18*123XYZ******CI~
20
+ NM1*IL*1*RING*DIAMOND*D***MI*00124A089~
21
+ N3*123 EXAMPLE DRIVE~
22
+ N4*INDIANAPOLIS*IN*462290000~
23
+ DMG*D8*19401229*F~
24
+ NM1*PR*2*EXTRA HEALTHY INSURANCE*****PI*12345~
25
+ N4*BOSTON*MA*02108~
26
+ CLM*ABC123-RI*28.75***11:B:1*Y*A*Y*Y*P~
27
+ REF*9A*0902352342~
28
+ REF*D9*061505501749388~
29
+ REF*9F*123AA7~
30
+ HI*BK:496*BF:25000~
31
+ HCP*03*26.75*2*908231234~
32
+ NM1*DN*1*DOE*JOHN****XX*1988776658~
33
+ NM1*82*1*ANTHONY*SUSAN*B***XX*1122334455~
34
+ LX*1~
35
+ SV1*HC:E0570:RR*25*UN*1***1:2~
36
+ SV5*HC:E0570*DA*2*85*160*4~
37
+ DTP*472*D8*20050514~
38
+ HCP*03*23.75*1.25*908231234~
39
+ LX*2~
40
+ SV1*HC:A7003:NU*3.75*UN*1***1~
41
+ DTP*472*D8*20050514~
42
+ HCP*03*3*.75*908231234~
43
+ SE*37*1002~
44
+ GE*1*1~
45
+ IEA*1*000000905~
@@ -0,0 +1,73 @@
1
+ Example 12 - Out of Network Repriced Claim
2
+
3
+ The patient is a not the subscriber. The provider has sent the claim to a clearinghouse, which then forwarded the claim to the repricer; the claim has been determined to be out of network and is now being forwarded to the appropriate payer for payment.
4
+
5
+ Errors Found in File 5010X222-12
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HC'
8
+ * H11204:Code Value 'XX' not used for element 'GS01'
9
+ * B51124:This Zip Code is not valid for this State.
10
+ * H50010:Invalid ZIP Code ('919910000'), not in USPS tables.
11
+ * B51124:This Zip Code is not valid for this State.
12
+ * H50010:Invalid ZIP Code ('919910000'), not in USPS tables.
13
+ * H20205:Incomplete loop (2010BB). Missing HIPAA-required N4 (Payer City, State, ZIP Code).
14
+ * B51124:This Zip Code is not valid for this State.
15
+ * H50010:Invalid ZIP Code ('919910000'), not in USPS tables.
16
+ * H20205:Incomplete loop (2300). Missing HIPAA-required HI (Health Care Diagnosis Code).
17
+ * H10602:Assuming Sub-Element Delimiter is > rather than : in CLM05
18
+ * W22004:Your data contains character(s) from the extended character set which may only be used by agreement between communicating parties.
19
+ * W24411:The Claim Pricing/Repricing Information is to be completed by repricers only.
20
+ * H10602:Assuming Sub-Element Delimiter is > rather than : in HI01
21
+ * H20204:Code Value 'BK' at element 'HI0101' is valid in the X12 standard, but not in this HIPAA implementation
22
+ * W24411:The Claim Pricing/Repricing Information is to be completed by repricers only.
23
+ * H24402:The value '1112223336' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
24
+ * H10023:Unexpected segment (DMG)
25
+ * B51124:This Zip Code is not valid for this State.
26
+ * H50010:Invalid ZIP Code ('919910000'), not in USPS tables.
27
+ * H20205:Incomplete loop (2330B). Missing HIPAA-required N4 (Other Payer City, State, ZIP Code).
28
+ * H10602:Assuming Sub-Element Delimiter is > rather than : in SV101
29
+
30
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
31
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
32
+ ST*837*1024*005010X222~
33
+ BHT*0019*00*1024*20050711*1335*CH~
34
+ NM1*41*2*REGIONAL PPO NETWORK*****46*123456789~
35
+ PER*IC*SUBMITTER CONTACT INFO*TE*8001231234~
36
+ NM1*40*2*CONSERVATIVE INSURANCE*****46*000110002~
37
+ HL*1**20*1~
38
+ NM1*85*2*EMERGENCY PHYSICIANS GROUP*****XX*1122334455~
39
+ N3*7423 SUPER STREET~
40
+ N4*BILLINGS*MO*919910000~
41
+ REF*EI*111002222~
42
+ HL*2*1*22*1~
43
+ SBR*P**232AA******CI~
44
+ NM1*IL*1*SMITH*MATTHEW*R***MI*57976235C~
45
+ N3*5698 SOUTH STREET~
46
+ N4*BILLINGS*MO*919910000~
47
+ DMG*D8*19561015*M~
48
+ NM1*PR*2*CONSERVATIVE INSURANCE*****PI*00123~
49
+ HL*3*2*23*0~
50
+ PAT*19~
51
+ NM1*QC*1*SMITH*TOM*E~
52
+ N3*5698 SOUTH STREET~
53
+ N4*BILLINGS*MO*919910000~
54
+ DMG*D8*19960807*M~
55
+ CLM*TS234H3*252.71***23>B>1*Y*A*Y*Y*P~
56
+ REF*9A*0902345406~
57
+ REF*D9*687534234346~
58
+ HI*BK>9951~
59
+ HCP*00*0**333001234*********T1~
60
+ NM1*82*1*BLUE*JACKIE*D***XX*1112223336~
61
+ SBR*S*18*56567******CI~
62
+ DMG*D8*19960807*M~
63
+ OI***Y***Y~
64
+ NM1*IL*1*SMITH*TOM*E***MI*23424570~
65
+ N3*5698 SOUTH STREET~
66
+ N4*BILLINGS*MO*919910000~
67
+ NM1*PR*2*SECONDARY INSURANCE COMPANY*****PI*95645~
68
+ LX*1~
69
+ SV1*HC>99284*252.71*UN*1***1~
70
+ DTP*472*D8*20050506~
71
+ SE*40*1024~
72
+ GE*1*1~
73
+ IEA*1*000000905~
@@ -0,0 +1,51 @@
1
+ Example 12 - Out of Network Repriced Claim
2
+
3
+ The patient is a not the subscriber. The provider has sent the claim to a clearinghouse, which then forwarded the claim to the repricer; the claim has been determined to be out of network and is now being forwarded to the appropriate payer for payment.
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
6
+ GS*HC*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
7
+ ST*837*1024*005010X222~
8
+ BHT*0019*00*1024*20050711*1335*CH~
9
+ NM1*41*2*REGIONAL PPO NETWORK*****46*123456789~
10
+ PER*IC*SUBMITTER CONTACT INFO*TE*8001231234~
11
+ NM1*40*2*CONSERVATIVE INSURANCE*****46*000110002~
12
+ HL*1**20*1~
13
+ NM1*85*2*EMERGENCY PHYSICIANS GROUP*****XX*1122334455~
14
+ N3*7423 SUPER STREET~
15
+ N4*BILLINGS*MT*591017423~
16
+ REF*EI*111002222~
17
+ HL*2*1*22*1~
18
+ SBR*P**232AA******CI~
19
+ NM1*IL*1*SMITH*MATTHEW*R***MI*57976235C~
20
+ N3*5698 SOUTH STREET~
21
+ N4*BILLINGS*MT*59102~
22
+ DMG*D8*19561015*M~
23
+ NM1*PR*2*CONSERVATIVE INSURANCE*****PI*00123~
24
+ N3*257 OAK STREET~
25
+ N4*BOSTON*MA*02108~
26
+ HL*3*2*23*0~
27
+ PAT*19~
28
+ NM1*QC*1*SMITH*TOM*E~
29
+ N3*5698 SOUTH STREET~
30
+ N4*BILLINGS*MT*59102~
31
+ DMG*D8*19960807*M~
32
+ CLM*TS234H3*252.71***23:B:1*Y*A*Y*Y*P~
33
+ REF*9A*0902345406~
34
+ REF*D9*687534234346~
35
+ HI*BK:9951~
36
+ HCP*00*0**333001234*********T1~
37
+ NM1*82*1*BLUE*JACKIE*D***XX*1232343560~
38
+ SBR*S*18*56567******CI~
39
+ OI***Y***Y~
40
+ NM1*IL*1*SMITH*TOM*E***MI*23424570~
41
+ N3*5698 SOUTH STREET~
42
+ N4*BILLINGS*MT*59101~
43
+ NM1*PR*2*SECONDARY INSURANCE COMPANY*****PI*95645~
44
+ N3*PO BOX 853~
45
+ N4*BOISE*ID*83702~
46
+ LX*1~
47
+ SV1*HC:99284*252.71*UN*1***1~
48
+ DTP*472*D8*20050506~
49
+ SE*43*1024~
50
+ GE*1*1~
51
+ IEA*1*000000905~
@@ -0,0 +1,64 @@
1
+ Property and Casualty: Automobile Accident
2
+
3
+ The patient is not the subscriber.The bill is sent directly from the provider to the payer. � The date of accident/occurrence/onset of symptoms (Date of Loss) is a critical piece of information and is used to determine the eligibility of coverage. Without a date of loss on the bill, the bill will be incomplete and may be rejected. In this case-the property and casualty claim number is known and sent in the patient loop.
4
+
5
+ Errors Found in File 837P 5010X222-13
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HC'
8
+ * H11204:Code Value 'XX' not used for element 'GS01'
9
+ * H24402:The value '1253695747' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
10
+ * B51124:This Zip Code is not valid for this State.
11
+ * H25377:The 'Billing Provider Postal Zone or ZIP Code' must be the nine digit Zip code.
12
+ * H50010:Invalid ZIP Code ('99997'), not in USPS tables.
13
+ * H20205:Incomplete loop (2010BA). Missing HIPAA-required N4 (Subscriber City, State, ZIP Code).
14
+ * H20205:Incomplete loop (2010BB). Missing HIPAA-required N4 (Payer City, State, ZIP Code).
15
+ * B51124:This Zip Code is not valid for this State.
16
+ * H51086:ICD9 Code '8540' is not valid, must be coded to the highest number of digits possible (4th or 5th digit).
17
+ * H24402:The value '2366552595' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
18
+ * H24402:The value '1235767887' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
19
+ * B51124:This Zip Code is not valid for this State.
20
+ * H25377:The 'Laboratory or Facility Postal Zone or ZIP Code' must be the nine digit Zip code.
21
+
22
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
23
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
24
+ ST*837*0021*005010X222~
25
+ BHT*0019*00*0125*20051111*1524*CH~
26
+ NM1*41*2*ASSOCIATED MEDICAL GROUP*****46*1253695747~
27
+ PER*IC*JANICE HENDRIX*TE*2125557987~
28
+ NM1*40*2*HEISMAN INSURANCE COMPANY*****46*999888777~
29
+ HL*1**20*1~
30
+ NM1*85*2*ASSOCIATED MEDICAL GROUP*****XX*1253695747~
31
+ N3*10 1/2 SHOEMAKER STREET~
32
+ N4*COBBLER*CA*99997~
33
+ REF*EI*579999999~
34
+ HL*2*1*22*1~
35
+ SBR*P********AM~
36
+ NM1*IL*1*HOWLING*HAL****MI*B99977791G~
37
+ NM1*PR*2*HEISMAN INSURANCE COMPANY*****PI*999888777~
38
+ HL*3*2*23*0~
39
+ PAT*21~
40
+ NM1*QC*1*DIMPSON*DJ~
41
+ N3*32 BUFFALO RUN~
42
+ N4*ROCKING HORSE*CA*99666~
43
+ DMG*D8*19480601*M~
44
+ REF*Y4*32323232~
45
+ PER*IC*DJ DIMPSON*TE*8157665902~
46
+ CLM*900000032*185***11:B:1*Y*A*Y*Y**AA:::CA~
47
+ DTP*439*D8*20051031~
48
+ DTP*444*D8*20051031~
49
+ HI*BK:8540~
50
+ NM1*82*1*MOGLIE*BRUNO****XX*2366552595~
51
+ PRV*PE*PXC*208D00000X~
52
+ NM1*77*2*ASSOCIATED MEDICAL GROUP*****XX*1235767887~
53
+ N3*101 EAST PRYOR STREET~
54
+ N4*LOMA LINDA*CA*99622~
55
+ PER*IC*KAREN SPARKLE*TE*3425557987~
56
+ LX*1~
57
+ SV1*HC:99201*150*UN*1***1**Y~
58
+ DTP*472*D8*20051031~
59
+ LX*2~
60
+ SV1*HC:26010*35*UN*1***1**Y~
61
+ DTP*472*D8*20051031~
62
+ SE*39*0021~
63
+ GE*1*1~
64
+ IEA*1*000000905~
@@ -0,0 +1,46 @@
1
+ Property and Casualty: Automobile Accident
2
+
3
+ The patient is not the subscriber.The bill is sent directly from the provider to the payer. � The date of accident/occurrence/onset of symptoms (Date of Loss) is a critical piece of information and is used to determine the eligibility of coverage. Without a date of loss on the bill, the bill will be incomplete and may be rejected. In this case-the property and casualty claim number is known and sent in the patient loop.
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
6
+ GS*HC*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
7
+ ST*837*0021*005010X222~
8
+ BHT*0019*00*0125*20051111*1524*CH~
9
+ NM1*41*2*ASSOCIATED MEDICAL GROUP*****46*1232343560~
10
+ PER*IC*JANICE HENDRIX*TE*2125557987~
11
+ NM1*40*2*HEISMAN INSURANCE COMPANY*****46*999888777~
12
+ HL*1**20*1~
13
+ NM1*85*2*ASSOCIATED MEDICAL GROUP*****XX*1253695740~
14
+ N3*10 1/2 SHOEMAKER STREET~
15
+ N4*SACRAMENTO*CA*958201234~
16
+ REF*EI*579999999~
17
+ HL*2*1*22*1~
18
+ SBR*P********AM~
19
+ NM1*IL*1*HOWLING*HAL****MI*B99977791G~
20
+ N3*847 C AVENUE~
21
+ N4*SACRAMENTO*CA*95820~
22
+ NM1*PR*2*HEISMAN INSURANCE COMPANY*****PI*999888777~
23
+ N4*GREEN BAY*WI*54229~
24
+ HL*3*2*23*0~
25
+ PAT*21~
26
+ NM1*QC*1*DIMPSON*DJ~
27
+ N3*32 BUFFALO RUN~
28
+ N4*SACRAMENTO*CA*95820~
29
+ DMG*D8*19480601*M~
30
+ REF*Y4*32323232~
31
+ PER*IC*DJ DIMPSON*TE*8157665902~
32
+ CLM*900000032*185***11:B:1*Y*A*Y*Y**AA:::CA~
33
+ DTP*439*D8*20051031~
34
+ DTP*444*D8*20051031~
35
+ HI*BK:85400~
36
+ NM1*82*1*MOGLIE*BRUNO****XX*1366552598~
37
+ PRV*PE*PXC*208D00000X~
38
+ LX*1~
39
+ SV1*HC:99201*150*UN*1***1**Y~
40
+ DTP*472*D8*20051031~
41
+ LX*2~
42
+ SV1*HC:26010*35*UN*1***1**Y~
43
+ DTP*472*D8*20051031~
44
+ SE*38*0021~
45
+ GE*1*1~
46
+ IEA*1*000000905~
@@ -0,0 +1,83 @@
1
+ Example 3A - Coordination of Benefits (COB)
2
+
3
+ The patient is not the subscriber. A billing service transmits the claim to Payer A who adjudicates the claim. Both payers are commercial health insurance companies. The claim submitted to primary insurer with information pertaining to the secondary payer.
4
+
5
+ Errors Found in File 5010X222-3a
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HC'
8
+ * H11204:Code Value 'XX' not used for element 'GS01'
9
+ * H24402:The value '1999996666' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
10
+ * H25377:The 'Billing Provider Postal Zone or ZIP Code' must be the nine digit Zip code.
11
+ * H20203:Element SBR08 is present, though marked 'Not Used'
12
+ * H24236:'Claim Filing Indicator Code' was not found, but was expected because PlanID has not yet been mandated.
13
+ * H20205:Incomplete loop (2010BA). Missing HIPAA-required N4 (Subscriber City, State, ZIP Code).
14
+ * H40170:The 'Claim Filing Indicator Code' in SBR-09 is missing. Required until the HIPAA Plan ID is mandated.
15
+ * H50010:Invalid ZIP Code ('33000'), not in USPS tables.
16
+ * W40387:The 'Service Facility' generally not needed for Office services, unless it is different from Billing Provider address.
17
+ * H51086:ICD9 Code '2780' is not valid, must be coded to the highest number of digits possible (4th or 5th digit).
18
+ * H24402:The value '1999996666' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
19
+ * H46214:The Rendering Provider information must different than the Billing Provider.
20
+ * H46000:The 'Rendering Provider Secondary Identification' is not allowed because the National Provider Identifier has been mandated as the only valid provider identifier for HIPAA transactions
21
+ * H24402:The value '1581234567' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
22
+ * H25377:The 'Laboratory or Facility Postal Zone or ZIP Code' must be the nine digit Zip code.
23
+ * H10023:Unexpected segment (DMG)
24
+ * H46248:The Release of Information Code (OI06) must match the value sent in CLM09.
25
+ * H20205:Incomplete loop (2330B). Missing HIPAA-required N4 (Other Payer City, State, ZIP Code).
26
+
27
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
28
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
29
+ ST*837*0021*005010X222~
30
+ BHT*0019*00*0123*20051015*1023*CH~
31
+ NM1*41*2*PREMIER BILLING SERVICE*****46*TGJ23~
32
+ PER*IC*JERRY*TE*3055552222~
33
+ NM1*40*2*XYZ REPRICER*****46*66783JJT~
34
+ HL*1**20*1~
35
+ NM1*85*1*KILDARE*BEN****XX*1999996666~
36
+ N3*1234 SEAWAY ST~
37
+ N4*MIAMI*FL*33111~
38
+ REF*EI*123456789~
39
+ PER*IC*CONNIE*TE*3055551234~
40
+ NM1*87*2~
41
+ N3*2345 OCEAN BLVD~
42
+ N4*MIAMI*FL*33111~
43
+ HL*2*1*22*1~
44
+ SBR*P*******CI~
45
+ NM1*IL*1*SMITH*JANE****MI*111223333~
46
+ DMG*D8*19430501*F~
47
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
48
+ N3*3333OCEAN ST~
49
+ N4*SOUTH MIAMI*FL*33000~
50
+ REF*G2*PBS3334~
51
+ HL*3*2*23*0~
52
+ PAT*19~
53
+ NM1*QC*1*SMITH*TED~
54
+ N3*236 N MAIN ST~
55
+ N4*MIAMI*FL*33413~
56
+ DMG*D8*19730501*M~
57
+ CLM*26407789*79.04***11:B:1*Y*A*Y*I*P~
58
+ HI*BK:4779*BF:2724*BF:2780*BF:53081~
59
+ NM1*82*1*KILDARE*BEN****XX*1999996666~
60
+ PRV*PE*PXC*204C00000X~
61
+ REF*G2*KA6663~
62
+ NM1*77*2*KILDARE ASSOCIATES*****XX*1581234567~
63
+ N3*2345 OCEAN BLVD~
64
+ N4*MIAMI*FL*33111~
65
+ SBR*S*01*******CI~
66
+ DMG*D8*19430501*F~
67
+ OI***Y*P**Y~
68
+ NM1*IL*1*SMITH*JACK****MI*T55TY666~
69
+ N3*236 N MAIN ST~
70
+ N4*MIAMI*FL*33111~
71
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
72
+ LX*1~
73
+ SV1*HC:99213*43*UN*1***1:2:3:4~
74
+ DTP*472*D8*20051003~
75
+ LX*2~
76
+ SV1*HC:90782*15*UN*1***1:2~
77
+ DTP*472*D8*20051003~
78
+ LX*3~
79
+ SV1*HC:J3301*21.04*UN*1***1:2~
80
+ DTP*472*D8*20051003~
81
+ SE*53*0021~
82
+ GE*1*1~
83
+ IEA*1*000000905~
@@ -0,0 +1,59 @@
1
+ Example 3A - Coordination of Benefits (COB)
2
+
3
+ The patient is not the subscriber. A billing service transmits the claim to Payer A who adjudicates the claim. Both payers are commercial health insurance companies. The claim submitted to primary insurer with information pertaining to the secondary payer.
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
6
+ GS*HC*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
7
+ ST*837*0021*005010X222~
8
+ BHT*0019*00*0123*20051015*1023*CH~
9
+ NM1*41*2*PREMIER BILLING SERVICE*****46*TGJ23~
10
+ PER*IC*JERRY*TE*3055552222~
11
+ NM1*40*2*XYZ REPRICER*****46*66783JJT~
12
+ HL*1**20*1~
13
+ NM1*85*1*KILDARE*BEN****XX*1232343560~
14
+ N3*1234 SEAWAY ST~
15
+ N4*MIAMI*FL*331111234~
16
+ REF*EI*123456789~
17
+ PER*IC*CONNIE*TE*3055551234~
18
+ NM1*87*2~
19
+ N3*2345 OCEAN BLVD~
20
+ N4*MIAMI*FL*33111~
21
+ HL*2*1*22*1~
22
+ SBR*P********CI~
23
+ NM1*IL*1*SMITH*JANE****MI*111223333~
24
+ N3*1234 ELM STREET~
25
+ N4*MIAMI*FL*33111~
26
+ DMG*D8*19430501*F~
27
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
28
+ N3*3333 OCEAN ST~
29
+ N4*SOUTH MIAMI*FL*33111~
30
+ REF*G2*PBS3334~
31
+ HL*3*2*23*0~
32
+ PAT*19~
33
+ NM1*QC*1*SMITH*TED~
34
+ N3*236 N MAIN ST~
35
+ N4*MIAMI*FL*33413~
36
+ DMG*D8*19730501*M~
37
+ CLM*26407789*79.04***11:B:1*Y*A*Y*I*P~
38
+ HI*BK:4779*BF:2724*BF:27801*BF:53081~
39
+ NM1*82*1*SMITH*FRED****XX*1234567893~
40
+ PRV*PE*PXC*204C00000X~
41
+ SBR*S*01*******CI~
42
+ OI***Y*P**I~
43
+ NM1*IL*1*SMITH*JACK****MI*T55TY666~
44
+ N3*236 N MAIN ST~
45
+ N4*MIAMI*FL*33111~
46
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
47
+ N4*MIAMI*FL*33111~
48
+ LX*1~
49
+ SV1*HC:99213*43*UN*1***1:2:3:4~
50
+ DTP*472*D8*20051003~
51
+ LX*2~
52
+ SV1*HC:90782*15*UN*1***1:2~
53
+ DTP*472*D8*20051003~
54
+ LX*3~
55
+ SV1*HC:J3301*21.04*UN*1***1:2~
56
+ DTP*472*D8*20051003~
57
+ SE*51*0021~
58
+ GE*1*1~
59
+ IEA*1*000000905~
@@ -0,0 +1,97 @@
1
+ Example 3B - Coordination of Benefits (COB)
2
+
3
+ The patient is not the subscriber. Both payers are commercial health insurance companies. Patient and subscriber have same primary ID number. Payer A transmits an 835 to the billing provider.The billing provider then submits a second claim to Payer B
4
+
5
+ Errors Found in File 837P 5010X222-3b
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HC'
8
+ * H11204:Code Value 'XX' not used for element 'GS01'
9
+ * H24402:The value '1999996666' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
10
+ * H25377:The 'Billing Provider Postal Zone or ZIP Code' must be the nine digit Zip code.
11
+ * H20751:Invalid ZIP Code ('3111')
12
+ * H10023:Unexpected segment (REF)
13
+ * H20205:Incomplete loop (2010BA). Missing HIPAA-required N4 (Subscriber City, State, ZIP Code).
14
+ * B51124:This Zip Code is not valid for this State.
15
+ * H51086:ICD9 Code '2780' is not valid, must be coded to the highest number of digits possible (4th or 5th digit).
16
+ * H24402:The value '1999996666' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
17
+ * H46214:The Rendering Provider information must different than the Billing Provider.
18
+ * H46000:The 'Rendering Provider Secondary Identification' is not allowed because the National Provider Identifierhas been mandated as the only valid provider identifier for HIPAA transactions
19
+ * H24402:The value '1581234567' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
20
+ * H25377:The 'Laboratory or Facility Postal Zone or ZIP Code' must be the nine digit Zip code.
21
+ * H10023:Unexpected segment (DMG)
22
+ * H46248:The Release of Information Code (OI06) must match the value sent in CLM09.
23
+ * H20205:Incomplete loop (2330B). Missing HIPAA-required N4 (Other Payer City, State, ZIP Code).
24
+ * H20205:Incomplete loop (2430). Missing HIPAA-required DTP (Line Check or Remittance Date).
25
+ * H51108:'42' is not a valid 'Line Level Adjustment Reason Code'
26
+ * H10023:Unexpected segment (DPT)
27
+ * H20205:Incomplete loop (2430). Missing HIPAA-required DTP (Line Check or Remittance Date).
28
+ * H10023:Unexpected segment (DPT)
29
+ * H10904:Number of Included Segments '63' does not match actual segment count '64'.
30
+
31
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
32
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
33
+ ST*837*1234*005010X222~
34
+ BHT*0019*00*0123*20051015*1023*CH~
35
+ NM1*41*2*PREMIER BILLING SERVICE*****46*12EEER 000TY~
36
+ PER*IC*JERRY*TE*3055552222~
37
+ NM1*40*2*GREAT PRAIRIES HEALTH*****46*567890~
38
+ HL*1**20*1~
39
+ NM1*85*1*KILDARE*BEN****XX*1999996666~
40
+ N3*1234 SEAWAY ST~
41
+ N4*MIAMI*FL*33111~
42
+ REF*EI*123456789~
43
+ PER*IC*CONNIE*TE*3055551234~
44
+ NM1*87*2~N3*2345*OCEAN BLVD~
45
+ N4*MIAMI*FL*3111~
46
+ REF*G2*EX7777~
47
+ HL*2*1*22*1~
48
+ SBR*S********CI~
49
+ NM1*IL*1*SMITH*JACK****MI*222334444~
50
+ DMG*D8*19431022*M~
51
+ NM1*PR*2*GREAT PRAIRIES HEALTH*****PI*567890~
52
+ N3*4456 SOUTH SHORE BLVD~
53
+ N4*CHICAGO*IL*44444~
54
+ REF*G2*567890~
55
+ HL*3*2*23*0~
56
+ PAT*19~
57
+ NM1*QC*1*SMITH*TED~
58
+ N3*236 N MAIN ST~
59
+ N4*MIAMI*FL*33413~
60
+ DMG*D8*19730501*M~
61
+ CLM*26407789*79.04***11:B:1*Y*A*Y*I~
62
+ HI*BK:4779*BF:2724*BF:2780*BF:53081~
63
+ NM1*82*1*KILDARE*BEN****XX*1999996666~
64
+ PRV*PE*PXC*204C00000X~
65
+ REF*G2*88877~
66
+ NM1*77*2*KILDARE ASSOCIATES*****XX*1581234567~
67
+ N3*2345 OCEAN BLVD~
68
+ N4*MIAMI*FL*33111~
69
+ SBR*P*01*******CI~
70
+ CAS*PR*1*21.89**2*15~
71
+ AMT*D*39.15~
72
+ AMT*EAF*36.89~
73
+ DMG*D8*19430501*F~
74
+ OI***Y*P**Y~
75
+ NM1*IL*1*SMITH*JANE****MI*JS00111223333~
76
+ N3*236 N MAIN ST~
77
+ N4*MIAMI*FL*33111~
78
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
79
+ LX*1~
80
+ SV1*HC:99213*43*UN*1***1:2:3:4~
81
+ DTP*472*D8*20051003~
82
+ SVD*999996666*40*HC:99213**1~
83
+ CAS*CO*42*3~
84
+ DPT*573*D8*20051015~
85
+ LX*2~
86
+ SV1*HC:90782*15*UN*1***1:2~
87
+ DTP*472*D8*20051003~
88
+ SVD*999996666*15*HC:90782**1~
89
+ DTP*573*D8*20051015~
90
+ LX*3~
91
+ SV1*HC:J3301*21.04*UN*1***1:2~
92
+ DTP*472*D8*20051003~
93
+ SVD*999996666*21.04*HC:J3301**1~
94
+ DPT*573*D8*20051015~
95
+ SE*63*1234~
96
+ GE*1*1~
97
+ IEA*1*000000905~
@@ -0,0 +1,70 @@
1
+ Example 3B - Coordination of Benefits (COB)
2
+
3
+ The patient is not the subscriber. Both payers are commercial health insurance companies. Patient and subscriber have same primary ID number. Payer A transmits an 835 to the billing provider.The billing provider then submits a second claim to Payer B
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
6
+ GS*HC*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
7
+ ST*837*1234*005010X222~
8
+ BHT*0019*00*0123*20051015*1023*CH~
9
+ NM1*41*2*PREMIER BILLING SERVICE*****46*12EEER 000TY~
10
+ PER*IC*JERRY*TE*3055552222~
11
+ NM1*40*2*GREAT PRAIRIES HEALTH*****46*567890~
12
+ HL*1**20*1~
13
+ NM1*85*1*KILDARE*BEN****XX*1232343560~
14
+ N3*1234 SEAWAY ST~
15
+ N4*MIAMI*FL*331111234~
16
+ REF*EI*123456789~
17
+ PER*IC*CONNIE*TE*3055551234~
18
+ NM1*87*2~N3*2345*OCEAN BLVD~
19
+ N4*MIAMI*FL*33111~
20
+ HL*2*1*22*1~
21
+ SBR*S********CI~
22
+ NM1*IL*1*SMITH*JACK****MI*222334444~
23
+ N4*MIAMI*FL*33111~
24
+ DMG*D8*19431022*M~
25
+ NM1*PR*2*GREAT PRAIRIES HEALTH*****PI*567890~
26
+ N3*4456 SOUTH SHORE BLVD~
27
+ N4*CHICAGO*IL*60601~
28
+ REF*G2*567890~
29
+ HL*3*2*23*0~
30
+ PAT*19~
31
+ NM1*QC*1*SMITH*TED~
32
+ N3*236 N MAIN ST~
33
+ N4*MIAMI*FL*33413~
34
+ DMG*D8*19730501*M~
35
+ CLM*26407789*79.04***11:B:1*Y*A*Y*I~
36
+ HI*BK:4779*BF:2724*BF:27802*BF:53081~
37
+ NM1*82*1*KILDARE*BEN****XX*1234567893~
38
+ PRV*PE*PXC*204C00000X~
39
+ NM1*77*2*KILDARE ASSOCIATES*****XX*1581234568~
40
+ N3*2345 OCEAN BLVD~
41
+ N4*MIAMI*FL*331112345~
42
+ SBR*P*01*******CI~
43
+ CAS*PR*1*21.89**2*15~
44
+ AMT*D*39.15~
45
+ AMT*EAF*36.89~
46
+ OI***Y*P**I~
47
+ NM1*IL*1*SMITH*JANE****MI*JS00111223333~
48
+ N3*236 N MAIN ST~
49
+ N4*MIAMI*FL*33111~
50
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
51
+ N4*BOSTON*MA*02115~
52
+ LX*1~
53
+ SV1*HC:99213*43*UN*1***1:2:3:4~
54
+ DTP*472*D8*20051003~
55
+ SVD*999996666*40*HC:99213**1~
56
+ CAS*CO*45*3~
57
+ DTP*573*D8*20051015~
58
+ LX*2~
59
+ SV1*HC:90782*15*UN*1***1:2~
60
+ DTP*472*D8*20051003~
61
+ SVD*999996666*15*HC:90782**1~
62
+ DTP*573*D8*20051015~
63
+ LX*3~
64
+ SV1*HC:J3301*21.04*UN*1***1:2~
65
+ DTP*472*D8*20051003~
66
+ SVD*999996666*21.04*HC:J3301**1~
67
+ DTP*573*D8*20051015~
68
+ SE*63*1234~
69
+ GE*1*1~
70
+ IEA*1*000000905~