stupidedi 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +215 -0
- data/Rakefile +108 -0
- data/bin/edi-ed +71 -0
- data/bin/edi-pp +81 -0
- data/doc/Defining.md +0 -0
- data/doc/Generating.md +321 -0
- data/doc/LICENSE.md +0 -0
- data/doc/Navigating.md +645 -0
- data/doc/Parsing.md +0 -0
- data/doc/Serializing.md +7 -0
- data/doc/Tokenizing.md +0 -0
- data/doc/Validating.md +0 -0
- data/doc/design/Parser.md +0 -0
- data/doc/design/Reader.md +0 -0
- data/lib/ruby/array.rb +164 -0
- data/lib/ruby/blank.rb +67 -0
- data/lib/ruby/enumerable.rb +35 -0
- data/lib/ruby/exception.rb +33 -0
- data/lib/ruby/hash.rb +4 -0
- data/lib/ruby/instance_exec.rb +26 -0
- data/lib/ruby/module.rb +79 -0
- data/lib/ruby/object.rb +63 -0
- data/lib/ruby/string.rb +73 -0
- data/lib/ruby/symbol.rb +24 -0
- data/lib/ruby/to_d.rb +81 -0
- data/lib/ruby/to_date.rb +33 -0
- data/lib/ruby/to_time.rb +24 -0
- data/lib/ruby/try.rb +43 -0
- data/lib/stupidedi/blank_slate.rb +11 -0
- data/lib/stupidedi/builder/builder_dsl.rb +281 -0
- data/lib/stupidedi/builder/constraint_table.rb +418 -0
- data/lib/stupidedi/builder/generation.rb +112 -0
- data/lib/stupidedi/builder/instruction.rb +102 -0
- data/lib/stupidedi/builder/instruction_table.rb +204 -0
- data/lib/stupidedi/builder/navigation.rb +655 -0
- data/lib/stupidedi/builder/state_machine.rb +55 -0
- data/lib/stupidedi/builder/states/abstract_state.rb +332 -0
- data/lib/stupidedi/builder/states/failure_state.rb +69 -0
- data/lib/stupidedi/builder/states/functional_group_state.rb +97 -0
- data/lib/stupidedi/builder/states/initial_state.rb +63 -0
- data/lib/stupidedi/builder/states/interchange_state.rb +94 -0
- data/lib/stupidedi/builder/states/loop_state.rb +79 -0
- data/lib/stupidedi/builder/states/table_state.rb +96 -0
- data/lib/stupidedi/builder/states/transaction_set_state.rb +112 -0
- data/lib/stupidedi/builder/states/transmission_state.rb +59 -0
- data/lib/stupidedi/builder/tokenization.rb +196 -0
- data/lib/stupidedi/builder.rb +23 -0
- data/lib/stupidedi/color.rb +93 -0
- data/lib/stupidedi/config/code_list_config.rb +42 -0
- data/lib/stupidedi/config/editor_config.rb +51 -0
- data/lib/stupidedi/config/functional_group_config.rb +62 -0
- data/lib/stupidedi/config/interchange_config.rb +79 -0
- data/lib/stupidedi/config/transaction_set_config.rb +91 -0
- data/lib/stupidedi/config.rb +101 -0
- data/lib/stupidedi/editor/00501.rb +341 -0
- data/lib/stupidedi/editor/005010/N2.rb +0 -0
- data/lib/stupidedi/editor/005010/N3.rb +0 -0
- data/lib/stupidedi/editor/005010/N4.rb +63 -0
- data/lib/stupidedi/editor/005010/NM1.rb +0 -0
- data/lib/stupidedi/editor/005010.rb +469 -0
- data/lib/stupidedi/editor/X222-HC837.rb +195 -0
- data/lib/stupidedi/editor/abstract_ed.rb +36 -0
- data/lib/stupidedi/editor/claim_ack.rb +9 -0
- data/lib/stupidedi/editor/implementation_ack.rb +213 -0
- data/lib/stupidedi/editor/interchange_ack.rb +9 -0
- data/lib/stupidedi/editor/result.rb +100 -0
- data/lib/stupidedi/editor/result_set.rb +69 -0
- data/lib/stupidedi/editor/transaction_set_ed.rb +275 -0
- data/lib/stupidedi/editor/transmission_ed.rb +90 -0
- data/lib/stupidedi/editor.rb +37 -0
- data/lib/stupidedi/either.rb +287 -0
- data/lib/stupidedi/exceptions/invalid_element_error.rb +8 -0
- data/lib/stupidedi/exceptions/invalid_schema_error.rb +8 -0
- data/lib/stupidedi/exceptions/output_error.rb +8 -0
- data/lib/stupidedi/exceptions/parse_error.rb +8 -0
- data/lib/stupidedi/exceptions/stupidedi_error.rb +8 -0
- data/lib/stupidedi/exceptions/tokenize_error.rb +8 -0
- data/lib/stupidedi/exceptions/zipper_error.rb +8 -0
- data/lib/stupidedi/exceptions.rb +11 -0
- data/lib/stupidedi/guides/005010/X214-HN277.rb +409 -0
- data/lib/stupidedi/guides/005010/X221-HP835.rb +613 -0
- data/lib/stupidedi/guides/005010/X221A1-HP835.rb +613 -0
- data/lib/stupidedi/guides/005010/X222-HC837P.rb +2291 -0
- data/lib/stupidedi/guides/005010/X222A1-HC837P.rb +2297 -0
- data/lib/stupidedi/guides/005010/X231-FA999.rb +123 -0
- data/lib/stupidedi/guides/005010/X231A1-FA999.rb +119 -0
- data/lib/stupidedi/guides/005010/element_reqs.rb +38 -0
- data/lib/stupidedi/guides/005010/guide_builder.rb +180 -0
- data/lib/stupidedi/guides/005010/segment_reqs.rb +32 -0
- data/lib/stupidedi/guides/005010.rb +64 -0
- data/lib/stupidedi/guides.rb +5 -0
- data/lib/stupidedi/inspect.rb +26 -0
- data/lib/stupidedi/reader/input/abstract_input.rb +133 -0
- data/lib/stupidedi/reader/input/delegated_input.rb +111 -0
- data/lib/stupidedi/reader/input/file_input.rb +155 -0
- data/lib/stupidedi/reader/input.rb +30 -0
- data/lib/stupidedi/reader/position.rb +69 -0
- data/lib/stupidedi/reader/result.rb +168 -0
- data/lib/stupidedi/reader/segment_dict.rb +175 -0
- data/lib/stupidedi/reader/separators.rb +85 -0
- data/lib/stupidedi/reader/stream_reader.rb +172 -0
- data/lib/stupidedi/reader/token_reader.rb +466 -0
- data/lib/stupidedi/reader/tokens/component_element_tok.rb +56 -0
- data/lib/stupidedi/reader/tokens/composite_element_tok.rb +64 -0
- data/lib/stupidedi/reader/tokens/repeated_element_tok.rb +64 -0
- data/lib/stupidedi/reader/tokens/segment_tok.rb +51 -0
- data/lib/stupidedi/reader/tokens/simple_element_tok.rb +63 -0
- data/lib/stupidedi/reader.rb +121 -0
- data/lib/stupidedi/schema/abstract_def.rb +74 -0
- data/lib/stupidedi/schema/abstract_use.rb +73 -0
- data/lib/stupidedi/schema/code_list.rb +94 -0
- data/lib/stupidedi/schema/element_def.rb +173 -0
- data/lib/stupidedi/schema/element_req.rb +56 -0
- data/lib/stupidedi/schema/element_use.rb +251 -0
- data/lib/stupidedi/schema/functional_group_def.rb +114 -0
- data/lib/stupidedi/schema/interchange_def.rb +93 -0
- data/lib/stupidedi/schema/loop_def.rb +152 -0
- data/lib/stupidedi/schema/repeat_count.rb +85 -0
- data/lib/stupidedi/schema/segment_def.rb +108 -0
- data/lib/stupidedi/schema/segment_req.rb +43 -0
- data/lib/stupidedi/schema/segment_use.rb +98 -0
- data/lib/stupidedi/schema/syntax_note.rb +63 -0
- data/lib/stupidedi/schema/table_def.rb +139 -0
- data/lib/stupidedi/schema/transaction_set_def.rb +88 -0
- data/lib/stupidedi/schema.rb +28 -0
- data/lib/stupidedi/sets/absolute_set.rb +297 -0
- data/lib/stupidedi/sets/abstract_set.rb +174 -0
- data/lib/stupidedi/sets/null_set.rb +125 -0
- data/lib/stupidedi/sets/relative_complement.rb +137 -0
- data/lib/stupidedi/sets/relative_set.rb +269 -0
- data/lib/stupidedi/sets/universal_set.rb +104 -0
- data/lib/stupidedi/sets.rb +57 -0
- data/lib/stupidedi/tail_call.rb +109 -0
- data/lib/stupidedi/thread_local.rb +174 -0
- data/lib/stupidedi/values/abstract_element_val.rb +19 -0
- data/lib/stupidedi/values/abstract_val.rb +130 -0
- data/lib/stupidedi/values/composite_element_val.rb +95 -0
- data/lib/stupidedi/values/functional_group_val.rb +102 -0
- data/lib/stupidedi/values/interchange_val.rb +86 -0
- data/lib/stupidedi/values/invalid_envelope_val.rb +61 -0
- data/lib/stupidedi/values/invalid_segment_val.rb +78 -0
- data/lib/stupidedi/values/loop_val.rb +70 -0
- data/lib/stupidedi/values/repeated_element_val.rb +105 -0
- data/lib/stupidedi/values/segment_val.rb +104 -0
- data/lib/stupidedi/values/segment_val_group.rb +20 -0
- data/lib/stupidedi/values/simple_element_val.rb +80 -0
- data/lib/stupidedi/values/table_val.rb +66 -0
- data/lib/stupidedi/values/transaction_set_val.rb +66 -0
- data/lib/stupidedi/values/transmission_val.rb +52 -0
- data/lib/stupidedi/values.rb +21 -0
- data/lib/stupidedi/version.rb +3 -0
- data/lib/stupidedi/versions/functional_groups/004010/element_defs.rb +54 -0
- data/lib/stupidedi/versions/functional_groups/004010/element_reqs.rb +18 -0
- data/lib/stupidedi/versions/functional_groups/004010/element_types/date_val.rb +527 -0
- data/lib/stupidedi/versions/functional_groups/004010/element_types/fixnum_val.rb +335 -0
- data/lib/stupidedi/versions/functional_groups/004010/element_types/float_val.rb +299 -0
- data/lib/stupidedi/versions/functional_groups/004010/element_types/identifier_val.rb +287 -0
- data/lib/stupidedi/versions/functional_groups/004010/element_types/string_val.rb +338 -0
- data/lib/stupidedi/versions/functional_groups/004010/element_types/time_val.rb +309 -0
- data/lib/stupidedi/versions/functional_groups/004010/element_types.rb +124 -0
- data/lib/stupidedi/versions/functional_groups/004010/functional_group_def.rb +30 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs/GE.rb +20 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs/GS.rb +27 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs/SE.rb +20 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs/ST.rb +20 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs.rb +23 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_reqs.rb +18 -0
- data/lib/stupidedi/versions/functional_groups/004010/syntax_notes.rb +174 -0
- data/lib/stupidedi/versions/functional_groups/004010.rb +38 -0
- data/lib/stupidedi/versions/functional_groups/005010/element_defs.rb +1405 -0
- data/lib/stupidedi/versions/functional_groups/005010/element_reqs.rb +18 -0
- data/lib/stupidedi/versions/functional_groups/005010/element_types/date_val.rb +577 -0
- data/lib/stupidedi/versions/functional_groups/005010/element_types/fixnum_val.rb +322 -0
- data/lib/stupidedi/versions/functional_groups/005010/element_types/float_val.rb +354 -0
- data/lib/stupidedi/versions/functional_groups/005010/element_types/identifier_val.rb +368 -0
- data/lib/stupidedi/versions/functional_groups/005010/element_types/operators.rb +117 -0
- data/lib/stupidedi/versions/functional_groups/005010/element_types/string_val.rb +398 -0
- data/lib/stupidedi/versions/functional_groups/005010/element_types/time_val.rb +327 -0
- data/lib/stupidedi/versions/functional_groups/005010/element_types.rb +132 -0
- data/lib/stupidedi/versions/functional_groups/005010/functional_group_def.rb +30 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/AK1.rb +21 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/AK2.rb +21 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/AK9.rb +28 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/AMT.rb +21 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/BHT.rb +24 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/BPR.rb +49 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CAS.rb +56 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CL1.rb +22 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CLM.rb +41 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CLP.rb +34 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CN1.rb +24 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CR1.rb +32 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CR2.rb +35 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CR3.rb +25 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CRC.rb +26 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CTP.rb +36 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CTX.rb +24 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/CUR.rb +57 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/DMG.rb +34 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/DN1.rb +22 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/DN2.rb +24 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/DTM.rb +24 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/DTP.rb +21 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/FRM.rb +25 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/GE.rb +20 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/GS.rb +27 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/HCP.rb +39 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/HI.rb +31 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/HL.rb +22 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/IK3.rb +22 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/IK4.rb +22 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/IK5.rb +24 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/K3.rb +21 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/LIN.rb +69 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/LQ.rb +22 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/LX.rb +19 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/MEA.rb +39 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/MIA.rb +45 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/MOA.rb +28 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/N1.rb +24 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/N2.rb +20 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/N3.rb +20 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/N4.rb +30 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/NM1.rb +35 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/NTE.rb +20 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/OI.rb +24 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/PAT.rb +31 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/PER.rb +32 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/PLB.rb +40 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/PRV.rb +26 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/PS1.rb +21 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/PWK.rb +30 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/QTY.rb +25 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/RDM.rb +23 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/REF.rb +23 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SBR.rb +28 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SE.rb +20 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/ST.rb +21 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/STC.rb +30 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SV1.rb +44 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SV2.rb +29 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SV3.rb +30 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SV5.rb +29 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SVC.rb +26 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/SVD.rb +24 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/TOO.rb +21 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/TRN.rb +22 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/TS2.rb +40 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/TS3.rb +45 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs.rb +227 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_reqs.rb +18 -0
- data/lib/stupidedi/versions/functional_groups/005010/syntax_notes.rb +165 -0
- data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/FA999.rb +38 -0
- data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HB271.rb +85 -0
- data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HC837.rb +163 -0
- data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HI278.rb +64 -0
- data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HN277.rb +74 -0
- data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HP835.rb +68 -0
- data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HR276.rb +57 -0
- data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HS270.rb +53 -0
- data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/RA820.rb +240 -0
- data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs.rb +68 -0
- data/lib/stupidedi/versions/functional_groups/005010.rb +38 -0
- data/lib/stupidedi/versions/functional_groups.rb +8 -0
- data/lib/stupidedi/versions/interchanges/00401/element_defs.rb +224 -0
- data/lib/stupidedi/versions/interchanges/00401/interchange_def.rb +45 -0
- data/lib/stupidedi/versions/interchanges/00401/segment_defs/IEA.rb +20 -0
- data/lib/stupidedi/versions/interchanges/00401/segment_defs/ISA.rb +34 -0
- data/lib/stupidedi/versions/interchanges/00401/segment_defs/TA1.rb +23 -0
- data/lib/stupidedi/versions/interchanges/00401/segment_defs.rb +28 -0
- data/lib/stupidedi/versions/interchanges/00401.rb +23 -0
- data/lib/stupidedi/versions/interchanges/00501/element_defs.rb +269 -0
- data/lib/stupidedi/versions/interchanges/00501/interchange_def.rb +47 -0
- data/lib/stupidedi/versions/interchanges/00501/segment_defs/IEA.rb +20 -0
- data/lib/stupidedi/versions/interchanges/00501/segment_defs/ISA.rb +34 -0
- data/lib/stupidedi/versions/interchanges/00501/segment_defs/ISB.rb +18 -0
- data/lib/stupidedi/versions/interchanges/00501/segment_defs/ISE.rb +18 -0
- data/lib/stupidedi/versions/interchanges/00501/segment_defs/TA1.rb +23 -0
- data/lib/stupidedi/versions/interchanges/00501/segment_defs/TA3.rb +18 -0
- data/lib/stupidedi/versions/interchanges/00501/segment_defs.rb +37 -0
- data/lib/stupidedi/versions/interchanges/00501.rb +23 -0
- data/lib/stupidedi/versions/interchanges.rb +8 -0
- data/lib/stupidedi/versions.rb +6 -0
- data/lib/stupidedi/writer/claredi.rb +142 -0
- data/lib/stupidedi/writer/default.rb +124 -0
- data/lib/stupidedi/writer.rb +6 -0
- data/lib/stupidedi/zipper/abstract_cursor.rb +351 -0
- data/lib/stupidedi/zipper/dangling_cursor.rb +103 -0
- data/lib/stupidedi/zipper/edited_cursor.rb +157 -0
- data/lib/stupidedi/zipper/memoized_cursor.rb +131 -0
- data/lib/stupidedi/zipper/path.rb +124 -0
- data/lib/stupidedi/zipper/root_cursor.rb +120 -0
- data/lib/stupidedi/zipper.rb +25 -0
- data/lib/stupidedi.rb +66 -0
- data/spec/examples/integration/generating.example +551 -0
- data/spec/examples/integration/navigating.example +214 -0
- data/spec/examples/integration/parsing.example +445 -0
- data/spec/examples/ruby/array.example +476 -0
- data/spec/examples/ruby/blank.example +62 -0
- data/spec/examples/ruby/count.example +68 -0
- data/spec/examples/ruby/object.example +99 -0
- data/spec/examples/ruby/string.example +111 -0
- data/spec/examples/ruby/symbol.example +117 -0
- data/spec/examples/ruby/to_d.example +90 -0
- data/spec/examples/ruby/try.example +50 -0
- data/spec/examples/stupidedi/either.example +375 -0
- data/spec/examples/stupidedi/reader/failure.example +68 -0
- data/spec/examples/stupidedi/reader/input/delegated_input.example +292 -0
- data/spec/examples/stupidedi/reader/separators.example +73 -0
- data/spec/examples/stupidedi/reader/stream_reader.example +48 -0
- data/spec/examples/stupidedi/reader/success.example +34 -0
- data/spec/examples/stupidedi/reader/token_reader.example +775 -0
- data/spec/examples/stupidedi/reader.example +168 -0
- data/spec/examples/stupidedi/sets/absolute_set.example +1577 -0
- data/spec/examples/stupidedi/sets/null_set.example +2 -0
- data/spec/examples/stupidedi/sets/relative_set.example +2 -0
- data/spec/examples/stupidedi/sets/universal_set.example +1 -0
- data/spec/examples/stupidedi/versions/005010/element_types/an.example +201 -0
- data/spec/examples/stupidedi/versions/005010/element_types/dt.example +258 -0
- data/spec/examples/stupidedi/versions/005010/element_types/id.example +192 -0
- data/spec/examples/stupidedi/versions/005010/element_types/nn.example +177 -0
- data/spec/examples/stupidedi/versions/005010/element_types/r.example +178 -0
- data/spec/examples/stupidedi/versions/005010/element_types/tm.example +2 -0
- data/spec/examples/stupidedi/zipper/abstract_cursor.example +417 -0
- data/spec/examples/stupidedi/zipper.example +9 -0
- data/spec/fixtures/X186-AG824/1-bad.txt +21 -0
- data/spec/fixtures/X186-AG824/1-good.txt +17 -0
- data/spec/fixtures/X186-AG824/2-bad.txt +26 -0
- data/spec/fixtures/X186-AG824/2-good.txt +21 -0
- data/spec/fixtures/X186-AG824/3-bad.txt +87 -0
- data/spec/fixtures/X186-AG824/3-good.txt +61 -0
- data/spec/fixtures/X212-HN277/1-bad.txt +54 -0
- data/spec/fixtures/X212-HN277/1-good.txt +46 -0
- data/spec/fixtures/X212-HN277/2-bad.txt +37 -0
- data/spec/fixtures/X212-HN277/2-good.txt +29 -0
- data/spec/fixtures/X212-HN277/3-bad.txt +22 -0
- data/spec/fixtures/X212-HN277/3-good.txt +17 -0
- data/spec/fixtures/X212-HN277/4-bad.txt +30 -0
- data/spec/fixtures/X212-HN277/4-good.txt +24 -0
- data/spec/fixtures/X212-HR276/1-bad.txt +53 -0
- data/spec/fixtures/X212-HR276/1-good.txt +46 -0
- data/spec/fixtures/X212-HR276/2-bad.txt +45 -0
- data/spec/fixtures/X212-HR276/2-good.txt +38 -0
- data/spec/fixtures/X212-HR276/3-bad.txt +32 -0
- data/spec/fixtures/X212-HR276/3-good.txt +26 -0
- data/spec/fixtures/X212-HR276/4-bad.txt +32 -0
- data/spec/fixtures/X212-HR276/4-good.txt +26 -0
- data/spec/fixtures/X214-HN277/1-bad.txt +58 -0
- data/spec/fixtures/X214-HN277/1-good.txt +47 -0
- data/spec/fixtures/X214-HN277/2-bad.txt +34 -0
- data/spec/fixtures/X214-HN277/2-good.txt +22 -0
- data/spec/fixtures/X214-HN277/3-bad.txt +64 -0
- data/spec/fixtures/X214-HN277/3-good.txt +54 -0
- data/spec/fixtures/X214-HN277/4-bad.txt +77 -0
- data/spec/fixtures/X214-HN277/4-good.txt +63 -0
- data/spec/fixtures/X216-HI278/1-bad.txt +42 -0
- data/spec/fixtures/X216-HI278/1-good.txt +27 -0
- data/spec/fixtures/X216-HI278/2-bad.txt +43 -0
- data/spec/fixtures/X216-HI278/2-good.txt +29 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-1.txt +24 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-1_Clean.txt +20 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-2.txt +46 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-2_Clean.txt +30 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-3.txt +38 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-3_Clean.txt +24 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-4a.txt +39 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-4a_Clean.txt +24 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-4b.txt +43 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-4b_Clean.txt +25 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-5.txt +63 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-5_Clean.txt +41 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-6.txt +36 -0
- data/spec/fixtures/X217-HI278/Sample_278_Request_5010X217-6_Clean.txt +20 -0
- data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-1r.txt +34 -0
- data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-1r_Clean.txt +23 -0
- data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-2r.txt +46 -0
- data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-2r_Clean.txt +31 -0
- data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-3r.txt +44 -0
- data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-3r_Clean.txt +26 -0
- data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-4ar_Clean.txt +28 -0
- data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-4br_Clean.txt +35 -0
- data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-5r.txt +60 -0
- data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-5r_Clean.txt +42 -0
- data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-6r.txt +40 -0
- data/spec/fixtures/X217-HI278/Sample_278_Response_5010X217-6r_Clean.txt +24 -0
- data/spec/fixtures/X218-RA820/1-bad.txt +31 -0
- data/spec/fixtures/X218-RA820/1-good.txt +25 -0
- data/spec/fixtures/X218-RA820/2-bad.txt +37 -0
- data/spec/fixtures/X218-RA820/2-good.txt +29 -0
- data/spec/fixtures/X218-RA820/3-bad.txt +29 -0
- data/spec/fixtures/X218-RA820/3-good.txt +23 -0
- data/spec/fixtures/X218-RA820/4-bad.txt +36 -0
- data/spec/fixtures/X218-RA820/4-good.txt +27 -0
- data/spec/fixtures/X220-BE834/1-bad.txt +35 -0
- data/spec/fixtures/X220-BE834/1-good.txt +29 -0
- data/spec/fixtures/X220-BE834/10-bad.txt +26 -0
- data/spec/fixtures/X220-BE834/10-good.txt +19 -0
- data/spec/fixtures/X220-BE834/2-bad.txt +31 -0
- data/spec/fixtures/X220-BE834/2-good.txt +23 -0
- data/spec/fixtures/X220-BE834/3-bad.txt +36 -0
- data/spec/fixtures/X220-BE834/3-good.txt +26 -0
- data/spec/fixtures/X220-BE834/4-bad.txt +27 -0
- data/spec/fixtures/X220-BE834/4-good.txt +21 -0
- data/spec/fixtures/X220-BE834/5-bad.txt +26 -0
- data/spec/fixtures/X220-BE834/5-good.txt +17 -0
- data/spec/fixtures/X220-BE834/6-bad.txt +25 -0
- data/spec/fixtures/X220-BE834/6-good.txt +20 -0
- data/spec/fixtures/X220-BE834/7-bad.txt +25 -0
- data/spec/fixtures/X220-BE834/7-good.txt +20 -0
- data/spec/fixtures/X220-BE834/8-bad.txt +25 -0
- data/spec/fixtures/X220-BE834/8-good.txt +20 -0
- data/spec/fixtures/X220-BE834/9-bad.txt +27 -0
- data/spec/fixtures/X220-BE834/9-good.txt +21 -0
- data/spec/fixtures/X221-HP835/1-bad.txt +58 -0
- data/spec/fixtures/X221-HP835/1-good.txt +40 -0
- data/spec/fixtures/X221-HP835/2-bad.txt +51 -0
- data/spec/fixtures/X221-HP835/2-good.txt +40 -0
- data/spec/fixtures/X221-HP835/3a-bad.txt +78 -0
- data/spec/fixtures/X221-HP835/3a-good.txt +49 -0
- data/spec/fixtures/X221-HP835/3b-bad.txt +60 -0
- data/spec/fixtures/X221-HP835/3b-good.txt +32 -0
- data/spec/fixtures/X221-HP835/3c-bad.txt +55 -0
- data/spec/fixtures/X221-HP835/3c-good.txt +34 -0
- data/spec/fixtures/X222-HC837/1-bad.txt +60 -0
- data/spec/fixtures/X222-HC837/1-good.txt +53 -0
- data/spec/fixtures/X222-HC837/10a-bad.txt +52 -0
- data/spec/fixtures/X222-HC837/10a-good.txt +40 -0
- data/spec/fixtures/X222-HC837/10b-bad.txt +99 -0
- data/spec/fixtures/X222-HC837/10b-good.txt +80 -0
- data/spec/fixtures/X222-HC837/10c-bad.txt +105 -0
- data/spec/fixtures/X222-HC837/10c-good.txt +80 -0
- data/spec/fixtures/X222-HC837/11-bad.txt +69 -0
- data/spec/fixtures/X222-HC837/11-good.txt +45 -0
- data/spec/fixtures/X222-HC837/12-bad.txt +73 -0
- data/spec/fixtures/X222-HC837/12-good.txt +51 -0
- data/spec/fixtures/X222-HC837/13-bad.txt +64 -0
- data/spec/fixtures/X222-HC837/13-good.txt +46 -0
- data/spec/fixtures/X222-HC837/3a-bad.txt +83 -0
- data/spec/fixtures/X222-HC837/3a-good.txt +59 -0
- data/spec/fixtures/X222-HC837/3b-bad.txt +97 -0
- data/spec/fixtures/X222-HC837/3b-good.txt +70 -0
- data/spec/fixtures/X222-HC837/3c-bad.txt +95 -0
- data/spec/fixtures/X222-HC837/3c-good.txt +74 -0
- data/spec/fixtures/X222-HC837/4-bad.txt +67 -0
- data/spec/fixtures/X222-HC837/4-good.txt +48 -0
- data/spec/fixtures/X222-HC837/5-bad.txt +73 -0
- data/spec/fixtures/X222-HC837/5-good.txt +60 -0
- data/spec/fixtures/X222-HC837/6-bad.txt +50 -0
- data/spec/fixtures/X222-HC837/6-good.txt +39 -0
- data/spec/fixtures/X222-HC837/7-bad.txt +93 -0
- data/spec/fixtures/X222-HC837/7-good.txt +78 -0
- data/spec/fixtures/X222-HC837/8-bad.txt +64 -0
- data/spec/fixtures/X222-HC837/8-good.txt +52 -0
- data/spec/fixtures/X222-HC837/9-bad.txt +56 -0
- data/spec/fixtures/X222-HC837/9-good.txt +38 -0
- data/spec/fixtures/X223-HC837/1-bad.txt +66 -0
- data/spec/fixtures/X223-HC837/1-good.txt +53 -0
- data/spec/fixtures/X223-HC837/2-bad.txt +69 -0
- data/spec/fixtures/X223-HC837/2-good.txt +60 -0
- data/spec/fixtures/X223-HC837/3-bad.txt +89 -0
- data/spec/fixtures/X223-HC837/3-good.txt +61 -0
- data/spec/fixtures/X223-HC837/4-bad.txt +60 -0
- data/spec/fixtures/X223-HC837/4-good.txt +40 -0
- data/spec/fixtures/X223-HC837/5-bad.txt +75 -0
- data/spec/fixtures/X223-HC837/5-good.txt +58 -0
- data/spec/fixtures/X224-HC837/1-bad.txt +54 -0
- data/spec/fixtures/X224-HC837/1-good.txt +44 -0
- data/spec/fixtures/X224-HC837/2a-bad.txt +52 -0
- data/spec/fixtures/X224-HC837/2a-good.txt +42 -0
- data/spec/fixtures/X224-HC837/2b-bad.txt +67 -0
- data/spec/fixtures/X224-HC837/2b-good.txt +52 -0
- data/spec/fixtures/X224-HC837/3-bad.txt +67 -0
- data/spec/fixtures/X224-HC837/3-good.txt +51 -0
- data/spec/fixtures/X224-HC837/4-bad.txt +49 -0
- data/spec/fixtures/X224-HC837/4-good.txt +40 -0
- data/spec/fixtures/X230-FA997/1-bad.txt +19 -0
- data/spec/fixtures/X230-FA997/1-good.txt +16 -0
- data/spec/fixtures/X231-FA999/1-bad.txt +20 -0
- data/spec/fixtures/X231-FA999/1-good.txt +20 -0
- data/spec/fixtures/X279-HB271/1-bad.txt +36 -0
- data/spec/fixtures/X279-HB271/1-good.txt +30 -0
- data/spec/fixtures/X279-HB271/2-bad.txt +22 -0
- data/spec/fixtures/X279-HB271/2-good.txt +16 -0
- data/spec/fixtures/X279-HB271/3-bad.txt +44 -0
- data/spec/fixtures/X279-HB271/3-good.txt +36 -0
- data/spec/fixtures/X279-HS270/1-bad.txt +29 -0
- data/spec/fixtures/X279-HS270/1-good.txt +23 -0
- data/spec/fixtures/X279-HS270/2-bad.txt +32 -0
- data/spec/fixtures/X279-HS270/2-good.txt +25 -0
- data/spec/spec_helper.rb +34 -0
- data/spec/support/fixtures.rb +26 -0
- data/spec/support/matchers/either_matchers.rb +26 -0
- data/spec/support/matchers/navigation_matchers.rb +247 -0
- data/spec/support/node.rb +41 -0
- data/spec/support/quickcheck/characters.rb +28 -0
- data/spec/support/quickcheck/property.rb +105 -0
- data/spec/support/quickcheck/serialized_edi.rb +399 -0
- data/spec/support/quickcheck.rb +302 -0
- data/spec/support/rcov.rb +34 -0
- metadata +577 -0
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
module Stupidedi
|
|
2
|
+
module Guides
|
|
3
|
+
module FiftyTen
|
|
4
|
+
module X214
|
|
5
|
+
|
|
6
|
+
b = GuideBuilder
|
|
7
|
+
d = Schema
|
|
8
|
+
r = SegmentReqs
|
|
9
|
+
e = ElementReqs
|
|
10
|
+
s = Versions::FunctionalGroups::FiftyTen::SegmentDefs
|
|
11
|
+
t = Versions::FunctionalGroups::FiftyTen::TransactionSetDefs
|
|
12
|
+
|
|
13
|
+
#
|
|
14
|
+
# Health Care Claim Acknowledgement
|
|
15
|
+
#
|
|
16
|
+
HN277 = b.build(t::HN277,
|
|
17
|
+
d::TableDef.header("Table 1 - Header",
|
|
18
|
+
b::Segment(100, s::ST, "Transaction Set Header",
|
|
19
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
20
|
+
b::Element(e::Required, "Transaction Set Identifier Code", b::Values("277")),
|
|
21
|
+
b::Element(e::Required, "Transaction Set Control Number"),
|
|
22
|
+
b::Element(e::Required, "Version, Release, or Industry Identifier", b::Values("005010X214"))),
|
|
23
|
+
b::Segment(200, s::BHT, "Beginning of Hierarchical Transaction",
|
|
24
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
25
|
+
b::Element(e::Required, "Hierarchical Structure Code", b::Values("0085")),
|
|
26
|
+
b::Element(e::Required, "Transaction Set Purpose Code", b::Values("08")),
|
|
27
|
+
b::Element(e::Required, "Originator Application Transaction Identifier", b::MaxLength(30)),
|
|
28
|
+
b::Element(e::Required, "Transaction Set Creation Date"),
|
|
29
|
+
b::Element(e::Required, "Transaction Set Creation Time"),
|
|
30
|
+
b::Element(e::Required, "Transaction Type Code", b::Values("TH")))),
|
|
31
|
+
|
|
32
|
+
d::TableDef.detail("Table 2 - Information Source Detail",
|
|
33
|
+
d::LoopDef.build("2000A INFORMATION SOURCE LEVEL",
|
|
34
|
+
d::RepeatCount.bounded(1),
|
|
35
|
+
b::Segment(100, s::HL, "Information Source Level",
|
|
36
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
37
|
+
b::Element(e::Required, "Hierarchical ID Number"),
|
|
38
|
+
b::Element(e::NotUsed, "Hierarchical Parent ID Number"),
|
|
39
|
+
b::Element(e::Required, "Hierarchical Level Code", b::Values("20")),
|
|
40
|
+
b::Element(e::Required, "Hierachical Child Code", b::Values("1"))),
|
|
41
|
+
|
|
42
|
+
d::LoopDef.build("2100A INFORMATION SOURCE NAME",
|
|
43
|
+
d::RepeatCount.bounded(1),
|
|
44
|
+
b::Segment(500, s::NM1, "Information Source Name",
|
|
45
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
46
|
+
b::Element(e::Required, "Entity Identifier Code", b::Values("AY", "PR")),
|
|
47
|
+
b::Element(e::Required, "Entity Type Qualifier", b::Values("2")),
|
|
48
|
+
b::Element(e::Required, "Information Source Name"),
|
|
49
|
+
b::Element(e::NotUsed, "Name First"),
|
|
50
|
+
b::Element(e::NotUsed, "Name Middle"),
|
|
51
|
+
b::Element(e::NotUsed, "Name Prefix"),
|
|
52
|
+
b::Element(e::NotUsed, "Name Suffix"),
|
|
53
|
+
b::Element(e::Required, "Identification Code Qualifier", b::Values("46", "FI", "PI")),
|
|
54
|
+
b::Element(e::Required, "Information Source Identifier"),
|
|
55
|
+
b::Element(e::NotUsed, "Entity Relationship Code"),
|
|
56
|
+
b::Element(e::NotUsed, "Entity Identifier Code"),
|
|
57
|
+
b::Element(e::NotUsed, "Name Last or Organization Name"))),
|
|
58
|
+
|
|
59
|
+
d::LoopDef.build("2200A TRANSMISSION RECEIPT CONTROL IDENTIFIER",
|
|
60
|
+
d::RepeatCount.bounded(1),
|
|
61
|
+
b::Segment( 900, s::TRN, "Transmission Receipt Control Identifier",
|
|
62
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
63
|
+
b::Element(e::Required, "Trace Type Code", b::Values("1")),
|
|
64
|
+
b::Element(e::Required, "Information Source Application Trace Identifier"),
|
|
65
|
+
b::Element(e::NotUsed, "Originating Company Identifier"),
|
|
66
|
+
b::Element(e::NotUsed, "Reference Identification")),
|
|
67
|
+
b::Segment(1200, s::DTP, "Information Source Receipt Date",
|
|
68
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
69
|
+
b::Element(e::Required, "Date Time Qualifier", b::Values("050")),
|
|
70
|
+
b::Element(e::Required, "Date Time Period Format Qualifier", b::Values("D8")),
|
|
71
|
+
b::Element(e::Required, "Information Source Receipt Date")),
|
|
72
|
+
b::Segment(1200, s::DTP, "Information Source Process Date",
|
|
73
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
74
|
+
b::Element(e::Required, "Date Time Qualifier", b::Values("009")),
|
|
75
|
+
b::Element(e::Required, "Date Time Period Format Qualifier", b::Values("D8")),
|
|
76
|
+
b::Element(e::Required, "Information Source Process Date"))))),
|
|
77
|
+
|
|
78
|
+
d::TableDef.detail("Table 2 - Information Receiver Detail",
|
|
79
|
+
d::LoopDef.build("2000B INFORMATION RECEIVER LEVEL",
|
|
80
|
+
d::RepeatCount.bounded(1),
|
|
81
|
+
b::Segment(100, s::HL, "Information Receiver Level",
|
|
82
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
83
|
+
b::Element(e::Required, "Hierarchical ID Number"),
|
|
84
|
+
b::Element(e::Required, "Hierarchical Parent ID Number"),
|
|
85
|
+
b::Element(e::Required, "Hierarchical Level Code", b::Values("21")),
|
|
86
|
+
b::Element(e::Required, "Hierachical Child Code", b::Values("0", "1"))),
|
|
87
|
+
|
|
88
|
+
d::LoopDef.build("2100B INFORMATION RECEIVER NAME",
|
|
89
|
+
d::RepeatCount.bounded(1),
|
|
90
|
+
b::Segment(500, s::NM1, "Information Receiver Name",
|
|
91
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
92
|
+
b::Element(e::Required, "Entity Identifier Code", b::Values("41")),
|
|
93
|
+
b::Element(e::Required, "Entity Type Qualifier", b::Values("1", "2")),
|
|
94
|
+
b::Element(e::Required, "Information Receiver Last or Organizational Name"),
|
|
95
|
+
b::Element(e::Situational, "Information Receiver First Name"),
|
|
96
|
+
b::Element(e::Situational, "Information Receiver Middle Name or Initial"),
|
|
97
|
+
b::Element(e::NotUsed, "Name Prefix"),
|
|
98
|
+
b::Element(e::NotUsed, "Name Suffix"),
|
|
99
|
+
b::Element(e::Required, "Identification Code Qualifier", b::Values("46")),
|
|
100
|
+
b::Element(e::Required, "Information Receiver Primary Identifier"),
|
|
101
|
+
b::Element(e::NotUsed, "Entity Relationship Code"),
|
|
102
|
+
b::Element(e::NotUsed, "Entity Identifier Code"),
|
|
103
|
+
b::Element(e::NotUsed, "Name Last or Organization Name"))),
|
|
104
|
+
|
|
105
|
+
d::LoopDef.build("2200B INFORMATION RECEIVER APPLICATION TRACE IDENTIFIER",
|
|
106
|
+
d::RepeatCount.bounded(1),
|
|
107
|
+
b::Segment( 900, s::TRN, "Information Receiver Application Trace Identifier",
|
|
108
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
109
|
+
b::Element(e::Required, "Trace Type Code", b::Values("2")),
|
|
110
|
+
b::Element(e::Required, "Claim Transaction Batch Number"),
|
|
111
|
+
b::Element(e::NotUsed, "Originating Company Identifier"),
|
|
112
|
+
b::Element(e::NotUsed, "Reference Identification")),
|
|
113
|
+
b::Segment(1000, s::STC, "Information Receiver Status Information",
|
|
114
|
+
r::Required, d::RepeatCount.unbounded,
|
|
115
|
+
b::Element(e::Required, "HEALTH CARE CLAIM STATUS",
|
|
116
|
+
b::Element(e::Required, "Health Care Claim Status Category Code"), # @todo: CodeSource.external("507")
|
|
117
|
+
b::Element(e::Required, "Health Care Claim Status Code"), # @todo: CodeSource.external("508")
|
|
118
|
+
b::Element(e::Situational, "Entity Identifier Qualifier", b::Values("36", "40", "41", "AY", "PR")),
|
|
119
|
+
b::Element(e::NotUsed, "Code List Qualifier Code")),
|
|
120
|
+
b::Element(e::Required, "Status Information Effective Date"),
|
|
121
|
+
b::Element(e::Required, "Action Code", b::Values("U", "WQ")),
|
|
122
|
+
b::Element(e::Required, "Total Submitted Charges for Unit Work"),
|
|
123
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
|
124
|
+
b::Element(e::NotUsed, "Date"),
|
|
125
|
+
b::Element(e::NotUsed, "Payment Method Code"),
|
|
126
|
+
b::Element(e::NotUsed, "Date"),
|
|
127
|
+
b::Element(e::NotUsed, "Check Number"),
|
|
128
|
+
b::Element(e::Situational, "HEALTH CARE CLAIM STATUS",
|
|
129
|
+
b::Element(e::Required, "Health Care Claim Status Category Code"), # @todo: CodeSource.external("507")
|
|
130
|
+
b::Element(e::Required, "Health Care Claim Status Code"), # @todo: CodeSource.external("508")
|
|
131
|
+
b::Element(e::Situational, "Entity Identifier Qualifier", b::Values("36", "40", "41", "AY", "PR")),
|
|
132
|
+
b::Element(e::NotUsed, "Code List Qualifier Code")),
|
|
133
|
+
b::Element(e::Situational, "HEALTH CARE CLAIM STATUS",
|
|
134
|
+
b::Element(e::Required, "Health Care Claim Status Category Code"), # @todo: CodeSource.external("507")
|
|
135
|
+
b::Element(e::Required, "Health Care Claim Status Code"), # @todo: CodeSource.external("508")
|
|
136
|
+
b::Element(e::Situational, "Entity Identifier Qualifier", b::Values("36", "40", "41", "AY", "PR")),
|
|
137
|
+
b::Element(e::NotUsed, "Code List Qualifier Code")),
|
|
138
|
+
b::Element(e::NotUsed, "Free-form Message Text")),
|
|
139
|
+
b::Segment(1210, s::QTY, "Total Accepted Quantity",
|
|
140
|
+
r::Situational, d::RepeatCount.bounded(1),
|
|
141
|
+
b::Element(e::Required, "Quantity Qualifier", b::Values("90")),
|
|
142
|
+
b::Element(e::Required, "Total Accepted Quantity"),
|
|
143
|
+
b::Element(e::NotUsed, "COMPOSITE UNIT OF MEASURE"),
|
|
144
|
+
b::Element(e::NotUsed, "Free-form Information")),
|
|
145
|
+
b::Segment(1210, s::QTY, "Total Rejected Quantity",
|
|
146
|
+
r::Situational, d::RepeatCount.bounded(1),
|
|
147
|
+
b::Element(e::Required, "Quantity Qualifier", b::Values("AA")),
|
|
148
|
+
b::Element(e::Required, "Total Rejected Quantity"),
|
|
149
|
+
b::Element(e::NotUsed, "COMPOSITE UNIT OF MEASURE"),
|
|
150
|
+
b::Element(e::NotUsed, "Free-form Information")),
|
|
151
|
+
b::Segment(1220, s::AMT, "Total Accepted Amount",
|
|
152
|
+
r::Situational, d::RepeatCount.bounded(1),
|
|
153
|
+
b::Element(e::Required, "Amount Qualifier Code", b::Values("YU")),
|
|
154
|
+
b::Element(e::Required, "Total Rejected Amount"),
|
|
155
|
+
b::Element(e::NotUsed, "Credit/Debit Flag Code")),
|
|
156
|
+
b::Segment(1220, s::AMT, "Total Accepted Amount",
|
|
157
|
+
r::Situational, d::RepeatCount.bounded(1),
|
|
158
|
+
b::Element(e::Required, "Amount Qualifier Code", b::Values("YY")),
|
|
159
|
+
b::Element(e::Required, "Total Accepted Amount"),
|
|
160
|
+
b::Element(e::NotUsed, "Credit/Debit Flag Code"))))),
|
|
161
|
+
|
|
162
|
+
d::TableDef.detail("Table 2 - Billing Provider of Service Detail",
|
|
163
|
+
d::LoopDef.build("2000C BILLING PROVIDER OF SERVICE LEVEL",
|
|
164
|
+
d::RepeatCount.bounded(1),
|
|
165
|
+
b::Segment(100, s::HL, "Billing Provider of Service Level",
|
|
166
|
+
r::Situational, d::RepeatCount.bounded(1),
|
|
167
|
+
b::Element(e::Required, "Hierarchical ID Number"),
|
|
168
|
+
b::Element(e::Required, "Hierarchical Parent ID Number"),
|
|
169
|
+
b::Element(e::Required, "Hierarchical Level Code", b::Values("19")),
|
|
170
|
+
b::Element(e::Required, "Hierachical Child Code", b::Values("0", "1"))),
|
|
171
|
+
|
|
172
|
+
d::LoopDef.build("2100C BILLING PROVIDER NAME",
|
|
173
|
+
d::RepeatCount.unbounded,
|
|
174
|
+
b::Segment(500, s::NM1, "Billing Provider Name",
|
|
175
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
176
|
+
b::Element(e::Required, "Entity Identifier Code", b::Values("85")),
|
|
177
|
+
b::Element(e::Required, "Entity Type Qualifier", b::Values("1", "2")),
|
|
178
|
+
b::Element(e::Required, "Billing Provider Last or Organizational Name"),
|
|
179
|
+
b::Element(e::Situational, "Billing Provider First Name"),
|
|
180
|
+
b::Element(e::Situational, "Billing Provider Middle Name or Initial"),
|
|
181
|
+
b::Element(e::NotUsed, "Name Prefix"),
|
|
182
|
+
b::Element(e::Situational, "Billing Provider Name Suffix"),
|
|
183
|
+
b::Element(e::Required, "Identification Code Qualifier", b::Values("FI", "XX")),
|
|
184
|
+
b::Element(e::Required, "Billing Provider Identifier"),
|
|
185
|
+
b::Element(e::NotUsed, "Entity Relationship Code"),
|
|
186
|
+
b::Element(e::NotUsed, "Entity Identifier Code"),
|
|
187
|
+
b::Element(e::NotUsed, "Name Last or Organization Name"))),
|
|
188
|
+
|
|
189
|
+
d::LoopDef.build("2200C PROVIDER OF SERVICE INFORMATION TRACE IDENTIFIER",
|
|
190
|
+
d::RepeatCount.bounded(1),
|
|
191
|
+
b::Segment( 900, s::TRN, "Provider of Service Information Trace Identifier",
|
|
192
|
+
r::Situational, d::RepeatCount.bounded(1),
|
|
193
|
+
b::Element(e::Required, "Trace Type Code", b::Values("1")),
|
|
194
|
+
b::Element(e::Required, "Provider of Service Information Trace Identifier"),
|
|
195
|
+
b::Element(e::NotUsed, "Originating Company Identifier"),
|
|
196
|
+
b::Element(e::NotUsed, "Reference Identification")),
|
|
197
|
+
b::Segment(1000, s::STC, "Billing Provider Status Information",
|
|
198
|
+
r::Situational, d::RepeatCount.unbounded,
|
|
199
|
+
b::Element(e::Required, "HEALTH CARE CLAIM STATUS",
|
|
200
|
+
b::Element(e::Required, "Health Care Claim Status Category Code"), # @todo: CodeSource.external("507")
|
|
201
|
+
b::Element(e::Required, "Health Care Claim Status Code"), # @todo: CodeSource.external("508")
|
|
202
|
+
b::Element(e::Situational, "Entity Identifier Qualifier", b::Values("36", "40", "41", "77", "82", "85", "87", "AY", "PR")),
|
|
203
|
+
b::Element(e::NotUsed, "Code List Qualifier Code")),
|
|
204
|
+
b::Element(e::NotUsed, ""),
|
|
205
|
+
b::Element(e::Required, "Action Code", b::Values("U", "WQ")),
|
|
206
|
+
b::Element(e::Required, "Total Submitted Charges for Unit Work"),
|
|
207
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
|
208
|
+
b::Element(e::NotUsed, "Date"),
|
|
209
|
+
b::Element(e::NotUsed, "Payment Method Code"),
|
|
210
|
+
b::Element(e::NotUsed, "Date"),
|
|
211
|
+
b::Element(e::NotUsed, "Check Number"),
|
|
212
|
+
b::Element(e::Situational, "HEALTH CARE CLAIM STATUS",
|
|
213
|
+
b::Element(e::Required, "Health Care Claim Status Category Code"), # @todo: CodeSource.external("507")
|
|
214
|
+
b::Element(e::Required, "Health Care Claim Status Code"), # @todo: CodeSource.external("508")
|
|
215
|
+
b::Element(e::Situational, "Entity Identifier Qualifier", b::Values("36", "40", "41", "AY", "PR")),
|
|
216
|
+
b::Element(e::NotUsed, "Code List Qualifier Code")),
|
|
217
|
+
b::Element(e::Situational, "HEALTH CARE CLAIM STATUS",
|
|
218
|
+
b::Element(e::Required, "Health Care Claim Status Category Code"), # @todo: CodeSource.external("507")
|
|
219
|
+
b::Element(e::Required, "Health Care Claim Status Code"), # @todo: CodeSource.external("508")
|
|
220
|
+
b::Element(e::Situational, "Entity Identifier Qualifier", b::Values("36", "40", "41", "AY", "PR")),
|
|
221
|
+
b::Element(e::NotUsed, "Code List Qualifier Code")),
|
|
222
|
+
b::Element(e::NotUsed, "Free-form Message Text")),
|
|
223
|
+
b::Segment(1100, s::REF, "Provider Secondary Identifier",
|
|
224
|
+
r::Situational, d::RepeatCount.bounded(3),
|
|
225
|
+
b::Element(e::Required, "Reference Identification Qualifier", b::Values("0B", "1G", "G2", "LU", "SY", "TJ")),
|
|
226
|
+
b::Element(e::Required, "Billing Provider Additional Identifier"),
|
|
227
|
+
b::Element(e::NotUsed, "Description"),
|
|
228
|
+
b::Element(e::NotUsed, "REFERENCE IDENTIFIER")),
|
|
229
|
+
b::Segment(1210, s::QTY, "Total Accepted Quantity",
|
|
230
|
+
r::Situational, d::RepeatCount.bounded(1),
|
|
231
|
+
b::Element(e::Required, "Quantity Qualifier", b::Values("QA")),
|
|
232
|
+
b::Element(e::Required, "Total Accepted Quantity"),
|
|
233
|
+
b::Element(e::NotUsed, "COMPOSITE UNIT OF MEASURE"),
|
|
234
|
+
b::Element(e::NotUsed, "Free-form Information")),
|
|
235
|
+
b::Segment(1210, s::QTY, "Total Rejected Quantity",
|
|
236
|
+
r::Situational, d::RepeatCount.bounded(1),
|
|
237
|
+
b::Element(e::Required, "Quantity Qualifier", b::Values("QC")),
|
|
238
|
+
b::Element(e::Required, "Total Rejected Quantity"),
|
|
239
|
+
b::Element(e::NotUsed, "COMPOSITE UNIT OF MEASURE"),
|
|
240
|
+
b::Element(e::NotUsed, "Free-form Information")),
|
|
241
|
+
b::Segment(1220, s::AMT, "Total Accepted Amount",
|
|
242
|
+
r::Situational, d::RepeatCount.bounded(1),
|
|
243
|
+
b::Element(e::Required, "Amount Qualifier Code", b::Values("YU")),
|
|
244
|
+
b::Element(e::Required, "Total Rejected Amount"),
|
|
245
|
+
b::Element(e::NotUsed, "Credit/Debit Flag Code")),
|
|
246
|
+
b::Segment(1220, s::AMT, "Total Accepted Amount",
|
|
247
|
+
r::Situational, d::RepeatCount.bounded(1),
|
|
248
|
+
b::Element(e::Required, "Amount Qualifier Code", b::Values("YY")),
|
|
249
|
+
b::Element(e::Required, "Total Accepted Amount"),
|
|
250
|
+
b::Element(e::NotUsed, "Credit/Debit Flag Code"))))),
|
|
251
|
+
|
|
252
|
+
d::TableDef.detail("Table 2 - Patient Detail",
|
|
253
|
+
d::LoopDef.build("2000D PATIENT LEVEL",
|
|
254
|
+
d::RepeatCount.bounded(1),
|
|
255
|
+
b::Segment(100, s::HL, "Patient Level",
|
|
256
|
+
r::Situational, d::RepeatCount.bounded(1),
|
|
257
|
+
b::Element(e::Required, "Hierarchical ID Number"),
|
|
258
|
+
b::Element(e::Required, "Hierarchical Parent ID Number"),
|
|
259
|
+
b::Element(e::Required, "Hierarchical Level Code", b::Values("PT")),
|
|
260
|
+
b::Element(e::NotUsed, "Hierachical Child Code")),
|
|
261
|
+
|
|
262
|
+
d::LoopDef.build("2100D PATIENT NAME",
|
|
263
|
+
d::RepeatCount.bounded(1),
|
|
264
|
+
b::Segment(500, s::NM1, "Patient Name",
|
|
265
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
266
|
+
b::Element(e::Required, "Entity Identifier Code", b::Values("QC")),
|
|
267
|
+
b::Element(e::Required, "Entity Type Qualifier", b::Values("1")),
|
|
268
|
+
b::Element(e::Required, "Patient Last or Organizational Name"),
|
|
269
|
+
b::Element(e::Situational, "Patient First Name"),
|
|
270
|
+
b::Element(e::Situational, "Patient Middle Name or Initial"),
|
|
271
|
+
b::Element(e::NotUsed, "Name Prefix"),
|
|
272
|
+
b::Element(e::Situational, "Patient Name Suffix"),
|
|
273
|
+
b::Element(e::Required, "Identification Code Qualifier", b::Values("II", "MI")),
|
|
274
|
+
b::Element(e::Required, "Patient Identification Number"),
|
|
275
|
+
b::Element(e::NotUsed, "Entity Relationship Code"),
|
|
276
|
+
b::Element(e::NotUsed, "Entity Identifier Code"),
|
|
277
|
+
b::Element(e::NotUsed, "Name Last or Organization Name"))),
|
|
278
|
+
|
|
279
|
+
d::LoopDef.build("2200D CLAIM STATUS TRACKING NUMBER",
|
|
280
|
+
d::RepeatCount.unbounded,
|
|
281
|
+
b::Segment( 900, s::TRN, "Claim Status Tracking Number",
|
|
282
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
283
|
+
b::Element(e::Required, "Trace Type Code", b::Values("2")),
|
|
284
|
+
b::Element(e::Required, "Patient Control Number"),
|
|
285
|
+
b::Element(e::NotUsed, "Originating Company Identifier"),
|
|
286
|
+
b::Element(e::NotUsed, "Reference Identification")),
|
|
287
|
+
b::Segment(1000, s::STC, "Claim Level Status Information",
|
|
288
|
+
r::Required, d::RepeatCount.unbounded,
|
|
289
|
+
b::Element(e::Required, "HEALTH CARE CLAIM STATUS",
|
|
290
|
+
b::Element(e::Required, "Health Care Claim Status Category Code"), # @todo: CodeSource.external("507")
|
|
291
|
+
b::Element(e::Required, "Health Care Claim Status Code"), # @todo: CodeSource.external("508")
|
|
292
|
+
b::Element(e::Situational, "Entity Identifier Qualifier", b::Values("03", "1P", "1Z", "40", "41", "71", "72", "73", "77", "82", "85", "87", "DK", "DN", "DQ", "FA", "GB", "HK", "IL", "LI", "MSC", "PR", "PRP", "QB", "QC", "QD", "SEP", "TL", "TTP", "TU")),
|
|
293
|
+
b::Element(e::NotUsed, "Code List Qualifier Code")),
|
|
294
|
+
b::Element(e::Required, "Status Information Effective Date"),
|
|
295
|
+
b::Element(e::Required, "Action Code", b::Values("U", "WQ")),
|
|
296
|
+
b::Element(e::Required, "Total Claim Charge Amount"),
|
|
297
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
|
298
|
+
b::Element(e::NotUsed, "Date"),
|
|
299
|
+
b::Element(e::NotUsed, "Payment Method Code"),
|
|
300
|
+
b::Element(e::NotUsed, "Date"),
|
|
301
|
+
b::Element(e::NotUsed, "Check Number"),
|
|
302
|
+
b::Element(e::Situational, "HEALTH CARE CLAIM STATUS",
|
|
303
|
+
b::Element(e::Required, "Health Care Claim Status Category Code"), # @todo: CodeSource.external("507")
|
|
304
|
+
b::Element(e::Required, "Health Care Claim Status Code"), # @todo: CodeSource.external("508")
|
|
305
|
+
b::Element(e::Situational, "Entity Identifier Qualifier", b::Values("36", "40", "41", "AY", "PR")),
|
|
306
|
+
b::Element(e::NotUsed, "Code List Qualifier Code")),
|
|
307
|
+
b::Element(e::Situational, "HEALTH CARE CLAIM STATUS",
|
|
308
|
+
b::Element(e::Required, "Health Care Claim Status Category Code"), # @todo: CodeSource.external("507")
|
|
309
|
+
b::Element(e::Required, "Health Care Claim Status Code"), # @todo: CodeSource.external("508")
|
|
310
|
+
b::Element(e::Situational, "Entity Identifier Qualifier", b::Values("36", "40", "41", "AY", "PR")),
|
|
311
|
+
b::Element(e::NotUsed, "Code List Qualifier Code")),
|
|
312
|
+
b::Element(e::Situational, "Free Form Message Text")),
|
|
313
|
+
b::Segment(1100, s::REF, "Payer Claim Control Number",
|
|
314
|
+
r::Situational, d::RepeatCount.bounded(3),
|
|
315
|
+
b::Element(e::Required, "Reference Identification Qualifier", b::Values("1K")),
|
|
316
|
+
b::Element(e::Required, "Payer Claim Control Number"),
|
|
317
|
+
b::Element(e::NotUsed, "Description"),
|
|
318
|
+
b::Element(e::NotUsed, "REFERENCE IDENTIFIER")),
|
|
319
|
+
b::Segment(1100, s::REF, "Claim Identifier Number for Clearinghous and Other Transmission Intermediaries",
|
|
320
|
+
r::Situational, d::RepeatCount.bounded(3),
|
|
321
|
+
b::Element(e::Required, "Reference Identification Qualifier", b::Values("D9")),
|
|
322
|
+
b::Element(e::Required, "Clearinghouse Trace Number"),
|
|
323
|
+
b::Element(e::NotUsed, "Description"),
|
|
324
|
+
b::Element(e::NotUsed, "REFERENCE IDENTIFIER")),
|
|
325
|
+
b::Segment(1100, s::REF, "Institutional Bill Type Identification",
|
|
326
|
+
r::Situational, d::RepeatCount.bounded(3),
|
|
327
|
+
b::Element(e::Required, "Reference Identification Qualifier", b::Values("BLT")),
|
|
328
|
+
b::Element(e::Required, "Institutional Bill Type Identification"),
|
|
329
|
+
b::Element(e::NotUsed, "Description"),
|
|
330
|
+
b::Element(e::NotUsed, "REFERENCE IDENTIFIER")),
|
|
331
|
+
b::Segment(1200, s::DTP, "Claim Level Service Date",
|
|
332
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
333
|
+
b::Element(e::Required, "Date Time Qualifier", b::Values("472")),
|
|
334
|
+
b::Element(e::Required, "Date Time Period Format Qualifier", b::Values("D8", "RD8")),
|
|
335
|
+
b::Element(e::Required, "Claim Service Period")),
|
|
336
|
+
|
|
337
|
+
d::LoopDef.build("2220D SERVICE LINE INFORMATION",
|
|
338
|
+
d::RepeatCount.unbounded,
|
|
339
|
+
b::Segment(1800, s::SVC, "Service Line Information",
|
|
340
|
+
r::Situational, d::RepeatCount.bounded(1),
|
|
341
|
+
b::Element(e::Required, "COMPOSITE MEDICAL PROCEDURE IDENTIFIER",
|
|
342
|
+
b::Element(e::Required, "Procedure Code", b::Values("AD", "ER", "HC", "HP", "IV", "NU", "WK")),
|
|
343
|
+
b::Element(e::Required, "Procedure Code"),
|
|
344
|
+
b::Element(e::Situational, "Procedure Modifier"),
|
|
345
|
+
b::Element(e::Situational, "Procedure Modifier"),
|
|
346
|
+
b::Element(e::Situational, "Procedure Modifier"),
|
|
347
|
+
b::Element(e::Situational, "Procedure Modifier"),
|
|
348
|
+
b::Element(e::NotUsed, "Description"),
|
|
349
|
+
b::Element(e::NotUsed, "Product/Service ID")),
|
|
350
|
+
b::Element(e::Required, "Line Item Charge Amount"),
|
|
351
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
|
352
|
+
b::Element(e::Situational, "Revenue Code"),
|
|
353
|
+
b::Element(e::NotUsed, "Quantity"),
|
|
354
|
+
b::Element(e::NotUsed, "COMPOSITE MEDICAL PROCEDURE IDENTIFIER"),
|
|
355
|
+
b::Element(e::Situational, "Original Units of Service Count")),
|
|
356
|
+
b::Segment(1900, s::STC, "Service Line Level Status Information",
|
|
357
|
+
r::Required, d::RepeatCount.unbounded,
|
|
358
|
+
b::Element(e::Required, "HEALTH CARE CLAIM STATUS",
|
|
359
|
+
b::Element(e::Required, "Health Care Claim Status Category Code"), # @todo: CodeSource.external("507")
|
|
360
|
+
b::Element(e::Required, "Health Care Claim Status Code"), # @todo: CodeSource.external("508")
|
|
361
|
+
b::Element(e::Situational, "Entity Identifier Qualifier", b::Values("03", "1P", "1Z", "40", "41", "71", "72", "73", "77", "82", "85", "87", "DK", "DN", "DQ", "FA", "GB", "HK", "IL", "LI", "MSC", "PR", "PRP", "QB", "QC", "QD", "SEP", "TL", "TTP", "TU")),
|
|
362
|
+
b::Element(e::NotUsed, "Code List Qualifier Code")),
|
|
363
|
+
b::Element(e::NotUsed, "Date"),
|
|
364
|
+
b::Element(e::Required, "Action Code", b::Values("U")),
|
|
365
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
|
366
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
|
367
|
+
b::Element(e::NotUsed, "Date"),
|
|
368
|
+
b::Element(e::NotUsed, "Payment Method Code"),
|
|
369
|
+
b::Element(e::NotUsed, "Date"),
|
|
370
|
+
b::Element(e::NotUsed, "Check Number"),
|
|
371
|
+
b::Element(e::Situational, "HEALTH CARE CLAIM STATUS",
|
|
372
|
+
b::Element(e::Required, "Health Care Claim Status Category Code"), # @todo: CodeSource.external("507")
|
|
373
|
+
b::Element(e::Required, "Health Care Claim Status Code"), # @todo: CodeSource.external("508")
|
|
374
|
+
b::Element(e::Situational, "Entity Identifier Qualifier", b::Values("36", "40", "41", "AY", "PR")),
|
|
375
|
+
b::Element(e::NotUsed, "Code List Qualifier Code")),
|
|
376
|
+
b::Element(e::Situational, "HEALTH CARE CLAIM STATUS",
|
|
377
|
+
b::Element(e::Required, "Health Care Claim Status Category Code"), # @todo: CodeSource.external("507")
|
|
378
|
+
b::Element(e::Required, "Health Care Claim Status Code"), # @todo: CodeSource.external("508")
|
|
379
|
+
b::Element(e::Situational, "Entity Identifier Qualifier", b::Values("36", "40", "41", "AY", "PR")),
|
|
380
|
+
b::Element(e::NotUsed, "Code List Qualifier Code")),
|
|
381
|
+
b::Element(e::Situational, "Free Form Message Text")),
|
|
382
|
+
b::Segment(2000, s::REF, "Service Line Item Identification",
|
|
383
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
384
|
+
b::Element(e::Required, "Reference Identification Qualifier", b::Values("FJ")),
|
|
385
|
+
b::Element(e::Required, "Line Item Control Number"),
|
|
386
|
+
b::Element(e::NotUsed, "Description"),
|
|
387
|
+
b::Element(e::NotUsed, "REFERENCE IDENTIFIER")),
|
|
388
|
+
b::Segment(2000, s::REF, "Pharmacy Prescription Number",
|
|
389
|
+
r::Situational, d::RepeatCount.bounded(1),
|
|
390
|
+
b::Element(e::Required, "Reference Identification Qualifier", b::Values("XZ")),
|
|
391
|
+
b::Element(e::Required, "Pharmacy Prescription Number"),
|
|
392
|
+
b::Element(e::NotUsed, "Description"),
|
|
393
|
+
b::Element(e::NotUsed, "REFERENCE IDENTIFIER")),
|
|
394
|
+
b::Segment(2100, s::DTP, "Service Line Date",
|
|
395
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
396
|
+
b::Element(e::Required, "Date Time Qualifier", b::Values("472")),
|
|
397
|
+
b::Element(e::Required, "Date Time Period Format Qualifier", b::Values("D8", "RD8")),
|
|
398
|
+
b::Element(e::Required, "Service Line Date")))))),
|
|
399
|
+
|
|
400
|
+
d::TableDef.detail("Table 3 - Summary",
|
|
401
|
+
b::Segment(2700, s::SE, "Transaction Set Trailer",
|
|
402
|
+
r::Required, d::RepeatCount.bounded(1),
|
|
403
|
+
b::Element(e::Required, "Transaction Segment Count"),
|
|
404
|
+
b::Element(e::Required, "Transaction Set Control Number"))))
|
|
405
|
+
|
|
406
|
+
end
|
|
407
|
+
end
|
|
408
|
+
end
|
|
409
|
+
end
|