stupidedi 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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,1405 @@
|
|
1
|
+
module Stupidedi
|
2
|
+
module Versions
|
3
|
+
module FunctionalGroups
|
4
|
+
module FiftyTen
|
5
|
+
module ElementDefs
|
6
|
+
|
7
|
+
t = ElementTypes
|
8
|
+
r = ElementReqs
|
9
|
+
s = Schema
|
10
|
+
|
11
|
+
E2 = t::Nn.new(:E2 , "Number of Accepted Transaction Sets" , 1, 6, 0)
|
12
|
+
E19 = t::AN.new(:E19 , "City Name" , 2, 30)
|
13
|
+
E26 = t::ID.new(:E26 , "Country Code" , 2, 3,
|
14
|
+
s::CodeList.external("5"))
|
15
|
+
|
16
|
+
E28 = t::Nn.new(:E28 , "Group Control Number" , 1, 9, 0)
|
17
|
+
E61 = t::AN.new(:E61 , "Free-form Information" , 1, 30)
|
18
|
+
E66 = t::ID.new(:E66 , "Identification Code Qualifier" , 1, 2,
|
19
|
+
s::CodeList.build(
|
20
|
+
"1" => s::CodeList.external("16"),
|
21
|
+
"9" => s::CodeList.external("16"),
|
22
|
+
"21" => s::CodeList.external("121"),
|
23
|
+
"34" => "Social Security Number",
|
24
|
+
"38" => s::CodeList.external("5"),
|
25
|
+
"46" => "Electronic Transmitter Identification Number (ETIN)",
|
26
|
+
"51" => s::CodeList.external("51"),
|
27
|
+
"AC" => "Attachment Control Number",
|
28
|
+
"AD" => "Blue Cross Blue Shield Associtation Plan Code",
|
29
|
+
"BD" => "Blue Cross Provider Number",
|
30
|
+
"BS" => "Blue Shield Provider Number",
|
31
|
+
"C" => "Insured's Changed Unique Identification Number",
|
32
|
+
"CF" => s::CodeList.external("91"),
|
33
|
+
"FI" => "Fediral Taxpayer's Identification Number",
|
34
|
+
"HN" => "Health Insurance Claim (HIC) Number",
|
35
|
+
"II" => "Standard Unique Health Identifier for each Individual in the United States",
|
36
|
+
"LD" => s::CodeList.external("457"),
|
37
|
+
"LE" => s::CodeList.external("102"),
|
38
|
+
"NI" => "National Association of Insurance Commisioners (NAIC) Identification",
|
39
|
+
"MI" => "Member Identification Number",
|
40
|
+
"MC" => "Medicaid Provider",
|
41
|
+
"MR" => "Medicaid Recipient Identification Number",
|
42
|
+
"PC" => "Provider Commercial Number",
|
43
|
+
"PI" => "Payor Identification",
|
44
|
+
"PP" => "Pharmacy Processor Number",
|
45
|
+
"SJ" => s::CodeList.external("22"),
|
46
|
+
"SL" => "State License Number",
|
47
|
+
"UP" => "Unique Physician Identification Number (UPIN)",
|
48
|
+
"XV" => s::CodeList.external("540"),
|
49
|
+
"XX" => s::CodeList.external("537")))
|
50
|
+
|
51
|
+
E67 = t::AN.new(:E67 , "Identification Code" , 2, 80)
|
52
|
+
E81 = t:: R.new(:E81 , "Weight" , 1, 10)
|
53
|
+
E93 = t::AN.new(:E93 , "Name" , 1, 60)
|
54
|
+
E96 = t::Nn.new(:E96 , "Number of Included Segments" , 1, 10, 0)
|
55
|
+
E97 = t::Nn.new(:E97 , "Number of Transaction Sets Included" , 1, 6, 0)
|
56
|
+
E98 = t::ID.new(:E98 , "Entity Identifier Code" , 2, 3,
|
57
|
+
s::CodeList.build(
|
58
|
+
"03" => "Dependent",
|
59
|
+
"1P" => "Provider",
|
60
|
+
"1Z" => "Home Health Care",
|
61
|
+
"36" => "Employer",
|
62
|
+
"40" => "Receiver",
|
63
|
+
"41" => "Submitter",
|
64
|
+
"45" => "Drop-off Location",
|
65
|
+
"71" => "Attending Physician",
|
66
|
+
"72" => "Operating Physician",
|
67
|
+
"73" => "Other Physician",
|
68
|
+
"74" => "Corrected Insured",
|
69
|
+
"77" => "Service Location",
|
70
|
+
"82" => "Rendering Provider",
|
71
|
+
"85" => "Billing Provider",
|
72
|
+
"87" => "Pay-to Provider",
|
73
|
+
"98" => "Receiver",
|
74
|
+
"AY" => "Clearinghouse",
|
75
|
+
"DK" => "Ordering Physician",
|
76
|
+
"DN" => "Referring Provider",
|
77
|
+
"DQ" => "Supervising Physician",
|
78
|
+
"FA" => "Facility",
|
79
|
+
"GB" => "Other Insured",
|
80
|
+
"HK" => "Subscriber",
|
81
|
+
"IL" => "Insured or Subscriber",
|
82
|
+
"LI" => "Independent Lab",
|
83
|
+
"MSC" => "Mammography Screening Center",
|
84
|
+
"P3" => "Primary Care Provider",
|
85
|
+
"PE" => "Payee",
|
86
|
+
"PR" => "Payer",
|
87
|
+
"PRP" => "Primary Payer",
|
88
|
+
"PW" => "Pickup Address",
|
89
|
+
"TT" => "Transfer To",
|
90
|
+
"QB" => "Purchase Service Provider",
|
91
|
+
"QC" => "Patient",
|
92
|
+
"QD" => "Responsible Party",
|
93
|
+
"SEP" => "Secondary Payer",
|
94
|
+
"TL" => "Testing Laboratory",
|
95
|
+
"TTP" => "Tertiary Payer",
|
96
|
+
"TU" => "Third Party Repricing Organization (TPO)"))
|
97
|
+
|
98
|
+
E100 = t::ID.new(:E100 , "Currency Code" , 3, 3,
|
99
|
+
s::CodeList.external("5"))
|
100
|
+
|
101
|
+
E116 = t::ID.new(:E116 , "Postal Code" , 3, 15,
|
102
|
+
s::CodeList.external("51"),
|
103
|
+
s::CodeList.external("166"))
|
104
|
+
|
105
|
+
E118 = t:: R.new(:E118 , "Rate" , 1, 9)
|
106
|
+
E123 = t::Nn.new(:E123 , "Number of Received Transaction Sets" , 1, 6, 0)
|
107
|
+
E124 = t::AN.new(:E124 , "Application Receiver's Code" , 2, 15)
|
108
|
+
E127 = t::AN.new(:E127 , "Reference Identification" , 1, 50)
|
109
|
+
E128 = t::ID.new(:E128 , "Reference Identification Qualifier" , 2, 3,
|
110
|
+
s::CodeList.build(
|
111
|
+
"04" => s::CodeList.external("91"),
|
112
|
+
"0B" => "State License Number",
|
113
|
+
"0K" => "Policy Form Identifying Number",
|
114
|
+
"1A" => "Blue Cross Provider Number",
|
115
|
+
"1B" => "Blue Shield Provider Number",
|
116
|
+
"1C" => "Medicare Provider Number",
|
117
|
+
"1D" => "Medicaid Provider Number",
|
118
|
+
"1G" => "Provider UPIN Number",
|
119
|
+
"1H" => "CHAMPUS Identification Number",
|
120
|
+
"1J" => "Facility ID Number",
|
121
|
+
"1K" => "Payor's Claim Number",
|
122
|
+
"1L" => "Group or Policy Number",
|
123
|
+
"1S" => "Ambulatory Patient Group (APG) Number",
|
124
|
+
"1W" => "Member Identification Number",
|
125
|
+
"28" => "Employee Identification Number",
|
126
|
+
"2U" => "Payer Identification Number",
|
127
|
+
"4N" => "Special Payment Reference Number",
|
128
|
+
"6P" => "Group Number",
|
129
|
+
"6R" => "Provider Control Number",
|
130
|
+
"9A" => "Repriced Claim Reference Number",
|
131
|
+
"9B" => "Repriced Line Item Reference Number",
|
132
|
+
"9C" => "Adjusted Repriced Claim Reference Number",
|
133
|
+
"9D" => "Adjusted Repriced Line Item Reference Number",
|
134
|
+
"9F" => "Referral Number",
|
135
|
+
"ABY" => s::CodeList.external("540"),
|
136
|
+
"AP" => "Ambulatory Payment Classification",
|
137
|
+
"APC" => s::CodeList.external("468"),
|
138
|
+
"BB" => "Authorization Number",
|
139
|
+
"BLT" => "Billing Type",
|
140
|
+
"BT" => "Batch Number",
|
141
|
+
"CE" => "Class of Contract Code",
|
142
|
+
"CPT" => s::CodeList.external("133"),
|
143
|
+
"D3" => s::CodeList.external("307"),
|
144
|
+
"D9" => "Claim Number",
|
145
|
+
"DNS" => s::CodeList.external("16"),
|
146
|
+
"DUN" => s::CodeList.external("16"),
|
147
|
+
"E9" => "Attachment Code",
|
148
|
+
"EA" => "Medical Record Identification Number",
|
149
|
+
"EI" => "Employer's Identification Number",
|
150
|
+
"EO" => "Submitter Identification Number",
|
151
|
+
"EV" => "Receiver Identification Number",
|
152
|
+
"EW" => "Mammography Certification Number",
|
153
|
+
"F2" => "Version Code - Local",
|
154
|
+
"F4" => "Facility Certification Number",
|
155
|
+
"F5" => "Medicare Version Code",
|
156
|
+
"F8" => "Original Reference Number",
|
157
|
+
"FJ" => "Line Item Control Number",
|
158
|
+
"FY" => "Claim Office Number",
|
159
|
+
"G1" => "Prior Authorization Number",
|
160
|
+
"G2" => "Provider Commercial Number",
|
161
|
+
"G3" => "Predetermination of Benefits Identification Number",
|
162
|
+
"HI" => s::CodeList.external("121"),
|
163
|
+
"HPI" => s::CodeList.external("537"),
|
164
|
+
"ICD" => s::CodeList.external("131"),
|
165
|
+
"IG" => "Insurance Policy Number",
|
166
|
+
"LOI" => s::CodeList.external("663"),
|
167
|
+
"LU" => "Location Number",
|
168
|
+
"LX" => "Qualified Products List",
|
169
|
+
"MRC" => s::CodeList.external("844"),
|
170
|
+
"NF" => s::CodeList.external("245"),
|
171
|
+
"P4" => "Project Code",
|
172
|
+
"PQ" => "Payee Indentification",
|
173
|
+
"PXC" => s::CodeList.external("682"),
|
174
|
+
"RB" => "Rate code number",
|
175
|
+
"SY" => "Social Security Number",
|
176
|
+
"T4" => "Signal Code",
|
177
|
+
"TJ" => "Federal Taxpayer's Identification Number",
|
178
|
+
"VY" => "Link Sequence Number",
|
179
|
+
"Y4" => "Agency Claim Number",
|
180
|
+
"X4" => "Clinical Laboratory Improvement Amendment Number",
|
181
|
+
"XZ" => "Pharmacy Prescription Number"))
|
182
|
+
|
183
|
+
E142 = t::AN.new(:E142 , "Application's Sender Code" , 2, 15)
|
184
|
+
E143 = t::ID.new(:E143 , "Transaction Set Identifier Number" , 3, 3,
|
185
|
+
s::CodeList.build(
|
186
|
+
"277" => "Health Care Information Status Notification",
|
187
|
+
"835" => "Health Care Claim Payment/Advice",
|
188
|
+
"837" => "Health Care Claim",
|
189
|
+
"999" => "Implementation Acknowledgement"))
|
190
|
+
|
191
|
+
E156 = t::ID.new(:E156 , "State or Province Code" , 2, 2,
|
192
|
+
s::CodeList.external("22"))
|
193
|
+
|
194
|
+
E166 = t::AN.new(:E166 , "Address Information" , 1, 55)
|
195
|
+
E212 = t:: R.new(:E212 , "Unit Price" , 1, 17)
|
196
|
+
E234 = t::AN.new(:E234 , "Product/Service ID" , 1, 48)
|
197
|
+
E235 = t::ID.new(:E235 , "Product/Service ID Qualifier" , 2, 2,
|
198
|
+
s::CodeList.build(
|
199
|
+
"AD" => s::CodeList.external("135"),
|
200
|
+
"A5" => s::CodeList.external("22"),
|
201
|
+
"CH" => s::CodeList.external("5"),
|
202
|
+
"CJ" => s::CodeList.external("135"),
|
203
|
+
"DC" => s::CodeList.external("897"),
|
204
|
+
"DX" => s::CodeList.external("131"),
|
205
|
+
"EN" => "EAN/UCC - 13",
|
206
|
+
"EO" => "EAN/UCC - 8",
|
207
|
+
"ER" => s::CodeList.external("576"),
|
208
|
+
"HC" => s::CodeList.external("130"),
|
209
|
+
"HP" => s::CodeList.external("716"),
|
210
|
+
"ID" => s::CodeList.external("131"),
|
211
|
+
"IP" => s::CodeList.external("896"),
|
212
|
+
"IV" => s::CodeList.external("513"),
|
213
|
+
"HI" => "HIBC (Health Care Industry Bar Code) Supplier Labeling Standard Primary Data Message",
|
214
|
+
"LB" => s::CodeList.external("663"),
|
215
|
+
"N1" => s::CodeList.external("240"),
|
216
|
+
"N2" => s::CodeList.external("240"),
|
217
|
+
"N3" => s::CodeList.external("240"),
|
218
|
+
"N4" => s::CodeList.external("240"),
|
219
|
+
"N5" => s::CodeList.external("240"),
|
220
|
+
"N6" => s::CodeList.external("240"),
|
221
|
+
"NU" => s::CodeList.external("132"),
|
222
|
+
"ON" => "Customer Order Number",
|
223
|
+
"TD" => s::CodeList.external("359"),
|
224
|
+
"UI" => "U.P.C. Consumer Package (1-5-5)",
|
225
|
+
"UK" => "GTIN 14-digit Data Structure",
|
226
|
+
"UP" => "UCC - 12",
|
227
|
+
"RB" => s::CodeList.external("132"),
|
228
|
+
"WK" => s::CodeList.external("843")))
|
229
|
+
|
230
|
+
E236 = t::ID.new(:E236 , "Price Identifier Code" , 3, 3)
|
231
|
+
E280 = t:: R.new(:E280 , "Exchange Rate" , 4, 10)
|
232
|
+
E289 = t::Nn.new(:E289 , "Multiple Price Quantity" , 1, 2, 0)
|
233
|
+
E305 = t::ID.new(:E305 , "Transaction Handling Code" , 1, 2,
|
234
|
+
s::CodeList.build(
|
235
|
+
"C" => "Payment Accompanies Remittance Advice",
|
236
|
+
"D" => "Make Payment Only",
|
237
|
+
"H" => "Notification Only",
|
238
|
+
"I" => "Remittance Information Only",
|
239
|
+
"P" => "Prenotification of Future Transfers",
|
240
|
+
"U" => "Split Payment and Remittance",
|
241
|
+
"X" => "Handling Party's Option to Split Payment and Remittance"))
|
242
|
+
|
243
|
+
E306 = t::ID.new(:E306 , "Action Code" , 1, 2,
|
244
|
+
s::CodeList.build(
|
245
|
+
"U" => "Reject",
|
246
|
+
"WQ" => "Accept"))
|
247
|
+
|
248
|
+
E309 = t::ID.new(:E309 , "Location Qualifier" , 1, 2,
|
249
|
+
s::CodeList.build(
|
250
|
+
"PQ" => s::CodeList.external("51"),
|
251
|
+
"PR" => s::CodeList.external("51"),
|
252
|
+
"PS" => s::CodeList.external("51"),
|
253
|
+
"RJ" => s::CodeList.external("DOD1")))
|
254
|
+
|
255
|
+
E310 = t::ID.new(:E310 , "Location Identifier" , 1, 30)
|
256
|
+
E329 = t::AN.new(:E329 , "Transaction Set Control Number" , 4, 9)
|
257
|
+
E332 = t:: R.new(:E332 , "Percent, Decimal Format" , 1, 6)
|
258
|
+
E337 = t::TM.new(:E337 , "Time" , 4, 8)
|
259
|
+
E338 = t:: R.new(:E338 , "Terms Discount Percent" , 1, 6)
|
260
|
+
E350 = t::AN.new(:E350 , "Assigned Identification" , 1, 20)
|
261
|
+
E352 = t::AN.new(:E352 , "Description" , 1, 80)
|
262
|
+
E353 = t::ID.new(:E353 , "Transaction Set Purpose Code" , 2, 2,
|
263
|
+
s::CodeList.build(
|
264
|
+
"00" => "Original",
|
265
|
+
"08" => "Status",
|
266
|
+
"18" => "Reissue"))
|
267
|
+
|
268
|
+
E355 = t::ID.new(:E355 , "Unit or Basis for Measurement Code" , 2, 2,
|
269
|
+
s::CodeList.build(
|
270
|
+
"01" => "Actual Pounds",
|
271
|
+
"DA" => "Days",
|
272
|
+
"DH" => "Miles",
|
273
|
+
"F2" => "International Unit",
|
274
|
+
"GR" => "Gram",
|
275
|
+
"LB" => "Pound",
|
276
|
+
"ME" => "Milligram",
|
277
|
+
"MJ" => "Minutes",
|
278
|
+
"ML" => "Milliliter",
|
279
|
+
"MO" => "Months",
|
280
|
+
"UN" => "Units"))
|
281
|
+
|
282
|
+
E363 = t::ID.new(:E363 , "Note Reference Code" , 3, 3,
|
283
|
+
s::CodeList.build(
|
284
|
+
"ADD" => "Additional Information",
|
285
|
+
"CER" => "Certification Narrative",
|
286
|
+
"DCP" => "Goals, Rehabilitation Potential, or Discharge Plans",
|
287
|
+
"DGN" => "Diagnosis Description",
|
288
|
+
"TPO" => "Third Party Organization Notes"))
|
289
|
+
|
290
|
+
E364 = t::AN.new(:E364 , "Communication Number" , 1, 256)
|
291
|
+
E365 = t::ID.new(:E365 , "Communication Number Qualifier" , 2, 2,
|
292
|
+
s::CodeList.build(
|
293
|
+
"EM" => "Electronic Mail",
|
294
|
+
"EX" => "Telephone Extension",
|
295
|
+
"FX" => "Facsimile",
|
296
|
+
"TE" => "Telephone",
|
297
|
+
"UR" => "Uniform Resource Locator (URL)"))
|
298
|
+
|
299
|
+
E366 = t::ID.new(:E366 , "Contract Function Code" , 2, 2,
|
300
|
+
s::CodeList.build(
|
301
|
+
"BL" => "Technical Department",
|
302
|
+
"CX" => "Payers Claim Office",
|
303
|
+
"IC" => "Information Contact"))
|
304
|
+
|
305
|
+
E373 = t::DT.new(:E373 , "Date" , 8, 8)
|
306
|
+
E374 = t::ID.new(:E374 , "Date/Time Qualifier" , 3, 3,
|
307
|
+
s::CodeList.build(
|
308
|
+
"009" => "Process",
|
309
|
+
"011" => "Shipped",
|
310
|
+
"036" => "Expiration",
|
311
|
+
"050" => "Received",
|
312
|
+
"090" => "Report Start",
|
313
|
+
"091" => "Report End",
|
314
|
+
"096" => "Discharge",
|
315
|
+
"150" => "Service Period Start",
|
316
|
+
"151" => "Service Period End",
|
317
|
+
"232" => "Claim Statement Period Start",
|
318
|
+
"233" => "Claim Statement Period End",
|
319
|
+
"296" => "Initial Disability Period Return To Work",
|
320
|
+
"297" => "Initial Disability Period Last Day Worked",
|
321
|
+
"304" => "Latest Visit or Consultation",
|
322
|
+
"314" => "Disability",
|
323
|
+
"360" => "Initial Disability Period Start",
|
324
|
+
"361" => "Initial Disability Period End",
|
325
|
+
"405" => "Production",
|
326
|
+
"431" => "Onset of Current Symptoms or Illness",
|
327
|
+
"435" => "Admission",
|
328
|
+
"439" => "Accident",
|
329
|
+
"444" => "First Visit or Consultation",
|
330
|
+
"453" => "Acute Manifestation of a Chronic Condition",
|
331
|
+
"454" => "Initial Treatment",
|
332
|
+
"455" => "Last X-Ray",
|
333
|
+
"461" => "Last Certification",
|
334
|
+
"463" => "Begin Therapy",
|
335
|
+
"471" => "Prescription",
|
336
|
+
"472" => "Service",
|
337
|
+
"484" => "Last Menstrual Period",
|
338
|
+
"573" => "Date Claim Paid",
|
339
|
+
"607" => "Certification Revision",
|
340
|
+
"738" => "Most Recent Hemoglobin or Hematocrit or Both",
|
341
|
+
"739" => "Most Recent Serum Creatine"))
|
342
|
+
|
343
|
+
E380 = t:: R.new(:E380 , "Quantity" , 1, 15)
|
344
|
+
E426 = t::ID.new(:E426 , "Adjustment Reason Code" , 2, 2,
|
345
|
+
s::CodeList.build(
|
346
|
+
"50" => "Late Charge",
|
347
|
+
"51" => "Interest Penalty Charge",
|
348
|
+
"72" => "Authorized Return",
|
349
|
+
"90" => "Early Payment Allowance",
|
350
|
+
"AH" => "Origination Fee",
|
351
|
+
"AM" => "Applied to Borrower's Account",
|
352
|
+
"AP" => "Acceleration of Benefits",
|
353
|
+
"B2" => "Rebate",
|
354
|
+
"B3" => "Recovery Allowance",
|
355
|
+
"BD" => "Bad Debt Adjustment",
|
356
|
+
"BN" => "Bonus",
|
357
|
+
"C5" => "Temporary Allowance",
|
358
|
+
"CR" => "Capitation Interest",
|
359
|
+
"CS" => "Adjustment",
|
360
|
+
"CT" => "Capitation Payment",
|
361
|
+
"CV" => "Capital Passthru",
|
362
|
+
"CW" => "Certified Registered Nurse Anesthetist Passthru",
|
363
|
+
"DM" => "Direct Medical Education Passthru",
|
364
|
+
"E3" => "Withholding",
|
365
|
+
"FB" => "Forwarding Balance",
|
366
|
+
"FC" => "Fund Allocation",
|
367
|
+
"GO" => "Graduate Medicale Education Passthru",
|
368
|
+
"HM" => "Hemophelia Clotting Factor Supplement",
|
369
|
+
"IP" => "Incentive Premium Payment",
|
370
|
+
"IR" => "Internal Revenue Service Withholding",
|
371
|
+
"IS" => "Interim Settlement",
|
372
|
+
"J1" => "Nonreimbursable",
|
373
|
+
"L3" => "Penalty",
|
374
|
+
"L6" => "Interest Owed",
|
375
|
+
"LE" => "Levy",
|
376
|
+
"LS" => "Lump Sum",
|
377
|
+
"OA" => "Organ Acquisition Passthru",
|
378
|
+
"OB" => "Offset for Affiliated Providers",
|
379
|
+
"PI" => "Periodic Interim Payment",
|
380
|
+
"PL" => "Payment Final",
|
381
|
+
"RA" => "Retro-activity Adjustment",
|
382
|
+
"RE" => "Return on Equity",
|
383
|
+
"SL" => "Student Loan Repayment",
|
384
|
+
"TL" => "Third Party Liability",
|
385
|
+
"WO" => "Overpayment Recovery",
|
386
|
+
"WU" => "Unspecified Recovery"))
|
387
|
+
|
388
|
+
E429 = t::AN.new(:E429 , "Check Number" , 1, 16)
|
389
|
+
E443 = t::AN.new(:E443 , "Contract Inquiry Reference" , 1, 20)
|
390
|
+
E447 = t::AN.new(:E447 , "Loop Identifier Code" , 1, 4)
|
391
|
+
E449 = t::AN.new(:E449 , "Fixed Format Information" , 1, 80)
|
392
|
+
E478 = t::ID.new(:E478 , "Credit/Debit Flag Code" , 1, 1,
|
393
|
+
s::CodeList.build(
|
394
|
+
"C" => "Credit",
|
395
|
+
"D" => "Debit",
|
396
|
+
"ACH" => "Automated Clearing House (ACH)",
|
397
|
+
"BOP" => "Financial Institution Option",
|
398
|
+
"CHK" => "Check",
|
399
|
+
"FWT" => "Federal Reserve Funds/Wire Transfer - Nonrepetitive",
|
400
|
+
"NON" => "Non-Payment Data"))
|
401
|
+
|
402
|
+
E479 = t::ID.new(:E479 , "Functional Identifier Code" , 2, 2,
|
403
|
+
s::CodeList.build(
|
404
|
+
"BE" => "Benefit Enrollment and Maintenance",
|
405
|
+
"FA" => "Functional or Implementation Acknowledgment Transaction Sets",
|
406
|
+
"HC" => "Health Care Claim",
|
407
|
+
"HI" => "Health Care Services Review Information",
|
408
|
+
"HN" => "Health Care Information Status Notification",
|
409
|
+
"HP" => "Health Care Claim Payment/Advice",
|
410
|
+
"HS" => "Eligibility, Coverage or Benefit Inquiry",
|
411
|
+
"HR" => "Health Care Claim Status Request",
|
412
|
+
"RA" => "Payment Order/Remittance Advice"))
|
413
|
+
|
414
|
+
E455 = t::ID.new(:E455 , "Responsible Agency Code" , 1, 2,
|
415
|
+
s::CodeList.build(
|
416
|
+
"X" => "Accredited Standards Committee X12"))
|
417
|
+
|
418
|
+
E480 = t::AN.new(:E480 , "Version / Release / Identifier Code" , 1, 12,
|
419
|
+
s::CodeList.external("881"))
|
420
|
+
|
421
|
+
E481 = t::ID.new(:E481 , "Trace Type Code" , 1, 2,
|
422
|
+
s::CodeList.build(
|
423
|
+
"1" => "Current Transaction Trace Numbers",
|
424
|
+
"2" => "Referenced Transaction Trace Numbers"))
|
425
|
+
|
426
|
+
E499 = t::AN.new(:E499 , "Condition Value" , 1, 10)
|
427
|
+
E506 = t::ID.new(:E506 , "DFI Identification Number Qualifier" , 2, 2,
|
428
|
+
s::CodeList.build(
|
429
|
+
"01" => s::CodeList.external("4"),
|
430
|
+
"04" => s::CodeList.external("91")))
|
431
|
+
|
432
|
+
E507 = t::AN.new(:E507 , "DFI Identification Number" , 3, 12,
|
433
|
+
s::CodeList.external("60"))
|
434
|
+
|
435
|
+
E508 = t::AN.new(:E508 , "Account Number" , 1, 35)
|
436
|
+
E509 = t::AN.new(:E509 , "Originating Company Identifier" , 10,10)
|
437
|
+
E510 = t::AN.new(:E510 , "Originating Company Supplemental Code", 9, 9)
|
438
|
+
E522 = t::ID.new(:E522 , "Amount Qualifier Code" , 1, 3,
|
439
|
+
s::CodeList.build(
|
440
|
+
"A8" => "Noncovered Charges - Actual",
|
441
|
+
"AU" => "Coverage Amount",
|
442
|
+
"B6" => "Allowed Amount",
|
443
|
+
"D" => "Payor Amount Paid",
|
444
|
+
"D8" => "Discount Amount",
|
445
|
+
"DY" => "Per Day Limit",
|
446
|
+
"EAF" => "Amount Owed",
|
447
|
+
"F4" => "Postage Claimed",
|
448
|
+
"F5" => "Patient Amount Paid",
|
449
|
+
"I" => "Interest",
|
450
|
+
"KH" => "Deduction Amount",
|
451
|
+
"NL" => "Negative Ledger Balance",
|
452
|
+
"T" => "Tax",
|
453
|
+
"T2" => "Total Claim Before Taxes",
|
454
|
+
"YU" => "In Process",
|
455
|
+
"YY" => "Returned",
|
456
|
+
"ZK" => "Federal Medicare or Medicaid Payment Mandate Category 1",
|
457
|
+
"ZL" => "Federal Medicare or Medicaid Payment Mandate Category 2",
|
458
|
+
"ZM" => "Federal Medicare or Medicaid Payment Mandate Category 3",
|
459
|
+
"ZN" => "Federal Medicare or Medicaid Payment Mandate Category 4",
|
460
|
+
"ZO" => "Federal Medicare or Medicaid Payment Mandate Category 5"))
|
461
|
+
|
462
|
+
E554 = t::Nn.new(:E554 , "Assigned Number" , 1, 6, 0)
|
463
|
+
E559 = t::ID.new(:E559 , "Agency Qualifier Code" , 2, 2,
|
464
|
+
s::CodeList.build(
|
465
|
+
"LB" => s::CodeList.external("407")))
|
466
|
+
|
467
|
+
E569 = t::ID.new(:E569 , "Account Number Qualifier" , 1, 3,
|
468
|
+
s::CodeList.build(
|
469
|
+
"DA" => "Demand Deposit",
|
470
|
+
"SG" => "Savings"))
|
471
|
+
|
472
|
+
E584 = t::ID.new(:E584 , "Employment Status Code" , 2, 2)
|
473
|
+
E591 = t::ID.new(:E591 , "Payment Method Code" , 3, 3)
|
474
|
+
E594 = t::ID.new(:E594 , "Frequency Code" , 1, 1,
|
475
|
+
s::CodeList.build(
|
476
|
+
"1" => "Weekly",
|
477
|
+
"4" => "Monthly",
|
478
|
+
"6" => "Daily"))
|
479
|
+
|
480
|
+
E609 = t::Nn.new(:E609 , "Count" , 1, 9, 0)
|
481
|
+
E618 = t::ID.new(:E618 , "Implementation Transaction Set Syntax Error Code", 1, 3,
|
482
|
+
s::CodeList.build(
|
483
|
+
"1" => "Transaction Set Not Supported",
|
484
|
+
"2" => "Transaction Set Trailer Missing",
|
485
|
+
"3" => "Transaction Set Control Number in Header and Trailer Do Not Match",
|
486
|
+
"4" => "Number of Included Segments Does Not Match Actual Content",
|
487
|
+
"5" => "One or More Segments in Error",
|
488
|
+
"6" => "Missing or Invalid Transaction Set Identifier",
|
489
|
+
"7" => "Missing or Invalid Transaction Set Control Number",
|
490
|
+
"8" => "Authentication Key Name Unknown",
|
491
|
+
"9" => "Encryption Key Name Unknown",
|
492
|
+
"10" => "Requested Service (Authentication or Encrypted) Not Available",
|
493
|
+
"11" => "Unknown Security Recipient",
|
494
|
+
"12" => "Incorrect Message Length (Encryption Only)",
|
495
|
+
"13" => "Message Authentication Code Failed",
|
496
|
+
"15" => "Unknown Security Originator",
|
497
|
+
"16" => "Syntax Error in Decrypted Text",
|
498
|
+
"17" => "Security Not Supported",
|
499
|
+
"18" => "Transaction Set not in Functional Group",
|
500
|
+
"19" => "Invalid Transaction Set Implementation Convention Reference",
|
501
|
+
"23" => "Transaction Set Control Number Not Unique within the Functional Group",
|
502
|
+
"24" => "S3E Security End Segment Missing for S3S Security Start Segment",
|
503
|
+
"25" => "S3S Security Start Segment Missing for S3E Security End Segment",
|
504
|
+
"26" => "S4E Security End Segment Missing for S4S Security Start Segment",
|
505
|
+
"27" => "S4S Security Start Segment Missing for S4E Security End Segment",
|
506
|
+
"I5" => "Implementation One or More Segments In Error",
|
507
|
+
"I6" => "Implementation Convention Not Supported"))
|
508
|
+
|
509
|
+
|
510
|
+
E620 = t::ID.new(:E620 , "Implementation Segment Syntax Error Code", 1, 3,
|
511
|
+
s::CodeList.build(
|
512
|
+
"1" => "Unrecognized segment ID",
|
513
|
+
"2" => "Unexpected segment",
|
514
|
+
"3" => "Required Segment Missing",
|
515
|
+
"4" => "Loop Occurs Over Maximum Times",
|
516
|
+
"5" => "Segment Exceeds Maximum Use",
|
517
|
+
"6" => "Segment Not in Defined Transaction Set",
|
518
|
+
"7" => "Segment Not in Proper Sequence",
|
519
|
+
"8" => "Segment Has Data Element Errors",
|
520
|
+
"I4" => "Implementation 'Not Used' Segment Present",
|
521
|
+
"I6" => "Implementation Dependent Segment Missing",
|
522
|
+
"I7" => "Implementation Loop Occurs Under Minimum Times",
|
523
|
+
"I8" => "Implementation Segment Below Minimum Use",
|
524
|
+
"I9" => "Implementation Dependent 'Not Used' Segment Present"))
|
525
|
+
|
526
|
+
E621 = t::ID.new(:E621 , "Implementation Data Element Syntax Error Code", 1, 3,
|
527
|
+
s::CodeList.build(
|
528
|
+
"1" => "Required Data Element Missing",
|
529
|
+
"2" => "Conditional Required Data Element Missing",
|
530
|
+
"3" => "Too Many Data Elements",
|
531
|
+
"4" => "Data Element Too Short",
|
532
|
+
"5" => "Data Element Too Long",
|
533
|
+
"6" => "Invalid Character In Data Element",
|
534
|
+
"7" => "Invalid Code Value",
|
535
|
+
"8" => "Invalid Date",
|
536
|
+
"9" => "Invalid Time",
|
537
|
+
"10" => "Exclusion Conditional Violated",
|
538
|
+
"12" => "Too Many Repetitions",
|
539
|
+
"13" => "Too Many Components",
|
540
|
+
"I6" => "Code Value Not Used in Implementation",
|
541
|
+
"I9" => "Implementation Dependent Data Element Missing",
|
542
|
+
"I10" => "Implementation 'Not Used' Data Element Present",
|
543
|
+
"I11" => "Implementation Too Few Repetitions",
|
544
|
+
"I12" => "Implementation Pattern Match Failure",
|
545
|
+
"I13" => "Implementation Dependent 'Not Used' Data Element Present"))
|
546
|
+
|
547
|
+
E623 = t::ID.new(:E623 , "Time Code" , 2, 2,
|
548
|
+
s::CodeList.external("94"))
|
549
|
+
|
550
|
+
E628 = t::AN.new(:E628 , "Hierachical ID Number" , 1, 12)
|
551
|
+
E639 = t::ID.new(:E639 , "Basis of Unit Price Code" , 2, 2)
|
552
|
+
E640 = t::ID.new(:E640 , "Transaction Type Code" , 2, 2,
|
553
|
+
s::CodeList.build(
|
554
|
+
"31" => "Subrogation Demand",
|
555
|
+
"CH" => "Chargeable",
|
556
|
+
"DG" => "Response",
|
557
|
+
"NO" => "Notice",
|
558
|
+
"RP" => "Reporting",
|
559
|
+
"RQ" => "Request",
|
560
|
+
"TH" => "Receipt Acknowledgement Advice"))
|
561
|
+
|
562
|
+
E648 = t::ID.new(:E648 , "Price Multiplier Qualifier" , 3, 3)
|
563
|
+
E649 = t:: R.new(:E649 , "Multiplier" , 1, 10)
|
564
|
+
E659 = t::ID.new(:E659 , "Basis of Verification Code" , 1, 2)
|
565
|
+
E669 = t::ID.new(:E669 , "Currency Market/Exchnage Code" , 3, 3)
|
566
|
+
E673 = t::ID.new(:E673 , "Quantity Qualifier" , 2, 2,
|
567
|
+
s::CodeList.build(
|
568
|
+
"90" => "Acknowledged Quantity",
|
569
|
+
"AA" => "Unacknowledged Quantity",
|
570
|
+
"CA" => "Covered - Actual",
|
571
|
+
"CD" => "Co-insured - Actual",
|
572
|
+
"FL" => "Units",
|
573
|
+
"LA" => "Life-time Reserve - Actual",
|
574
|
+
"LE" => "Life-time Reserve - Estimated",
|
575
|
+
"NE" => "Non-Covered Amount - Estimated",
|
576
|
+
"NR" => "Not Replaced Blood Units",
|
577
|
+
"OU" => "Outlier Days",
|
578
|
+
"PS" => "Prescription",
|
579
|
+
"PT" => "Patients",
|
580
|
+
"QA" => "Quantity Approved",
|
581
|
+
"QC" => "Quantity Disapproved",
|
582
|
+
"VS" => "Visits",
|
583
|
+
"ZK" => "Federal Medicare or Medicaid Payment Mandate Category 1",
|
584
|
+
"ZL" => "Federal Medicare or Medicaid Payment Mandate Category 2",
|
585
|
+
"ZM" => "Federal Medicare or Medicaid Payment Mandate Category 3",
|
586
|
+
"ZN" => "Federal Medicare or Medicaid Payment Mandate Category 4",
|
587
|
+
"ZO" => "Federal Medicare or Medicaid Payment Mandate Category 5"))
|
588
|
+
|
589
|
+
E687 = t::ID.new(:E687 , "Class of Trade Code" , 2, 2)
|
590
|
+
E704 = t::ID.new(:E704 , "Paperwork/Report Action Code" , 1, 2)
|
591
|
+
# @note Copied from an unverified 4010 internet source
|
592
|
+
|
593
|
+
E706 = t::ID.new(:E706 , "Entity Relation Code" , 2, 2)
|
594
|
+
E715 = t::ID.new(:E715 , "Functional Group Acknowledgment Code" , 1, 1,
|
595
|
+
s::CodeList.build(
|
596
|
+
"A" => "Accepted",
|
597
|
+
"E" => "Accepted, But Errors Were Noted",
|
598
|
+
"M" => "Rejected, Message Authentication Code (MAC) Failed",
|
599
|
+
"P" => "Partially Accepted, At Least One Transaction Set Was Rejected",
|
600
|
+
"R" => "Rejected",
|
601
|
+
"W" => "Rejected, Assurance Failed Validity Tests",
|
602
|
+
"X" => "Rejected, Content After Decryption Could Not Be Analyzed"))
|
603
|
+
|
604
|
+
E716 = t::ID.new(:E716 , "Functional Group Syntax Error Code" , 1, 3,
|
605
|
+
s::CodeList.build(
|
606
|
+
"1" => "Functional Group Not Supported",
|
607
|
+
"2" => "Functional Group Version Not Supported",
|
608
|
+
"3" => "Functional Group Trailer Missing",
|
609
|
+
"4" => "Group Control Number in the Functional Group Header and Trailer Do Not Agree",
|
610
|
+
"5" => "Number of Included Transaction Sets Does Not Match Actual Count",
|
611
|
+
"6" => "Group Control Number Violates Syntax",
|
612
|
+
"10" => "Authentication Key Name Unknown",
|
613
|
+
"11" => "Encryption Key Name Unknown",
|
614
|
+
"12" => "Requested Service (Authentication or Encryption) Not Available",
|
615
|
+
"13" => "Unknown Security Recipient",
|
616
|
+
"14" => "Unknown Security Originator",
|
617
|
+
"15" => "Syntax Error in Decrypted Text",
|
618
|
+
"16" => "Security Not Supported",
|
619
|
+
"17" => "Incorrect Message Length (Encryption Only)",
|
620
|
+
"18" => "Message Authentication Code Failed",
|
621
|
+
"19" => "Functional Group Control Number not Unique within Interchange",
|
622
|
+
"23" => "S3E Security End Segment Missing for S3S Security Start Segment",
|
623
|
+
"24" => "S3S Security Start Segment Missing for S3E Security End Segment",
|
624
|
+
"25" => "S4E Security End Segment Missing for S4S Security Start Segment",
|
625
|
+
"26" => "S4S Security Start Segment Missing for S4E Security End Segment"))
|
626
|
+
|
627
|
+
E717 = t::ID.new(:E717 , "Transaction Set Acknowledgment Code" , 1, 1,
|
628
|
+
s::CodeList.build(
|
629
|
+
"A" => "Accepted",
|
630
|
+
"E" => "Accepted But Errors Were Reported",
|
631
|
+
"M" => "Rejected, Message Authentication Code (MAC) Failed",
|
632
|
+
"R" => "Rejected",
|
633
|
+
"W" => "Rejected, Assurance Failed Validity Tests",
|
634
|
+
"X" => "Rejected, Content After Decryption Could Not Be Analyzed"))
|
635
|
+
|
636
|
+
E719 = t::Nn.new(:E719 , "Segment Position in Transaction Set" , 1, 10, 0)
|
637
|
+
E721 = t::ID.new(:E721 , "Segment ID Code" , 2, 3)
|
638
|
+
# S77
|
639
|
+
|
640
|
+
E722 = t::Nn.new(:E722 , "Element Position in Segment" , 1, 2, 0)
|
641
|
+
E724 = t::AN.new(:E724 , "Copy of Bad Data Element" , 1, 99)
|
642
|
+
E725 = t::Nn.new(:E725 , "Data Element Reference Number" , 1, 4, 0)
|
643
|
+
# S77
|
644
|
+
|
645
|
+
E734 = t::AN.new(:E734 , "Hierarchical Parent ID Number" , 1, 12)
|
646
|
+
E735 = t::ID.new(:E735 , "Hierarchical Level Code" , 1, 2,
|
647
|
+
s::CodeList.build(
|
648
|
+
"19" => "Provider of Service",
|
649
|
+
"20" => "Information Source",
|
650
|
+
"21" => "Information Receiver",
|
651
|
+
"22" => "Subscriber",
|
652
|
+
"23" => "Dependent",
|
653
|
+
"PT" => "Patient"))
|
654
|
+
|
655
|
+
E736 = t::ID.new(:E736 , "Hierarchical Child Code" , 1, 1,
|
656
|
+
s::CodeList.build(
|
657
|
+
"0" => "No Subordinate HL Segment in This Hierarchical Structure",
|
658
|
+
"1" => "Additional Subordinate HL Data Segment in This Hierarchical Structure"))
|
659
|
+
|
660
|
+
E737 = t::ID.new(:E737 , "Measurement Reference ID Code" , 2, 2,
|
661
|
+
s::CodeList.build(
|
662
|
+
"OG" => "Original",
|
663
|
+
"TR" => "Test Results"))
|
664
|
+
|
665
|
+
E738 = t::ID.new(:E738 , "Measurement Qualifier" , 2, 2,
|
666
|
+
s::CodeList.build(
|
667
|
+
"HT" => "Height",
|
668
|
+
"R1" => "Hemoglobin",
|
669
|
+
"R2" => "Hematocrit",
|
670
|
+
"R3" => "Epoetin Starting Dosage",
|
671
|
+
"R4" => "Creatinine"))
|
672
|
+
|
673
|
+
E739 = t:: R.new(:E739 , "Measurement Value" , 1, 20)
|
674
|
+
E740 = t:: R.new(:E740 , "Range Minimum" , 1, 20)
|
675
|
+
E741 = t:: R.new(:E741 , "Range Maximum" , 1, 20)
|
676
|
+
E752 = t::ID.new(:E752 , "Surface/Layer/Position Code" , 2, 2)
|
677
|
+
E753 = t::ID.new(:E753 , "Measurement Method or Device" , 2, 4)
|
678
|
+
E755 = t::ID.new(:E755 , "Report Type Code" , 2, 2,
|
679
|
+
s::CodeList.build(
|
680
|
+
"03" => "Report Justifying Treatment Beyond Utilization Guidelines",
|
681
|
+
"04" => "Drugs Administered",
|
682
|
+
"05" => "Treatment Diagnosis",
|
683
|
+
"06" => "Initial Assesment",
|
684
|
+
"07" => "Functional Goals",
|
685
|
+
"08" => "Plan of Treatment",
|
686
|
+
"09" => "Progress Report",
|
687
|
+
"10" => "Continued Treatment",
|
688
|
+
"11" => "Chemical Analysis",
|
689
|
+
"13" => "Certified Test Report",
|
690
|
+
"15" => "Justification for Admission",
|
691
|
+
"21" => "Recovery Plan",
|
692
|
+
"A3" => "Allergies/Sensitivies Document",
|
693
|
+
"A4" => "Autopsy Report",
|
694
|
+
"AM" => "Ambulance Certification",
|
695
|
+
"AS" => "Admission Summary",
|
696
|
+
"B2" => "Prescription",
|
697
|
+
"B3" => "Physician Order",
|
698
|
+
"B4" => "Referral Form",
|
699
|
+
"BR" => "Benchmark Testing Results",
|
700
|
+
"BS" => "Baseline",
|
701
|
+
"BT" => "Blanket Test Results",
|
702
|
+
"CB" => "Chiropractic Justification",
|
703
|
+
"CK" => "Conset Form(s)",
|
704
|
+
"CT" => "Certification",
|
705
|
+
"D2" => "Drug Profile Document",
|
706
|
+
"DA" => "Dental Models",
|
707
|
+
"DB" => "Durable Medical Equipment Prescription",
|
708
|
+
"DG" => "Diagnostic Report",
|
709
|
+
"DJ" => "Discharge Monitoring Report",
|
710
|
+
"DS" => "Discharge Summary",
|
711
|
+
"EB" => "Explanation of Benefits (Coordination of Benefits or Medicare Secondary Payer)",
|
712
|
+
"HC" => "Health Cerification",
|
713
|
+
"HR" => "Health Clinic Records",
|
714
|
+
"I5" => "Immunization Record",
|
715
|
+
"IR" => "State School Immunization Records",
|
716
|
+
"LA" => "Laboratory Results",
|
717
|
+
"M1" => "Medical Record Attachment",
|
718
|
+
"MT" => "Models",
|
719
|
+
"NN" => "Nursing Notes",
|
720
|
+
"OB" => "Operative Note",
|
721
|
+
"OC" => "Oxygen Content Averaging Report",
|
722
|
+
"OD" => "Orders and Treatments Document",
|
723
|
+
"OE" => "Objective Physical Examination (including vital signs) Document",
|
724
|
+
"OX" => "Oxygen Therapy Certification",
|
725
|
+
"OZ" => "Support Data for Claim",
|
726
|
+
"P4" => "Pathology Report",
|
727
|
+
"P5" => "Patient Medical History Document",
|
728
|
+
"PE" => "Parenteral or Enteral Certification",
|
729
|
+
"PN" => "Physical Therapy Notes",
|
730
|
+
"PO" => "Prosthetics or Orthotic Certification",
|
731
|
+
"PQ" => "Paramedical Results",
|
732
|
+
"PY" => "Physician's Report",
|
733
|
+
"PZ" => "Physical Therapy Certification",
|
734
|
+
"RB" => "Radiology Films",
|
735
|
+
"RR" => "Radiology Reports",
|
736
|
+
"RT" => "Report of Tests and Analysis Report",
|
737
|
+
"RX" => "Renewable Oxygen Content Averaging Report",
|
738
|
+
"SG" => "Symptoms Document",
|
739
|
+
"V5" => "Death Notification",
|
740
|
+
"XP" => "Photographs"))
|
741
|
+
|
742
|
+
E756 = t::ID.new(:E756 , "Report Transmission Code" , 1, 2,
|
743
|
+
s::CodeList.build(
|
744
|
+
"AA" => "Available on Request at Provider Site",
|
745
|
+
"AB" => "Previously Submitted to Payer",
|
746
|
+
"AD" => "Certification Included in this Claim",
|
747
|
+
"AF" => "Narrative Segment Included in this Claim",
|
748
|
+
"AG" => "No Documentation is Required",
|
749
|
+
"BM" => "By Mail",
|
750
|
+
"EL" => "Electronically Only",
|
751
|
+
"EM" => "E-Mail",
|
752
|
+
"FT" => "File Transfer",
|
753
|
+
"FX" => "By Fax",
|
754
|
+
"NS" => "Not Specified",
|
755
|
+
"OL" => "On-Line"))
|
756
|
+
|
757
|
+
E757 = t::Nn.new(:E757 , "Report Copies Needed" , 1, 2, 0)
|
758
|
+
E782 = t:: R.new(:E782 , "Monetary Amount" , 1, 18)
|
759
|
+
E799 = t::AN.new(:E799 , "Version Identifier" , 1, 30)
|
760
|
+
E812 = t::ID.new(:E812 , "Payment Format Code" , 3, 3,
|
761
|
+
s::CodeList.build(
|
762
|
+
"CCP" => "Cash Concentration/Disbursement plus Addenda (CCD+)(ACH)",
|
763
|
+
"CTX" => "Corporate Trade Exchange (CTX) (ACH)"))
|
764
|
+
|
765
|
+
E901 = t::ID.new(:E901 , "Reject Reason Code" , 2, 2,
|
766
|
+
s::CodeList.build(
|
767
|
+
"T1" => "Cannot Identify Provider as TPO (Third Party Organization) Participant",
|
768
|
+
"T2" => "Cannot Identify Payer as TPO (Third Party Organization) Participant",
|
769
|
+
"T3" => "Cannot Identify Insured as TPO (Third Party Organization) Participant",
|
770
|
+
"T4" => "Payer Name or Identifier Missing",
|
771
|
+
"T5" => "Certification Information Missing",
|
772
|
+
"T6" => "Claim does not contain enough information for re-pricing"))
|
773
|
+
|
774
|
+
E923 = t::ID.new(:E923 , "Prognosis Code" , 1, 1)
|
775
|
+
|
776
|
+
E933 = t::AN.new(:E933 , "Free-form Message Text" , 1, 264)
|
777
|
+
E935 = t::ID.new(:E935 , "Measurement Significance Code" , 2, 2)
|
778
|
+
E936 = t::ID.new(:E936 , "Measurement Attribute Code" , 2, 2)
|
779
|
+
E954 = t:: R.new(:E954 , "Percentage as Decimal" , 1, 10)
|
780
|
+
E1005 = t::ID.new(:E1005, "Hierarchical Structure Code" , 4, 4,
|
781
|
+
s::CodeList.build(
|
782
|
+
"0019" => "Information Source, Subscriber, Dependent",
|
783
|
+
"0085" => "Information Source, Information Receiver, Provider of Service, Patient"))
|
784
|
+
|
785
|
+
E1018 = t:: R.new(:E1018, "Exponent" , 1, 15)
|
786
|
+
E1028 = t::AN.new(:E1028, "Claim Submitter's Identifier" , 1, 38)
|
787
|
+
E1029 = t::ID.new(:E1029, "Claim Status Code" , 1, 2,
|
788
|
+
s::CodeList.build(
|
789
|
+
"1" => "Processed as Primary",
|
790
|
+
"2" => "Processed as Secondary",
|
791
|
+
"3" => "Processed as Tertiary",
|
792
|
+
"4" => "Denied",
|
793
|
+
"19" => "Processed as Primary, Forwarded to Additional Payer(s)",
|
794
|
+
"20" => "Processed as Secondary, Forwarded to Additional Payer(s)",
|
795
|
+
"21" => "Processed as Tertiary, Forwarded to Additional Payer(s)",
|
796
|
+
"22" => "Reversal of Previous Payment",
|
797
|
+
"23" => "Not Our Claim, Forwarded to Additional Payer(s)",
|
798
|
+
"25" => "Predetermination Pricing Only - No Payment"))
|
799
|
+
|
800
|
+
E1032 = t::ID.new(:E1032, "Claim Filing Indicator Code" , 1, 2,
|
801
|
+
s::CodeList.build(
|
802
|
+
"11" => "Other Non-Federal Programs",
|
803
|
+
"12" => "Preferred Provider Organization (PPO)",
|
804
|
+
"13" => "Point of Service (POS)",
|
805
|
+
"14" => "Exclusive Provider Organization (EPO)",
|
806
|
+
"15" => "Indemnity Insurance",
|
807
|
+
"16" => "Health Maintenance Organization (HMO) Medicare Risk",
|
808
|
+
"17" => "Dentail Maintenance Organization",
|
809
|
+
"AM" => "Automobile Medical",
|
810
|
+
"BL" => "Blue Cross/Blue Shield",
|
811
|
+
"CH" => "Champus",
|
812
|
+
"CI" => "Commercial Insurance Co.",
|
813
|
+
"DS" => "Disability",
|
814
|
+
"FI" => "Federal Employees Program",
|
815
|
+
"HM" => "Health Maintenance Organization",
|
816
|
+
"LM" => "Liability Medical",
|
817
|
+
"MA" => "Medicare Part A",
|
818
|
+
"MB" => "Medicare Part B",
|
819
|
+
"MC" => "Medicaid",
|
820
|
+
"OF" => "Other Federal Program",
|
821
|
+
"TV" => "Title V",
|
822
|
+
"VA" => "Veterans Affairs Plan",
|
823
|
+
"WC" => "Worker's Compensation Health Claim",
|
824
|
+
"ZZ" => "Mutually Defined"))
|
825
|
+
|
826
|
+
E1033 = t::ID.new(:E1033, "Claim Adjustment Group Code" , 1, 12,
|
827
|
+
s::CodeList.build(
|
828
|
+
"CO" => "Contractual Obligations",
|
829
|
+
"CR" => "Corrections and Reversals",
|
830
|
+
"OA" => "Other adjustments",
|
831
|
+
"PI" => "Payor Initiated Reductions",
|
832
|
+
"PR" => "Patient Responsibility"))
|
833
|
+
|
834
|
+
E1034 = t::ID.new(:E1034, "Claim Adjustment Reason Code" , 1, 5,
|
835
|
+
s::CodeList.external("139"))
|
836
|
+
|
837
|
+
E1035 = t::AN.new(:E1035, "Name Last or Organization Name" , 1, 60)
|
838
|
+
E1036 = t::AN.new(:E1036, "Name First" , 1, 35)
|
839
|
+
E1037 = t::AN.new(:E1037, "Name Middle" , 1, 25)
|
840
|
+
E1038 = t::AN.new(:E1038, "Name Prefix" , 1, 10)
|
841
|
+
E1039 = t::AN.new(:E1039, "Name Suffix" , 1, 10)
|
842
|
+
E1048 = t::ID.new(:E1048, "Business Function Code" , 1, 3)
|
843
|
+
E1065 = t::ID.new(:E1065, "Entity Type Qualifier" , 1, 1,
|
844
|
+
s::CodeList.build(
|
845
|
+
"1" => "Person",
|
846
|
+
"2" => "Non-Person Entity"))
|
847
|
+
|
848
|
+
E1066 = t::ID.new(:E1066, "Citizenship Status Code" , 1, 2)
|
849
|
+
E1067 = t::ID.new(:E1067, "Marital Status Code" , 1, 1)
|
850
|
+
E1068 = t::ID.new(:E1068, "Gender Code" , 1, 1,
|
851
|
+
s::CodeList.build(
|
852
|
+
"F" => "Female",
|
853
|
+
"M" => "Male",
|
854
|
+
"U" => "Unknown"))
|
855
|
+
|
856
|
+
E1069 = t::ID.new(:E1069, "Individual Relationship Code" , 2, 2,
|
857
|
+
s::CodeList.build(
|
858
|
+
"01" => "Spouse",
|
859
|
+
"18" => "Self",
|
860
|
+
"19" => "Child",
|
861
|
+
"20" => "Employee",
|
862
|
+
"21" => "Unknown",
|
863
|
+
"39" => "Organ Donor",
|
864
|
+
"40" => "Cadaver Donor",
|
865
|
+
"53" => "Life Partner",
|
866
|
+
"G8" => "Other Relationship"))
|
867
|
+
|
868
|
+
E1073 = t::ID.new(:E1073, "Yes/No Condition or Response Code" , 1, 1,
|
869
|
+
s::CodeList.build(
|
870
|
+
"N" => "No",
|
871
|
+
"Y" => "Yes",
|
872
|
+
"W" => "Not Applicable"))
|
873
|
+
|
874
|
+
E1109 = t::ID.new(:E1109, "Race or Ethnicity Code" , 1, 1)
|
875
|
+
E1136 = t::ID.new(:E1136, "Code Category" , 2, 2,
|
876
|
+
s::CodeList.build(
|
877
|
+
"07" => "Ambulance Certification",
|
878
|
+
"09" => "Durable Medical Equipment Certification",
|
879
|
+
"12" => "Medicare Secondary Working Aged Beneficiary or Spouse with Employer Group Health Plan",
|
880
|
+
"13" => "Medicare Secondary End-Stage Renal Disease Beneficiary in Mandated Coordination Period with an Employer's Group Health Plan",
|
881
|
+
"14" => "Medicare Secondary, No-fault Insurance including Auto is Primary",
|
882
|
+
"15" => "Medicare Secondary Worker's Compensation",
|
883
|
+
"16" => "Medicare Secondary Public Health Service (PHS) or Other Federal Agency",
|
884
|
+
"41" => "Medicare Secondary Blank Lung",
|
885
|
+
"42" => "Medicare Secondary Veteran's Administration",
|
886
|
+
"43" => "Medicare Secondary Disabled Beneficiary Under Age 65 with Large Group Health Plan (LGHP)",
|
887
|
+
"47" => "Medicare Secondary, Other Liability Insurance is Primary",
|
888
|
+
"70" => "Hospice",
|
889
|
+
"75" => "Functional Limitations",
|
890
|
+
"E1" => "Spectacle Lenses",
|
891
|
+
"E2" => "Contact Lenses",
|
892
|
+
"E3" => "Spectacle Frames",
|
893
|
+
"ZZ" => "Mutually Defined"))
|
894
|
+
|
895
|
+
E1138 = t::ID.new(:E1138, "Payer Responsibility Sequence" , 1, 1,
|
896
|
+
s::CodeList.build(
|
897
|
+
"P" => "Primary",
|
898
|
+
"S" => "Secondary",
|
899
|
+
"T" => "Tertiary",
|
900
|
+
"U" => "Unknown",
|
901
|
+
"A" => "Payer Responsibility Four",
|
902
|
+
"B" => "Payer Responsibility Five",
|
903
|
+
"C" => "Payer Responsibility Six",
|
904
|
+
"D" => "Payer Responsibility Seven",
|
905
|
+
"E" => "Payer Responsibility Eight",
|
906
|
+
"F" => "Payer Responsibility Nine",
|
907
|
+
"G" => "Payer Responsibility Ten",
|
908
|
+
"H" => "Payer Responsibility Eleven"))
|
909
|
+
|
910
|
+
E1143 = t::ID.new(:E1143, "Coordination of Benefits Code" , 1, 1)
|
911
|
+
E1166 = t::ID.new(:E1166, "Contract Type Code" , 2, 2,
|
912
|
+
s::CodeList.build(
|
913
|
+
"01" => "Diagnosis Related Group (DRG)",
|
914
|
+
"02" => "Per Diem",
|
915
|
+
"03" => "Variable Per Diem",
|
916
|
+
"04" => "Flat",
|
917
|
+
"05" => "Captitated",
|
918
|
+
"06" => "Percent",
|
919
|
+
"09" => "Other"))
|
920
|
+
|
921
|
+
E1220 = t::ID.new(:E1220, "Student Status Code" , 1, 1)
|
922
|
+
E1221 = t::ID.new(:E1221, "Provider Code" , 1, 3,
|
923
|
+
s::CodeList.build(
|
924
|
+
"BI" => "Billing",
|
925
|
+
"PE" => "Performing"))
|
926
|
+
|
927
|
+
E1222 = t::AN.new(:E1222, "Provider Specialty Code" , 1, 3)
|
928
|
+
# @note Copied from an unverified 4010 internet source
|
929
|
+
|
930
|
+
E1223 = t::ID.new(:E1223, "Provider Organization Code" , 3, 3)
|
931
|
+
E1250 = t::ID.new(:E1250, "Date Time Period Format Qualifier" , 2, 3,
|
932
|
+
s::CodeList.build(
|
933
|
+
"CC" => "First Two Digits of Year Expressed in Format CCYY",
|
934
|
+
"CD" => "Month and Year Expressed in Format MMMYYY",
|
935
|
+
"CM" => "Date in Format CCYYMM",
|
936
|
+
"CQ" => "Date in Format CCYYQ",
|
937
|
+
"CY" => "Year Expressed in Format CCYY",
|
938
|
+
"D6" => "Date Expressed in Format YYMMDD",
|
939
|
+
"D8" => "Date Expressed in Format CCYYMMDD",
|
940
|
+
"DA" => "Range of Dates within a Single Month Expressed in Format DD-DD",
|
941
|
+
"DB" => "Date Expressed in Format MMDDCCYY",
|
942
|
+
"DD" => "Day of Month in Numeric Format",
|
943
|
+
"DDT" => "Range of Dates and Time Expressed in Format CCYYMMDD-CCYYMMDDHHMM",
|
944
|
+
"DT" => "Date and Time Expressed in Format CCYYMMDDHHMM",
|
945
|
+
"DTD" => "Range of Dates and Time Expressed in Format CCYYMMDDHHMM-CCYYMMDD",
|
946
|
+
"DTS" => "Range of Date and Time Expressed in Format CCYYMMDDHHMMSS-CCYYMMDDHHMMSS",
|
947
|
+
"EH" => "Last Digit of Year and Julian Date Expressed in Format YDDD",
|
948
|
+
"KA" => "Date Expressed in Format YYMMMDD",
|
949
|
+
"MD" => "Month of Year and Day of Month Expressed in Format MMDD",
|
950
|
+
"MM" => "Month of Year in Numeric Format",
|
951
|
+
"RD" => "Range of Dates Expressed in Format MMDDCCYY-MMDDCCYY",
|
952
|
+
"RD2" => "Range of Years Expressed in Format YY-YY",
|
953
|
+
"RD4" => "Range of Years Expressed in Format CCYY-CCYY",
|
954
|
+
"RD5" => "Range of Years and Months Expressed in Format CCYYMM-CCYYMM",
|
955
|
+
"RD6" => "Range of Dates Expressed in Format YYMMDD-YYMMDD",
|
956
|
+
"RD8" => "Range of Dates Expressed in Format CCYYMMDD-CCYYMMDD",
|
957
|
+
"RDM" => "Range of Dates Expressed in Format YYMMDD-MMDD",
|
958
|
+
"RDT" => "Range of Date and Time Expressed in Format CCYYMMDDHHMM-CCYYMMDDHHMM",
|
959
|
+
"RMD" => "Range of Months and Days Expressed in Format MMDD-MMDD",
|
960
|
+
"RMY" => "Range of Years and Months Expressed in Format YYMM-YYMM",
|
961
|
+
"RTM" => "Range of Time Expressed in Format HHMM-HHMM",
|
962
|
+
"RTS" => "Date and Time Expressed in Format CCYYMMDDHHMMSS",
|
963
|
+
"TC" => "Julian Date Expressed in Format DDD",
|
964
|
+
"TM" => "Time Expressed in Format HHMM",
|
965
|
+
"TQ" => "Date Expressed in Format MMYY",
|
966
|
+
"TR" => "Date and Time Expressed in Format DDMMYYHHMM",
|
967
|
+
"TS" => "Time Expressed in Format HHMMSS",
|
968
|
+
"TT" => "Date Expressed in Format MMDDYY",
|
969
|
+
"TU" => "Date EXpressed in Format YYDDD",
|
970
|
+
"UN" => "Unstructured",
|
971
|
+
"YM" => "Year and Month Expressed in Format YYMM",
|
972
|
+
"YMM" => "Range of Year and Month Expressed in Format CCYYMM-MMM",
|
973
|
+
"YY" => "Last Two Digits of Year Expressed in Format CCYY"))
|
974
|
+
|
975
|
+
E1251 = t::AN.new(:E1251, "Date Time Period" , 1, 35)
|
976
|
+
E1270 = t::ID.new(:E1270, "Code List Qualifier Code" , 1, 3,
|
977
|
+
s::CodeList.build(
|
978
|
+
"65" => s::CodeList.external("508"),
|
979
|
+
"68" => s::CodeList.external("682"),
|
980
|
+
"AAU" => s::CodeList.external("131"),
|
981
|
+
"AAW" => s::CodeList.external("133"),
|
982
|
+
"AAX" => s::CodeList.external("131"),
|
983
|
+
"AAY" => s::CodeList.external("135"),
|
984
|
+
"ABF" => s::CodeList.external("897"),
|
985
|
+
"ABJ" => s::CodeList.external("897"),
|
986
|
+
"ABK" => s::CodeList.external("897"),
|
987
|
+
"ABN" => s::CodeList.external("897"),
|
988
|
+
"ABU" => s::CodeList.external("897"),
|
989
|
+
"ABV" => s::CodeList.external("897"),
|
990
|
+
"ADD" => s::CodeList.external("897"),
|
991
|
+
"APR" => s::CodeList.external("897"),
|
992
|
+
"AS" => s::CodeList.external("656"),
|
993
|
+
"ASD" => s::CodeList.external("897"),
|
994
|
+
"ATD" => s::CodeList.external("897"),
|
995
|
+
"CAH" => s::CodeList.external("843"),
|
996
|
+
"BBQ" => s::CodeList.external("896"),
|
997
|
+
"BBR" => s::CodeList.external("896"),
|
998
|
+
"BE" => s::CodeList.external("132"),
|
999
|
+
"BF" => s::CodeList.external("131"),
|
1000
|
+
"BG" => s::CodeList.external("132"),
|
1001
|
+
"BH" => s::CodeList.external("132"),
|
1002
|
+
"BI" => s::CodeList.external("132"),
|
1003
|
+
"BK" => s::CodeList.external("131"),
|
1004
|
+
"BJ" => s::CodeList.external("131"),
|
1005
|
+
"BN" => s::CodeList.external("131"),
|
1006
|
+
"BO" => s::CodeList.external("130"),
|
1007
|
+
"BP" => s::CodeList.external("130"),
|
1008
|
+
"BQ" => s::CodeList.external("131"),
|
1009
|
+
"BR" => s::CodeList.external("131"),
|
1010
|
+
"BT" => s::CodeList.external("407"),
|
1011
|
+
"BU" => s::CodeList.external("407"),
|
1012
|
+
"BS" => s::CodeList.external("133"),
|
1013
|
+
"DD" => s::CodeList.external("131"),
|
1014
|
+
"DR" => s::CodeList.external("229"),
|
1015
|
+
"EK" => s::CodeList.external("407"),
|
1016
|
+
"GR" => s::CodeList.external("284"),
|
1017
|
+
"GS" => s::CodeList.external("407"),
|
1018
|
+
"GU" => s::CodeList.external("407"),
|
1019
|
+
"GW" => s::CodeList.external("407"),
|
1020
|
+
"HE" => s::CodeList.external("411"),
|
1021
|
+
"HI" => s::CodeList.external("121"),
|
1022
|
+
"HO" => s::CodeList.external("537"),
|
1023
|
+
"JO" => s::CodeList.external("135"),
|
1024
|
+
"JP" => s::CodeList.external("135"),
|
1025
|
+
"LOI" => s::CodeList.external("663"),
|
1026
|
+
"NUB" => s::CodeList.external("132"),
|
1027
|
+
"NDC" => s::CodeList.external("240"),
|
1028
|
+
"PR" => s::CodeList.external("131"),
|
1029
|
+
"PB" => s::CodeList.external("407"),
|
1030
|
+
"REC" => s::CodeList.external("860"),
|
1031
|
+
"RET" => s::CodeList.external("859"),
|
1032
|
+
"RX" => s::CodeList.external("530"),
|
1033
|
+
"S" => s::CodeList.external("327"),
|
1034
|
+
"SD" => s::CodeList.external("131"),
|
1035
|
+
"SJ" => s::CodeList.external("407"),
|
1036
|
+
"SL" => s::CodeList.external("407"),
|
1037
|
+
"TC" => s::CodeList.external("359"),
|
1038
|
+
"TD" => s::CodeList.external("131"),
|
1039
|
+
"TQ" => s::CodeList.external("135"),
|
1040
|
+
"UT" => s::CodeList.external("528")))
|
1041
|
+
|
1042
|
+
E1271 = t::AN.new(:E1271, "Industry Code" , 1, 30,
|
1043
|
+
s::CodeList.external("508"))
|
1044
|
+
|
1045
|
+
E1314 = t::ID.new(:E1314, "Admission Source Code" , 1, 1,
|
1046
|
+
s::CodeList.external("230"))
|
1047
|
+
|
1048
|
+
E1315 = t::ID.new(:E1315, "Admission Type Code" , 1, 1,
|
1049
|
+
s::CodeList.external("231"))
|
1050
|
+
|
1051
|
+
E1316 = t::ID.new(:E1316, "Ambulance Transport Code" , 1, 1)
|
1052
|
+
E1317 = t::ID.new(:E1317, "Ambulance Transport Reason Code" , 1, 1,
|
1053
|
+
s::CodeList.build(
|
1054
|
+
"A" => "Patient was transported to nearest facility for care of symptoms, complaints, or both",
|
1055
|
+
"B" => "Patient was transported for the benefit of a preferred physician",
|
1056
|
+
"C" => "Patient was transported for the nearness of family members",
|
1057
|
+
"D" => "Patient was transported for the care of a specialist or for availability of specialized equipment",
|
1058
|
+
"E" => "Patient Transferred to Rehabilitation Facility"))
|
1059
|
+
|
1060
|
+
E1321 = t::ID.new(:E1321, "Condition Indicator" , 2, 3,
|
1061
|
+
s::CodeList.build(
|
1062
|
+
"01" => "Patient was admitted to a hospital",
|
1063
|
+
"04" => "Patient was moved by stretcher",
|
1064
|
+
"05" => "Patient was unconscious or in shock",
|
1065
|
+
"06" => "Patient was transported in an emergency situation",
|
1066
|
+
"07" => "Patient had to be physically restrained",
|
1067
|
+
"08" => "Patient had visible hemorrhaging",
|
1068
|
+
"09" => "Ambulance service was medically necessary",
|
1069
|
+
"12" => "Patient is confined to a bed or chair",
|
1070
|
+
"38" => "Certification signed by the physician is on file at the supplier's office",
|
1071
|
+
"65" => "Open",
|
1072
|
+
"AV" => "Available - Not Used",
|
1073
|
+
"IH" => "Independent at Home",
|
1074
|
+
"L1" => "General Standard of 20 Degree or .5 Diopter Sphere or Cylinder Change Met",
|
1075
|
+
"L2" => "Replacement Due to Loss or Theft",
|
1076
|
+
"L3" => "Replacement Due to Breakage or Damage",
|
1077
|
+
"L4" => "Replacement Due to Patient Preference",
|
1078
|
+
"L5" => "Replacement Due to Medical Reason",
|
1079
|
+
"NU" => "Not Used",
|
1080
|
+
"S2" => "Under Treatment",
|
1081
|
+
"ST" => "New Services Requested",
|
1082
|
+
"ZV" => "Replacement Item"))
|
1083
|
+
|
1084
|
+
E1322 = t::ID.new(:E1322, "Certification Type Code" , 1, 1,
|
1085
|
+
s::CodeList.build(
|
1086
|
+
"I" => "Initial",
|
1087
|
+
"R" => "Renewal",
|
1088
|
+
"S" => "Revised"))
|
1089
|
+
|
1090
|
+
E1325 = t::ID.new(:E1325, "Claim Frequency Type Code" , 1, 1,
|
1091
|
+
s::CodeList.external("235"))
|
1092
|
+
|
1093
|
+
E1327 = t::ID.new(:E1327, "Copay Status Code" , 1, 1,
|
1094
|
+
s::CodeList.build(
|
1095
|
+
"0" => "Copay exempt"))
|
1096
|
+
|
1097
|
+
E1328 = t::Nn.new(:E1328, "Diagnosis Code Pointer" , 1, 2, 0)
|
1098
|
+
E1331 = t::AN.new(:E1331, "Facility Code Value" , 1, 2)
|
1099
|
+
# S237
|
1100
|
+
|
1101
|
+
E1332 = t::ID.new(:E1332, "Facility Code Qualifier" , 1, 2,
|
1102
|
+
s::CodeList.build(
|
1103
|
+
"A" => s::CodeList.external("236"),
|
1104
|
+
"B" => s::CodeList.external("237")))
|
1105
|
+
|
1106
|
+
E1333 = t::ID.new(:E1333, "Record Format Code" , 1, 2)
|
1107
|
+
E1334 = t::ID.new(:E1334, "Professional Shortage Area Code" , 1, 1)
|
1108
|
+
E1335 = t::ID.new(:E1335, "Insulin Type Code" , 1, 3)
|
1109
|
+
E1336 = t::ID.new(:E1336, "Insurance Type Code" , 1, 3,
|
1110
|
+
s::CodeList.build(
|
1111
|
+
"02" => "Physically Handicapped Children's Program",
|
1112
|
+
"03" => "Special Federal Funding",
|
1113
|
+
"05" => "Disability",
|
1114
|
+
"09" => "Second Opinion or Surgery",
|
1115
|
+
"12" => "Medicare Secondary Working Aged Beneficiary or Spouse with Employer Group Health Plan",
|
1116
|
+
"13" => "Medicare Secondary End-Stage Renal Disease Beneficiary in the Mandated Coordination Period",
|
1117
|
+
"14" => "Medicare Secondary, No-fault Insurance including Auto is Primary",
|
1118
|
+
"15" => "Medicare Secondary Worker's Compensation",
|
1119
|
+
"16" => "Medicare Secondary Public Health Service (PHS) or Other Federal Agency",
|
1120
|
+
"41" => "Medicare Secondary Blank Lung",
|
1121
|
+
"42" => "Medicare Secondary Veteran's Administration",
|
1122
|
+
"43" => "Medicare Secondary Disabled Beneficiary Under Age 65 with Large Group Health Plan (LGHP)",
|
1123
|
+
"47" => "Medicare Secondary, Other Liability Insurance is Primary"))
|
1124
|
+
|
1125
|
+
E1337 = t::ID.new(:E1337, "Level of Care Code" , 1, 1)
|
1126
|
+
E1338 = t::ID.new(:E1338, "Level of Service Code" , 1, 3)
|
1127
|
+
E1339 = t::AN.new(:E1339, "Procedure Modifier" , 2, 2)
|
1128
|
+
E1340 = t::ID.new(:E1340, "Multiple Procedure Code" , 1, 2)
|
1129
|
+
E1341 = t::AN.new(:E1341, "National or Local Assigned Review" , 1, 2)
|
1130
|
+
E1342 = t::ID.new(:E1342, "Nature of Condition Code" , 1, 1,
|
1131
|
+
s::CodeList.build(
|
1132
|
+
"A" => "Acute Condition",
|
1133
|
+
"C" => "Chronic Condition",
|
1134
|
+
"D" => "Non-acute",
|
1135
|
+
"E" => "Non-Life Threatening",
|
1136
|
+
"F" => "Routine",
|
1137
|
+
"G" => "Symptomatic",
|
1138
|
+
"M" => "Acute Manifestation of a Chronic Condition"))
|
1139
|
+
|
1140
|
+
E1343 = t::ID.new(:E1343, "Non-Institutional Claim Type Code" , 1, 2)
|
1141
|
+
E1345 = t::ID.new(:E1345, "Nursing Home Residential Status Code" , 1, 1)
|
1142
|
+
E1351 = t::ID.new(:E1351, "Patient Signature Source Code" , 1, 1,
|
1143
|
+
s::CodeList.build(
|
1144
|
+
"P" => "Signature generated by provider because the patient was not physically present for services"))
|
1145
|
+
|
1146
|
+
E1352 = t::ID.new(:E1352, "Patient Status Code" , 1, 2,
|
1147
|
+
s::CodeList.external("239"))
|
1148
|
+
|
1149
|
+
E1354 = t::ID.new(:E1354, "Diagnosis Related Group (DRG) Code" , 1, 4,
|
1150
|
+
s::CodeList.external("229"))
|
1151
|
+
|
1152
|
+
E1358 = t::ID.new(:E1358, "Prosthesis, Crown, or Inlay Code" , 1, 1)
|
1153
|
+
E1359 = t::ID.new(:E1359, "Provider Accept Assignment Code" , 1, 1,
|
1154
|
+
s::CodeList.build(
|
1155
|
+
"A" => "Assigned",
|
1156
|
+
"B" => "Assigned Accepted on Clinical Lab Services Only",
|
1157
|
+
"C" => "Not Assigned"))
|
1158
|
+
|
1159
|
+
E1360 = t::ID.new(:E1360, "Provider Agreement Code" , 1, 1)
|
1160
|
+
E1361 = t::ID.new(:E1361, "Oral Cavity Designation Code" , 1, 3,
|
1161
|
+
s::CodeList.external("135"))
|
1162
|
+
|
1163
|
+
E1362 = t::ID.new(:E1362, "Related-Causes Code" , 2, 3,
|
1164
|
+
s::CodeList.build(
|
1165
|
+
"AA" => "Auto Accident",
|
1166
|
+
"EM" => "Employment",
|
1167
|
+
"OA" => "Other Accident"))
|
1168
|
+
|
1169
|
+
E1363 = t::ID.new(:E1363, "Release of Information Code" , 1, 1,
|
1170
|
+
s::CodeList.build(
|
1171
|
+
"I" => "Informed Consent to Release Medical Information for Conditions or Diagnoses Regulated by Federal Statutes",
|
1172
|
+
"Y" => "Yes, Provider has a Signed Statement Permitting Release of Medical Billing Data Related to a Claim"))
|
1173
|
+
|
1174
|
+
E1364 = t::ID.new(:E1364, "Review Code" , 1, 2)
|
1175
|
+
E1365 = t::ID.new(:E1365, "Service Type Code" , 1, 2)
|
1176
|
+
E1366 = t::ID.new(:E1366, "Special Program Code" , 2, 3)
|
1177
|
+
E1367 = t::ID.new(:E1367, "Sublaxation Level Code" , 2, 3)
|
1178
|
+
E1368 = t::ID.new(:E1368, "Tooth Status Code" , 1, 2)
|
1179
|
+
E1369 = t::ID.new(:E1369, "Tooth Surface Code" , 1, 2)
|
1180
|
+
E1371 = t:: R.new(:E1371, "Unit Rate" , 1, 10)
|
1181
|
+
E1383 = t::ID.new(:E1383, "Claim Submission Reason Code" , 2, 2)
|
1182
|
+
E1384 = t::ID.new(:E1384, "Patient Location Code" , 1, 1)
|
1183
|
+
E1473 = t::ID.new(:E1473, "Pricing Methodology" , 2, 2,
|
1184
|
+
s::CodeList.build(
|
1185
|
+
"00" => "Zero Pricing (Not Covered Under Contract)",
|
1186
|
+
"01" => "Priced as Billed at 100%",
|
1187
|
+
"02" => "Priced at the Standard Fee Schedule",
|
1188
|
+
"03" => "Priced at a Contractual Percentage",
|
1189
|
+
"04" => "Bundled Pricing",
|
1190
|
+
"05" => "Peer Review Pricing",
|
1191
|
+
"06" => "Per Diem Pricing",
|
1192
|
+
"07" => "Flat Rate Pricing",
|
1193
|
+
"08" => "Combination Pricing",
|
1194
|
+
"09" => "Maternity Pricing",
|
1195
|
+
"10" => "Other Pricing",
|
1196
|
+
"11" => "Lower of Cost",
|
1197
|
+
"12" => "Ratio of Cost",
|
1198
|
+
"13" => "Cost Reimbursed",
|
1199
|
+
"14" => "Adjustment Pricing"))
|
1200
|
+
|
1201
|
+
E1514 = t::ID.new(:E1514, "Delay Reason Code" , 1, 2,
|
1202
|
+
s::CodeList.build(
|
1203
|
+
"1" => "Proof of Eligibility Unknown or Unavailable",
|
1204
|
+
"2" => "Litigation",
|
1205
|
+
"3" => "Authorization Delays",
|
1206
|
+
"4" => "Delay in Certifying Provider",
|
1207
|
+
"5" => "Delay in Shipping Billing Forms",
|
1208
|
+
"6" => "Delay in Delivery of Custom-made Appliances",
|
1209
|
+
"7" => "Third Party Processing Delay",
|
1210
|
+
"8" => "Delay in Eligibility Determination",
|
1211
|
+
"9" => "Original Claim Rejected or Denied Due to a Reason Unrelated to the Billing Limitation Rules",
|
1212
|
+
"10" => "Administration Delay in the Prior Approval Process",
|
1213
|
+
"11" => "Other",
|
1214
|
+
"15" => "Natural Disaster"))
|
1215
|
+
|
1216
|
+
E1525 = t::ID.new(:E1525, "Request Category Code" , 1, 2)
|
1217
|
+
E1526 = t::ID.new(:E1526, "Policy Compliance Code" , 1, 2,
|
1218
|
+
s::CodeList.build(
|
1219
|
+
"1" => "Procedure Followed (Compliance)",
|
1220
|
+
"2" => "Not Followed - Call Not Made (Non-Compliance Call Not Made)",
|
1221
|
+
"3" => "Not Medically Necessary (Non-Compliance Non-Medically Necessary)",
|
1222
|
+
"4" => "Not Followed Other (Non-Compliance Other)",
|
1223
|
+
"5" => "Emergency Admit to Non-Network Hospital"))
|
1224
|
+
|
1225
|
+
E1527 = t::ID.new(:E1527, "Exception Code" , 1, 2,
|
1226
|
+
s::CodeList.build(
|
1227
|
+
"1" => "Non-Network Professional Provider in Network Hospital",
|
1228
|
+
"2" => "Emergency Care",
|
1229
|
+
"3" => "Services or Specialist not in Network",
|
1230
|
+
"4" => "Out-of-Service Area",
|
1231
|
+
"5" => "State Mandates",
|
1232
|
+
"6" => "Other"))
|
1233
|
+
|
1234
|
+
E1528 = t::Nn.new(:E1528, "Component Data Element Position in Composite", 1, 2, 0)
|
1235
|
+
E1686 = t::Nn.new(:E1686, "Repeating Data Element Position" , 1, 4, 0)
|
1236
|
+
E1705 = t::AN.new(:E1705, "Implementation Convention Reference" , 1, 35)
|
1237
|
+
E1715 = t::ID.new(:E1715, "Country Subdivision Code" , 1, 3,
|
1238
|
+
s::CodeList.external("5"))
|
1239
|
+
|
1240
|
+
E9998 = t::AN.new(:E9998, "Context Reference" , 1, 35)
|
1241
|
+
E9999 = t::AN.new(:E9998, "Context Name" , 1, 35)
|
1242
|
+
|
1243
|
+
C001 = Schema::CompositeElementDef.build(:C001,
|
1244
|
+
"Composite Unit of Measure",
|
1245
|
+
"To identify a composite unit of measure",
|
1246
|
+
E355 .component_use(r::Mandatory),
|
1247
|
+
E1018.component_use(r::Optional),
|
1248
|
+
E649 .component_use(r::Optional),
|
1249
|
+
E355 .component_use(r::Optional),
|
1250
|
+
E1018.component_use(r::Optional),
|
1251
|
+
E649 .component_use(r::Optional),
|
1252
|
+
E355 .component_use(r::Optional),
|
1253
|
+
E1018.component_use(r::Optional),
|
1254
|
+
E649 .component_use(r::Optional),
|
1255
|
+
E355 .component_use(r::Optional),
|
1256
|
+
E1018.component_use(r::Optional), # If not used, value is interpreted as 1
|
1257
|
+
E649 .component_use(r::Optional), # If not used, value is interpreted as 1
|
1258
|
+
E355 .component_use(r::Optional),
|
1259
|
+
E1018.component_use(r::Optional), # If not used, value is interpreted as 1
|
1260
|
+
E649 .component_use(r::Optional)) # If not used, value is interpreted as 1
|
1261
|
+
|
1262
|
+
# @note Copied from an unverified 4010 internet source
|
1263
|
+
C002 = Schema::CompositeElementDef.build(:C002,
|
1264
|
+
"Actions Indicated",
|
1265
|
+
"",
|
1266
|
+
E704.component_use(r::Mandatory),
|
1267
|
+
E704.component_use(r::Optional),
|
1268
|
+
E704.component_use(r::Optional),
|
1269
|
+
E704.component_use(r::Optional),
|
1270
|
+
E704.component_use(r::Optional))
|
1271
|
+
|
1272
|
+
C003 = Schema::CompositeElementDef.build(:C003,
|
1273
|
+
"Composite Medical Procedure Identifier",
|
1274
|
+
"To identify a procedure by its standardized codes and applicable modifiers",
|
1275
|
+
E235 .component_use(r::Mandatory),
|
1276
|
+
E234 .component_use(r::Mandatory), # Qualified by C003-01
|
1277
|
+
E1339.component_use(r::Optional),
|
1278
|
+
E1339.component_use(r::Optional),
|
1279
|
+
E1339.component_use(r::Optional),
|
1280
|
+
E1339.component_use(r::Optional),
|
1281
|
+
E352 .component_use(r::Optional),
|
1282
|
+
E234 .component_use(r::Optional)) # Qualified by C003-01
|
1283
|
+
|
1284
|
+
C004 = Schema::CompositeElementDef.build(:C004,
|
1285
|
+
"Composite Diagnosis Code Pointer",
|
1286
|
+
"To identify one or more diagnosis code pointers",
|
1287
|
+
E1328.component_use(r::Mandatory),
|
1288
|
+
E1328.component_use(r::Optional),
|
1289
|
+
E1328.component_use(r::Optional),
|
1290
|
+
E1328.component_use(r::Optional))
|
1291
|
+
|
1292
|
+
C005 = Schema::CompositeElementDef.build(:C005,
|
1293
|
+
"Tooth Surface",
|
1294
|
+
"To identify one or more tooth surface codes",
|
1295
|
+
E1369.component_use(r::Mandatory),
|
1296
|
+
E1369.component_use(r::Optional),
|
1297
|
+
E1369.component_use(r::Optional),
|
1298
|
+
E1369.component_use(r::Optional),
|
1299
|
+
E1369.component_use(r::Optional))
|
1300
|
+
|
1301
|
+
C006 = Schema::CompositeElementDef.build(:C006,
|
1302
|
+
"Oral Cavity Designation",
|
1303
|
+
"To identify one or more areas of oral cavity",
|
1304
|
+
E1361.component_use(r::Mandatory),
|
1305
|
+
E1361.component_use(r::Optional),
|
1306
|
+
E1361.component_use(r::Optional),
|
1307
|
+
E1361.component_use(r::Optional),
|
1308
|
+
E1361.component_use(r::Optional))
|
1309
|
+
|
1310
|
+
C022 = Schema::CompositeElementDef.build(:C022,
|
1311
|
+
"Health Care Code Information",
|
1312
|
+
"To send health care codes and their associated dates, amounts and quantities",
|
1313
|
+
E1270.component_use(r::Mandatory),
|
1314
|
+
E1271.component_use(r::Mandatory),
|
1315
|
+
E1250.component_use(r::Relational),
|
1316
|
+
E1251.component_use(r::Relational),
|
1317
|
+
E782 .component_use(r::Optional),
|
1318
|
+
E380 .component_use(r::Optional),
|
1319
|
+
E799 .component_use(r::Optional),
|
1320
|
+
E1271.component_use(r::Relational),
|
1321
|
+
E1073.component_use(r::Relational),
|
1322
|
+
SyntaxNotes::P.build(3, 4),
|
1323
|
+
SyntaxNotes::E.build(8, 9))
|
1324
|
+
|
1325
|
+
C023 = Schema::CompositeElementDef.build(:C023,
|
1326
|
+
"Health Care Service Location Information",
|
1327
|
+
"To provide information that identifies the place of service or the type of bill related to the location at which a health care service was rendered",
|
1328
|
+
E1331 .component_use(r::Mandatory),
|
1329
|
+
E1332 .component_use(r::Optional),
|
1330
|
+
E1325 .component_use(r::Optional))
|
1331
|
+
|
1332
|
+
C024 = Schema::CompositeElementDef.build(:C024,
|
1333
|
+
"Related Causes Information",
|
1334
|
+
"To identify one or more related causes and associated state or country information",
|
1335
|
+
E1362.component_use(r::Optional),
|
1336
|
+
E1362.component_use(r::Mandatory),
|
1337
|
+
E1362.component_use(r::Optional),
|
1338
|
+
E156 .component_use(r::Optional),
|
1339
|
+
E26 .component_use(r::Optional))
|
1340
|
+
|
1341
|
+
C030 = Schema::CompositeElementDef.build(:C030,
|
1342
|
+
"Position in Segment",
|
1343
|
+
"Code indicating the relative position of the simple data element or composite data structure in error within a segment, count beginning with 1 for the position immediately following the segment ID; additionally, indicating the relative position of a repeating structure in error, count beginning with 1 for the position immediately following the preceding element separator; additionally indicating the relative position of a component of a composite data structure in error, count beginning with 1 for the position following the preceding element or repetition separator",
|
1344
|
+
E722 .component_use(r::Mandatory),
|
1345
|
+
E1528.component_use(r::Optional),
|
1346
|
+
E1686.component_use(r::Optional))
|
1347
|
+
|
1348
|
+
# @note Copied from an unverified 4010 internet source
|
1349
|
+
C035 = Schema::CompositeElementDef.build(:C035,
|
1350
|
+
"Provider Specialty Information",
|
1351
|
+
"",
|
1352
|
+
E1222.component_use(r::Mandatory),
|
1353
|
+
E559 .component_use(r::Optional),
|
1354
|
+
E1073.component_use(r::Optional))
|
1355
|
+
|
1356
|
+
C040 = Schema::CompositeElementDef.build(:C040,
|
1357
|
+
"Reference Identifier",
|
1358
|
+
"To identify one or more reference numbers or identification numbers as specified by the Reference Qualifier",
|
1359
|
+
E128 .component_use(r::Mandatory),
|
1360
|
+
E127 .component_use(r::Mandatory),
|
1361
|
+
E128 .component_use(r::Relational),
|
1362
|
+
E127 .component_use(r::Relational),
|
1363
|
+
E128 .component_use(r::Relational),
|
1364
|
+
E127 .component_use(r::Relational),
|
1365
|
+
SyntaxNotes::P.build(3, 4),
|
1366
|
+
SyntaxNotes::P.build(5, 6))
|
1367
|
+
|
1368
|
+
C042 = Schema::CompositeElementDef.build(:C042,
|
1369
|
+
"Adjustment Identifier",
|
1370
|
+
"To provide the category and identifying reference information for an adjustment",
|
1371
|
+
E426 .component_use(r::Mandatory),
|
1372
|
+
E127 .component_use(r::Optional))
|
1373
|
+
|
1374
|
+
C043 = Schema::CompositeElementDef.build(:C043,
|
1375
|
+
"Health Care Claim Status",
|
1376
|
+
"Used to convey status of the entire claim or a specific service line",
|
1377
|
+
E1271.component_use(r::Mandatory),
|
1378
|
+
E1271.component_use(r::Mandatory),
|
1379
|
+
E98 .component_use(r::Optional),
|
1380
|
+
E1270.component_use(r::Optional))
|
1381
|
+
|
1382
|
+
C056 = Schema::CompositeElementDef.build(:C056,
|
1383
|
+
"Composite Race or Ethnicity Information",
|
1384
|
+
"",
|
1385
|
+
E1109.component_use(r::Optional),
|
1386
|
+
E1270.component_use(r::Relational),
|
1387
|
+
E1271.component_use(r::Relational))
|
1388
|
+
|
1389
|
+
C998 = Schema::CompositeElementDef.build(:C998,
|
1390
|
+
"Context Identification",
|
1391
|
+
"Holds information to identify a context",
|
1392
|
+
E9999.component_use(r::Mandatory),
|
1393
|
+
E9998.component_use(r::Optional))
|
1394
|
+
|
1395
|
+
C999 = Schema::CompositeElementDef.build(:C999,
|
1396
|
+
"Reference in Segment",
|
1397
|
+
"To hold the reference number of a data element and optionally component data element within a composite",
|
1398
|
+
E725.component_use(r::Mandatory),
|
1399
|
+
E725.component_use(r::Mandatory))
|
1400
|
+
|
1401
|
+
end
|
1402
|
+
end
|
1403
|
+
end
|
1404
|
+
end
|
1405
|
+
end
|