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,55 @@
1
+ Business Scenario 3c
2
+
3
+ The primary payer received a claim for $541.00. They allowed $400 and paid $375.00. The primary payer applied $141.00 as a contractual adjustment as part of the provider�s fee schedule.The patient owed a co-pay of $25.00. YTDAW as the secondary payer allowed $550.00.This amount is $9.00 more than charged.The secondary payer paid $34.00.The impact of the primary payer�s payment on the secondary payer is $516.00 which was $141.00 contractual adjustment and $375.00 payment.
4
+
5
+ Errors Found in File 835 5010X221-3c
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HP'
8
+ * H11204:Code Value 'XX' not used for element 'GS01'
9
+ * W10046:Syntax Error for BPR02, trailing zeros following the decimal point should be suppressed.
10
+ * B51124:This Zip Code is not valid for this State.
11
+ * H50010:Invalid ZIP Code ('11114'), not in USPS tables.
12
+ * W25219:The value of FI is only to be used if the provider is not a covered health care provider under the NPI mandate.
13
+ * H20600:The value '3UR334563' does not match the format for a "Federal Tax Identification Number"
14
+ * B51124:This Zip Code is not valid for this State.
15
+ * H46336:Coverage Amount AMT sgement (AMT01= "AU") was expected since the claim paid amount (CLP04) was not zero.
16
+ * W45225:Class of Contract Code is recommended in PPO situations or whenever the provider's payment is impacted bya health plan contract.
17
+ * W25219:The value of BS is only to be used if the provider is not a covered health care provider under the NPI mandate.
18
+ * W25222:When the provider doesn't have an NPI, the Tax ID is the preferred ID for the Rendering Provider.
19
+ * H46339:An AMT segment reporting the Allowed Amount (AMT01=B6) was expected since the service paid amount is greater than zero (SVC03>0).
20
+ * H10602:Assuming Sub-Element Delimiter is > rather than : in SVC01
21
+ * W22004:Your data contains character(s) from the extended character set which may only be used by agreement between communicating parties.
22
+ * H51000:The Procedure Code '55669' is not a valid CPT or HCPCS Code for this Date of Service.
23
+ * W25229:Generally, this should be code value HPI since most providers are mandated to have a National Provider Identifier.
24
+ * H20204:Code Value 'AU' at element 'AMT01' is valid in the X12 standard, but not in this HIPAA implementation
25
+ * H10904:Number of Included Segments '38' does not match actual segment count '25'.
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*005010X221~
29
+ ST*835*0001~
30
+ BPR*I*34.00*C*CHK************20050318~
31
+ TRN*1*0063158ABC*1566339911~
32
+ REF*EV*030240928~
33
+ DTM*405*20050318~
34
+ N1*PR*YOUR TAX DOLLARS AT WORK~
35
+ N3*481A00 DEER RUN ROAD~
36
+ N4*WEST PALM BCH*FL*11114~
37
+ N1*PE*ATONEWITHHEALTH*FI*3UR334563~
38
+ N3*3501 JOHNSON STREET~
39
+ N4*SUNSHINE*FL*12345~
40
+ REF*PQ*11861~
41
+ LX*1~
42
+ CLP*0001000055*2*541*34**12*50650619501~
43
+ NM1*QC*1*BURCK*RAYMOND*W***MI*987654321~
44
+ NM1*82*2*PROFESSIONAL TEST 1*****BS*34426~
45
+ DTM*232*20050202~
46
+ DTM*233*20050202~
47
+ SVC*HC>55669*541*34**1~
48
+ DTM*472*20050202~
49
+ CAS*OA*23*516~
50
+ CAS*OA*94*-9~
51
+ REF*1B*44280~
52
+ AMT*AU*550~
53
+ SE*38*0001~
54
+ GE*1*1~
55
+ IEA*1*000000905~
@@ -0,0 +1,34 @@
1
+ Business Scenario 3c
2
+
3
+ The primary payer received a claim for $541.00. They allowed $400 and paid $375.00. The primary payer applied $141.00 as a contractual adjustment as part of the provider�s fee schedule.The patient owed a co-pay of $25.00. YTDAW as the secondary payer allowed $550.00.This amount is $9.00 more than charged.The secondary payer paid $34.00.The impact of the primary payer�s payment on the secondary payer is $516.00 which was $141.00 contractual adjustment and $375.00 payment.
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
6
+ GS*HP*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X221~
7
+ ST*835*0001~
8
+ BPR*I*34*C*CHK************20050318~
9
+ TRN*1*0063158ABC*1566339911~
10
+ REF*EV*030240928~
11
+ DTM*405*20050318~
12
+ N1*PR*YOUR TAX DOLLARS AT WORK~
13
+ N3*481A00 DEER RUN ROAD~
14
+ N4*WEST PALM BCH*FL*33480~
15
+ N1*PE*ATONEWITHHEALTH*FI*995555558~
16
+ N3*3501 JOHNSON STREET~
17
+ N4*SUNSHINE*FL*32801~
18
+ REF*PQ*11861~
19
+ LX*1~
20
+ CLP*0001000055*2*541*34**12*50650619501~
21
+ NM1*QC*1*BURCK*RAYMOND*W***MI*987654321~
22
+ NM1*82*2*PROFESSIONAL TEST 1*****XX*1232343560~
23
+ REF*CE*12345~
24
+ DTM*232*20050202~
25
+ DTM*233*20050202~
26
+ AMT*AU*470~
27
+ SVC*HC:55000*541*34**1~
28
+ DTM*472*20050202~
29
+ CAS*OA*23*516~
30
+ CAS*OA*94*-9~
31
+ AMT*B6*550~
32
+ SE*26*0001~
33
+ GE*1*1~
34
+ IEA*1*000000905~
@@ -0,0 +1,60 @@
1
+ Example 1 - Commercial Health Insurance
2
+
3
+ The patient is not the subscriber. The payer is a commercial health insurance company. The claim was routed through a Value Added Network (VAN)
4
+
5
+ Errors Found in File 5010X222-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
+ * H52000:Provider Specialty Code '203BF0100Y' not found in Taxonomy Code Table.
10
+ * H20617:The value '9876543210' does not match the format for a "HIPAA National Provider ID (NPI)" (Ingenix error valid)
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
+
15
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
16
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
17
+ ST*837*0021*005010X222~
18
+ BHT*0019*00*244579*20061015*1023*CH~
19
+ NM1*41*2*PREMIER BILLING SERVICE*****46*TGJ23~
20
+ PER*IC*JERRY*TE*3055552222*EX*231~
21
+ NM1*40*2*KEY INSURANCE COMPANY*****46*66783JJT~
22
+ HL*1**20*1~
23
+ PRV*BI*PXC*203BF0100Y~
24
+ NM1*85*2*BEN KILDARE SERVICE*****XX*9876543210~
25
+ N3*234 SEAWAY ST~
26
+ N4*MIAMI*FL*33111~
27
+ REF*EI*587654321~
28
+ NM1*87*2~
29
+ N3*2345 OCEAN BLVD~
30
+ N4*MAIMI*FL*33111~
31
+ HL*2*1*22*1~
32
+ SBR*P**2222-SJ******CI~
33
+ NM1*IL*1*SMITH*JANE****MI*JS00111223333~
34
+ DMG*D8*19430501*F~
35
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
36
+ REF*G2*KA6663~
37
+ HL*3*2*23*0~
38
+ PAT*19~
39
+ NM1*QC*1*SMITH*TED~
40
+ N3*236 N MAIN ST~
41
+ N4*MIAMI*FL*33413~
42
+ DMG*D8*19730501*M~
43
+ CLM*26463774*100***11:B:1*Y*A*Y*I~
44
+ REF*D9*17312345600006351~
45
+ HI*BK:0340*BF:V7389~
46
+ LX*1~
47
+ SV1*HC:99213*40*UN*1***1~
48
+ DTP*472*D8*20061003~
49
+ LX*2~
50
+ SV1*HC:87070*15*UN*1***1~
51
+ DTP*472*D8*20061003~
52
+ LX*3~
53
+ SV1*HC:99214*35*UN*1***2~
54
+ DTP*472*D8*20061010~
55
+ LX*4~
56
+ SV1*HC:86663*10*UN*1***2~
57
+ DTP*472*D8*20061010~
58
+ SE*42*0021~
59
+ GE*1*1~
60
+ IEA*1*000000905~
@@ -0,0 +1,53 @@
1
+ Example 1 - Commercial Health Insurance
2
+
3
+ The patient is not the subscriber. The payer is a commercial health insurance company. The claim was routed through a Value Added Network (VAN)
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*244579*20061015*1023*CH~
9
+ NM1*41*2*PREMIER BILLING SERVICE*****46*TGJ23~
10
+ PER*IC*JERRY*TE*3055552222*EX*231~
11
+ NM1*40*2*KEY INSURANCE COMPANY*****46*66783JJT~
12
+ HL*1**20*1~
13
+ PRV*BI*PXC*207VG0400X~
14
+ NM1*85*2*BEN KILDARE SERVICE*****XX*1232343560~
15
+ N3*234 SEAWAY ST~
16
+ N4*MIAMI*FL*331112341~
17
+ REF*EI*587654321~
18
+ NM1*87*2~
19
+ N3*2345 OCEAN BLVD~
20
+ N4*MAIMI*FL*33111~
21
+ HL*2*1*22*1~
22
+ SBR*P**2222-SJ******CI~
23
+ NM1*IL*1*SMITH*JANE****MI*JS00111223333~
24
+ N3*1234 OAK STREET~
25
+ N4*MIAMI*FL*33111~
26
+ DMG*D8*19430501*F~
27
+ NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
28
+ N4*MIAMI*FL*33111~
29
+ REF*G2*KA6663~
30
+ HL*3*2*23*0~
31
+ PAT*19~
32
+ NM1*QC*1*SMITH*TED~
33
+ N3*236 N MAIN ST~
34
+ N4*MIAMI*FL*33413~
35
+ DMG*D8*19730501*M~
36
+ CLM*26463774*100***11:B:1*Y*A*Y*I~
37
+ REF*D9*17312345600006351~
38
+ HI*BK:0340*BF:V7389~
39
+ LX*1~
40
+ SV1*HC:99213*40*UN*1***1~
41
+ DTP*472*D8*20061003~
42
+ LX*2~
43
+ SV1*HC:87070*15*UN*1***1~
44
+ DTP*472*D8*20061003~
45
+ LX*3~
46
+ SV1*HC:99214*35*UN*1***2~
47
+ DTP*472*D8*20061010~
48
+ LX*4~
49
+ SV1*HC:86663*10*UN*1***2~
50
+ DTP*472*D8*20061010~
51
+ SE*45*0021~
52
+ GE*1*1~
53
+ IEA*1*000000905~
@@ -0,0 +1,52 @@
1
+ Drug Example 1 - Drug Administered in the Physician Office
2
+
3
+ Example of service in a physician office, which includes the billing for a drug administered in the office.
4
+
5
+ Errors Found in File 5010X222-10a
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
+ * W22004:Your data contains character(s) from the extended character set which may only be used by agreement between communicating parties.
10
+ * H25377:The 'Billing Provider Postal Zone or ZIP Code' must be the nine digit Zip code.
11
+ * H20205:Incomplete loop (2010BB). Missing HIPAA-required N4 (Payer City, State, ZIP Code).
12
+ * H20204:Code Value 'XY' at element 'NM108' is valid in the X12 standard, but not in this HIPAA implementation
13
+ * H51085:ICD9 Code '03591' not found in ICD9 database.
14
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
15
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
16
+ * H51090:NDC Code value '00026063512' not found in NDC database.
17
+
18
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
19
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
20
+ ST*837*0711*005010X222~
21
+ BHT*0019*00*0013*20040801*1200*CH~
22
+ NM1*41*2*Associates in Medicine*****46*587654321~
23
+ PER*IC*Bud Holly*TE*8017268899~
24
+ NM1*40*2*XYZ Receiver*****46*369852758~
25
+ HL*1**20*1~
26
+ NM1*85*2*Associates in Medicine*****XX*1234567893~
27
+ N3*1313 Las Vegas Boulevard~
28
+ N4*Las Vegas*NV*89109~
29
+ REF*EI*587654321~
30
+ HL*2*1*22*0~
31
+ SBR*P*18*GRP01020102******CI~
32
+ NM1*IL*1*Vaughn*Steve*R***MI*MBRID12345~
33
+ N3*236 Diamond ST~
34
+ N4*Las Vegas*NV*89109~
35
+ DMG*D8*19430501*M~
36
+ NM1*PR*2*R&R Health Plan*****XY*PLANID12345~
37
+ CLM*CLMNO12345*103.37***11:B:1*Y*A*Y*Y~
38
+ HI*BK:03591~
39
+ NM1*82*1*Hendrix*Jim****XX*1122333341~
40
+ PRV*PE*PXC*208D00000X~
41
+ LX*1~
42
+ SV1*HC:90782*50*UN*1*11**1~
43
+ DTP*472*D8*20040711~
44
+ LX*2~
45
+ SV1*HC:J1550*53.37*UN*1*11**1~
46
+ DTP*472*D8*20040711~
47
+ AMT*T*3.37~
48
+ LIN**N4*00026063512~
49
+ CTP****10*ML~
50
+ SE*31*0711~
51
+ GE*1*1~
52
+ IEA*1*000000905~
@@ -0,0 +1,40 @@
1
+ Drug Example 1 - Drug Administered in the Physician Office
2
+
3
+ Example of service in a physician office, which includes the billing for a drug administered in the office.
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*0711*005010X222~
8
+ BHT*0019*00*0013*20040801*1200*CH~
9
+ NM1*41*2*ASSOCIATES IN MEDICINE*****46*587654321~
10
+ PER*IC*BUD HOLLY*TE*8017268899~
11
+ NM1*40*2*XYZ RECEIVER*****46*369852758~
12
+ HL*1**20*1~
13
+ NM1*85*2*ASSOCIATES IN MEDICINE*****XX*1234567893~
14
+ N3*1313 LAS VEGAS BOULEVARD~
15
+ N4*LAS VEGAS*NV*891091313~
16
+ REF*EI*587654321~
17
+ HL*2*1*22*0~
18
+ SBR*P*18*GRP01020102******CI~
19
+ NM1*IL*1*VAUGHN*STEVE*R***MI*MBRID12345~
20
+ N3*236 DIAMOND ST~
21
+ N4*LAS VEGAS*NV*89109~
22
+ DMG*D8*19430501*M~
23
+ NM1*PR*2*R&R HEALTH PLAN*****PI*PLANID12345~
24
+ N4*LAS VEGAS*NV*89109~
25
+ CLM*CLMNO12345*103.37***11:B:1*Y*A*Y*Y~
26
+ HI*BK:3509~
27
+ NM1*82*1*HENDRIX*JIM****XX*1122333341~
28
+ PRV*PE*PXC*208D00000X~
29
+ LX*1~
30
+ SV1*HC:90782*50*UN*1***1~
31
+ DTP*472*D8*20040711~
32
+ LX*2~
33
+ SV1*HC:J1550*53.37*UN*1***1~
34
+ DTP*472*D8*20040711~
35
+ AMT*T*3.37~
36
+ LIN**N4*00002021007~
37
+ CTP****10*ML~
38
+ SE*32*0711~
39
+ GE*1*1~
40
+ IEA*1*000000905~
@@ -0,0 +1,99 @@
1
+ Drug Example 2 - Home Infusion Therapy Pharmacy
2
+
3
+ Example of services from a home infusion therapy pharmacy, which includes the billing for the drugs delivered for administration in the home. Adjudication will be from NDC number provided in Loop 2410.
4
+
5
+ Errors Found in File 5010X222-10b
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
+ * W22004:Your data contains character(s) from the extended character set which may only be used by agreement between communicating parties.
10
+ * H25377:The 'Billing Provider Postal Zone or ZIP Code' must be the nine digit Zip code.
11
+ * H20205:Incomplete loop (2010BB). Missing HIPAA-required N4 (Payer City, State, ZIP Code).
12
+ * H20204:Code Value 'XY' at element 'NM108' is valid in the X12 standard, but not in this HIPAA implementation
13
+ * W10046:Syntax Error for SV102, trailing zeros following the decimal point should be suppressed.
14
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
15
+ * H20205:Incomplete loop (2420E). Missing HIPAA-required N4 (Ordering Provider City, State, ZIP Code).
16
+ * W10046:Syntax Error for SV102, trailing zeros following the decimal point should be suppressed.
17
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
18
+ * H20205:Incomplete loop (2420E). Missing HIPAA-required N4 (Ordering Provider City, State, ZIP Code).
19
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
20
+ * H20205:Incomplete loop (2420E). Missing HIPAA-required N4 (Ordering Provider City, State, ZIP Code).
21
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
22
+ * H20205:Incomplete loop (2420E). Missing HIPAA-required N4 (Ordering Provider City, State, ZIP Code).
23
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
24
+ * H51090:NDC Code value '08290033010' not found in NDC database.
25
+ * H20205:Incomplete loop (2420E). Missing HIPAA-required N4 (Ordering Provider City, State, ZIP Code).
26
+ * W10046:Syntax Error for SV102, trailing zeros following the decimal point should be suppressed.
27
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
28
+ * H51090:NDC Code value '08290038005' not found in NDC database.
29
+ * H20205:Incomplete loop (2420E). Missing HIPAA-required N4 (Ordering Provider City, State, ZIP Code).
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*0711*005010X222~
34
+ BHT*0019*00*0013*20040301*1200*CH~
35
+ NM1*41*2*Quality Billing Service Corporation*****46*587654321~
36
+ PER*IC*Bud Holly*TE*8017268899~
37
+ NM1*40*2*XYZ Receiver*****46*369852758~
38
+ HL*1**20*1~
39
+ NM1*85*2*Professional Home IV, LLC*****XX*1234567893~
40
+ N3*1500 Industrial Drive~
41
+ N4*Libertyville*IL*60048~
42
+ REF*EI*10-1234567~
43
+ PER*IC*Brenda Holly*TE*8019999999~
44
+ HL*2*1*22*0~
45
+ SBR*P*18*GRP01020102******CI~
46
+ NM1*IL*1*Smith*Steve*A***MI*MBRID01234~
47
+ N3*15210 Juliet Lane~
48
+ N4*Libertyville*IL*60048~
49
+ DMG*D8*19430501*M~
50
+ NM1*PR*2*R&R Health Plan*****XY*PLANID12345~
51
+ CLM*CLMNO12345*2232.93***12:B:1*Y*A*Y*Y~
52
+ HI*BK:4659~
53
+ LX*1~
54
+ SV1*HC:S9500*1400.00*UN*7*12**1~
55
+ DTP*472*RD8*20040201-20040207~
56
+ NM1*DK*1*Welby*Marcus****XX*1112223338~
57
+ LX*2~
58
+ SV1*HC:S5001*682.50*UN*7*12**1~
59
+ DTP*472*RD8*20040201-20040207~
60
+ DTP*471*D8*20040130~
61
+ LIN**N4*00004196501~
62
+ CTP****7*UN~
63
+ REF*XZ*2530001~
64
+ NM1*DK*1*Welby*Marcus****XX*1112223338~
65
+ LX*3~
66
+ SV1*HC:S5000*15.12*UN*14*12**1~
67
+ DTP*472*RD8*20040201-20040207~
68
+ DTP*471*D8*20040130~
69
+ LIN**N4*63323024910~
70
+ CTP****14*UN~
71
+ REF*XZ*2530001~
72
+ NM1*DK*1*Welby*Marcus****XX*1112223338~
73
+ LX*4~
74
+ SV1*HC:S5000*67.69*UN*7*12**1~
75
+ DTP*472*RD8*20040201-20040207~
76
+ DTP*471*D8*20040130~
77
+ LIN**N4*00338004938~
78
+ CTP****7*UN~
79
+ REF*XZ*2530001~
80
+ NM1*DK*1*Welby*Marcus****XX*1112223338~
81
+ LX*5~
82
+ SV1*HC:S5000*57.12*UN*14*12**1~
83
+ DTP*472*RD8*20040201-20040207~
84
+ DTP*471*D8*20040130~
85
+ LIN**N4*08290033010~
86
+ CTP****14*UN~
87
+ REF*XZ*2530002~
88
+ NM1*DK*1*Welby*Marcus****XX*1112223338~
89
+ LX*6~
90
+ SV1*HC:S5000*10.50*UN*7*12**1~
91
+ DTP*472*RD8*20040201-20040207~
92
+ DTP*471*D8*20040130~
93
+ LIN**N4*08290038005~
94
+ CTP****7*UN~
95
+ REF*XZ*2530003~
96
+ NM1*DK*1*Welby*Marcus****XX*1112223338~
97
+ SE*65*0711~
98
+ GE*1*1~
99
+ IEA*1*000000905~
@@ -0,0 +1,80 @@
1
+ Drug Example 2 - Home Infusion Therapy Pharmacy
2
+
3
+ Example of services from a home infusion therapy pharmacy, which includes the billing for the drugs delivered for administration in the home. Adjudication will be from NDC number provided in Loop 2410.
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*0711*005010X222~
8
+ BHT*0019*00*0013*20040301*1200*CH~
9
+ NM1*41*2*QUALITY BILLING SERVICE CORPORATION*****46*587654321~
10
+ PER*IC*BUD HOLLY*TE*8017268899~
11
+ NM1*40*2*XYZ RECEIVER*****46*369852758~
12
+ HL*1**20*1~
13
+ NM1*85*2*PROFESSIONAL HOME IV, LLC*****XX*1234567893~
14
+ N3*1500 INDUSTRIAL DRIVE~
15
+ N4*LIBERTYVILLE*IL*600481500~
16
+ REF*EI*10-1234567~
17
+ PER*IC*BRENDA HOLLY*TE*8019999999~
18
+ HL*2*1*22*0~
19
+ SBR*P*18*GRP01020102******CI~
20
+ NM1*IL*1*SMITH*STEVE*A***MI*MBRID01234~
21
+ N3*15210 JULIET LANE~
22
+ N4*LIBERTYVILLE*IL*60048~
23
+ DMG*D8*19430501*M~
24
+ NM1*PR*2*R&R HEALTH PLAN*****PI*PLANID12345~
25
+ N4*ANYTOWN*IL*60049~
26
+ CLM*CLMNO12345*2232.93***12:B:1*Y*A*Y*Y~
27
+ HI*BK:4659~
28
+ LX*1~
29
+ SV1*HC:S9500*1400*UN*7***1~
30
+ DTP*472*RD8*20040201-20040207~
31
+ NM1*DK*1*WELBY*MARCUS****XX*1112223338~
32
+ N4*SPRINGVILLEI*IL*60050~
33
+ LX*2~
34
+ SV1*HC:S5001*682.5*UN*7***1~
35
+ DTP*472*RD8*20040201-20040207~
36
+ DTP*471*D8*20040130~
37
+ LIN**N4*00004196501~
38
+ CTP****7*UN~
39
+ REF*XZ*2530001~
40
+ NM1*DK*1*WELBY*MARCUS****XX*1112223338~
41
+ N4*SPRINGVILLEI*IL*60050~
42
+ LX*3~
43
+ SV1*HC:S5000*15.12*UN*14***1~
44
+ DTP*472*RD8*20040201-20040207~
45
+ DTP*471*D8*20040130~
46
+ LIN**N4*63323024910~
47
+ CTP****14*UN~
48
+ REF*XZ*2530001~
49
+ NM1*DK*1*WELBY*MARCUS****XX*1112223338~
50
+ N4*SPRINGVILLEI*IL*60050~
51
+ LX*4~
52
+ SV1*HC:S5000*67.69*UN*7***1~
53
+ DTP*472*RD8*20040201-20040207~
54
+ DTP*471*D8*20040130~
55
+ LIN**N4*00338004938~
56
+ CTP****7*UN~
57
+ REF*XZ*2530001~
58
+ NM1*DK*1*WELBY*MARCUS****XX*1112223338~
59
+ N4*SPRINGVILLEI*IL*60050~
60
+ LX*5~
61
+ SV1*HC:S5000*57.12*UN*14***1~
62
+ DTP*472*RD8*20040201-20040207~
63
+ DTP*471*D8*20040130~
64
+ LIN**N4*00002310430~
65
+ CTP****14*UN~
66
+ REF*XZ*2530002~
67
+ NM1*DK*1*WELBY*MARCUS****XX*1112223338~
68
+ N4*SPRINGVILLEI*IL*60050~
69
+ LX*6~
70
+ SV1*HC:S5000*10.5*UN*7***1~
71
+ DTP*472*RD8*20040201-20040207~
72
+ DTP*471*D8*20040130~
73
+ LIN**N4*00002322801~
74
+ CTP****7*UN~
75
+ REF*XZ*2530003~
76
+ NM1*DK*1*WELBY*MARCUS****XX*1112223338~
77
+ N4*SPRINGVILLEI*IL*60050~
78
+ SE*72*0711~
79
+ GE*1*1~
80
+ IEA*1*000000905~
@@ -0,0 +1,105 @@
1
+ Drug Example 3 - Home Infusion Therapy Pharmacy
2
+
3
+ Example of services from a home infusion therapy pharmacy, which includes the billing for the drugs delivered for administration in the home. Adjudication may be from either HCPCS code found in SV1 or NDC number provided in Loop 2410.
4
+
5
+ Errors Found in File 5010X222-10c
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
+ * W22004:Your data contains character(s) from the extended character set which may only be used by agreement between communicating parties.
10
+ * H25377:The 'Billing Provider Postal Zone or ZIP Code' must be the nine digit Zip code.
11
+ * H20205:Incomplete loop (2010BB). Missing HIPAA-required N4 (Payer City, State, ZIP Code).
12
+ * H20204:Code Value 'XY' at element 'NM108' is valid in the X12 standard, but not in this HIPAA implementation
13
+ * W10046:Syntax Error for SV102, trailing zeros following the decimal point should be suppressed.
14
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
15
+ * H20205:Incomplete loop (2420E). Missing HIPAA-required N4 (Ordering Provider City, State, ZIP Code).
16
+ * W10046:Syntax Error for SV102, trailing zeros following the decimal point should be suppressed.
17
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
18
+ * H20205:Incomplete loop (2420E). Missing HIPAA-required N4 (Ordering Provider City, State, ZIP Code).
19
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
20
+ * H20205:Incomplete loop (2420E). Missing HIPAA-required N4 (Ordering Provider City, State, ZIP Code).
21
+ * H46223:The Description should not be used if the 2410 loop is submitted.
22
+ * W10624:Invalid data found in element, may be un-displayable or cause problems in transmission
23
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
24
+ * H20205:Incomplete loop (2420E). Missing HIPAA-required N4 (Ordering Provider City, State, ZIP Code).
25
+ * H46223:The Description should not be used if the 2410 loop is submitted.
26
+ * W10624:Invalid data found in element, may be un-displayable or cause problems in transmission
27
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
28
+ * H51090:NDC Code value '08290033010' not found in NDC database.
29
+ * H20205:Incomplete loop (2420E). Missing HIPAA-required N4 (Ordering Provider City, State, ZIP Code).
30
+ * H46223:The Description should not be used if the 2410 loop is submitted.
31
+ * W10624:Invalid data found in element, may be un-displayable or cause problems in transmission
32
+ * W10046:Syntax Error for SV102, trailing zeros following the decimal point should be suppressed.
33
+ * H40480:The Place of Service Code at Service Line level is the same as the Place of Service Code at Claim level (CLM-05-1).
34
+ * H51090:NDC Code value '08290038005' not found in NDC database.
35
+ * H20205:Incomplete loop (2420E). Missing HIPAA-required N4 (Ordering Provider City, State, ZIP Code).
36
+
37
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
38
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
39
+ ST*837*0711*005010X222~
40
+ BHT*0019*00*0013*20040301*1200*CH~
41
+ NM1*41*2*Quality Billing Service Corporation*****46*587654321~
42
+ PER*IC*Bud Holly*TE*8017268899~
43
+ NM1*40*2*XYZ Receiver*****46*369852758~
44
+ HL*1**20*1~
45
+ NM1*85*2*Professional Home IV, LLC*****XX*1234567893~
46
+ N3*1500 Industrial Drive~
47
+ N4*Libertyville*IL*60048~
48
+ REF*EI*10-1234567~
49
+ PER*IC*Brenda Holly*TE*8019999999~
50
+ HL*2*1*22*0~
51
+ SBR*P*18*GRP01020102******CI~
52
+ NM1*IL*1*Smith*Steve*A***MI*MBRID01234~
53
+ N3*15210 Juliet Lane~
54
+ N4*Libertyville*IL*60048~
55
+ DMG*D8*19430501*M~
56
+ NM1*PR*2*R&R Health Plan*****XY*PLANID12345~
57
+ CLM*CLMNO12345*2232.93***12:B:1*Y*A*Y*Y~
58
+ HI*BK:4659~
59
+ LX*1~
60
+ SV1*HC:S9500*1400.00*UN*7*12**1~
61
+ DTP*472*RD8*20040201-20040207~
62
+ NM1*DK*1*Welby*Marcus****XX*1112223338~
63
+ LX*2~
64
+ SV1*HC:J0696*682.50*UN*56*12**1~
65
+ DTP*472*RD8*20040201-20040207~
66
+ DTP*471*D8*20040130~
67
+ LIN**N4*00004196501~
68
+ CTP****7*UN~
69
+ REF*XZ*2530001~
70
+ NM1*DK*1*Welby*Marcus****XX*1112223338~
71
+ LX*3~
72
+ SV1*HC:J7051*15.12*UN*28*12**1~
73
+ DTP*472*RD8*20040201-20040207~
74
+ DTP*471*D8*20040130~
75
+ LIN**N4*63323024910~
76
+ CTP****14*UN~
77
+ REF*XZ*2530001~
78
+ NM1*DK*1*Welby*Marcus****XX*1112223338~
79
+ LX*4~
80
+ SV1*HC:J3490:::::Sod Chl 0.9% see NDC#*67.69*UN*7*12**1~
81
+ DTP*472*RD8*20040201-20040207~
82
+ DTP*471*D8*20040130~
83
+ LIN**N4*00338004938~
84
+ CTP****7*UN~
85
+ REF*XZ*2530001~
86
+ NM1*DK*1*Welby*Marcus****XX*1112223338~
87
+ LX*5~
88
+ SV1*HC:J3490:::::Sod Chl 0.9% see NDC#*57.12*UN*14*12**1~
89
+ DTP*472*RD8*20040201-20040207~
90
+ DTP*471*D8*20040130~
91
+ LIN**N4*08290033010~
92
+ CTP****14*UN~
93
+ REF*XZ*2530002~
94
+ NM1*DK*1*Welby*Marcus****XX*1112223338~
95
+ LX*6~
96
+ SV1*HC:J3490:::::Hep Lock see NDC#*10.50*UN*7*12**1~
97
+ DTP*472*RD8*20040201-20040207~
98
+ DTP*471*D8*20040130~
99
+ LIN**N4*08290038005~
100
+ CTP****7*UN~
101
+ REF*XZ*2530003~
102
+ NM1*DK*1*Welby*Marcus****XX*1112223338~
103
+ SE*65*0711~
104
+ GE*1*1~
105
+ IEA*1*000000905~
@@ -0,0 +1,80 @@
1
+ Drug Example 3 - Home Infusion Therapy Pharmacy
2
+
3
+ Example of services from a home infusion therapy pharmacy, which includes the billing for the drugs delivered for administration in the home. Adjudication may be from either HCPCS code found in SV1 or NDC number provided in Loop 2410.
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*0711*005010X222~
8
+ BHT*0019*00*0013*20040301*1200*CH~
9
+ NM1*41*2*QUALITY BILLING SERVICE CORPORATION*****46*587654321~
10
+ PER*IC*BUD HOLLY*TE*8017268899~
11
+ NM1*40*2*XYZ RECEIVER*****46*369852758~
12
+ HL*1**20*1~
13
+ NM1*85*2*PROFESSIONAL HOME IV, LLC*****XX*1234567893~
14
+ N3*1500 INDUSTRIAL DRIVE~
15
+ N4*LIBERTYVILLE*IL*600481500~
16
+ REF*EI*10-1234567~
17
+ PER*IC*BRENDA HOLLY*TE*8019999999~
18
+ HL*2*1*22*0~
19
+ SBR*P*18*GRP01020102******CI~
20
+ NM1*IL*1*SMITH*STEVE*A***MI*MBRID01234~
21
+ N3*15210 JULIET LANE~
22
+ N4*LIBERTYVILLE*IL*60048~
23
+ DMG*D8*19430501*M~
24
+ NM1*PR*2*R&R HEALTH PLAN*****PI*PLANID12345~
25
+ N4*SPRINGVILLE*IL*60049~
26
+ CLM*CLMNO12345*2232.93***12:B:1*Y*A*Y*Y~
27
+ HI*BK:4659~
28
+ LX*1~
29
+ SV1*HC:S9500*1400*UN*7***1~
30
+ DTP*472*RD8*20040201-20040207~
31
+ NM1*DK*1*WELBY*MARCUS****XX*1112223338~
32
+ N4*LIBERTYVILLE*IL*60048~
33
+ LX*2~
34
+ SV1*HC:J0696*682.5*UN*56***1~
35
+ DTP*472*RD8*20040201-20040207~
36
+ DTP*471*D8*20040130~
37
+ LIN**N4*00004196501~
38
+ CTP****7*UN~
39
+ REF*XZ*2530001~
40
+ NM1*DK*1*WELBY*MARCUS****XX*1112223338~
41
+ N4*LIBERTYVILLE*IL*60048~
42
+ LX*3~
43
+ SV1*HC:J7051*15.12*UN*28***1~
44
+ DTP*472*RD8*20040201-20040207~
45
+ DTP*471*D8*20040130~
46
+ LIN**N4*63323024910~
47
+ CTP****14*UN~
48
+ REF*XZ*2530001~
49
+ NM1*DK*1*WELBY*MARCUS****XX*1112223338~
50
+ N4*LIBERTYVILLE*IL*60048~
51
+ LX*4~
52
+ SV1*HC:J3490*67.69*UN*7***1~
53
+ DTP*472*RD8*20040201-20040207~
54
+ DTP*471*D8*20040130~
55
+ LIN**N4*00338004938~
56
+ CTP****7*UN~
57
+ REF*XZ*2530001~
58
+ NM1*DK*1*WELBY*MARCUS****XX*1112223338~
59
+ N4*LIBERTYVILLE*IL*60048~
60
+ LX*5~
61
+ SV1*HC:J3490*57.12*UN*14***1~
62
+ DTP*472*RD8*20040201-20040207~
63
+ DTP*471*D8*20040130~
64
+ LIN**N4*00002322807~
65
+ CTP****14*UN~
66
+ REF*XZ*2530002~
67
+ NM1*DK*1*WELBY*MARCUS****XX*1112223338~
68
+ N4*LIBERTYVILLE*IL*60048~
69
+ LX*6~
70
+ SV1*HC:J3490*10.5*UN*7***1~
71
+ DTP*472*RD8*20040201-20040207~
72
+ DTP*471*D8*20040130~
73
+ LIN**N4*00002323703~
74
+ CTP****7*UN~
75
+ REF*XZ*2530003~
76
+ NM1*DK*1*WELBY*MARCUS****XX*1112223338~
77
+ N4*LIBERTYVILLE*IL*60048~
78
+ SE*72*0711~
79
+ GE*1*1~
80
+ IEA*1*000000905~