eddy 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +103 -37
- data/.solargraph.yml +4 -0
- data/.vscode/settings.json +17 -0
- data/.yardopts +2 -2
- data/CHANGELOG.md +50 -0
- data/Gemfile.lock +21 -7
- data/README.md +32 -3
- data/Rakefile +1 -10
- data/data/004010/code-lists/100.tsv +164 -0
- data/data/004010/code-lists/156.tsv +52 -0
- data/data/004010/code-lists/26.tsv +499 -0
- data/data/004010/code-lists/etc/100-fancy-definitions.tsv +164 -0
- data/data/004010/code-lists/etc/100-with-funds-codes.tsv +180 -0
- data/data/004010/code-lists/etc/26-alpha2.tsv +250 -0
- data/data/004010/code-lists/etc/26-alpha3.tsv +250 -0
- data/data/004010/elements-short.tsv +1405 -0
- data/data/004010/elements.tsv +3 -3
- data/data/004010/segments.tsv +1009 -1003
- data/data/004010/segments/ack.segment.yml +15 -0
- data/data/004010/segments/bak.segment.yml +9 -0
- data/data/004010/segments/beg.segment.yml +17 -0
- data/data/004010/segments/big.segment.yml +10 -0
- data/data/004010/segments/bsn.segment.yml +10 -0
- data/data/004010/segments/cad.segment.yml +14 -0
- data/data/004010/segments/ctp.segment.yml +19 -0
- data/data/004010/segments/ctt.segment.yml +13 -0
- data/data/004010/segments/dtm.segment.yml +7 -0
- data/data/004010/segments/envelope/ge.segment.yml +7 -0
- data/data/004010/segments/envelope/gs.segment.yml +13 -0
- data/data/004010/segments/envelope/iea.segment.yml +8 -0
- data/data/004010/segments/envelope/isa.segment.yml +22 -0
- data/data/004010/segments/envelope/se.segment.yml +7 -0
- data/data/004010/segments/envelope/st.segment.yml +12 -0
- data/data/004010/segments/hl.segment.yml +9 -0
- data/data/004010/segments/it1.segment.yml +20 -0
- data/data/004010/segments/lin.segment.yml +10 -0
- data/data/004010/segments/loop/hl.segment.yml +8 -0
- data/data/004010/segments/man.segment.yml +7 -0
- data/data/004010/segments/n1.segment.yml +9 -0
- data/data/004010/segments/n2.segment.yml +7 -0
- data/data/004010/segments/n3.segment.yml +6 -0
- data/data/004010/segments/n4.segment.yml +9 -0
- data/data/004010/segments/pid.segment.yml +10 -0
- data/data/004010/segments/po1.segment.yml +14 -0
- data/data/004010/segments/prf.segment.yml +9 -0
- data/data/004010/segments/ref.segment.yml +7 -0
- data/data/004010/segments/sac.segment.yml +20 -0
- data/data/004010/segments/sln.segment.yml +12 -0
- data/data/004010/segments/sn1.segment.yml +11 -0
- data/data/004010/segments/td1.segment.yml +13 -0
- data/data/004010/segments/td5.segment.yml +11 -0
- data/data/004010/segments/tds.segment.yml +10 -0
- data/data/schema/element_summary.json +60 -0
- data/data/schema/loop_summary.json +49 -0
- data/data/schema/segment_summary.json +66 -0
- data/data/schema/src/element_summary.schema.yml +73 -0
- data/data/schema/src/loop_summary.schema.yml +50 -0
- data/data/schema/src/segment_summary.schema.yml +59 -0
- data/data/schema/src/transaction_set_summary.schema.yml +27 -0
- data/data/schema/transaction_set_summary.json +33 -0
- data/data/sources.md +114 -145
- data/eddy.gemspec +6 -3
- data/exe/eddy +14 -0
- data/lib/definitions/elements/generated/1005.hierarchical_structure_code.rb +98 -0
- data/lib/definitions/elements/generated/1019.invoice_type_code.rb +40 -0
- data/lib/definitions/elements/generated/103.packaging_code.rb +29 -0
- data/lib/definitions/elements/generated/1166.contract_type_code.rb +87 -0
- data/lib/definitions/elements/generated/1232.purchase_category.rb +53 -0
- data/lib/definitions/elements/generated/127.reference_identification.rb +29 -0
- data/lib/definitions/elements/generated/128.reference_identification_qualifier.rb +1540 -0
- data/lib/definitions/elements/generated/1300.service_promotion_allowance_or_charge_code.rb +1090 -0
- data/lib/definitions/elements/generated/1301.agency_service_promotion_allowance_or_charge_code.rb +29 -0
- data/lib/definitions/elements/generated/133.routing_sequence_code.rb +60 -0
- data/lib/definitions/elements/generated/166.address_information.rb +29 -0
- data/lib/definitions/elements/generated/183.volume.rb +29 -0
- data/lib/definitions/elements/generated/187.weight_qualifier.rb +88 -0
- data/lib/definitions/elements/generated/19.city_name.rb +29 -0
- data/lib/definitions/elements/generated/206.equipment_initial.rb +29 -0
- data/lib/definitions/elements/generated/207.equipment_number.rb +29 -0
- data/lib/definitions/elements/generated/212.unit_price.rb +29 -0
- data/lib/definitions/elements/generated/22.commodity_code.rb +29 -0
- data/lib/definitions/elements/generated/23.commodity_code_qualifier.rb +60 -0
- data/lib/definitions/elements/generated/234.product_service_id.rb +29 -0
- data/lib/definitions/elements/generated/235.product_service_id_qualifier.rb +514 -0
- data/lib/definitions/elements/generated/236.price_identifier_code.rb +201 -0
- data/lib/definitions/elements/generated/248.allowance_or_charge_indicator.rb +44 -0
- data/lib/definitions/elements/generated/26.country_code.rb +535 -0
- data/lib/definitions/elements/generated/284.service_level_code.rb +103 -0
- data/lib/definitions/elements/generated/324.purchase_order_number.rb +29 -0
- data/lib/definitions/elements/generated/326.request_reference_number.rb +29 -0
- data/lib/definitions/elements/generated/327.change_order_sequence_number.rb +29 -0
- data/lib/definitions/elements/generated/328.release_number.rb +29 -0
- data/lib/definitions/elements/generated/330.quantity_ordered.rb +29 -0
- data/lib/definitions/elements/generated/347.hash_total.rb +29 -0
- data/lib/definitions/elements/generated/349.item_description_type.rb +40 -0
- data/lib/definitions/elements/generated/352.description.rb +29 -0
- data/lib/definitions/elements/generated/353.transaction_set_purpose_code.rb +102 -0
- data/lib/definitions/elements/generated/354.number_of_line_items.rb +30 -0
- data/lib/definitions/elements/generated/355.unit_or_basis_for_measurement_code.rb +831 -0
- data/lib/definitions/elements/generated/358.quantity_invoiced.rb +29 -0
- data/lib/definitions/elements/generated/367.contract_number.rb +29 -0
- data/lib/definitions/elements/generated/368.shipment_order_status_code.rb +139 -0
- data/lib/definitions/elements/generated/374.date_time_qualifier.rb +1149 -0
- data/lib/definitions/elements/generated/380.quantity.rb +29 -0
- data/lib/definitions/elements/generated/382.number_of_units_shipped.rb +29 -0
- data/lib/definitions/elements/generated/387.routing.rb +29 -0
- data/lib/definitions/elements/generated/396.shipment_identification.rb +29 -0
- data/lib/definitions/elements/generated/559.agency_qualifier_code.rb +213 -0
- data/lib/definitions/elements/generated/587.acknowledgment_type.rb +52 -0
- data/lib/definitions/elements/generated/610.amount.rb +30 -0
- data/lib/definitions/elements/generated/639.basis_of_unit_price_code.rb +128 -0
- data/lib/definitions/elements/generated/640.transaction_type_code.rb +483 -0
- data/lib/definitions/elements/generated/646.quantity_shipped_to_date.rb +29 -0
- data/lib/definitions/elements/generated/648.price_multiplier_qualifier.rb +43 -0
- data/lib/definitions/elements/generated/649.multiplier.rb +29 -0
- data/lib/definitions/elements/generated/66.identification_code_qualifier.rb +252 -0
- data/lib/definitions/elements/generated/662.relationship_code.rb +42 -0
- data/lib/definitions/elements/generated/668.line_item_status_code.rb +63 -0
- data/lib/definitions/elements/generated/67.identification_code.rb +29 -0
- data/lib/definitions/elements/generated/687.class_of_trade_code.rb +89 -0
- data/lib/definitions/elements/generated/750.product_process_characteristic_code.rb +254 -0
- data/lib/definitions/elements/generated/751.product_description_code.rb +29 -0
- data/lib/definitions/elements/generated/76.invoice_number.rb +29 -0
- data/lib/definitions/elements/generated/782.monetary_amount.rb +29 -0
- data/lib/definitions/elements/generated/786.security_level_code.rb +54 -0
- data/lib/definitions/elements/generated/79.lading_description.rb +29 -0
- data/lib/definitions/elements/generated/80.lading_quantity.rb +30 -0
- data/lib/definitions/elements/generated/87.marks_and_numbers.rb +29 -0
- data/lib/definitions/elements/generated/88.marks_and_numbers_qualifier.rb +57 -0
- data/lib/definitions/elements/generated/91.transportation_method_type_code.rb +108 -0
- data/lib/definitions/elements/generated/92.purchase_order_type_code.rb +106 -0
- data/lib/definitions/elements/generated/98.entity_identifier_code.rb +1349 -0
- data/lib/definitions/elements/manual/116.postal_code.rb +44 -0
- data/lib/definitions/elements/manual/124.application_receivers_code.rb +29 -0
- data/lib/definitions/elements/manual/140.standard_carrier_alpha_code.rb +211 -0
- data/lib/definitions/elements/manual/142.application_senders_code.rb +29 -0
- data/lib/definitions/elements/manual/143.transaction_set_identifier_code.rb +335 -0
- data/lib/definitions/elements/manual/156.state_or_province_code.rb +92 -0
- data/lib/definitions/elements/manual/28.group_control_number.rb +34 -0
- data/lib/definitions/elements/manual/329.transactional_set_control_number.rb +35 -0
- data/lib/definitions/elements/manual/337.time.rb +30 -0
- data/lib/definitions/elements/manual/350.assigned_identification.rb +33 -0
- data/lib/definitions/elements/manual/373.date.rb +30 -0
- data/lib/definitions/elements/manual/455.responsible_agency_code.rb +43 -0
- data/lib/definitions/elements/manual/479.functional_identifier_code.rb +271 -0
- data/lib/definitions/elements/manual/480.version_release_industry_identifier_code.rb +145 -0
- data/lib/definitions/elements/manual/784.length_of_binary_data.rb +30 -0
- data/lib/definitions/elements/manual/785.binary_data.rb +30 -0
- data/lib/definitions/elements/manual/96.number_of_included_segments.rb +30 -0
- data/lib/definitions/elements/manual/97.number_of_transaction_sets_included.rb +30 -0
- data/lib/definitions/elements/manual/hl/628.hierarchical_id_number.rb +29 -0
- data/lib/definitions/elements/manual/hl/734.hierarchical_parent_id_number.rb +29 -0
- data/lib/definitions/elements/manual/hl/735.hierarchical_level_code.rb +207 -0
- data/lib/definitions/elements/manual/hl/736.hierarchical_child_code.rb +39 -0
- data/lib/definitions/elements/manual/i/I01.authorization_information_qualifier.rb +48 -0
- data/lib/definitions/elements/manual/i/I02.authorization_information.rb +33 -0
- data/lib/definitions/elements/manual/i/I03.security_information_qualifier.rb +43 -0
- data/lib/definitions/elements/manual/i/I04.security_information.rb +33 -0
- data/lib/definitions/elements/manual/i/I05.interchange_id_qualifier.rb +75 -0
- data/lib/definitions/elements/manual/i/I06.interchange_sender_id.rb +29 -0
- data/lib/definitions/elements/manual/i/I07.interchange_receiver_id.rb +29 -0
- data/lib/definitions/elements/manual/i/I08.interchange_date.rb +35 -0
- data/lib/definitions/elements/manual/i/I09.interchange_time.rb +36 -0
- data/lib/definitions/elements/manual/i/I10.interchange_control_standards_identifier.rb +42 -0
- data/lib/definitions/elements/manual/i/I11.interchange_control_version_number.rb +55 -0
- data/lib/definitions/elements/manual/i/I12.interchange_control_number.rb +34 -0
- data/lib/definitions/elements/manual/i/I13.acknowledgment_requested.rb +43 -0
- data/lib/definitions/elements/manual/i/I14.usage_indicator.rb +40 -0
- data/lib/definitions/elements/manual/i/I15.component_element_separator.rb +36 -0
- data/lib/definitions/elements/manual/i/I16.number_of_included_functional_groups.rb +30 -0
- data/lib/definitions/elements/manual/misc/81.weight.rb +29 -0
- data/lib/definitions/elements/manual/misc/93.name.rb +29 -0
- data/lib/definitions/segments/generated/ack.rb +192 -0
- data/lib/definitions/segments/generated/bak.rb +90 -0
- data/lib/definitions/segments/generated/beg.rb +226 -0
- data/lib/definitions/segments/generated/big.rb +107 -0
- data/lib/definitions/segments/generated/bsn.rb +107 -0
- data/lib/definitions/segments/generated/cad.rb +175 -0
- data/lib/definitions/segments/generated/ctp.rb +158 -0
- data/lib/definitions/segments/generated/ctt.rb +141 -0
- data/lib/definitions/segments/generated/dtm.rb +56 -0
- data/lib/definitions/segments/generated/it1.rb +277 -0
- data/lib/definitions/segments/generated/lin.rb +107 -0
- data/lib/definitions/segments/generated/man.rb +56 -0
- data/lib/definitions/segments/generated/n1.rb +90 -0
- data/lib/definitions/segments/generated/n3.rb +39 -0
- data/lib/definitions/segments/generated/n4.rb +90 -0
- data/lib/definitions/segments/generated/pid.rb +107 -0
- data/lib/definitions/segments/generated/po1.rb +175 -0
- data/lib/definitions/segments/generated/prf.rb +90 -0
- data/lib/definitions/segments/generated/ref.rb +56 -0
- data/lib/definitions/segments/generated/sac.rb +107 -0
- data/lib/definitions/segments/generated/sln.rb +141 -0
- data/lib/definitions/segments/generated/sn1.rb +124 -0
- data/lib/definitions/segments/generated/td1.rb +158 -0
- data/lib/definitions/segments/generated/td5.rb +107 -0
- data/lib/definitions/segments/generated/tds.rb +39 -0
- data/lib/definitions/segments/manual/envelopes/ge.rb +53 -0
- data/lib/definitions/segments/manual/envelopes/gs.rb +163 -0
- data/lib/definitions/segments/manual/envelopes/iea.rb +53 -0
- data/lib/definitions/segments/manual/envelopes/isa.rb +295 -0
- data/lib/definitions/segments/manual/envelopes/se.rb +52 -0
- data/lib/definitions/segments/manual/envelopes/st.rb +52 -0
- data/lib/definitions/segments/manual/hl.rb +96 -0
- data/lib/definitions/segments/manual/n2.rb +52 -0
- data/lib/definitions/transaction_sets/manual/810/810.rb +143 -0
- data/lib/definitions/transaction_sets/manual/810/loops.rb +109 -0
- data/lib/definitions/transaction_sets/manual/850/850.rb +92 -0
- data/lib/definitions/transaction_sets/manual/850/loops.rb +58 -0
- data/lib/definitions/transaction_sets/manual/855/855.rb +83 -0
- data/lib/definitions/transaction_sets/manual/855/loops.rb +104 -0
- data/lib/definitions/transaction_sets/manual/856/856.rb +83 -0
- data/lib/definitions/transaction_sets/manual/856/loops.rb +155 -0
- data/lib/eddy.rb +29 -7
- data/lib/eddy/build/build.rb +47 -0
- data/lib/eddy/build/elements/element.rb +67 -0
- data/lib/eddy/build/elements/elements.rb +46 -0
- data/lib/eddy/build/elements/id.rb +55 -0
- data/lib/eddy/build/elements/n.rb +48 -0
- data/lib/eddy/build/loop_builder.rb +93 -0
- data/lib/eddy/build/segment_builder.rb +169 -0
- data/lib/eddy/build/transaction_set_builder.rb +218 -0
- data/lib/eddy/cli/cli.rb +39 -0
- data/lib/eddy/config.rb +51 -0
- data/lib/eddy/data.rb +50 -0
- data/lib/eddy/data/persistence/active_record.rb +10 -0
- data/lib/eddy/data/persistence/base.rb +47 -0
- data/lib/eddy/data/persistence/file.rb +50 -0
- data/lib/eddy/data/persistence/memory.rb +65 -0
- data/lib/eddy/data/store.rb +108 -0
- data/lib/eddy/errors.rb +112 -0
- data/lib/eddy/models/element.rb +14 -0
- data/lib/eddy/models/element/an.rb +55 -0
- data/lib/eddy/models/element/b.rb +53 -0
- data/lib/eddy/models/element/base.rb +116 -0
- data/lib/eddy/models/element/composite.rb +6 -0
- data/lib/eddy/models/element/dt.rb +100 -0
- data/lib/eddy/models/element/id.rb +58 -0
- data/lib/eddy/models/element/n.rb +94 -0
- data/lib/eddy/models/element/r.rb +84 -0
- data/lib/eddy/models/element/tm.rb +113 -0
- data/lib/eddy/models/loop.rb +74 -0
- data/lib/eddy/models/segment.rb +35 -0
- data/lib/eddy/models/transaction_set.rb +101 -0
- data/lib/eddy/parse.rb +58 -0
- data/lib/eddy/schema/element_summary.rb +123 -0
- data/lib/eddy/schema/loop_summary.rb +101 -0
- data/lib/eddy/schema/segment_summary.rb +116 -0
- data/lib/eddy/schema/transaction_set_summary.rb +96 -0
- data/lib/eddy/schema/validate.rb +41 -0
- data/lib/eddy/util.rb +16 -0
- data/lib/eddy/util/clean_folder.rb +14 -0
- data/lib/eddy/util/edi_data.rb +153 -0
- data/lib/eddy/util/new_number.rb +24 -0
- data/lib/eddy/util/normalize.rb +51 -0
- data/lib/eddy/util/paths.rb +19 -0
- data/lib/eddy/util/read.rb +38 -0
- data/lib/eddy/util/time.rb +56 -0
- data/lib/eddy/util/timestamp.rb +12 -0
- data/lib/eddy/util/trim.rb +29 -0
- data/lib/eddy/version.rb +1 -1
- data/lib/eddy/write/functional_group.rb +33 -0
- data/lib/eddy/write/interchange.rb +28 -0
- data/lib/eddy/write/simple_interchange.rb +57 -0
- data/lib/generators/eddy/initializer/initializer_generator.rb +17 -0
- data/lib/generators/eddy/initializer/templates/eddy.rb.erb +6 -0
- data/lib/generators/eddy/migration/migration_generator.rb +53 -0
- data/lib/generators/eddy/migration/templates/migration.rb.erb +35 -0
- data/tasks/build.rake +15 -0
- data/tasks/misc/gemspec.rake +12 -0
- data/tasks/misc/missing_lists.rake +240 -0
- data/tasks/misc/yaml2json.rake +20 -0
- data/todo.txt +16 -0
- metadata +297 -42
- data/data/004010/segments/ISA.tsv +0 -17
- data/data/schema.jsonc +0 -67
- data/lib/eddy/build/build_an.rb +0 -31
- data/lib/eddy/build/build_dt.rb +0 -46
- data/lib/eddy/build/build_elements.rb +0 -181
- data/lib/eddy/build/build_id.rb +0 -56
- data/lib/eddy/build/build_r_and_n.rb +0 -69
- data/lib/eddy/build/build_tm.rb +0 -52
- data/lib/eddy/build/segments.rb +0 -25
- data/lib/eddy/definitions/manual/elements/109.dt.pickup_date.rb +0 -20
- data/lib/eddy/definitions/manual/elements/111.tm.pickup_time.rb +0 -20
- data/lib/eddy/definitions/manual/elements/112.an.pier_name.rb +0 -19
- data/lib/eddy/definitions/manual/elements/785.b.binary_data.rb +0 -19
- data/lib/eddy/definitions/manual/elements/81.r.weight.rb +0 -19
- data/lib/eddy/definitions/manual/elements/86.n0.total_equipment.rb +0 -20
- data/lib/eddy/definitions/manual/elements/I02.authorization_information.rb +0 -20
- data/lib/eddy/definitions/manual/elements/I04.security_information.rb +0 -20
- data/lib/eddy/definitions/manual/elements/I08.interchange_date.rb +0 -20
- data/lib/eddy/definitions/manual/elements/I09.interchange_time.rb +0 -20
- data/lib/eddy/definitions/manual/elements/I15.component_element_separator.rb +0 -32
- data/lib/eddy/definitions/manual/segments/n1.rb +0 -14
- data/lib/eddy/element.rb +0 -14
- data/lib/eddy/element/an.rb +0 -36
- data/lib/eddy/element/b.rb +0 -9
- data/lib/eddy/element/base.rb +0 -37
- data/lib/eddy/element/dt.rb +0 -89
- data/lib/eddy/element/id.rb +0 -40
- data/lib/eddy/element/n.rb +0 -43
- data/lib/eddy/element/r.rb +0 -47
- data/lib/eddy/element/tm.rb +0 -108
- data/lib/eddy/error.rb +0 -14
- data/lib/eddy/helpers.rb +0 -31
- data/lib/eddy/segment.rb +0 -12
- data/lib/eddy/transaction_set.rb +0 -35
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: 736
|
|
6
|
+
# - Name: Hierarchical Child Code
|
|
7
|
+
# - Type: ID
|
|
8
|
+
# - Min/Max: 1/1
|
|
9
|
+
# - Description: Code indicating if there are hierarchical child data segments subordinate to the level being described
|
|
10
|
+
class E736 < Eddy::Element::ID
|
|
11
|
+
|
|
12
|
+
# @param val [String]
|
|
13
|
+
# @param req [String]
|
|
14
|
+
# @param ref [String]
|
|
15
|
+
# @return [void]
|
|
16
|
+
def initialize(val: nil, req: nil, ref: nil)
|
|
17
|
+
@id = "736"
|
|
18
|
+
@name = "Hierarchical Child Code"
|
|
19
|
+
@description = "Code indicating if there are hierarchical child data segments subordinate to the level being described"
|
|
20
|
+
super(
|
|
21
|
+
min: 1,
|
|
22
|
+
max: 1,
|
|
23
|
+
req: req,
|
|
24
|
+
ref: ref,
|
|
25
|
+
val: val,
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# @return [Array<String>]
|
|
30
|
+
def code_list()
|
|
31
|
+
return [
|
|
32
|
+
"0", # No Subordinate HL Segment in This Hierarchical Structure.
|
|
33
|
+
"1", # Additional Subordinate HL Data Segment in This Hierarchical Structure.
|
|
34
|
+
]
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I01
|
|
6
|
+
# - Name: Authorization Information Qualifier
|
|
7
|
+
# - Type: ID
|
|
8
|
+
# - Min/Max: 2/2
|
|
9
|
+
# - Description: Code to identify the type of information in the Authorization Information
|
|
10
|
+
#
|
|
11
|
+
# ### Notes:
|
|
12
|
+
#
|
|
13
|
+
# - Default value: `"00"`
|
|
14
|
+
class I01 < Eddy::Element::ID
|
|
15
|
+
|
|
16
|
+
# @param val [String] ("00")
|
|
17
|
+
# @param req [String] (nil)
|
|
18
|
+
# @param ref [String] (nil)
|
|
19
|
+
# @return [void]
|
|
20
|
+
def initialize(val: "00", req: nil, ref: nil)
|
|
21
|
+
@id = "I01"
|
|
22
|
+
@name = "Authorization Information Qualifier"
|
|
23
|
+
@description = "Code to identify the type of information in the Authorization Information"
|
|
24
|
+
super(
|
|
25
|
+
min: 2,
|
|
26
|
+
max: 2,
|
|
27
|
+
req: req,
|
|
28
|
+
ref: ref,
|
|
29
|
+
val: val,
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @return [Array<String>]
|
|
34
|
+
def code_list()
|
|
35
|
+
return [
|
|
36
|
+
"00", # No Authorization Information Present (No Meaningful Information in I02)
|
|
37
|
+
"01", # UCS Communications ID
|
|
38
|
+
"02", # EDX Communications ID
|
|
39
|
+
"03", # Additional Data Identification
|
|
40
|
+
"04", # Rail Communications ID
|
|
41
|
+
"05", # Department of Defense (DoD) Communication Identifier
|
|
42
|
+
"06", # United States Federal Government Communication Identifier
|
|
43
|
+
]
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I02
|
|
6
|
+
# - Name: Authorization Information
|
|
7
|
+
# - Type: AN
|
|
8
|
+
# - Min/Max: 10/10
|
|
9
|
+
# - Description: Information used for additional identification or authorization of the interchange sender or the data in the interchange; the type of information is set by the Authorization Information Qualifier (`I01`)
|
|
10
|
+
#
|
|
11
|
+
# ### Notes:
|
|
12
|
+
#
|
|
13
|
+
# - By default, this element's value is just 10 empty spaces.
|
|
14
|
+
class I02 < Eddy::Element::AN
|
|
15
|
+
# @param val [String] (nil) (" ")
|
|
16
|
+
# @param req [String] (nil)
|
|
17
|
+
# @param ref [String] (nil)
|
|
18
|
+
# @return [void]
|
|
19
|
+
def initialize(val: (" " * 10), req: nil, ref: nil)
|
|
20
|
+
@id = "I02"
|
|
21
|
+
@name = "Authorization Information"
|
|
22
|
+
@description = "Information used for additional identification or authorization of the interchange sender or the data in the interchange; the type of information is set by the Authorization Information Qualifier (`I01`)"
|
|
23
|
+
super(
|
|
24
|
+
min: 10,
|
|
25
|
+
max: 10,
|
|
26
|
+
req: req,
|
|
27
|
+
ref: ref,
|
|
28
|
+
val: val,
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I03
|
|
6
|
+
# - Name: Security Information Qualifier
|
|
7
|
+
# - Type: ID
|
|
8
|
+
# - Min/Max: 2/2
|
|
9
|
+
# - Description: Code to identify the type of information in the Security Information
|
|
10
|
+
#
|
|
11
|
+
# ### Notes:
|
|
12
|
+
#
|
|
13
|
+
# - (Default value: `"00"`)
|
|
14
|
+
class I03 < Eddy::Element::ID
|
|
15
|
+
|
|
16
|
+
# @param val [String] ("00")
|
|
17
|
+
# @param req [String] (nil)
|
|
18
|
+
# @param ref [String] (nil)
|
|
19
|
+
# @return [void]
|
|
20
|
+
def initialize(val: "00", req: nil, ref: nil)
|
|
21
|
+
@id = "I03"
|
|
22
|
+
@name = "Security Information Qualifier"
|
|
23
|
+
@description = "Code to identify the type of information in the Security Information"
|
|
24
|
+
super(
|
|
25
|
+
min: 2,
|
|
26
|
+
max: 2,
|
|
27
|
+
req: req,
|
|
28
|
+
ref: ref,
|
|
29
|
+
val: val,
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @return [Array<String>]
|
|
34
|
+
def code_list()
|
|
35
|
+
return [
|
|
36
|
+
"00", # No Security Information Present (No Meaningful Information in I04)
|
|
37
|
+
"01", # Password
|
|
38
|
+
]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I04
|
|
6
|
+
# - Name: Security Information
|
|
7
|
+
# - Type: AN
|
|
8
|
+
# - Min/Max: 10/10
|
|
9
|
+
# - Description: This is used for identifying the security information about the interchange sender or the data in the interchange; the type of information is set by the Security Information Qualifier (`I03`)
|
|
10
|
+
#
|
|
11
|
+
# ### Notes:
|
|
12
|
+
#
|
|
13
|
+
# - By default, this element's value is just 10 empty spaces.
|
|
14
|
+
class I04 < Eddy::Element::AN
|
|
15
|
+
# @param val [String] (" ")
|
|
16
|
+
# @param req [String] (nil)
|
|
17
|
+
# @param ref [String] (nil)
|
|
18
|
+
# @return [void]
|
|
19
|
+
def initialize(val: (" " * 10), req: nil, ref: nil)
|
|
20
|
+
@id = "I04"
|
|
21
|
+
@name = "Security Information"
|
|
22
|
+
@description = "This is used for identifying the security information about the interchange sender or the data in the interchange; the type of information is set by the Security Information Qualifier (`I03`)"
|
|
23
|
+
super(
|
|
24
|
+
min: 10,
|
|
25
|
+
max: 10,
|
|
26
|
+
req: req,
|
|
27
|
+
ref: ref,
|
|
28
|
+
val: val,
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I05
|
|
6
|
+
# - Name: Interchange ID Qualifier
|
|
7
|
+
# - Type: ID
|
|
8
|
+
# - Min/Max: 2/2
|
|
9
|
+
# - Description: Qualifier to designate the system/method of code structure used to designate the sender or receiver ID element being qualified
|
|
10
|
+
class I05 < Eddy::Element::ID
|
|
11
|
+
|
|
12
|
+
# @param val [String] (nil)
|
|
13
|
+
# @param req [String] (nil)
|
|
14
|
+
# @param ref [String] (nil)
|
|
15
|
+
# @return [void]
|
|
16
|
+
def initialize(val: nil, req: nil, ref: nil)
|
|
17
|
+
@id = "I05"
|
|
18
|
+
@name = "Interchange ID Qualifier"
|
|
19
|
+
@description = "Qualifier to designate the system/method of code structure used to designate the sender or receiver ID element being qualified"
|
|
20
|
+
super(
|
|
21
|
+
min: 2,
|
|
22
|
+
max: 2,
|
|
23
|
+
req: req,
|
|
24
|
+
ref: ref,
|
|
25
|
+
val: val,
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# @return [Array<String>]
|
|
30
|
+
def code_list()
|
|
31
|
+
return [
|
|
32
|
+
"01", # Duns (Dun & Bradstreet)
|
|
33
|
+
"02", # SCAC (Standard Carrier Alpha Code)
|
|
34
|
+
"03", # FMC (Federal Maritime Commission)
|
|
35
|
+
"04", # IATA (International Air Transport Association)
|
|
36
|
+
"08", # UCC EDI Communications ID (Comm ID)
|
|
37
|
+
"09", # X.121 (CCITT)
|
|
38
|
+
"10", # Department of Defense (DoD) Activity Address Code
|
|
39
|
+
"11", # DEA (Drug Enforcement Administration)
|
|
40
|
+
"12", # Phone (Telephone Companies)
|
|
41
|
+
"13", # UCS Code (The UCS Code is a Code Used for UCS Transmissions; it includes the Area Code and Telephone Number of a Modem; it Does Not Include Punctuation, Blanks or Access Code)
|
|
42
|
+
"14", # Duns Plus Suffix
|
|
43
|
+
"15", # Petroleum Accountants Society of Canada Company Code
|
|
44
|
+
"16", # Duns Number With 4-Character Suffix
|
|
45
|
+
"17", # American Bankers Association (ABA) Transit Routing Number (Including Check Digit, 9 Digit)
|
|
46
|
+
"18", # Association of American Railroads (AAR) Standard Distribution Code
|
|
47
|
+
"19", # EDI Council of Australia (EDICA) Communications ID Number (COMM ID)
|
|
48
|
+
"20", # Health Industry Number (HIN)
|
|
49
|
+
"21", # Integrated Postsecondary Education Data System, or (IPEDS)
|
|
50
|
+
"22", # Federal Interagency Commission on Education, or FICE
|
|
51
|
+
"23", # National Center for Education Statistics Common Core of Data 12-Digit Number for Pre-K-Grade 12 Institutes, or NCES
|
|
52
|
+
"24", # The College Board's Admission Testing Program 4-Digit Code of Postsecondary Institutes, or ATP
|
|
53
|
+
"25", # American College Testing Program 4-Digit Code of Postsecondary Institutions, or ACT
|
|
54
|
+
"26", # Statistics of Canada List of Postsecondary Institutions
|
|
55
|
+
"27", # Carrier Identification Number as assigned by Health Care Financing Administration (HCFA)
|
|
56
|
+
"28", # Fiscal Intermediary Identification Number as assigned by Health Care Financing Administration (HCFA)
|
|
57
|
+
"29", # Medicare Provider and Supplier Identification Number as assigned by Health Care Financing Administration (HCFA)
|
|
58
|
+
"30", # U.S. Federal Tax Identification Number
|
|
59
|
+
"31", # Jurisdiction Identification Number Plus 4 as assigned by the International Association of Industrial Accident Boards and Commissions (IAIABC)
|
|
60
|
+
"32", # U.S. Federal Employer Identification Number (FEIN)
|
|
61
|
+
"33", # National Association of Insurance Commissioners Company Code (NAIC)
|
|
62
|
+
"34", # Medicaid Provider and Supplier Identification Number as assigned by individual State Medicaid Agencies in conjunction with Health Care Financing Administration (HCFA)
|
|
63
|
+
"35", # Statistics Canada Canadian College Student Information System Institution Codes
|
|
64
|
+
"36", # Statistics Canada University Student Information System Institution Codes
|
|
65
|
+
"37", # Society of Property Information Compilers and Analysts
|
|
66
|
+
"AM", # Association Mexicana del Codigo de Producto (AMECOP) Communication ID
|
|
67
|
+
"NR", # National Retail Merchants Association (NRMA) - Assigned
|
|
68
|
+
"SN", # Standard Address Number
|
|
69
|
+
"ZZ", # Mutually Defined
|
|
70
|
+
]
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I06
|
|
6
|
+
# - Name: Interchange Sender ID
|
|
7
|
+
# - Type: AN
|
|
8
|
+
# - Min/Max: 15/15
|
|
9
|
+
# - Description: Identification code published by the sender for other parties to use as the receiver ID to route data to them; the sender always codes this value in the sender ID element
|
|
10
|
+
class I06 < Eddy::Element::AN
|
|
11
|
+
# @param val [String] (nil)
|
|
12
|
+
# @param req [String] (nil)
|
|
13
|
+
# @param ref [String] (nil)
|
|
14
|
+
# @return [void]
|
|
15
|
+
def initialize(val: nil, req: nil, ref: nil)
|
|
16
|
+
@id = "I06"
|
|
17
|
+
@name = "Interchange Sender ID"
|
|
18
|
+
@description = "Identification code published by the sender for other parties to use as the receiver ID to route data to them; the sender always codes this value in the sender ID element"
|
|
19
|
+
super(
|
|
20
|
+
min: 15,
|
|
21
|
+
max: 15,
|
|
22
|
+
req: req,
|
|
23
|
+
ref: ref,
|
|
24
|
+
val: val,
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I07
|
|
6
|
+
# - Name: Interchange Receiver ID
|
|
7
|
+
# - Type: AN
|
|
8
|
+
# - Min/Max: 15/15
|
|
9
|
+
# - Description: Identification code published by the receiver of the data; When sending, it is used by the sender as their sending ID, thus other parties sending to them will use this as a receiving ID to route data to them
|
|
10
|
+
class I07 < Eddy::Element::AN
|
|
11
|
+
# @param val [String] (nil)
|
|
12
|
+
# @param req [String] (nil)
|
|
13
|
+
# @param ref [String] (nil)
|
|
14
|
+
# @return [void]
|
|
15
|
+
def initialize(val: nil, req: nil, ref: nil)
|
|
16
|
+
@id = "I07"
|
|
17
|
+
@name = "Interchange Receiver ID"
|
|
18
|
+
@description = "Identification code published by the receiver of the data; When sending, it is used by the sender as their sending ID, thus other parties sending to them will use this as a receiving ID to route data to them"
|
|
19
|
+
super(
|
|
20
|
+
min: 15,
|
|
21
|
+
max: 15,
|
|
22
|
+
req: req,
|
|
23
|
+
ref: ref,
|
|
24
|
+
val: val,
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I08
|
|
6
|
+
# - Name: Interchange Date
|
|
7
|
+
# - Type: DT (YYMMDD)
|
|
8
|
+
# - Min/Max: 6/6
|
|
9
|
+
# - Description: Date of the interchange
|
|
10
|
+
#
|
|
11
|
+
# ### Notes:
|
|
12
|
+
#
|
|
13
|
+
# This element's value will be generated by `Eddy`.
|
|
14
|
+
# No call to `value=` is needed.
|
|
15
|
+
class I08 < Eddy::Element::DT
|
|
16
|
+
# @param val [Time]
|
|
17
|
+
# @param req [String] (nil)
|
|
18
|
+
# @param ref [String] (nil)
|
|
19
|
+
# @return [void]
|
|
20
|
+
def initialize(val:, req: nil, ref: nil)
|
|
21
|
+
@id = "I08"
|
|
22
|
+
@name = "Interchange Date"
|
|
23
|
+
@description = "Date of the interchange"
|
|
24
|
+
self.fmt = :yymmdd
|
|
25
|
+
super(
|
|
26
|
+
min: 6,
|
|
27
|
+
max: 6,
|
|
28
|
+
req: req,
|
|
29
|
+
ref: ref,
|
|
30
|
+
val: val,
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require "time"
|
|
2
|
+
|
|
3
|
+
module Eddy
|
|
4
|
+
module Elements
|
|
5
|
+
# ### Element Summary:
|
|
6
|
+
#
|
|
7
|
+
# - Id: I09
|
|
8
|
+
# - Name: Interchange Time
|
|
9
|
+
# - Type: TM (HHMM)
|
|
10
|
+
# - Min/Max: 4/4
|
|
11
|
+
# - Description: Time of the interchange
|
|
12
|
+
#
|
|
13
|
+
# ### Notes:
|
|
14
|
+
#
|
|
15
|
+
# - This element's value will be generated by `Eddy`.
|
|
16
|
+
class I09 < Eddy::Element::TM
|
|
17
|
+
# @param val [Time]
|
|
18
|
+
# @param req [String] (nil)
|
|
19
|
+
# @param ref [String] (nil)
|
|
20
|
+
# @return [void]
|
|
21
|
+
def initialize(val:, req: nil, ref: nil)
|
|
22
|
+
@id = "I09"
|
|
23
|
+
@name = "Interchange Time"
|
|
24
|
+
@description = "Time of the interchange"
|
|
25
|
+
self.fmt = :hhmm
|
|
26
|
+
super(
|
|
27
|
+
min: 4,
|
|
28
|
+
max: 4,
|
|
29
|
+
req: req,
|
|
30
|
+
ref: ref,
|
|
31
|
+
val: val,
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I10
|
|
6
|
+
# - Name: Interchange Control Standards Identifier
|
|
7
|
+
# - Type: ID
|
|
8
|
+
# - Min/Max: 1/1
|
|
9
|
+
# - Description: Code to identify the agency responsible for the control standard used by the message that is enclosed by the interchange header and trailer
|
|
10
|
+
#
|
|
11
|
+
# ### Notes:
|
|
12
|
+
#
|
|
13
|
+
# - (Default value: `"U"`)
|
|
14
|
+
class I10 < Eddy::Element::ID
|
|
15
|
+
|
|
16
|
+
# @param val [String] ("U")
|
|
17
|
+
# @param req [String] (nil)
|
|
18
|
+
# @param ref [String] (nil)
|
|
19
|
+
# @return [void]
|
|
20
|
+
def initialize(val: "U", req: nil, ref: nil)
|
|
21
|
+
@id = "I10"
|
|
22
|
+
@name = "Interchange Control Standards Identifier"
|
|
23
|
+
@description = "Code to identify the agency responsible for the control standard used by the message that is enclosed by the interchange header and trailer"
|
|
24
|
+
super(
|
|
25
|
+
min: 1,
|
|
26
|
+
max: 1,
|
|
27
|
+
req: req,
|
|
28
|
+
ref: ref,
|
|
29
|
+
val: val,
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @return [Array<String>]
|
|
34
|
+
def code_list()
|
|
35
|
+
return [
|
|
36
|
+
"U", # U.S. EDI Community of ASC X12, TDCC, and UCS
|
|
37
|
+
]
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|