stupidedi 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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,40 @@
1
+ Business Scenario 4 - Out of Network Repriced Claim
2
+
3
+ The patient is the subscriber. The hospital 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*005010X223A1~
7
+ ST*837*1024*005010X223A1~
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*LOCAL HOSPITAL*****XX*1122334455~
14
+ N3*3423 SMALL STREET~
15
+ N4*COLUMBUS*OH*432150000~
16
+ REF*EI*111002222~
17
+ HL*2*1*22*0~
18
+ SBR*P*18*34561W******CI~
19
+ NM1*IL*1*SMITH*JAMES*A***MI*34902390F~
20
+ N3*934 NORTH STREET~
21
+ N4*COLUMBUS*OH*432150000~
22
+ DMG*D8*19621015*M~
23
+ NM1*PR*2*CONSERVATIVE INSURANCE*****PI*00123~
24
+ N4*COLUMBUS*OH*43215~
25
+ CLM*W392-49141*14.84***13:A:1**A*Y*Y~
26
+ DTP*434*RD8*20050617-20050617~
27
+ CL1**1*01~
28
+ AMT*F3*14.84~
29
+ REF*9A*459804390823~
30
+ REF*D9*32423466233~
31
+ HI*BK:53081~
32
+ HCP*00*0**333001234*********T1~
33
+ NM1*71*1*RIVERS*DAWN****XX*1244224451~
34
+ LX*1~
35
+ SV2*0301*HC:82270*14.84*UN*1~
36
+ DTP*472*D8*20050617~
37
+ REF*6R*0001~
38
+ SE*32*1024~
39
+ GE*1*1~
40
+ IEA*1*000000905~
@@ -0,0 +1,75 @@
1
+ Property and Casualty Business Scenario 1- Automobile Accident
2
+
3
+ Provider to P&C Payer Bill Transmission The patient is not the subscriber. The claim is submitted from the billing provider directly to the property and casualty insurance company. The auto accident occurred in California.
4
+
5
+ Errors Found in File 5010X223A1-5
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
+ * H25423:The Implementation Convention Reference value must be '005010X223A1'.
10
+ * W22004:Your data contains character(s) from the extended character set which may only be used by agreement between communicating parties.
11
+ * H11204:Code Value 'pxc' not used for element 'PRV02'
12
+ * H52000:Provider Specialty Code '203BA0200N' not found in Taxonomy Code Table.
13
+ * H24402:The value '2365259638' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
14
+ * B51124:This Zip Code is not valid for this State.
15
+ * H25377:The 'Billing Provider Postal Zone or ZIP Code' must be the nine digit Zip code.
16
+ * H50010:Invalid ZIP Code ('99998'), not in USPS tables.
17
+ * H20205:Incomplete loop (2010BA). Missing HIPAA-required N4 (Subscriber City, State, ZIP Code).
18
+ * H20205:Incomplete loop (2010BB). Missing HIPAA-required N4 (Payer City, State, ZIP Code).
19
+ * B51124:This Zip Code is not valid for this State.
20
+ * H25378:The Property and Casualty Claim Number is not a HIPAA requirement.
21
+ * H20203:Element CLM06 is present, though marked 'Not Used'
22
+ * H51115:'1' is not a valid Patient Status Code
23
+ * H24402:The value '2533698543' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
24
+ * W24413:Submitters are encouraged to routinely send a Line Item Control Number on all service lines.
25
+ * W24413:Submitters are encouraged to routinely send a Line Item Control Number on all service lines.
26
+ * W24413:Submitters are encouraged to routinely send a Line Item Control Number on all service lines.
27
+ * W24413:Submitters are encouraged to routinely send a Line Item Control Number on all service lines.
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*005010X223A1~
31
+ ST*837*557766*005010X223~
32
+ BHT*0019*00*0324*20051111*1800*CH~
33
+ NM1*41*2*HALL OF FAME MEMORIAL HOSPITAL*****46*737373737~
34
+ PER*IC*kate casey*TE*7152569877~
35
+ NM1*40*2*HEISMAN INSURANCE COMPANY*****46*999888777~
36
+ HL*1**20*1~
37
+ PRV*BI*pxc*203BA0200N~
38
+ NM1*85*2*HALL OF FAME MEMORIAL HOSPITAL*****XX*2365259638~
39
+ N3*1 CANTON ROAD~
40
+ N4*BROKEN FIELD*CA*99998~
41
+ REF*EI*737373737~
42
+ HL*2*1*22*1~
43
+ SBR*P********AM~
44
+ NM1*IL*1*HOWLING*HAL****MI*B999777791G~
45
+ NM1*PR*2*HEISMAN INSURANCE COMPANY*****PI*999888777~
46
+ HL*3*2*23*0~
47
+ PAT*21~
48
+ NM1*QC*1*MEXICO*RON~
49
+ N3*32 BUFFALO RUN~
50
+ N4*ROCKING HORSE*CA*99666~
51
+ DMG*D8*19480601*M~
52
+ REF*Y4*32323232~
53
+ CLM*67236695521*545***13:A:1*Y*A*Y*Y~
54
+ DTP*434*RD8*20051031-20051101~
55
+ CL1*3*7*1~
56
+ REF*LU*CA~
57
+ HI*BK:8842~
58
+ HI*PR:8842~
59
+ HI*BN:E9750*BN:E9860~
60
+ NM1*71*1*LOMBARDO*VINCENT****XX*2533698543~
61
+ LX*1~
62
+ SV2*0450*HC:98765*150*UN*1~
63
+ DTP*472*D8*20051031~
64
+ LX*2~
65
+ SV2*0360*HC:26591*75*UN*1~
66
+ DTP*472*D8*20051031~
67
+ LX*3~
68
+ SV2*0312*HC:86225*100*UN*2~
69
+ DTP*472*D8*20051031~
70
+ LX*4~
71
+ SV2*0360*HC:99283*220*UN*1~
72
+ DTP*472*D8*20051031~
73
+ SE*43*557766~
74
+ GE*1*1~
75
+ IEA*1*000000905~
@@ -0,0 +1,58 @@
1
+ Property and Casualty Business Scenario 1- Automobile Accident
2
+
3
+ Provider to P&C Payer Bill Transmission The patient is not the subscriber. The claim is submitted from the billing provider directly to the property and casualty insurance company. The auto accident occurred in California.
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*005010X223A1~
7
+ ST*837*557766*005010X223A1~
8
+ BHT*0019*00*0324*20051111*1800*CH~
9
+ NM1*41*2*HALL OF FAME MEMORIAL HOSPITAL*****46*737373737~
10
+ PER*IC*KATE CASEY*TE*7152569877~
11
+ NM1*40*2*HEISMAN INSURANCE COMPANY*****46*999888777~
12
+ HL*1**20*1~
13
+ PRV*BI*PXC*282N00000X~
14
+ NM1*85*2*HALL OF FAME MEMORIAL HOSPITAL*****XX*1365259633~
15
+ N3*1 CANTON ROAD~
16
+ N4*BROKEN FIELD*CA*945821234~
17
+ REF*EI*737373737~
18
+ HL*2*1*22*1~
19
+ SBR*P********AM~
20
+ NM1*IL*1*HOWLING*HAL****MI*B999777791G~
21
+ N3*32 BUFFALO RUN~
22
+ N4*ROCKING HORSE*CA*94582~
23
+ NM1*PR*2*HEISMAN INSURANCE COMPANY*****PI*999888777~
24
+ N4*ROCKING HORSE*CA*94582~
25
+ HL*3*2*23*0~
26
+ PAT*21~
27
+ NM1*QC*1*MEXICO*RON~
28
+ N3*32 BUFFALO RUN~
29
+ N4*ROCKING HORSE*CA*94582~
30
+ DMG*D8*19480601*M~
31
+ REF*Y4*32323232~
32
+ CLM*67236695521*545***13:A:1**A*Y*Y~
33
+ DTP*434*RD8*20051031-20051101~
34
+ CL1*3*7*01~
35
+ REF*LU*CA~
36
+ HI*BK:8842~
37
+ HI*PR:8842~
38
+ HI*BN:E9750*BN:E9860~
39
+ NM1*71*1*LOMBARDO*VINCENT****XX*2533698546~
40
+ LX*1~
41
+ SV2*0450*HC:98765*150*UN*1~
42
+ DTP*472*D8*20051031~
43
+ REF*6R*123~
44
+ LX*2~
45
+ SV2*0360*HC:26591*75*UN*1~
46
+ DTP*472*D8*20051031~
47
+ REF*6R*124~
48
+ LX*3~
49
+ SV2*0312*HC:86225*100*UN*2~
50
+ DTP*472*D8*20051031~
51
+ REF*6R*125~
52
+ LX*4~
53
+ SV2*0360*HC:99283*220*UN*1~
54
+ DTP*472*D8*20051031~
55
+ REF*6R*126~
56
+ SE*50*557766~
57
+ GE*1*1~
58
+ IEA*1*000000905~
@@ -0,0 +1,54 @@
1
+ Example 1- Commercial Health Insurance
2
+
3
+ The patient is not the subscriber. The payer is a commercial health insurance company.
4
+
5
+ Errors Found in File 5010X224A1-1
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
+ * H25421:The Implementation Convention Reference value must be '005010X224A1'
10
+ * H24402:The value '1234567890' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
11
+ * H25377:The 'Billing Provider Postal Zone or ZIP Code' must be the nine digit Zip code.
12
+ * H20205:Incomplete loop (2010BA). Missing HIPAA-required N4 (Subscriber City, State, ZIP Code).
13
+ * H20205:Incomplete loop (2010BB). Missing HIPAA-required N4 (Payer City, State, ZIP Code).
14
+ * H24391:Missing HIPAA Required 'CLM07'.
15
+ * B40328:This CLM09 code conflicts with the Privacy Rule. According to the Office of Civil Rights, the only code that should be used is 'Y'.
16
+ * H20617:The value '9876543210' does not match the format for a "HIPAA National Provider ID (NPI)"
17
+ * W45216:It is recommended that the Line Item Control Number is submitted for each service line.
18
+ * W45216:It is recommended that the Line Item Control Number is submitted for each service line.
19
+
20
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
21
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X224A1~
22
+ ST*837*3456*005010X224~
23
+ BHT*0019*00*0123*20061123*1023*CH~
24
+ NM1*41*2*PREMIER BILLING SERVICE*****46*TGJ23~
25
+ PER*IC*JERRY*TE*7176149999~
26
+ NM1*40*2*INSURANCE COMPANY XYZ*****46*66783JJT~
27
+ HL*1**20*1~
28
+ NM1*85*2*DENTAL ASSOCIATES*****XX*1234567890~
29
+ N3*234 SEAWAY ST~
30
+ N4*MIAMI*FL*33111~
31
+ REF*EI*587654321~
32
+ HL*2*1*22*1~
33
+ SBR*P********CI~
34
+ NM1*IL*1*SMITH*JANE****MI*111223333~
35
+ NM1*PR*2*INSURANCE COMPANY XYZ*****PI*66783JJT~
36
+ HL*3*2*23*0~
37
+ PAT*19~
38
+ NM1*QC*1*SMITH*TED~
39
+ N3*236 N MAIN ST~
40
+ N4*MIAMI*FL*33413~
41
+ DMG*D8*19920501*M~
42
+ CLM*26403774*150***11:B:1*Y**Y*I~
43
+ DTP*472*D8*20061029~
44
+ REF*D9*17312345600006351~
45
+ NM1*82*1*KILDARE*BEN****XX*9876543210~
46
+ PRV*PE*PXC*1223G0001X~
47
+ LX*1~
48
+ SV3*AD:D2150*100****1~
49
+ TOO*JP*12*M:O~
50
+ LX*2~
51
+ SV3*AD:D1110*50****1~
52
+ SE*31*3456~
53
+ GE*1*1~
54
+ IEA*1*000000905~
@@ -0,0 +1,44 @@
1
+ Example 1- Commercial Health Insurance
2
+
3
+ The patient is not the subscriber. The payer is a commercial health insurance company.
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*005010X224A1~
7
+ ST*837*3456*005010X224A1~
8
+ BHT*0019*00*0123*20061123*1023*CH~
9
+ NM1*41*2*PREMIER BILLING SERVICE*****46*TGJ23~
10
+ PER*IC*JERRY*TE*7176149999~
11
+ NM1*40*2*INSURANCE COMPANY XYZ*****46*66783JJT~
12
+ HL*1**20*1~
13
+ NM1*85*2*DENTAL ASSOCIATES*****XX*1232343560~
14
+ N3*234 SEAWAY ST~
15
+ N4*MIAMI*FL*331111234~
16
+ REF*EI*587654321~
17
+ HL*2*1*22*1~
18
+ SBR*P********CI~
19
+ NM1*IL*1*SMITH*JANE****MI*111223333~
20
+ N3*1234 OAK STREET~
21
+ N4*MIAMI*FL*33111~
22
+ NM1*PR*2*INSURANCE COMPANY XYZ*****PI*66783JJT~
23
+ N4*MIAMI*FL*33111~
24
+ HL*3*2*23*0~
25
+ PAT*19~
26
+ NM1*QC*1*SMITH*TED~
27
+ N3*236 N MAIN ST~
28
+ N4*MIAMI*FL*33413~
29
+ DMG*D8*19920501*M~
30
+ CLM*26403774*150***11:B:1*Y*A*Y*Y~
31
+ DTP*472*D8*20061029~
32
+ REF*D9*17312345600006351~
33
+ NM1*82*1*KILDARE*BEN****XX*1876543210~
34
+ PRV*PE*PXC*1223G0001X~
35
+ LX*1~
36
+ SV3*AD:D2150*100****1~
37
+ TOO*JP*12*M:O~
38
+ REF*6R*001~
39
+ LX*2~
40
+ SV3*AD:D1110*50****1~
41
+ REF*6R*002~
42
+ SE*36*3456~
43
+ GE*1*1~
44
+ IEA*1*000000905~
@@ -0,0 +1,52 @@
1
+ Coordination of Benefits (COB) The patient is not the subscriber; payers are commercial health insurance companies.
2
+
3
+ Example 2.A. - Coordination of Benefits (COB). The patient is not the subscriber. VAN submits claim on behalf of billing provider to Payer A. Payer A adjudicated the claim and transmits an 835 to the billing provider. The VAN then submits a second claim on behalf of the billing provider to Payer B (receiver).
4
+
5
+ Errors Found in File 5010X224A1-2a
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
+ * H25421:The Implementation Convention Reference value must be '005010X224A1'
10
+ * B20617:Currently the "HIPAA National Provider ID (NPI)" is only being issued with the first digit equal to 1 or 2, with 3 and 4 reserved for future assignment
11
+ * H24402:The value '4567890123' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
12
+ * H25377:The 'Billing Provider Postal Zone or ZIP Code' must be the nine digit Zip code.
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
+ * H24391:Missing HIPAA Required 'CLM07'.
16
+ * B40328:This CLM09 code conflicts with the Privacy Rule. According to the Office of Civil Rights, the only code that should be used is 'Y'.
17
+ * H20617:The value '6789012345' does not match the format for a "HIPAA National Provider ID (NPI)"
18
+ * W45216:It is recommended that the Line Item Control Number is submitted for each service line.
19
+
20
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
21
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X224A1~
22
+ ST*837*0002*005010X224~
23
+ BHT*0019*00*0123*20061123*1023*CH~
24
+ NM1*41*2*PREMIER BILLING SERVICE*****46*567890~
25
+ PER*IC*JERRY*TE*7176149999~
26
+ NM1*40*2*KEY INSURANCE COMPANY*****46*999996666~
27
+ HL*1**20*1~
28
+ NM1*85*2*DENTAL ASSOCIATES*****XX*4567890123~
29
+ N3*234 SEAWAY ST~
30
+ N4*MIAMI*FL*33111~
31
+ REF*EI*587654321~
32
+ HL*2*1*22*1~
33
+ SBR*P********CI~
34
+ NM1*IL*1*SMITH*JANE****MI*JS00111223333~
35
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
36
+ HL*3*2*23*0~
37
+ PAT*19~
38
+ NM1*QC*1*SMITH*TED~
39
+ N3*236 N MAIN ST~
40
+ N4*MIAMI*FL*33413~
41
+ DMG*D8*19920501*M~
42
+ CLM*26403774*200***11:B:1*Y**Y*I~
43
+ DTP*472*D8*20061109~
44
+ REF*D9*111222333444~
45
+ NM1*82*1*KILDARE*BEN****XX*6789012345~
46
+ PRV*PE*PXC*1223P0221X~
47
+ LX*1~
48
+ SV3*AD:D3320*200****1~
49
+ TOO*JP*5~
50
+ SE*29*0002~
51
+ GE*1*1~
52
+ IEA*1*000000905~
@@ -0,0 +1,42 @@
1
+ Coordination of Benefits (COB) The patient is not the subscriber; payers are commercial health insurance companies.
2
+
3
+ Example 2.A. - Coordination of Benefits (COB). The patient is not the subscriber. VAN submits claim on behalf of billing provider to Payer A. Payer A adjudicated the claim and transmits an 835 to the billing provider. The VAN then submits a second claim on behalf of the billing provider to Payer B (receiver).
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*005010X224A1~
7
+ ST*837*0002*005010X224A1~
8
+ BHT*0019*00*0123*20061123*1023*CH~
9
+ NM1*41*2*PREMIER BILLING SERVICE*****46*567890~
10
+ PER*IC*JERRY*TE*7176149999~
11
+ NM1*40*2*KEY INSURANCE COMPANY*****46*999996666~
12
+ HL*1**20*1~
13
+ NM1*85*2*DENTAL ASSOCIATES*****XX*1567890128~
14
+ N3*234 SEAWAY ST~
15
+ N4*MIAMI*FL*331111234~
16
+ REF*EI*587654321~
17
+ HL*2*1*22*1~
18
+ SBR*P********CI~
19
+ NM1*IL*1*SMITH*JANE****MI*JS00111223333~
20
+ N3*223 WALNUT STREET~
21
+ N4*MIAMI*FL*33111~
22
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
23
+ N3*88 A AVENUE~
24
+ N4*MIAMI*FL*33111~
25
+ HL*3*2*23*0~
26
+ PAT*19~
27
+ NM1*QC*1*SMITH*TED~
28
+ N3*236 N MAIN ST~
29
+ N4*MIAMI*FL*33413~
30
+ DMG*D8*19920501*M~
31
+ CLM*26403774*200***11:B:1*Y*A*Y*Y~
32
+ DTP*472*D8*20061109~
33
+ REF*D9*111222333444~
34
+ NM1*82*1*KILDARE*BEN****XX*1789012345~
35
+ PRV*PE*PXC*1223P0221X~
36
+ LX*1~
37
+ SV3*AD:D3320*200****1~
38
+ TOO*JP*5~
39
+ REF*6R*1~
40
+ SE*34*0002~
41
+ GE*1*1~
42
+ IEA*1*000000905~
@@ -0,0 +1,67 @@
1
+ Coordination of Benefits (COB) The patient is not the subscriber; payers are commercial health insurance companies.
2
+
3
+ Example 2.B. - Claim From Billing Provider to Payer B A VAN submits the claim on behalf of the billing provider to Payer B
4
+
5
+ Errors Found in File 5010X224A1-2b
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
+ * H25421:The Implementation Convention Reference value must be '005010X224A1'
10
+ * B20617:Currently the "HIPAA National Provider ID (NPI)" is only being issued with the first digit equal to 1 or 2, with 3 and 4 reserved for future assignment
11
+ * H24402:The value '4567890123' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
12
+ * H25377:The 'Billing Provider Postal Zone or ZIP Code' must be the nine digit Zip code.
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
+ * H24391:Missing HIPAA Required 'CLM07'.
16
+ * B40328:This CLM09 code conflicts with the Privacy Rule. According to the Office of Civil Rights, the only code that should be used is 'Y'.
17
+ * H20617:The value '6789012345' does not match the format for a "HIPAA National Provider ID (NPI)"
18
+ * H10023:Unexpected segment (DMG)
19
+ * H20205:Incomplete loop (2330B). Missing HIPAA-required N4 (Other Payer City, State, ZIP Code).
20
+ * H10005:Value 'D8' is too short for 'DTP01'
21
+ * H11204:Code Value 'D8' not used for element 'DTP01'
22
+ * H11204:Code Value '573' not used for element 'DTP02'
23
+ * W45216:It is recommended that the Line Item Control Number is submitted for each service line.
24
+
25
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
26
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X224A1~
27
+ ST*837*0123*005010X224~
28
+ BHT*0019*00*0123*20061123*1023*CH~
29
+ NM1*41*2*PREMIER BILLING SERVICE*****46*567890~
30
+ PER*IC*JERRY*TE*7176149999~
31
+ NM1*40*2*GREAT PRAIRIES HEALTH*****46*123456789~
32
+ HL*1**20*1~
33
+ NM1*85*2*DENTAL ASSOCIATES*****XX*4567890123~
34
+ N3*234 SEAWAY ST~
35
+ N4*MIAMI*FL*33111~
36
+ REF*EI*587654321~
37
+ HL*2*1*22*1~
38
+ SBR*S********CI~
39
+ NM1*IL*1*SMITH*JACK****MI*T55TY666~
40
+ NM1*PR*2*GREAT PRAIRIES HEALTH*****PI*123456789~
41
+ HL*3*2*23*0~
42
+ PAT*19~
43
+ NM1*QC*1*SMITH*TED~
44
+ N3*236 N MAIN ST~
45
+ N4*MIAMI*FL*33413~
46
+ DMG*D8*19920501*M~
47
+ CLM*26403774*200***11:B:1*Y**Y*I~
48
+ DTP*472*D8*20061109~
49
+ REF*D9*444333222111~
50
+ NM1*82*1*KILDARE*BEN****XX*6789012345~
51
+ PRV*PE*PXC*1223P0221X~
52
+ SBR*P*19*******CI~
53
+ CAS*PR*1*50*1~
54
+ AMT*D*150~
55
+ DMG*D8*19430501*F~
56
+ OI***Y***I~
57
+ NM1*IL*1*SMITH*JANE****MI*JS001112223333~
58
+ N3*236 N MAIN ST~
59
+ N4*MIAMI*FL*33413~
60
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
61
+ DTP*D8*573*20061122~
62
+ LX*1~
63
+ SV3*AD:D3320*200****1~
64
+ TOO*JP*5~
65
+ SE*39*0123~
66
+ GE*1*1~
67
+ IEA*1*000000905~
@@ -0,0 +1,52 @@
1
+ Coordination of Benefits (COB) The patient is not the subscriber; payers are commercial health insurance companies.
2
+
3
+ Example 2.B. - Claim From Billing Provider to Payer B A VAN submits the claim on behalf of the billing provider 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*005010X224A1~
7
+ ST*837*0123*005010X224A1~
8
+ BHT*0019*00*0123*20061123*1023*CH~
9
+ NM1*41*2*PREMIER BILLING SERVICE*****46*567890~
10
+ PER*IC*JERRY*TE*7176149999~
11
+ NM1*40*2*GREAT PRAIRIES HEALTH*****46*123456789~
12
+ HL*1**20*1~
13
+ NM1*85*2*DENTAL ASSOCIATES*****XX*1567890128~
14
+ N3*234 SEAWAY ST~
15
+ N4*MIAMI*FL*331111234~
16
+ REF*EI*587654321~
17
+ HL*2*1*22*1~
18
+ SBR*S********CI~
19
+ NM1*IL*1*SMITH*JACK****MI*T55TY666~
20
+ N3*888 SPRUCE AVE~
21
+ N4*JACKSONVILLE*FL*33111~
22
+ NM1*PR*2*GREAT PRAIRIES HEALTH*****PI*123456789~
23
+ N4*MIAMI*FL*33111~
24
+ HL*3*2*23*0~
25
+ PAT*19~
26
+ NM1*QC*1*SMITH*TED~
27
+ N3*236 N MAIN ST~
28
+ N4*MIAMI*FL*33413~
29
+ DMG*D8*19920501*M~
30
+ CLM*26403774*200***11:B:1*Y*A*Y*Y~
31
+ DTP*472*D8*20061109~
32
+ REF*D9*444333222111~
33
+ NM1*82*1*KILDARE*BEN****XX*1890123452~
34
+ PRV*PE*PXC*1223P0221X~
35
+ SBR*P*19*******CI~
36
+ CAS*PR*1*50*1~
37
+ AMT*D*150~
38
+ OI***Y***Y~
39
+ NM1*IL*1*SMITH*JANE****MI*JS001112223333~
40
+ N3*236 N MAIN ST~
41
+ N4*MIAMI*FL*33413~
42
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
43
+ N3*1255 FLORIDA STREET~
44
+ N4*MIAMI*FL*33413~
45
+ DTP*573*D8*20061122~
46
+ LX*1~
47
+ SV3*AD:D3320*200****1~
48
+ TOO*JP*5~
49
+ REF*6R*001~
50
+ SE*44*0123~
51
+ GE*1*1~
52
+ IEA*1*000000905~
@@ -0,0 +1,67 @@
1
+ Example 3 - Predetermination of Benefits
2
+
3
+ The patient is the subscriber. A VAN submits the claim on behalf of the billing provider to the payer.
4
+
5
+ Errors Found in File 5010X224A1-3
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
+ * H25421:The Implementation Convention Reference value must be '005010X224A1'
10
+ * B20617:Currently the "HIPAA National Provider ID (NPI)" is only being issued with the first digit equal to 1 or 2, with 3 and 4 reserved for future assignment
11
+ * H24402:The value '4567890123' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
12
+ * H25377:The 'Billing Provider Postal Zone or ZIP Code' must be the nine digit Zip code.
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
+ * H24391:Missing HIPAA Required 'CLM07'.
16
+ * B40328:This CLM09 code conflicts with the Privacy Rule. According to the Office of Civil Rights, the only code that should be used is 'Y'.
17
+ * H20617:The value '6789012345' does not match the format for a "HIPAA National Provider ID (NPI)"
18
+ * H10023:Unexpected segment (DMG)
19
+ * H20205:Incomplete loop (2330B). Missing HIPAA-required N4 (Other Payer City, State, ZIP Code).
20
+ * H10005:Value 'D8' is too short for 'DTP01'
21
+ * H11204:Code Value 'D8' not used for element 'DTP01'
22
+ * H11204:Code Value '573' not used for element 'DTP02'
23
+ * W45216:It is recommended that the Line Item Control Number is submitted for each service line.
24
+
25
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
26
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X224A1~
27
+ ST*837*0123*005010X224~
28
+ BHT*0019*00*0123*20061123*1023*CH~
29
+ NM1*41*2*PREMIER BILLING SERVICE*****46*567890~
30
+ PER*IC*JERRY*TE*7176149999~
31
+ NM1*40*2*GREAT PRAIRIES HEALTH*****46*123456789~
32
+ HL*1**20*1~
33
+ NM1*85*2*DENTAL ASSOCIATES*****XX*4567890123~
34
+ N3*234 SEAWAY ST~
35
+ N4*MIAMI*FL*33111~
36
+ REF*EI*587654321~
37
+ HL*2*1*22*1~
38
+ SBR*S********CI~
39
+ NM1*IL*1*SMITH*JACK****MI*T55TY666~
40
+ NM1*PR*2*GREAT PRAIRIES HEALTH*****PI*123456789~
41
+ HL*3*2*23*0~
42
+ PAT*19~
43
+ NM1*QC*1*SMITH*TED~
44
+ N3*236 N MAIN ST~
45
+ N4*MIAMI*FL*33413~
46
+ DMG*D8*19920501*M~
47
+ CLM*26403774*200***11:B:1*Y**Y*I~
48
+ DTP*472*D8*20061109~
49
+ REF*D9*444333222111~
50
+ NM1*82*1*KILDARE*BEN****XX*6789012345~
51
+ PRV*PE*PXC*1223P0221X~
52
+ SBR*P*19*******CI~
53
+ CAS*PR*1*50*1~
54
+ AMT*D*150~
55
+ DMG*D8*19430501*F~
56
+ OI***Y***I~
57
+ NM1*IL*1*SMITH*JANE****MI*JS001112223333~
58
+ N3*236 N MAIN ST~
59
+ N4*MIAMI*FL*33413~
60
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
61
+ DTP*D8*573*20061122~
62
+ LX*1~
63
+ SV3*AD:D3320*200****1~
64
+ TOO*JP*5~
65
+ SE*39*0123~
66
+ GE*1*1~
67
+ IEA*1*000000905~
@@ -0,0 +1,51 @@
1
+ Example 3 - Predetermination of Benefits
2
+
3
+ The patient is the subscriber. A VAN submits the claim on behalf of the billing provider to the 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*005010X224A1~
7
+ ST*837*0123*005010X224A1~
8
+ BHT*0019*00*0123*20061123*1023*CH~
9
+ NM1*41*2*PREMIER BILLING SERVICE*****46*567890~
10
+ PER*IC*JERRY*TE*7176149999~
11
+ NM1*40*2*GREAT PRAIRIES HEALTH*****46*123456789~
12
+ HL*1**20*1~
13
+ NM1*85*2*DENTAL ASSOCIATES*****XX*1232343560~
14
+ N3*234 SEAWAY ST~
15
+ N4*MIAMI*FL*331111234~
16
+ REF*EI*587654321~
17
+ HL*2*1*22*1~
18
+ SBR*S********CI~
19
+ NM1*IL*1*SMITH*JACK****MI*T55TY666~
20
+ N3*333 ELM STREET~
21
+ N4*MIAMI*FL*33111~
22
+ NM1*PR*2*GREAT PRAIRIES HEALTH*****PI*123456789~
23
+ N4*MIAMI*FL*33111~
24
+ HL*3*2*23*0~
25
+ PAT*19~
26
+ NM1*QC*1*SMITH*TED~
27
+ N3*236 N MAIN ST~
28
+ N4*MIAMI*FL*33413~
29
+ DMG*D8*19920501*M~
30
+ CLM*26403774*200***11:B:1*Y*A*Y*Y~
31
+ DTP*472*D8*20061109~
32
+ REF*D9*444333222111~
33
+ NM1*82*1*KILDARE*BEN****XX*1789012345~
34
+ PRV*PE*PXC*1223P0221X~
35
+ SBR*P*19*******CI~
36
+ CAS*PR*1*50*1~
37
+ AMT*D*150~
38
+ OI***Y***Y~
39
+ NM1*IL*1*SMITH*JANE****MI*JS001112223333~
40
+ N3*236 N MAIN ST~
41
+ N4*MIAMI*FL*33413~
42
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
43
+ N4*MIAMI*FL*33413~
44
+ DTP*573*D8*20061122~
45
+ LX*1~
46
+ SV3*AD:D3320*200****1~
47
+ TOO*JP*5~
48
+ REF*6R*001~
49
+ SE*43*0123~
50
+ GE*1*1~
51
+ IEA*1*000000905~
@@ -0,0 +1,49 @@
1
+ Example 4 - Orthodontic Treatment Plan
2
+
3
+ Orthodontic treatment plan, patient is not the subscriber. The payer is a commercial payer. Billing provider submits claim directly to the payer.
4
+
5
+ Errors Found in File 5010X224A1-4
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
+ * H25421:The Implementation Convention Reference value must be '005010X224A1'
10
+ * H24402:The value '2345678901' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
11
+ * H25377:The 'Billing Provider Postal Zone or ZIP Code' must be the nine digit Zip code.
12
+ * H20205:Incomplete loop (2010BA). Missing HIPAA-required N4 (Subscriber City, State, ZIP Code).
13
+ * H20205:Incomplete loop (2010BB). Missing HIPAA-required N4 (Payer City, State, ZIP Code).
14
+ * H24391:Missing HIPAA Required 'CLM07'.
15
+ * B40328:This CLM09 code conflicts with the Privacy Rule. According to the Office of Civil Rights, the only code that should be used is 'Y'.
16
+ * H45159:'Date - Service' was not found, but was expected because the Claim Date (2300/DTP-01=472) is not present and the Predetermination of Benefits Code (CLM-19) is not present either
17
+ * W45216:It is recommended that the Line Item Control Number is submitted for each service line.
18
+
19
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
20
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X224A1~
21
+ ST*837*0322*005010X224~
22
+ BHT*0019*00*0123*20061123*1023*CH~
23
+ NM1*41*2*JOHN DOE*****46*940001~
24
+ PER*IC*SALLY*TE*7175555555~
25
+ NM1*40*2*KEY INSURANCE COMPANY*****46*999996666~
26
+ HL*1**20*1~
27
+ PRV*BI*PXC*1223G0001X~
28
+ NM1*85*1*JOHN*DOE****XX*2345678901~
29
+ N3*123 TOOTH DRIVE~
30
+ N4*MIAMI*FL*33411~
31
+ REF*EI*587654321~
32
+ HL*2*1*22*1~
33
+ SBR*P********CI~
34
+ NM1*IL*1*SMITH*JANE****MI*111223333~
35
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
36
+ HL*3*2*23*0~
37
+ PAT*19~
38
+ NM1*QC*1*SMITH*TED~
39
+ N3*236 N MAIN ST~
40
+ N4*MIAMI*FL*33413~
41
+ DMG*D8*19911029*M~
42
+ CLM*SMITH788*4000***11:B:1*Y**Y*I~
43
+ DTP*452*D8*20061115~
44
+ DN1*36~
45
+ LX*1~
46
+ SV3*AD:D8080*4000****1~
47
+ SE*27*0322~
48
+ GE*1*1~
49
+ IEA*1*000000905~