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,54 @@
1
+ Business Scenario 1 - Claim Level Status - Response
2
+
3
+ The following is the 277 transmission ABC Insurance sent in response to the 276 transmission from XYZ Service for the claims included in the request transmission.
4
+
5
+ Errors Found in File 277 5010X212-1
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HN'
8
+ * H11204:Code Value 'XX' not used for element 'GS01'
9
+ * H24402:The value '1666666661' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
10
+ * H24402:The value '1666666666' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
11
+ * H46464:The Claim Payment Amount was found but not expected since the Adjudication Finalized Date was not present.
12
+
13
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
14
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
15
+ ST*277*0001*005010X212~
16
+ BHT*0010*08*277X212*20050916*0810*DG~
17
+ HL*1**20*1~
18
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
19
+ HL*2*1*21*1~
20
+ NM1*41*2*XYZ SERVICE*****46*X67E~
21
+ HL*3*2*19*1~
22
+ NM1*1P*2*HOME HOSPITAL*****XX*1666666661~
23
+ HL*4*3*22*0~
24
+ NM1*IL*1*SMITH*FRED****MI*123456789A~
25
+ TRN*2*ABCXYZ1~
26
+ STC*P3:317*20050913**8513.88~
27
+ REF*1K*05347006051~
28
+ REF*BLT*111~
29
+ REF*EJ*SM123456~
30
+ DTP*472*RD8*20050831-20050906~
31
+ HL*5*3*22*0~
32
+ NM1*IL*1*JONES*MARY****MI*234567890A~
33
+ TRN*2*ABCXYZ2~
34
+ STC*F0:3*20050915**7599*7599~
35
+ REF*1K*0529675341~
36
+ REF*BLT*111~
37
+ REF*EJ*JO234567~
38
+ DTP*472*RD8*20050731-20050809~
39
+ HL*6*2*19*1~
40
+ NM1*1P*2*HOME HOSPITAL PHYSICIANS*****XX*1666666666~
41
+ HL*7*6*22*1~
42
+ NM1*IL*1*MANN*JOHN****MI*345678901~
43
+ HL*8*7*23~
44
+ NM1*QC*1*MANN*JOSEPH~
45
+ TRN*2*ABCXYC3~
46
+ STC*F2:88:QC*20050612**150*0~
47
+ REF*1K*051681010827~
48
+ REF*EJ*MA345678~
49
+ SVC*HC:99203*150*0****1~
50
+ STC*F2:88:QC*20050612~
51
+ DTP*472*D8*20050501~
52
+ SE*38*0001~
53
+ GE*1*1~
54
+ IEA*1*000000905~
@@ -0,0 +1,46 @@
1
+ Business Scenario 1 - Claim Level Status - Response
2
+
3
+ The following is the 277 transmission ABC Insurance sent in response to the 276 transmission from XYZ Service for the claims included in the request transmission.
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
6
+ GS*HN*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
7
+ ST*277*0001*005010X212~
8
+ BHT*0010*08*277X212*20050916*0810*DG~
9
+ HL*1**20*1~
10
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
11
+ HL*2*1*21*1~
12
+ NM1*41*2*XYZ SERVICE*****46*X67E~
13
+ HL*3*2*19*1~
14
+ NM1*1P*2*HOME HOSPITAL*****XX*1666666668~
15
+ HL*4*3*22*0~
16
+ NM1*IL*1*SMITH*FRED****MI*123456789A~
17
+ TRN*2*ABCXYZ1~
18
+ STC*P3:317*20050913**8513.88~
19
+ REF*1K*05347006051~
20
+ REF*BLT*111~
21
+ REF*EJ*SM123456~
22
+ DTP*472*RD8*20050831-20050906~
23
+ HL*5*3*22*0~
24
+ NM1*IL*1*JONES*MARY****MI*234567890A~
25
+ TRN*2*ABCXYZ2~
26
+ STC*F0:3*20050915**7599*7599~
27
+ REF*1K*0529675341~
28
+ REF*BLT*111~
29
+ REF*EJ*JO234567~
30
+ DTP*472*RD8*20050731-20050809~
31
+ HL*6*2*19*1~
32
+ NM1*1P*2*HOME HOSPITAL PHYSICIANS*****XX*1666666650~
33
+ HL*7*6*22*1~
34
+ NM1*IL*1*MANN*JOHN****MI*345678901~
35
+ HL*8*7*23~
36
+ NM1*QC*1*MANN*JOSEPH~
37
+ TRN*2*ABCXYC3~
38
+ STC*F2:88:QC*20050612**150*0*20050901~
39
+ REF*1K*051681010827~
40
+ REF*EJ*MA345678~
41
+ SVC*HC:99203*150*0****1~
42
+ STC*F2:88:QC*20050612~
43
+ DTP*472*D8*20050501~
44
+ SE*38*0001~
45
+ GE*1*1~
46
+ IEA*1*000000905~
@@ -0,0 +1,37 @@
1
+ Business Scenario 2 - Provider Level Status - Response
2
+
3
+ The following is the 277 transmission ABC Insurance sent in response to the 276 transmission from XYZ Service for the claims included in the request transmission.
4
+
5
+ Errors Found in File 277 5010X212-2
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HN'
8
+ * H11204:Code Value 'XX' not used for element 'GS01'
9
+ * H24402:The value '1666666661' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
10
+ * H20617:The value '6166666666' does not match the format for a "HIPAA National Provider ID (NPI)"
11
+ * H20204:Code Value '85' at element 'STC0103' is valid in the X12 standard, but not in this HIPAA implementation
12
+
13
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
14
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
15
+ ST*277*0001*005010X212~
16
+ BHT*0010*08*277X212*20050916*0810*DG~
17
+ HL*1**20*1~
18
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
19
+ HL*2*1*21*1~
20
+ NM1*41*2*XYZ SERVICE*****46*X67E~
21
+ HL*3*2*19*1~
22
+ NM1*1P*2*HOME HOSPITAL*****XX*1666666661~
23
+ HL*4*3*22*0~
24
+ NM1*IL*1*SMITH*FRED****MI*123456789A~
25
+ TRN*2*ABCXYZ1~
26
+ STC*P3:317*20050913**8513.88~
27
+ REF*1K*05347006051~
28
+ REF*BLT*111~
29
+ REF*EJ*SM123456~
30
+ DTP*472*RD8*20050831-20050906~
31
+ HL*5*2*19*0~
32
+ NM1*1P*2*HOME HOSPITAL PHYSICIANS*****XX*6166666666~
33
+ TRN*1*0~
34
+ STC*E0:24:85*20050916~
35
+ SE*21*0001~
36
+ GE*1*1~
37
+ IEA*1*000000905~
@@ -0,0 +1,29 @@
1
+ Business Scenario 2 - Provider Level Status - Response
2
+
3
+ The following is the 277 transmission ABC Insurance sent in response to the 276 transmission from XYZ Service for the claims included in the request transmission.
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
6
+ GS*HN*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
7
+ ST*277*0001*005010X212~
8
+ BHT*0010*08*277X212*20050916*0810*DG~
9
+ HL*1**20*1~
10
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
11
+ HL*2*1*21*1~
12
+ NM1*41*2*XYZ SERVICE*****46*X67E~
13
+ HL*3*2*19*1~
14
+ NM1*1P*2*HOME HOSPITAL*****XX*1666666668~
15
+ HL*4*3*22*0~
16
+ NM1*IL*1*SMITH*FRED****MI*123456789A~
17
+ TRN*2*ABCXYZ1~
18
+ STC*P3:317*20050913**8513.88~
19
+ REF*1K*05347006051~
20
+ REF*BLT*111~
21
+ REF*EJ*SM123456~
22
+ DTP*472*RD8*20050831-20050906~
23
+ HL*5*2*19*0~
24
+ NM1*1P*2*HOME HOSPITAL PHYSICIANS*****XX*1666666650~
25
+ TRN*1*0~
26
+ STC*E0:24:1P*20050916~
27
+ SE*21*0001~
28
+ GE*1*1~
29
+ IEA*1*000000905~
@@ -0,0 +1,22 @@
1
+ Business Scenario 3 - Information Receiver Level Status - Response
2
+
3
+ The following is the 277 transmission ABC Insurance sent in response to the 276 transmission from XYZ Service
4
+
5
+ Errors Found in File 277 5010X212-3
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HN'
8
+ * H11204:Code Value 'XX' not used for element 'GS01'
9
+
10
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
11
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
12
+ ST*277*0001*005010X212~
13
+ BHT*0010*08*277X212*20050916*0810*DG~
14
+ HL*1**20*1~
15
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
16
+ HL*2*1*21*0~
17
+ NM1*41*2*XYZ SERVICE*****46*X67E~
18
+ TRN*2*ABC276XXX~
19
+ STC*E0:0*20050916~
20
+ SE*9*0001~
21
+ GE*1*1~
22
+ IEA*1*000000905~
@@ -0,0 +1,17 @@
1
+ Business Scenario 3 - Information Receiver Level Status - Response
2
+
3
+ The following is the 277 transmission ABC Insurance sent in response to the 276 transmission from XYZ Service
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
6
+ GS*HN*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
7
+ ST*277*0001*005010X212~
8
+ BHT*0010*08*277X212*20050916*0810*DG~
9
+ HL*1**20*1~
10
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
11
+ HL*2*1*21*0~
12
+ NM1*41*2*XYZ SERVICE*****46*X67E~
13
+ TRN*2*ABC276XXX~
14
+ STC*E0:0*20050916~
15
+ SE*9*0001~
16
+ GE*1*1~
17
+ IEA*1*000000905~
@@ -0,0 +1,30 @@
1
+ Business Scenario 4 - Claim Level Status with NCPDP Reject/Payment Code � Response
2
+
3
+ This example is the 277 transmission which ABC Insurance sent in response to the 276 transmission from XYZ Service regarding the pharmacy claim status.
4
+
5
+ Errors Found in File 277 5010X212-4
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HN'
8
+ * H11204:Code Value 'XX' not used for element 'GS01'
9
+ * H24402:The value '1666666662' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
10
+
11
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
12
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
13
+ ST*277*0001*005010X212~
14
+ BHT*0010*08*277X212*20060415*0810*DG~
15
+ HL*1**20*1~
16
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
17
+ HL*2*1*21*1~
18
+ NM1*41*2*XYZ SERVICE*****46*X67E~
19
+ HL*3*2*19*1~
20
+ NM1*1P*2*HOME HOSPITAL PHARMACY*****XX*1666666662~
21
+ HL*4*3*22*0~
22
+ NM1*IL*1*SMITH*FRED****MI*123456789012~
23
+ TRN*2*ABCXYZ1~
24
+ STC*F2:80::RX*20060301**85*0~
25
+ REF*1K*05347006051~
26
+ REF*XZ*7654321~
27
+ DTP*472*D8*20060301~
28
+ SE*16*0001~
29
+ GE*1*1~
30
+ IEA*1*000000905~
@@ -0,0 +1,24 @@
1
+ Business Scenario 4 - Claim Level Status with NCPDP Reject/Payment Code � Response
2
+
3
+ This example is the 277 transmission which ABC Insurance sent in response to the 276 transmission from XYZ Service regarding the pharmacy claim status.
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
6
+ GS*HN*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
7
+ ST*277*0001*005010X212~
8
+ BHT*0010*08*277X212*20060415*0810*DG~
9
+ HL*1**20*1~
10
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
11
+ HL*2*1*21*1~
12
+ NM1*41*2*XYZ SERVICE*****46*X67E~
13
+ HL*3*2*19*1~
14
+ NM1*1P*2*HOME HOSPITAL PHARMACY*****XX*1666666668~
15
+ HL*4*3*22*0~
16
+ NM1*IL*1*SMITH*FRED****MI*123456789012~
17
+ TRN*2*ABCXYZ1~
18
+ STC*F2:80::RX*20060301**85*0~
19
+ REF*1K*05347006051~
20
+ REF*XZ*7654321~
21
+ DTP*472*D8*20060301~
22
+ SE*16*0001~
23
+ GE*1*1~
24
+ IEA*1*000000905~
@@ -0,0 +1,53 @@
1
+ Business Scenario 1 - Claim Level Status - Request
2
+
3
+ ABC Insurance is both the Medicare Part A Fiscal Intermediary and a PPO. XYZ Service is a Clearinghouse. Home Hospital and Home Hospital Physicians use XYZ Service to submit electronic claims and claim status requests to ABC Insurance.
4
+
5
+ The following example represents the 276 transmission XYZ Service sent to ABC requesting the status of three claims.
6
+
7
+ Errors Found in File 276 5010X212-1
8
+ * W10009:Padding, spaces or control characters detected after segment terminator.
9
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HR'
10
+ * H11204:Code Value 'XX' not used for element 'GS01'
11
+ * H24402:The value '1666666661' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
12
+ * H24402:The value '1666666666' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
13
+
14
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
15
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
16
+ ST*276*0001*005010X212~
17
+ BHT*0010*13*ABC276XXX*20050915*1425~
18
+ HL*1**20*1~
19
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
20
+ HL*2*1*21*1~
21
+ NM1*41*2*XYZ SERVICE*****46*X67E~
22
+ HL*3*2*19*1~
23
+ NM1*1P*2*HOME HOSPITAL*****XX*1666666661~
24
+ HL*4*3*22*0~
25
+ DMG*D8*19301210*M~
26
+ NM1*IL*1*SMITH*FRED****MI*123456789A~
27
+ TRN*1*ABCXYZ1~
28
+ REF*BLT*111~
29
+ REF*EJ*SM123456~
30
+ AMT*T3*8513.88~
31
+ DTP*472*RD8*20050831-20050906~
32
+ HL*5*3*22*0~
33
+ DMG*D8*19301115*F~
34
+ NM1*IL*1*JONES*MARY****MI*234567890A~
35
+ TRN*1*ABCXYZ2~
36
+ REF*BLT*111~
37
+ REF*EJ*JO234567~
38
+ AMT*T3*7599~
39
+ DTP*472*RD8*20050731-20050809~
40
+ HL*6*2*19*1~
41
+ NM1*1P*2*HOME HOSPITAL PHYSICIANS*****XX*1666666666~
42
+ HL*7*6*22*1~
43
+ NM1*IL*1*MANN*JOHN****MI*345678901~
44
+ HL*8*7*23~
45
+ DMG*D8*19951101*M~
46
+ NM1*QC*1*MANN*JOSEPH~
47
+ TRN*1*ABCXYZ3~
48
+ REF*EJ*MA345678~
49
+ SVC*HC:99203*150*****1~
50
+ DTP*472*D8*20050501~
51
+ SE*36*0001~
52
+ GE*1*1~
53
+ IEA*1*000000905~
@@ -0,0 +1,46 @@
1
+ Business Scenario 1 - Claim Level Status - Request
2
+
3
+ ABC Insurance is both the Medicare Part A Fiscal Intermediary and a PPO. XYZ Service is a Clearinghouse. Home Hospital and Home Hospital Physicians use XYZ Service to submit electronic claims and claim status requests to ABC Insurance.
4
+
5
+ The following example represents the 276 transmission XYZ Service sent to ABC requesting the status of three claims.
6
+
7
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
8
+ GS*HR*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
9
+ ST*276*0001*005010X212~
10
+ BHT*0010*13*ABC276XXX*20050915*1425~
11
+ HL*1**20*1~
12
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
13
+ HL*2*1*21*1~
14
+ NM1*41*2*XYZ SERVICE*****46*X67E~
15
+ HL*3*2*19*1~
16
+ NM1*1P*2*HOME HOSPITAL*****XX*1666666668~
17
+ HL*4*3*22*0~
18
+ DMG*D8*19301210*M~
19
+ NM1*IL*1*SMITH*FRED****MI*123456789A~
20
+ TRN*1*ABCXYZ1~
21
+ REF*BLT*111~
22
+ REF*EJ*SM123456~
23
+ AMT*T3*8513.88~
24
+ DTP*472*RD8*20050831-20050906~
25
+ HL*5*3*22*0~
26
+ DMG*D8*19301115*F~
27
+ NM1*IL*1*JONES*MARY****MI*234567890A~
28
+ TRN*1*ABCXYZ2~
29
+ REF*BLT*111~
30
+ REF*EJ*JO234567~
31
+ AMT*T3*7599~
32
+ DTP*472*RD8*20050731-20050809~
33
+ HL*6*2*19*1~
34
+ NM1*1P*2*HOME HOSPITAL PHYSICIANS*****XX*1666666668~
35
+ HL*7*6*22*1~
36
+ NM1*IL*1*MANN*JOHN****MI*345678901~
37
+ HL*8*7*23~
38
+ DMG*D8*19951101*M~
39
+ NM1*QC*1*MANN*JOSEPH~
40
+ TRN*1*ABCXYZ3~
41
+ REF*EJ*MA345678~
42
+ SVC*HC:99203*150*****1~
43
+ DTP*472*D8*20050501~
44
+ SE*36*0001~
45
+ GE*1*1~
46
+ IEA*1*000000905~
@@ -0,0 +1,45 @@
1
+ Business Scenario 2 - Provider Level Status - Request
2
+
3
+ ABC Insurance is both the Medicare Part A Fiscal Intermediary and a PPO. XYZ Service is a Clearinghouse. Home Hospital and Home Hospital Physicians use XYZ Service to submit electronic claims and claim status requests to ABC Insurance.
4
+
5
+ The following example represents the 276 transmission XYZ Service sent to ABC requesting the status of two claims.
6
+
7
+ Errors Found in File 276 5010X212-2
8
+ * W10009:Padding, spaces or control characters detected after segment terminator.
9
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HR'
10
+ * H11204:Code Value 'XX' not used for element 'GS01'
11
+ * H24402:The value '1666666661' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
12
+ * H20617:The value '6166666666' does not match the format for a "HIPAA National Provider ID (NPI)"
13
+
14
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
15
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
16
+ ST*276*0001*005010X212~
17
+ BHT*0010*13*ABC276XXX*20050915*1425~
18
+ HL*1**20*1~
19
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
20
+ HL*2*1*21*1~
21
+ NM1*41*2*XYZ SERVICE*****46*X67E~
22
+ HL*3*2*19*1~
23
+ NM1*1P*2*HOME HOSPITAL*****XX*1666666661~
24
+ HL*4*3*22*0~
25
+ DMG*D8*19301210*M~
26
+ NM1*IL*1*SMITH*FRED****MI*123456789A~
27
+ TRN*1*ABCXYZ1~
28
+ REF*BLT*111~
29
+ REF*EJ*SM123456~
30
+ AMT*T3*8513.88~
31
+ DTP*472*RD8*20050831-20050906~
32
+ HL*5*2*19*1~
33
+ NM1*1P*2*HOME HOSPITAL PHYSICIANS*****XX*6166666666~
34
+ HL*6*5*22*1~
35
+ NM1*IL*1*MANN*JOHN****MI*345678901~
36
+ HL*7*6*23~
37
+ DMG*D8*19951101*M~
38
+ NM1*QC*1*MANN*JOSEPH~
39
+ TRN*1*ABCXYZ3~
40
+ REF*EJ*MA345678~
41
+ SVC*HC:99203*150*****1~
42
+ DTP*472*D8*20050501~
43
+ SE*28*0001~
44
+ GE*1*1~
45
+ IEA*1*000000905~
@@ -0,0 +1,38 @@
1
+ Business Scenario 2 - Provider Level Status - Request
2
+
3
+ ABC Insurance is both the Medicare Part A Fiscal Intermediary and a PPO. XYZ Service is a Clearinghouse. Home Hospital and Home Hospital Physicians use XYZ Service to submit electronic claims and claim status requests to ABC Insurance.
4
+
5
+ The following example represents the 276 transmission XYZ Service sent to ABC requesting the status of two claims.
6
+
7
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
8
+ GS*HR*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
9
+ ST*276*0001*005010X212~
10
+ BHT*0010*13*ABC276XXX*20050915*1425~
11
+ HL*1**20*1~
12
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
13
+ HL*2*1*21*1~
14
+ NM1*41*2*XYZ SERVICE*****46*X67E~
15
+ HL*3*2*19*1~
16
+ NM1*1P*2*HOME HOSPITAL*****XX*1666666668~
17
+ HL*4*3*22*0~
18
+ DMG*D8*19301210*M~
19
+ NM1*IL*1*SMITH*FRED****MI*123456789A~
20
+ TRN*1*ABCXYZ1~
21
+ REF*BLT*111~
22
+ REF*EJ*SM123456~
23
+ AMT*T3*8513.88~
24
+ DTP*472*RD8*20050831-20050906~
25
+ HL*5*2*19*1~
26
+ NM1*1P*2*HOME HOSPITAL PHYSICIANS*****XX*1666666650~
27
+ HL*6*5*22*1~
28
+ NM1*IL*1*MANN*JOHN****MI*345678901~
29
+ HL*7*6*23~
30
+ DMG*D8*19951101*M~
31
+ NM1*QC*1*MANN*JOSEPH~
32
+ TRN*1*ABCXYZ3~
33
+ REF*EJ*MA345678~
34
+ SVC*HC:99203*150*****1~
35
+ DTP*472*D8*20050501~
36
+ SE*28*0001~
37
+ GE*1*1~
38
+ IEA*1*000000905~
@@ -0,0 +1,32 @@
1
+ Business Scenario 3 - Information Receiver Level Status - Request
2
+
3
+ ABC Insurance is a Medicare Part A Fiscal Intermediary. XYZ Service is a Clearinghouse. Home Hospital uses XYZ Service to submit electronic claims and claim status requests to ABC Insurance.
4
+ The following example represents the 276 transmission XYZ Service sent to ABC requesting the status of one claim.
5
+
6
+ Errors Found in File 276 5010X212-3
7
+ * W10009:Padding, spaces or control characters detected after segment terminator.
8
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HR'
9
+ * H11204:Code Value 'XX' not used for element 'GS01'
10
+ * H24402:The value '1666666661' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
11
+
12
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
13
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
14
+ ST*276*0001*005010X212~
15
+ BHT*0010*13*ABC276XXX*20050915*1425~
16
+ HL*1**20*1~
17
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
18
+ HL*2*1*21*1~
19
+ NM1*41*2*XYZ SERVICE*****46*X67E~
20
+ HL*3*2*19*1~
21
+ NM1*1P*2*HOME HOSPITAL*****XX*1666666661~
22
+ HL*4*3*22*0~
23
+ DMG*D8*19301210*M~
24
+ NM1*IL*1*SMITH*FRED****MI*123456789A~
25
+ TRN*1*ABCXYZ1~
26
+ REF*BLT*111~
27
+ REF*EJ*SM123456~
28
+ AMT*T3*8513.88~
29
+ DTP*472*RD8*20050831-20050906~
30
+ SE*17*0001~
31
+ GE*1*1~
32
+ IEA*1*000000905~
@@ -0,0 +1,26 @@
1
+ Business Scenario 3 - Information Receiver Level Status - Request
2
+
3
+ ABC Insurance is a Medicare Part A Fiscal Intermediary. XYZ Service is a Clearinghouse. Home Hospital uses XYZ Service to submit electronic claims and claim status requests to ABC Insurance.
4
+ The following example represents the 276 transmission XYZ Service sent to ABC requesting the status of one claim.
5
+
6
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
7
+ GS*HR*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
8
+ ST*276*0001*005010X212~
9
+ BHT*0010*13*ABC276XXX*20050915*1425~
10
+ HL*1**20*1~
11
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
12
+ HL*2*1*21*1~
13
+ NM1*41*2*XYZ SERVICE*****46*X67E~
14
+ HL*3*2*19*1~
15
+ NM1*1P*2*HOME HOSPITAL*****XX*1666666668~
16
+ HL*4*3*22*0~
17
+ DMG*D8*19301210*M~
18
+ NM1*IL*1*SMITH*FRED****MI*123456789A~
19
+ TRN*1*ABCXYZ1~
20
+ REF*BLT*111~
21
+ REF*EJ*SM123456~
22
+ AMT*T3*8513.88~
23
+ DTP*472*RD8*20050831-20050906~
24
+ SE*17*0001~
25
+ GE*1*1~
26
+ IEA*1*000000905~
@@ -0,0 +1,32 @@
1
+ Business Scenario 4 - Claim Level Status with NCPDP Reject/Payment Code - Request
2
+
3
+ ABC Insurance is a Medicaid Fiscal Agent. XYZ Service is a Clearinghouse. Home Hospital Pharmacy uses XYZ Service to submit electronic claims and claim status requests to ABC Insurance.
4
+
5
+ The following is a 276 transmission XYZ Services sent to ABC Insurance requesting the status of a pharmacy claim.
6
+
7
+ Errors Found in File 276 5010X212-4
8
+ * W10009:Padding, spaces or control characters detected after segment terminator.
9
+ * H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HR'
10
+ * H11204:Code Value 'XX' not used for element 'GS01'
11
+ * H24402:The value '1666666662' fails the check digit algorithm for the "HIPAA National Provider ID (NPI)"
12
+
13
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
14
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
15
+ ST*276*0001*005010X212~
16
+ BHT*0010*13*ABC276XXX*20060415*1425~
17
+ HL*1**20*1~
18
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
19
+ HL*2*1*21*1~
20
+ NM1*41*2*XYZ SERVICE*****46*X67E~
21
+ HL*3*2*19*1~
22
+ NM1*1P*2*HOME HOSPITAL PHARMACY*****XX*1666666662~
23
+ HL*4*3*22*0~
24
+ DMG*D8*19301210*M~
25
+ NM1*IL*1*SMITH*FRED****MI*123456789012~
26
+ TRN*1*ABCXYZ1~
27
+ REF*XZ*7654321~
28
+ AMT*T3*85~
29
+ DTP*472*D8*20060301~
30
+ SE*16*0001~
31
+ GE*1*1~
32
+ IEA*1*000000905~
@@ -0,0 +1,26 @@
1
+ Business Scenario 4 - Claim Level Status with NCPDP Reject/Payment Code - Request
2
+
3
+ ABC Insurance is a Medicaid Fiscal Agent. XYZ Service is a Clearinghouse. Home Hospital Pharmacy uses XYZ Service to submit electronic claims and claim status requests to ABC Insurance.
4
+
5
+ The following is a 276 transmission XYZ Services sent to ABC Insurance requesting the status of a pharmacy claim.
6
+
7
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
8
+ GS*HR*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X212~
9
+ ST*276*0001*005010X212~
10
+ BHT*0010*13*ABC276XXX*20060415*1425~
11
+ HL*1**20*1~
12
+ NM1*PR*2*ABC INSURANCE*****PI*12345~
13
+ HL*2*1*21*1~
14
+ NM1*41*2*XYZ SERVICE*****46*X67E~
15
+ HL*3*2*19*1~
16
+ NM1*1P*2*HOME HOSPITAL PHARMACY*****XX*1666666668~
17
+ HL*4*3*22*0~
18
+ DMG*D8*19301210*M~
19
+ NM1*IL*1*SMITH*FRED****MI*123456789012~
20
+ TRN*1*ABCXYZ1~
21
+ REF*XZ*7654321~
22
+ AMT*T3*85~
23
+ DTP*472*D8*20060301~
24
+ SE*16*0001~
25
+ GE*1*1~
26
+ IEA*1*000000905~
@@ -0,0 +1,58 @@
1
+ Business Scenario 1: Clearinghouse
2
+
3
+ In the following example, Best Billing Service submitted an ANSI 837 Professional claim file to First Clearinghouse on February 5, 2006 for Smith Clinic. First Clearinghouse processed the file on February 5, 2006 and notified Best Billing Service that although the file for charges totaling $1,000.00 was accepted, there were individual claims that were rejected.
4
+
5
+ Errors Found in File 277 Acknowledgment 5010X214-1
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * B25133:The value of '46' should only be used for non-health plan entities.
8
+ * H20204:Code Value '24' at element 'NM108' is valid in the X12 standard, but not in this HIPAA implementation.
9
+ * W45251:The Claim ID Number for Clearinghouses was not found but was expected because 2100A/NM101 = AY.
10
+ * H20204:Code Value '232' at element 'DTP01' is valid in the X12 standard, but not in this HIPAA implementation.
11
+ * W45251:The Claim ID Number for Clearinghouses was not found but was expected because 2100A/NM101 = AY.
12
+ * H20204:Code Value '232' at element 'DTP01' is valid in the X12 standard, but not in this HIPAA implementation.
13
+ * H51121:This Status Code is not valid.
14
+ * H20203:Element STC1004 is present, though marked 'Not Used'.
15
+ * W45251:The Claim ID Number for Clearinghouses was not found but was expected because 2100A/NM101 = AY.
16
+ * H20204:Code Value '232' at element 'DTP01' is valid in the X12 standard, but not in this HIPAA implementation.
17
+
18
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*060205*1253*^*00501*000000905*1*P*:~
19
+ GS*HN*SENDER CODE*RECEIVER CODE*20060205*0802*1*X*005010X214~
20
+ ST*277*0001*005010X214~
21
+ BHT*0085*08*277X2140001*20060205*1635*TH~
22
+ HL*1**20*1~
23
+ NM1*AY*2*FIRST CLEARINGHOUSE*****46*CLHR00~
24
+ TRN*1*200102051635S00001ABCDEF~
25
+ DTP*050*D8*20060205~
26
+ DTP*009*D8*20060205~
27
+ HL*2*1*21*1~
28
+ NM1*41*2*BEST BILLING SERVICE*****46*S00001~
29
+ TRN*2*2002020542857~
30
+ STC*A0:16:PR*20060205*WQ*1000~
31
+ QTY*90*1~
32
+ QTY*AA*2~
33
+ AMT*YU*200~
34
+ AMT*YY*800~
35
+ HL*3*2*19*1~
36
+ NM1*85*2*SMITH CLINIC*****24*123456789~
37
+ HL*4*3*PT~
38
+ NM1*QC*1*DOE*JOHN****MI*00ABCD1234~
39
+ TRN*2*DOE01428~
40
+ STC*A0:16:PR*20060205*WQ*200~
41
+ REF*1K*22029500123407X~
42
+ DTP*232*RD8*20060128-20060131~
43
+ HL*5*3*PT~
44
+ NM1*QC*1*DOE*JANE****MI*45613027602~
45
+ TRN*2*DOE0221~
46
+ STC*A3:21:82*20060205*U*500~
47
+ DTP*232*RD8*20060115-20060115~
48
+ SVC*HC:22305:22*350*****1~
49
+ STC*A3:122**U*******A3:153:82:65~
50
+ REF*FJ*11~
51
+ HL*6*3*PT~
52
+ NM1*QC*1*VEST*HELEN****MI*45602708901~
53
+ TRN*2*VEST0303~
54
+ STC*A3:401*20060205*U*300~
55
+ DTP*232*RD8*20060120-20060120~
56
+ SE*37*0001~
57
+ GE*1*1~
58
+ IEA*1*000000905~
@@ -0,0 +1,47 @@
1
+ Business Scenario 1: Clearinghouse
2
+
3
+ In the following example, Best Billing Service submitted an ANSI 837 Professional claim file to First Clearinghouse on February 5, 2006 for Smith Clinic. First Clearinghouse processed the file on February 5, 2006 and notified Best Billing Service that although the file for charges totaling $1,000.00 was accepted, there were individual claims that were rejected.
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*060205*1253*^*00501*000000905*1*P*:~
6
+ GS*HN*SENDER CODE*RECEIVER CODE*20060205*0802*1*X*005010X214~
7
+ ST*277*0001*005010X214~
8
+ BHT*0085*08*277X2140001*20060205*1635*TH~
9
+ HL*1**20*1~
10
+ NM1*AY*2*FIRST CLEARINGHOUSE*****46*CLHR00~
11
+ TRN*1*200102051635S00001ABCDEF~
12
+ DTP*050*D8*20060205~
13
+ DTP*009*D8*20060205~
14
+ HL*2*1*21*1~
15
+ NM1*41*2*BEST BILLING SERVICE*****46*S00001~
16
+ TRN*2*2002020542857~
17
+ STC*A0:16:PR*20060205*WQ*1000~
18
+ QTY*90*1~
19
+ QTY*AA*2~
20
+ AMT*YU*200~
21
+ AMT*YY*800~
22
+ HL*3*2*19*1~
23
+ NM1*85*2*SMITH CLINIC*****XX*1232343560~
24
+ HL*4*3*PT~
25
+ NM1*QC*1*DOE*JOHN****MI*00ABCD1234~
26
+ TRN*2*DOE01428~
27
+ STC*A0:16:PR*20060205*WQ*200~
28
+ REF*1K*22029500123407X~
29
+ REF*D9*12657~
30
+ DTP*472*RD8*20060128-20060131~
31
+ HL*5*3*PT~
32
+ NM1*QC*1*DOE*JANE****MI*45613027602~
33
+ TRN*2*DOE0221~
34
+ STC*A3:21:82*20060205*U*500~
35
+ REF*D9*19657~
36
+ DTP*472*RD8*20060115-20060115~
37
+ SVC*HC:22305:22*350*****1~
38
+ STC*A3:21**U*******A3:153:82~
39
+ HL*6*3*PT~
40
+ NM1*QC*1*VEST*HELEN****MI*45602708901~
41
+ TRN*2*VEST0303~
42
+ STC*A3:401*20060205*U*300~
43
+ REF*D9*19658~
44
+ DTP*472*RD8*20060120-20060120~
45
+ SE*39*0001~
46
+ GE*1*1~
47
+ IEA*1*000000905~