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,34 @@
1
+ Business Scenario 2: Clearinghouse Example
2
+
3
+ In the following example, Last Billing Service submitted an ANSI 837 Professional claim file with 3 claims totaling $800.00 to First Clearinghouse on January 31, 2006 for Smith Clinic. This file was transmitted after the cutoff time for same day processing, so First Clearinghouse processed the file on February 1, 2006 and notified Last Billing Service on February 1, 2006 that their file was rejected as they have not completed the trading partner enrollment process, therefore, they are not a valid trading partner with First Clearinghouse.
4
+
5
+ Errors Found in File 277 Acknowledgment 5010X214-2
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
+ * H10913:Transaction Set Control Number '00002' does not match ST02's '0002'.
9
+
10
+ Errors Found in File 270 5010X279-2
11
+ W10009:Padding, spaces or control characters detected after segment terminator.
12
+ H10203:Functional Group ID 'XX' mismatch - Transaction Set is type 'HS'
13
+ H11204:Code Value 'XX' not used for element 'GS01'
14
+ W25219:The value of SV is only to be used if the provider is not a covered health care provider under the NPI mandate.
15
+ H10913:Transaction Set Control Number '1234' does not match ST02's '1235'.
16
+
17
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*060201*1253*^*00501*000000905*1*P*:~
18
+ GS*HN*SENDER CODE*RECEIVER CODE*20060201*0802*1*X*005010X214~
19
+ ST*277*0002*005010X214~
20
+ BHT*0085*08*277X2140002*20060201*0405*TH~
21
+ HL*1**20*1~
22
+ NM1*AY*2*FIRST CLEARINGHOUSE*****46*CLHR00~
23
+ TRN*1*200201312005S00002XYZABC~
24
+ DTP*050*D8*20060131~
25
+ DTP*009*D8*20060201~
26
+ HL*2*1*21*0~
27
+ NM1*41*2*LAST BILLING SERVICE*****46*S00002~
28
+ TRN*2*20020131052389~
29
+ STC*A3:24:41*20060201*U*800~
30
+ QTY*AA*3~
31
+ AMT*YY*800~
32
+ SE*14*00002~
33
+ GE*1*1~
34
+ IEA*1*000000905~
@@ -0,0 +1,22 @@
1
+ Business Scenario 2: Clearinghouse Example
2
+
3
+ In the following example, Last Billing Service submitted an ANSI 837 Professional claim file with 3 claims totaling $800.00 to First Clearinghouse on January 31, 2006 for Smith Clinic. This file was transmitted after the cutoff time for same day processing, so First Clearinghouse processed the file on February 1, 2006 and notified Last Billing Service on February 1, 2006 that their file was rejected as they have not completed the trading partner enrollment process, therefore, they are not a valid trading partner with First Clearinghouse.
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*060201*1253*^*00501*000000905*1*P*:~
6
+ GS*HN*SENDER CODE*RECEIVER CODE*20060201*0802*1*X*005010X214~
7
+ ST*277*0002*005010X214~
8
+ BHT*0085*08*277X2140002*20060201*0405*TH~
9
+ HL*1**20*1~
10
+ NM1*AY*2*FIRST CLEARINGHOUSE*****46*CLHR00~
11
+ TRN*1*200201312005S00002XYZABC~
12
+ DTP*050*D8*20060131~
13
+ DTP*009*D8*20060201~
14
+ HL*2*1*21*0~
15
+ NM1*41*2*LAST BILLING SERVICE*****46*S00002~
16
+ TRN*2*20020131052389~
17
+ STC*A3:24:41*20060201*U*800~
18
+ QTY*AA*3~
19
+ AMT*YY*800~
20
+ SE*14*0002~
21
+ GE*1*1~
22
+ IEA*1*000000905~
@@ -0,0 +1,64 @@
1
+ Business Scenario 3: Payer Response
2
+
3
+ In the following example, Dr. Harry B. Jones submitted an ANSI 837 Professional claim file with inventory file number 2002022045678 in BHT03 directly to "Your Insurance Company" on February 20, 2006. Your Insurance Company processed the file on February 21, 2006 and notified Dr.Jones that although the file containing five claims for charges totaling $365.50 was accepted, there were two individual claims that were rejected.
4
+
5
+
6
+ Errors Found in File 277 Acknowledgment 5010X214-3
7
+ * W10009:Padding, spaces or control characters detected after segment terminator.
8
+ * H20203:Element NM107 is present, though marked 'Not Used'.
9
+ * H20204:Code Value '24' at element 'NM108' is valid in the X12 standard, but not in this HIPAA implementation.
10
+ * H20204:Code Value '232' at element 'DTP01' is valid in the X12 standard, but not in this HIPAA implementation.
11
+ * H46466:Service Line Date (2220D/DTP) was not found, but was expected because the Claim Service Date (2200D/DTP) is not present.
12
+ * H20204:Code Value '232' at element 'DTP01' is valid in the X12 standard, but not in this HIPAA implementation.
13
+ * H20204:Code Value '232' at element 'DTP01' is valid in the X12 standard, but not in this HIPAA implementation.
14
+ * H20204:Code Value '232' at element 'DTP01' is valid in the X12 standard, but not in this HIPAA implementation.
15
+
16
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*060221*1253*^*00501*000000905*1*P*:~
17
+ GS*HN*SENDER CODE*RECEIVER CODE*20060221*0802*1*X*005010X214~
18
+ ST*277*0003*005010X214~
19
+ BHT*0085*08*277X2140003*20060221*1025*TH~
20
+ HL*1**20*1~
21
+ NM1*PR*2*YOUR INSURANCE COMPANY*****PI*YIC01~
22
+ TRN*1*0091182~
23
+ DTP*050*D8*20060220~
24
+ DTP*009*D8*20060221~
25
+ HL*2*1*21*1~
26
+ NM1*41*1*JONES*HARRY*B**MD*46*S00003~
27
+ TRN*2*2002022045678~
28
+ STC*A1:19*20060221*WQ*365.5~
29
+ QTY*90*3~
30
+ QTY*AA*2~
31
+ AMT*YU*200.5~
32
+ AMT*YY*165~
33
+ HL*3*2*19*1~
34
+ NM1*85*1*JONES*HARRY*B**MD*24*234567894~
35
+ HL*4*3*PT~
36
+ NM1*QC*1*PATIENT*FEMALE****MI*2222222222~
37
+ TRN*2*PATIENT22222~
38
+ STC*A2:20:PR*20060221*WQ*100~
39
+ REF*1K*220216359803X~
40
+ DTP*232*RD8*20060214-20060214~
41
+ HL*5*3*PT~
42
+ NM1*QC*1*PATIENT*MALE****MI*3333333333~
43
+ TRN*2*PATIENT33333~
44
+ STC*A3:187:PR*20060221*U*65~
45
+ HL*6*3*PT~
46
+ NM1*QC*1*JONES*LARRY****MI*4444444444~
47
+ TRN*2*JONES44444~
48
+ STC*A3:21:77*20060221*U*100~
49
+ DTP*232*RD8*20060211-20060211~
50
+ HL*7*3*PT~
51
+ NM1*QC*1*JOHNSON*MARY****MI*5555555555~
52
+ TRN*2*JOHNSON55555~
53
+ STC*A2:20:PR*20060221*WQ*50.5~
54
+ REF*1K*220216359806X~
55
+ DTP*232*RD8*20060210-20060210~
56
+ HL*8*3*PT~
57
+ NM1*QC*1*MILLS*HARRIETT****MI*6666666666~
58
+ TRN*2*MILLS66666~
59
+ STC*A2:20*20060221*WQ*50~
60
+ REF*1K*220216359807X~
61
+ DTP*232*RD8*20060205-20060205~
62
+ SE*45*0003~
63
+ GE*1*1~
64
+ IEA*1*000000905~
@@ -0,0 +1,54 @@
1
+ Business Scenario 3: Payer Response
2
+
3
+ In the following example, Dr. Harry B. Jones submitted an ANSI 837 Professional claim file with inventory file number 2002022045678 in BHT03 directly to "Your Insurance Company" on February 20, 2006. Your Insurance Company processed the file on February 21, 2006 and notified Dr.Jones that although the file containing five claims for charges totaling $365.50 was accepted, there were two individual claims that were rejected.
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*060221*1253*^*00501*000000905*1*P*:~
6
+ GS*HN*SENDER CODE*RECEIVER CODE*20060221*0802*1*X*005010X214~
7
+ ST*277*0003*005010X214~
8
+ BHT*0085*08*277X2140003*20060221*1025*TH~
9
+ HL*1**20*1~
10
+ NM1*PR*2*YOUR INSURANCE COMPANY*****PI*YIC01~
11
+ TRN*1*0091182~
12
+ DTP*050*D8*20060220~
13
+ DTP*009*D8*20060221~
14
+ HL*2*1*21*1~
15
+ NM1*41*1*JONES*HARRY*B***46*S00003~
16
+ TRN*2*2002022045678~
17
+ STC*A1:19*20060221*WQ*365.5~
18
+ QTY*90*3~
19
+ QTY*AA*2~
20
+ AMT*YU*200.5~
21
+ AMT*YY*165~
22
+ HL*3*2*19*1~
23
+ NM1*85*1*JONES*HARRY*B**MD*XX*1232343560~
24
+ HL*4*3*PT~
25
+ NM1*QC*1*PATIENT*FEMALE****MI*2222222222~
26
+ TRN*2*PATIENT22222~
27
+ STC*A2:20:PR*20060221*WQ*100~
28
+ REF*1K*220216359803X~
29
+ DTP*472*RD8*20060214-20060214~
30
+ HL*5*3*PT~
31
+ NM1*QC*1*PATIENT*MALE****MI*3333333333~
32
+ TRN*2*PATIENT33333~
33
+ STC*A3:187:PR*20060221*U*65~
34
+ DTP*472*D8*20060214~
35
+ HL*6*3*PT~
36
+ NM1*QC*1*JONES*LARRY****MI*4444444444~
37
+ TRN*2*JONES44444~
38
+ STC*A3:21:77*20060221*U*100~
39
+ DTP*472*RD8*20060211-20060211~
40
+ HL*7*3*PT~
41
+ NM1*QC*1*JOHNSON*MARY****MI*5555555555~
42
+ TRN*2*JOHNSON55555~
43
+ STC*A2:20:PR*20060221*WQ*50.5~
44
+ REF*1K*220216359806X~
45
+ DTP*472*RD8*20060210-20060210~
46
+ HL*8*3*PT~
47
+ NM1*QC*1*MILLS*HARRIETT****MI*6666666666~
48
+ TRN*2*MILLS66666~
49
+ STC*A2:20*20060221*WQ*50~
50
+ REF*1K*220216359807X~
51
+ DTP*472*RD8*20060205-20060205~
52
+ SE*46*0003~
53
+ GE*1*1~
54
+ IEA*1*000000905~
@@ -0,0 +1,77 @@
1
+ Business Scenario 4: Payer Response
2
+
3
+ In the following example, Dr. Ewell B King submitted an ANSI 837 Professional claim file to "Our Insurance Company" on March 20, 2006 for himself and Dr. I.B.Reed. This file was transmitted after the cutoff time for same day processing, so Our Insurance Company processed the file on March 21,2006 and notified Dr. King on March 21, 2006 that although the file of eight claims for charges totaling $455.00 was accepted, there were individual claims that were rejected and that all three of Dr. Reed�s claims were rejected as he has not completed the trading partner enrollment process to be an electronic submitter.
4
+
5
+ Errors Found in File 277 Acknowledgment 5010X214-4
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H20203:Element NM107 is present, though marked 'Not Used'.
8
+ * H20204:Code Value '34' at element 'NM108' is valid in the X12 standard, but not in this HIPAA implementation.
9
+ * H46434:The Total Accepted Quantity was not found but was expected because the entire group of claims for this provider are not being rejected.
10
+ * H20204:Code Value '2' at element 'TRN01' is valid in the X12 standard, but not in this HIPAA implementation.
11
+ * H20204:Code Value '232' at element 'DTP01' is valid in the X12 standard, but not in this HIPAA implementation.
12
+ * H46466:Service Line Date (2220D/DTP) was not found, but was expected because the Claim Service Date (2200D/DTP) is not present.
13
+ * H20204:Code Value '232' at element 'DTP01' is valid in the X12 standard, but not in this HIPAA implementation.
14
+ * H20204:Code Value '232' at element 'DTP01' is valid in the X12 standard, but not in this HIPAA implementation.
15
+ * H20204:Code Value '232' at element 'DTP01' is valid in the X12 standard, but not in this HIPAA implementation.
16
+ * H20204:Code Value '34' at element 'NM108' is valid in the X12 standard, but not in this HIPAA implementation.
17
+ * H20204:Code Value '2' at element 'TRN01' is valid in the X12 standard, but not in this HIPAA implementation.
18
+ * H20203:Element STC0104 is present, though marked 'Not Used'.
19
+ * H20203:Element STC02 is present, though marked 'Not Used'.
20
+
21
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*060321*1253*^*00501*000000905*1*P*:~
22
+ GS*HN*SENDER CODE*RECEIVER CODE*20060321*0802*1*X*005010X214~
23
+ ST*277*0004*005010X214~
24
+ BHT*0085*08*277X2140004*20060321*1025*TH~
25
+ HL*1**20*1~
26
+ NM1*PR*2*OUR INSURANCE COMPANY*****PI*OIC02~
27
+ TRN*1*00911232~
28
+ DTP*050*D8*20060320~
29
+ DTP*009*D8*20060321~
30
+ HL*2*1*21*1~
31
+ NM1*41*1*KING*EWELL*B**MD*46*S00005~
32
+ TRN*2*200203207890~
33
+ STC*A1:19*20060321*WQ*455~
34
+ QTY*90*3~
35
+ QTY*AA*5~
36
+ AMT*YU*155~
37
+ AMT*YY*300~
38
+ HL*3*2*19*1~
39
+ NM1*85*1*KING*EWELL*B**MD*34*536543210~
40
+ TRN*2*00098765432~
41
+ STC*A1:19**WQ*305~
42
+ HL*4*3*PT~
43
+ NM1*QC*1*PATIENT*FEMALE****MI*2222222222~
44
+ TRN*2*PATIENT22222~
45
+ STC*A2:20:PR*20060321*WQ*55~
46
+ REF*1K*220216359803X~
47
+ DTP*232*RD8*20060314-20060314~
48
+ HL*5*3*PT~
49
+ NM1*QC*1*PATIENT*MALE****MI*3333333333~
50
+ TRN*2*PATIENT33333~
51
+ STC*A3:187:PR*20060321*U*50~
52
+ HL*6*3*PT~
53
+ NM1*QC*1*JONES*MARY****MI*4444444444~
54
+ TRN*2*JONES44444~
55
+ STC*A3:116*20060321*U*100~
56
+ DTP*232*RD8*20060311-20060311~
57
+ HL*7*3*PT~
58
+ NM1*QC*1*JOHNSON*JIMMY****MI*5555555555~
59
+ TRN*2*JOHNSON55555~
60
+ STC*A2:20:PR*20060321*WQ*50~
61
+ REF*1K*220216359806X~
62
+ DTP*232*RD8*20060310-20060310~
63
+ HL*8*3*PT~
64
+ NM1*QC*1*MILLS*HALEY****MI*6666666666~
65
+ TRN*2*MILLS66666~
66
+ STC*A2:20:PR*20060321*WQ*50~
67
+ REF*1K*220216359807X~
68
+ DTP*232*RD8*20060305-20060305~
69
+ HL*9*2*19*0~
70
+ NM1*85*1*REED*I*B**MD*34*567012345~
71
+ TRN*2*00023456789~
72
+ STC*A3:25:85:65*20060321*U*150~
73
+ QTY*QC*3~
74
+ AMT*YY*150~
75
+ SE*53*0004~
76
+ GE*1*1~
77
+ IEA*1*000000905~
@@ -0,0 +1,63 @@
1
+ Business Scenario 4: Payer Response
2
+
3
+ In the following example, Dr. Ewell B King submitted an ANSI 837 Professional claim file to "Our Insurance Company" on March 20, 2006 for himself and Dr. I.B.Reed. This file was transmitted after the cutoff time for same day processing, so Our Insurance Company processed the file on March 21,2006 and notified Dr. King on March 21, 2006 that although the file of eight claims for charges totaling $455.00 was accepted, there were individual claims that were rejected and that all three of Dr. Reed�s claims were rejected as he has not completed the trading partner enrollment process to be an electronic submitter.
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*060321*1253*^*00501*000000905*1*P*:~
6
+ GS*HN*SENDER CODE*RECEIVER CODE*20060321*0802*1*X*005010X214~
7
+ ST*277*0004*005010X214~
8
+ BHT*0085*08*277X2140004*20060321*1025*TH~
9
+ HL*1**20*1~
10
+ NM1*PR*2*OUR INSURANCE COMPANY*****PI*OIC02~
11
+ TRN*1*00911232~
12
+ DTP*050*D8*20060320~
13
+ DTP*009*D8*20060321~
14
+ HL*2*1*21*1~
15
+ NM1*41*1*KING*EWELL*B***46*S00005~
16
+ TRN*2*200203207890~
17
+ STC*A1:19*20060321*WQ*455~
18
+ QTY*90*3~
19
+ QTY*AA*5~
20
+ AMT*YU*155~
21
+ AMT*YY*300~
22
+ HL*3*2*19*1~
23
+ NM1*85*1*KING*EWELL*B***XX*1232343560~
24
+ TRN*1*00098765432~
25
+ STC*A1:19**WQ*305~
26
+ QTY*QA*3~
27
+ HL*4*3*PT~
28
+ NM1*QC*1*PATIENT*FEMALE****MI*2222222222~
29
+ TRN*2*PATIENT22222~
30
+ STC*A2:20:PR*20060321*WQ*55~
31
+ REF*1K*220216359803X~
32
+ DTP*472*RD8*20060314-20060314~
33
+ HL*5*3*PT~
34
+ NM1*QC*1*PATIENT*MALE****MI*3333333333~
35
+ TRN*2*PATIENT33333~
36
+ STC*A3:187:PR*20060321*U*50~
37
+ DTP*472*D8*20060311~
38
+ HL*6*3*PT~
39
+ NM1*QC*1*JONES*MARY****MI*4444444444~
40
+ TRN*2*JONES44444~
41
+ STC*A3:116*20060321*U*100~
42
+ DTP*472*RD8*20060311-20060311~
43
+ HL*7*3*PT~
44
+ NM1*QC*1*JOHNSON*JIMMY****MI*5555555555~
45
+ TRN*2*JOHNSON55555~
46
+ STC*A2:20:PR*20060321*WQ*50~
47
+ REF*1K*220216359806X~
48
+ DTP*472*RD8*20060310-20060310~
49
+ HL*8*3*PT~
50
+ NM1*QC*1*MILLS*HALEY****MI*6666666666~
51
+ TRN*2*MILLS66666~
52
+ STC*A2:20:PR*20060321*WQ*50~
53
+ REF*1K*220216359807X~
54
+ DTP*472*RD8*20060305-20060305~
55
+ HL*9*2*19*0~
56
+ NM1*85*1*REED*I*B**MD*XX*1567012343~
57
+ TRN*1*00023456789~
58
+ STC*A3:25:85**U*150~
59
+ QTY*QC*3~
60
+ AMT*YY*150~
61
+ SE*55*0004~
62
+ GE*1*1~
63
+ IEA*1*000000905~
@@ -0,0 +1,42 @@
1
+ Business Scenario 1
2
+
3
+ The following example represents the Notification from St. Joseph Hospital to Maryland Capital Insurance of the hospital admission.
4
+
5
+ Errors Found in File 278 Notification 5010X216
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H11204:Code Value 'XX' not used for element 'GS01'.
8
+ * B20571:The Entity Type Qualifier of '2-Non Person' is not appropriate for this entity.
9
+ * W22004:Your data contains character(s) from the extended character set which may only be used by agreement between communicating parties.
10
+ * H21084:Invalid qualifier '46' found in '2010A NM108'. Only 'XX' is valid because the National Provider Identifier (NPI) is now mandated for use.
11
+ * H21084:Invalid qualifier '46' found in '2010B NM108'. Only 'XX' is valid because the National Provider Identifier (NPI) is now mandated for use.
12
+ * B20061:If Health Services Request Category is "Admission Review" (UM01=AR), then Admitting Diagnosis may be required by the UMO (HI01-1=BJ or HI02-1=BJ).
13
+ * H25308:For Admission Review (2000E/UM01 = AR), the Information Source must be Facility (2010A/NM101 = FA).
14
+ * B45245:Patient Event Provider Entity ID for a facility (2010EA/NM101 = FA) was not found, but was expected because 2000E/UM01 = AR.
15
+ * B20571:The Entity Type Qualifier of '2-Non Person' is not appropriate for this entity.
16
+ * H21084:Invalid qualifier '46' found in '2010EA NM108'. Only 'XX' is valid because the National Provider Identifier (NPI) is now mandated for use.
17
+ * B20013:This Provider Secondary Identifier value should only be used when Entity Qualifier is 'Non-Person' (NM1-02=2) and Entity Type Qualifier value is "Facility" (NM1-01=FA).
18
+ * H46000:The 'Patient Event Provider Supplemental Identification' is not allowed because the National Provider Identifier has been mandated as the only valid provider identifier for HIPAA transactions.
19
+
20
+ ISA*00* *01*SECRET *ZZ*SUBMITTERS ID *ZZ*
21
+ RECEIVERS ID *030101*1253*^*00501*000000905*1*T*:~
22
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X216~
23
+ ST*278*0034*005010X216~
24
+ BHT*0007*53*2004000345628*20050602*0420~
25
+ HL*1**20*1~
26
+ NM1*X3*2*Maryland Capital Insurance Company*****46*789312~
27
+ HL*2*1*21*1~
28
+ NM1*1P*2*St Joseph Hospital*****46*0000012121~
29
+ HL*3*2*22*1~
30
+ NM1*IL*1*Smith*Joe****MI*12345678901~
31
+ DMG*D8*19580322*M~
32
+ HL*4*3*EV*0~
33
+ TRN*2*040601002349A*9000012121~
34
+ UM*AR*I*2*21:B~
35
+ HCR*A1*A0405295498~
36
+ DTP*435*D8*20040530~
37
+ HI*BF:410.90~
38
+ NM1*SJ*2*St Joseph Hospital*****46*0000012121~
39
+ REF*1J*162354~
40
+ SE*19*0034~
41
+ GE*1*1~
42
+ IEA*1*000000905~
@@ -0,0 +1,27 @@
1
+ Business Scenario 1
2
+
3
+ The following example represents the Notification from St. Joseph Hospital to Maryland Capital Insurance of the hospital admission.
4
+
5
+ ISA*00* *01*SECRET *ZZ*SUBMITTERS ID *ZZ*
6
+ RECEIVERS ID *030101*1253*^*00501*000000905*1*T*:~
7
+ GS*HI*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X216~
8
+ ST*278*0034*005010X216~
9
+ BHT*0007*53*2004000345628*20050602*0420~
10
+ HL*1**20*1~
11
+ NM1*X3*2*MARYLAND CAPITAL INSURANCE COMPANY*****PI*789312~
12
+ HL*2*1*21*1~
13
+ NM1*1P*2*ST JOSEPH HOSPITAL*****XX*1232343560~
14
+ HL*3*2*22*1~
15
+ NM1*IL*1*SMITH*JOE****MI*12345678901~
16
+ DMG*D8*19580322*M~
17
+ HL*4*3*EV*0~
18
+ TRN*2*040601002349A*9000012121~
19
+ UM*AR*I*2*21:B~
20
+ HCR*A1*A0405295498~
21
+ DTP*435*D8*20040530~
22
+ HI*BJ:410.90~
23
+ NM1*FA*2*ST JOSEPH HOSPITAL*****XX*1232343560~
24
+ REF*1J*162354~
25
+ SE*18*0034~
26
+ GE*1*1~
27
+ IEA*1*000000905~
@@ -0,0 +1,43 @@
1
+ Business Scenario 1
2
+
3
+ The following example represents the Acknowledgment from Maryland Capital Insurance to St. Joseph�s Hospital.
4
+
5
+ Errors Found in File 278 Acknowledgement 5010X216
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H11204:Code Value 'XX' not used for element 'GS01'.
8
+ * W22004:Your data contains character(s) from the extended character set which may only be used by agreement between communicating parties.
9
+ * B25112:The qualifier XX was not found, but was expected because the National Provider Identifier (NPI) is now mandated for use.
10
+ * B20061:If Health Services Request Category is "Admission Review" (UM01=AR), then Admitting Diagnosis may be required by the UMO (HI01-1=BJ or HI02-1=BJ).
11
+ * B25114:When Request Category Code is Admission Review (2000E/UM01 = AR) then at least one occurrence of Service Provider Entity should be Facility (2010E/NM101 = FA).
12
+ * H23077:For Admission Review (2000F UM-01 = AR), a Service Provider must be Facility (2010E NM101 = FA).
13
+ * B25113:Diagnosis (2000E/HI01-01 = BF) not appropriate for Admission Review (2000E UM-01 = AR).
14
+ * B20571:The Entity Type Qualifier of '2-Non Person' is not appropriate for this entity.
15
+ * H21084:Invalid qualifier '46' found in '2010E NM108'. Only 'XX' is valid because the National Provider Identifier (NPI) is now mandated for use.
16
+ * H10904:Number of Included Segments '19' does not match actual segment count '18'.
17
+
18
+ ISA*00* *01*SECRET *ZZ*SUBMITTERS ID *ZZ*
19
+ RECEIVERS ID *030101*1253*^*00501*000000905*1*T*:~
20
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X216~
21
+ ST*278*0001*005010X216~
22
+ BHT*0007*CN*2004000345628*20040601*1410*NO~
23
+ HL*1**20*1~
24
+ NM1*1P*2*St Joseph Hospital*****46*0000012121~
25
+ REF*1J*162354~
26
+ HL*2*1*21*1~
27
+ NM1*X3*2*Maryland Capital Insurance Company*****46*789312~
28
+ HL*3*2*22*1~
29
+ NM1*IL*1*Smith*Joe****MI*12345678901~
30
+ DMG*D8*19580322*M~
31
+ HL*4*3*EV*0~
32
+ TRN*1*040601002349A*9000012121~
33
+ UM*AR*I*2*21:B~
34
+ HCR*A1*A0405295498~
35
+ DTP*435*D8*20040530~
36
+ HI*BF:410.90~
37
+ CL1*2~
38
+ NM1*SJ*2*St Joseph Hospital*****46*0000012121~
39
+ REF*1J*162354~
40
+ PER*IC**TE*6107771212~
41
+ SE*21*0001~
42
+ GE*1*1~
43
+ IEA*1*000000905~
@@ -0,0 +1,29 @@
1
+ Business Scenario 1
2
+
3
+ The following example represents the Acknowledgment from Maryland Capital Insurance to St. Joseph�s Hospital.
4
+
5
+ ISA*00* *01*SECRET *ZZ*SUBMITTERS ID *ZZ*
6
+ RECEIVERS ID *030101*1253*^*00501*000000905*1*T*:~
7
+ GS*HI*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X216~
8
+ ST*278*0001*005010X216~
9
+ BHT*0007*CN*2004000345628*20040601*1410*NO~
10
+ HL*1**20*1~
11
+ NM1*FA*2*ST JOSEPH HOSPITAL*****XX*1232343560~
12
+ REF*1J*162354~
13
+ HL*2*1*21*1~
14
+ NM1*X3*2*MARYLAND CAPITAL INSURANCE COMPANY*****PI*789312~
15
+ HL*3*2*22*1~
16
+ NM1*IL*1*SMITH*JOE****MI*12345678901~
17
+ DMG*D8*19580322*M~
18
+ HL*4*3*EV*0~
19
+ TRN*1*040601002349A*9000012121~
20
+ UM*AR*I*2*21:B~
21
+ HCR*A1*A0405295498~
22
+ DTP*435*D8*20040530~
23
+ HI*BF:410.90*BJ:410.90~
24
+ CL1*2~
25
+ NM1*FA*2*ST JOSEPH HOSPITAL*****XX*1232343560~
26
+ PER*IC**TE*6107771212~
27
+ SE*20*0001~
28
+ GE*1*1~
29
+ IEA*1*000000905~
@@ -0,0 +1,24 @@
1
+ Business Scenario 1 - Referral - Request for Review
2
+
3
+ This example represents a request for a standard referral to a specialist from Dr. Gardener, who is a primary care physician, to Maryland Capital Insurance.
4
+
5
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
6
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X217~
7
+ ST*278*0001*005010X217~
8
+ BHT*0007*13*A12345*20050502*1101~
9
+ HL*1**20*1~
10
+ NM1*X3*2*MARYLAND CAPITAL INSURANCE COMPANY*****46*789312~
11
+ HL*2*1*21*1~
12
+ NM1*1P*1*GARDENER*JAMES****46*8189991234~
13
+ HL*3*2*22*1~
14
+ NM1*IL*1*SMITH*JOE****MI*12345678901~
15
+ HL*4*3*EV*0~
16
+ TRN*1*111099*9012345678~
17
+ UM*SC*I*3*11:B*****Y~
18
+ HI*BF:41090:D8:20050430~
19
+ HSD*VS*1~
20
+ NM1*SJ*1*WATSON*SUSAN****34*987654321~
21
+ PER*IC**TE*4029993456~
22
+ SE*16*0001~
23
+ GE*1*1~
24
+ IEA*1*000000905~
@@ -0,0 +1,20 @@
1
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
2
+ GS*HI*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X217~
3
+ ST*278*0001*005010X217~
4
+ BHT*0007*13*A12345*20050502*1101~
5
+ HL*1**20*1~
6
+ NM1*X3*2*MARYLAND CAPITAL INSURANCE COMPANY*****46*789312~
7
+ HL*2*1*21*1~
8
+ NM1*1P*1*GARDENER*JAMES****XX*1232343560~
9
+ HL*3*2*22*1~
10
+ NM1*IL*1*SMITH*JOE****MI*12345678901~
11
+ HL*4*3*EV*0~
12
+ TRN*1*111099*1012345678~
13
+ UM*SC*I*3*11:B*****Y~
14
+ HI*BF:41090:D8:20050430~
15
+ HSD*VS*1~
16
+ NM1*SJ*1*WATSON*SUSAN****XX*1232343560~
17
+ PER*IC**TE*4029993456~
18
+ SE*16*0001~
19
+ GE*1*1~
20
+ IEA*1*000000905~
@@ -0,0 +1,46 @@
1
+ Business Scenario 2 - Admission for Surgery - Request for Review
2
+
3
+ This example represents the request for review (Health Services Review) from Dr. Watson, who is a specialist provider to Maryland Capital Insurance. The request is for hospitalization for a patient.
4
+
5
+ Errors Found in File 278 Request 5010X217-2
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H11204:Code Value 'XX' not used for element 'GS01'
8
+ * W25219:The value of 34 is only to be used if the provider is not a covered health care provider under the NPI mandate.
9
+ * H54212:'98765432' is too short for a Social Security Number.
10
+ * H20627:The value '9012345678' does not match the format for a "Trace Assigning Entity Identifier"
11
+ * W25219:The value of 24 is only to be used if the provider is not a covered health care provider under the NPI mandate.
12
+ * H25515:The Service Type Code at the Service Level (2000F/UM) was found but was not expected because it must be different than that at the Patient Event Level (2000E/UM) or the SV1, SV2 or SV3 segments are not sent.
13
+ * W25219:The value of 34 is only to be used if the provider is not a covered health care provider under the NPI mandate.
14
+ * H54213:'987654321' is not a valid Social Security Number.
15
+ * H52001:Referring Provider Specialty Code '203BS0133X' not found in Taxonomy Code Table
16
+
17
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
18
+ GS*XX*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X217~
19
+ ST*278*0001*005010X217~
20
+ BHT*0007*13*B56789*20050502*1430~
21
+ HL*1**20*1~
22
+ NM1*X3*2*MARYLAND CAPITAL INSURANCE COMPANY*****46*789312~
23
+ HL*2*1*21*1~
24
+ NM1*1P*1*WATSON*SUSAN****34*98765432~
25
+ PER*IC**TE*4029993456~
26
+ HL*3*2*22*1~
27
+ NM1*IL*1*SMITH*JOE****MI*12345678901~
28
+ HL*4*3*EV*1~
29
+ TRN*1*97021001*9012345678~
30
+ UM*AR*I*2*21:B*****Y~
31
+ DTP*435*D8*20050516~
32
+ HI*BF:41090:D8:20050125~
33
+ HSD*DY*7~
34
+ CL1*2~
35
+ NM1*FA*2*MONTGOMERY HOSPITAL*****24*000012121~
36
+ N3*475 MAIN STREET~
37
+ N4*ANYTOWN*PA*19087~
38
+ HL*5*4*SS*0~
39
+ UM*HS*I*2~
40
+ DTP*472*D8*20050516~
41
+ SV2**HC:33510~
42
+ NM1*SJ*1*WATSON*SUSAN****34*987654321~
43
+ PRV*PE*PXC*203BS0133X~
44
+ SE*26*0001~
45
+ GE*1*1~
46
+ IEA*1*000000905~
@@ -0,0 +1,30 @@
1
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
2
+ GS*HI*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X217~
3
+ ST*278*0001*005010X217~
4
+ BHT*0007*13*B56789*20050502*1430~
5
+ HL*1**20*1~
6
+ NM1*X3*2*MARYLAND CAPITAL INSURANCE COMPANY*****46*789312~
7
+ HL*2*1*21*1~
8
+ NM1*1P*1*WATSON*SUSAN****XX*1232343560~
9
+ PER*IC**TE*4029993456~
10
+ HL*3*2*22*1~
11
+ NM1*IL*1*SMITH*JOE****MI*12345678901~
12
+ HL*4*3*EV*1~
13
+ TRN*1*97021001*1012345678~
14
+ UM*AR*I*2*21:B*****Y~
15
+ DTP*435*D8*20050516~
16
+ HI*BF:41090:D8:20050125~
17
+ HSD*DY*7~
18
+ CL1*2~
19
+ NM1*FA*2*MONTGOMERY HOSPITAL*****XX*1232343560~
20
+ N3*475 MAIN STREET~
21
+ N4*ANYTOWN*PA*19087~
22
+ HL*5*4*SS*0~
23
+ UM*HS*I*3~
24
+ DTP*472*D8*20050516~
25
+ SV2**HC:33510~
26
+ NM1*SJ*1*WATSON*SUSAN****XX*1232343560~
27
+ PRV*PE*PXC*103GC0700X~
28
+ SE*26*0001~
29
+ GE*1*1~
30
+ IEA*1*000000905~
@@ -0,0 +1,38 @@
1
+ Business Scenario 3 - Behavioral Health Emergency Admission - Request for Review
2
+
3
+ This example represents the Request for Review (Admission Review) for behavioral health care admission.
4
+
5
+ Errors Found in File 278 Request 5010X217-3
6
+ * W10009:Padding, spaces or control characters detected after segment terminator.
7
+ * H11204:Code Value 'XX' not used for element 'GS01'
8
+ * W25219:The value of 46 is only to be used if the provider is not a covered health care provider under the NPI mandate.
9
+ * H10005:Value '987654321' is too short for 'TRN03'
10
+ * H20627:The value '987654321' does not match the format for a "Trace Assigning Entity Identifier"
11
+ * W25219:The value of 46 is only to be used if the provider is not a covered health care provider under the NPI mandate.
12
+ * W25219:The value of 24 is only to be used if the provider is not a covered health care provider under the NPI mandate.
13
+ * W25219:The value of 24 is only to be used if the provider is not a covered health care provider under the NPI mandate.
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*005010X217~
17
+ ST*278*0001*005010X217~
18
+ BHT*0007*13*YZZ345*20050502*1101~
19
+ HL*1**20*1~
20
+ NM1*X3*2*CAPITAL INSURANCE COMPANY*****46*789312~
21
+ HL*2*1*21*1~
22
+ NM1*FA*2*GENERAL HOSPITAL*****46*8189991234~
23
+ HL*3*2*22*1~
24
+ NM1*IL*1*SMITH*MARY****MI*12345678901~
25
+ HL*4*3*EV*0~
26
+ TRN*1*YZZ099*987654321~
27
+ UM*AR*I*A4*21:B**03***Y~
28
+ DTP*435*D8*20050505~
29
+ HI*BF:29603:D8:20050430~
30
+ HSD*DY*3~
31
+ CL1*1~
32
+ NM1*FA*2*GENERAL HOSPITAL*****46*987654321~
33
+ PER*IC**TE*4029993456~
34
+ NM1*71*1*JONES*MARCUS****24*453667654~
35
+ NM1*SJ*1*BROWN*JACOB****24*123454545~
36
+ SE*20*0001~
37
+ GE*1*1~
38
+ IEA*1*000000905~
@@ -0,0 +1,24 @@
1
+ ISA*00*..........*01*SECRET....*ZZ*SUBMITTERS.ID..*ZZ*RECEIVERS.ID...*030101*1253*^*00501*000000905*1*T*:~
2
+ GS*HI*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X217~
3
+ ST*278*0001*005010X217~
4
+ BHT*0007*13*YZZ345*20050502*1101~
5
+ HL*1**20*1~
6
+ NM1*X3*2*CAPITAL INSURANCE COMPANY*****46*789312~
7
+ HL*2*1*21*1~
8
+ NM1*FA*2*GENERAL HOSPITAL*****XX*1232343560~
9
+ HL*3*2*22*1~
10
+ NM1*IL*1*SMITH*MARY****MI*12345678901~
11
+ HL*4*3*EV*0~
12
+ TRN*1*YZZ099*1876543210~
13
+ UM*AR*I*A4*21:B**03***Y~
14
+ DTP*435*D8*20050505~
15
+ HI*BF:29603:D8:20050430~
16
+ HSD*DY*3~
17
+ CL1*1~
18
+ NM1*FA*2*GENERAL HOSPITAL*****XX*1232343560~
19
+ PER*IC**TE*4029993456~
20
+ NM1*71*1*JONES*MARCUS****XX*1536676541~
21
+ NM1*SJ*1*BROWN*JACOB****XX*1234545451~
22
+ SE*20*0001~
23
+ GE*1*1~
24
+ IEA*1*000000905~