eddy 0.8.2 → 0.9.2
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 +4 -4
- data/CHANGELOG.md +46 -1
- data/Gemfile.lock +8 -8
- data/README.md +2 -5
- data/data/code-lists/333.tsv +8 -0
- data/data/segments/amt.segment.yml +7 -0
- data/data/segments/bia.segment.yml +10 -0
- data/data/segments/cur.segment.yml +8 -0
- data/data/segments/dtm.segment.yml +1 -0
- data/data/segments/fob.segment.yml +8 -0
- data/data/segments/itd.segment.yml +13 -0
- data/data/segments/mtx.segment.yml +7 -0
- data/data/segments/n9.segment.yml +7 -0
- data/data/segments/per.segment.yml +13 -0
- data/data/segments/po1.segment.yml +6 -0
- data/data/segments/po3.segment.yml +13 -0
- data/data/segments/qty.segment.yml +10 -0
- data/data/segments/ref.segment.yml +1 -0
- data/data/segments/sac.segment.yml +4 -0
- data/data/segments/sch.segment.yml +7 -0
- data/data/segments/sdq.segment.yml +8 -0
- data/data/segments/txi.segment.yml +9 -0
- data/data/transaction_sets/810.edi.yml +93 -0
- data/data/transaction_sets/846.edi.yml +57 -0
- data/data/transaction_sets/850.edi.yml +73 -0
- data/data/transaction_sets/855.edi.yml +74 -0
- data/data/transaction_sets/856.edi.yml +54 -0
- data/eddy.gemspec +1 -1
- data/exe/eddy +1 -0
- data/lib/definitions/elements/generated/100.currency_code.rb +200 -0
- data/lib/definitions/elements/generated/146.shipment_method_of_payment.rb +65 -0
- data/lib/definitions/elements/generated/1551.message_text.rb +29 -0
- data/lib/definitions/elements/generated/280.exchange_rate.rb +29 -0
- data/lib/definitions/elements/generated/309.location_qualifier.rb +209 -0
- data/lib/definitions/elements/generated/310.location_identifier.rb +29 -0
- data/lib/definitions/elements/generated/311.shipment_type_code.rb +42 -0
- data/lib/definitions/elements/generated/322.load_empty_status_code.rb +40 -0
- data/lib/definitions/elements/generated/325.tax_identification_number.rb +29 -0
- data/lib/definitions/elements/generated/333.terms_basis_date_code.rb +44 -0
- data/lib/definitions/elements/generated/336.terms_type_code.rb +102 -0
- data/lib/definitions/elements/generated/338.terms_discount_percent.rb +29 -0
- data/lib/definitions/elements/generated/351.terms_discount_days_due.rb +30 -0
- data/lib/definitions/elements/generated/363.note_reference_code.rb +278 -0
- data/lib/definitions/elements/generated/364.communication_number.rb +29 -0
- data/lib/definitions/elements/generated/365.communication_number_qualifier.rb +77 -0
- data/lib/definitions/elements/generated/366.contact_function_code.rb +267 -0
- data/lib/definitions/elements/generated/369.free_form_description.rb +29 -0
- data/lib/definitions/elements/generated/370.terms_discount_due_date.rb +29 -0
- data/lib/definitions/elements/generated/371.change_reason_code.rb +67 -0
- data/lib/definitions/elements/generated/378.allowance_charge_percent_qualifier.rb +48 -0
- data/lib/definitions/elements/generated/386.terms_net_days.rb +30 -0
- data/lib/definitions/elements/generated/446.terms_net_due_date.rb +29 -0
- data/lib/definitions/elements/generated/522.amount_qualifier_code.rb +1510 -0
- data/lib/definitions/elements/generated/673.quantity_qualifier.rb +869 -0
- data/lib/definitions/elements/generated/755.report_type_code.rb +559 -0
- data/lib/definitions/elements/generated/954.percent.rb +29 -0
- data/lib/definitions/elements/generated/963.tax_type_code.rb +111 -0
- data/lib/definitions/elements/manual/i/I10.interchange_control_standards_identifier.rb +2 -2
- data/lib/definitions/elements/manual/i/I11.interchange_control_version_number.rb +1 -0
- data/lib/definitions/segments/generated/amt.rb +56 -0
- data/lib/definitions/segments/generated/bia.rb +107 -0
- data/lib/definitions/segments/generated/cur.rb +73 -0
- data/lib/definitions/segments/generated/dtm.rb +17 -0
- data/lib/definitions/segments/generated/fob.rb +73 -0
- data/lib/definitions/segments/generated/hl.rb +90 -0
- data/lib/definitions/segments/generated/itd.rb +158 -0
- data/lib/definitions/segments/generated/mtx.rb +56 -0
- data/lib/definitions/segments/generated/n2.rb +56 -0
- data/lib/definitions/segments/generated/n9.rb +56 -0
- data/lib/definitions/segments/generated/per.rb +158 -0
- data/lib/definitions/segments/generated/po1.rb +102 -0
- data/lib/definitions/segments/generated/po3.rb +158 -0
- data/lib/definitions/segments/generated/qty.rb +73 -0
- data/lib/definitions/segments/generated/ref.rb +17 -0
- data/lib/definitions/segments/generated/sac.rb +68 -0
- data/lib/definitions/segments/generated/sch.rb +56 -0
- data/lib/definitions/segments/generated/sdq.rb +73 -0
- data/lib/definitions/segments/generated/txi.rb +90 -0
- data/lib/definitions/transaction_sets/manual/846/846.rb +122 -0
- data/lib/definitions/transaction_sets/manual/846/loops/lin.rb +155 -0
- data/lib/definitions/transaction_sets/manual/846/loops/n1.rb +107 -0
- data/lib/definitions/transaction_sets/manual/846/loops/qty.rb +75 -0
- data/lib/definitions/transaction_sets/manual/846/loops/sch.rb +59 -0
- data/lib/definitions/transaction_sets/manual/846/loops/sln.rb +59 -0
- data/lib/definitions/transaction_sets/manual/850/850.rb +108 -1
- data/lib/definitions/transaction_sets/manual/850/loops/ctp.rb +47 -0
- data/lib/definitions/transaction_sets/manual/850/loops/n1.rb +31 -10
- data/lib/definitions/transaction_sets/manual/850/loops/n9.rb +59 -0
- data/lib/definitions/transaction_sets/manual/850/loops/pid.rb +47 -0
- data/lib/definitions/transaction_sets/manual/850/loops/po1.rb +78 -10
- data/lib/definitions/transaction_sets/manual/850/loops/sac.rb +47 -0
- data/lib/eddy.rb +49 -3
- data/lib/eddy/build/transaction_set_builder.rb +1 -1
- data/lib/eddy/config.rb +0 -21
- data/lib/eddy/data.rb +0 -40
- data/lib/eddy/data/persistence/base.rb +5 -11
- data/lib/eddy/data/persistence/memory.rb +14 -22
- data/lib/eddy/errors.rb +13 -9
- data/lib/eddy/models/element/composite.rb +2 -0
- data/lib/eddy/models/element/id.rb +1 -1
- data/lib/eddy/models/element/r.rb +1 -0
- data/lib/eddy/models/functional_group.rb +3 -2
- data/lib/eddy/models/interchange.rb +6 -2
- data/lib/eddy/models/transaction_set.rb +1 -1
- data/lib/eddy/parse.rb +4 -56
- data/lib/eddy/parse/interchange.rb +58 -0
- data/lib/eddy/summary/loop.rb +1 -1
- data/lib/eddy/summary/segment.rb +2 -1
- data/lib/eddy/version.rb +1 -1
- metadata +78 -5
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Segments
|
|
3
|
+
# ### Segment Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: HL
|
|
6
|
+
# - Name: Hierarchical Level
|
|
7
|
+
# - Purpose: To identify dependencies among and the content of hierarchically related groups of data segments.
|
|
8
|
+
class HL < Eddy::Models::Segment
|
|
9
|
+
|
|
10
|
+
# @param store [Eddy::Data::Store]
|
|
11
|
+
# @return [void]
|
|
12
|
+
def initialize(store)
|
|
13
|
+
@id = "HL"
|
|
14
|
+
@name = "Hierarchical Level"
|
|
15
|
+
@hl01 = Eddy::Elements::E628.new(ref: "HL01", req: "M")
|
|
16
|
+
@hl02 = Eddy::Elements::E734.new(ref: "HL02", req: "O")
|
|
17
|
+
@hl03 = Eddy::Elements::E735.new(ref: "HL03", req: "M")
|
|
18
|
+
@hl04 = Eddy::Elements::E736.new(ref: "HL04", req: "O")
|
|
19
|
+
super(
|
|
20
|
+
store,
|
|
21
|
+
@hl01,
|
|
22
|
+
@hl02,
|
|
23
|
+
@hl03,
|
|
24
|
+
@hl04,
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# ### HL01
|
|
29
|
+
#
|
|
30
|
+
# - Id: 628
|
|
31
|
+
# - Name: Hierarchical ID Number
|
|
32
|
+
# - Type: AN
|
|
33
|
+
# - Min/Max: 1/12
|
|
34
|
+
# - Description: A unique number assigned by the sender to identify a particular data segment in a hierarchical structure
|
|
35
|
+
#
|
|
36
|
+
# @param arg [String]
|
|
37
|
+
# @return [void]
|
|
38
|
+
def HL01=(arg)
|
|
39
|
+
@hl01.value = arg
|
|
40
|
+
end
|
|
41
|
+
alias HierarchicalIdNumber= HL01=
|
|
42
|
+
|
|
43
|
+
# ### HL02
|
|
44
|
+
#
|
|
45
|
+
# - Id: 734
|
|
46
|
+
# - Name: Hierarchical Parent ID Number
|
|
47
|
+
# - Type: AN
|
|
48
|
+
# - Min/Max: 1/12
|
|
49
|
+
# - Description: Identification number of the next higher hierarchical data segment that the data segment being described is subordinate to
|
|
50
|
+
#
|
|
51
|
+
# @param arg [String]
|
|
52
|
+
# @return [void]
|
|
53
|
+
def HL02=(arg)
|
|
54
|
+
@hl02.value = arg
|
|
55
|
+
end
|
|
56
|
+
alias HierarchicalParentIdNumber= HL02=
|
|
57
|
+
|
|
58
|
+
# ### HL03
|
|
59
|
+
#
|
|
60
|
+
# - Id: 735
|
|
61
|
+
# - Name: Hierarchical Level Code
|
|
62
|
+
# - Type: ID
|
|
63
|
+
# - Min/Max: 1/2
|
|
64
|
+
# - Description: Code defining the characteristic of a level in a hierarchical structure
|
|
65
|
+
#
|
|
66
|
+
# @param arg [String]
|
|
67
|
+
# @return [void]
|
|
68
|
+
def HL03=(arg)
|
|
69
|
+
@hl03.value = arg
|
|
70
|
+
end
|
|
71
|
+
alias HierarchicalLevelCode= HL03=
|
|
72
|
+
|
|
73
|
+
# ### HL04
|
|
74
|
+
#
|
|
75
|
+
# - Id: 736
|
|
76
|
+
# - Name: Hierarchical Child Code
|
|
77
|
+
# - Type: ID
|
|
78
|
+
# - Min/Max: 1/1
|
|
79
|
+
# - Description: Code indicating if there are hierarchical child data segments subordinate to the level being described
|
|
80
|
+
#
|
|
81
|
+
# @param arg [String]
|
|
82
|
+
# @return [void]
|
|
83
|
+
def HL04=(arg)
|
|
84
|
+
@hl04.value = arg
|
|
85
|
+
end
|
|
86
|
+
alias HierarchicalChildCode= HL04=
|
|
87
|
+
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Segments
|
|
3
|
+
# ### Segment Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: ITD
|
|
6
|
+
# - Name: Terms of Sale/Deferred Terms of Sale
|
|
7
|
+
# - Purpose: To specify terms of sale.
|
|
8
|
+
class ITD < Eddy::Models::Segment
|
|
9
|
+
|
|
10
|
+
# @param store [Eddy::Data::Store]
|
|
11
|
+
# @return [void]
|
|
12
|
+
def initialize(store)
|
|
13
|
+
@id = "ITD"
|
|
14
|
+
@name = "Terms of Sale/Deferred Terms of Sale"
|
|
15
|
+
@itd01 = Eddy::Elements::E336.new(ref: "ITD01", req: "O")
|
|
16
|
+
@itd02 = Eddy::Elements::E333.new(ref: "ITD02", req: "O")
|
|
17
|
+
@itd03 = Eddy::Elements::E338.new(ref: "ITD03", req: "O")
|
|
18
|
+
@itd04 = Eddy::Elements::E370.new(ref: "ITD04", req: "X")
|
|
19
|
+
@itd05 = Eddy::Elements::E351.new(ref: "ITD05", req: "X")
|
|
20
|
+
@itd06 = Eddy::Elements::E446.new(ref: "ITD06", req: "O")
|
|
21
|
+
@itd07 = Eddy::Elements::E386.new(ref: "ITD07", req: "O")
|
|
22
|
+
@itd12 = Eddy::Elements::E352.new(ref: "ITD12", req: "O")
|
|
23
|
+
super(
|
|
24
|
+
store,
|
|
25
|
+
@itd01,
|
|
26
|
+
@itd02,
|
|
27
|
+
@itd03,
|
|
28
|
+
@itd04,
|
|
29
|
+
@itd05,
|
|
30
|
+
@itd06,
|
|
31
|
+
@itd07,
|
|
32
|
+
@itd12,
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# ### ITD01
|
|
37
|
+
#
|
|
38
|
+
# - Id: 336
|
|
39
|
+
# - Name: Terms Type Code
|
|
40
|
+
# - Type: ID
|
|
41
|
+
# - Min/Max: 2/2
|
|
42
|
+
# - Description: Code identifying type of payment terms
|
|
43
|
+
#
|
|
44
|
+
# @param arg [String]
|
|
45
|
+
# @return [void]
|
|
46
|
+
def ITD01=(arg)
|
|
47
|
+
@itd01.value = arg
|
|
48
|
+
end
|
|
49
|
+
alias TermsTypeCode= ITD01=
|
|
50
|
+
|
|
51
|
+
# ### ITD02
|
|
52
|
+
#
|
|
53
|
+
# - Id: 333
|
|
54
|
+
# - Name: Terms Basis Date Code
|
|
55
|
+
# - Type: ID
|
|
56
|
+
# - Min/Max: 1/2
|
|
57
|
+
# - Description: Code identifying the beginning of the terms period
|
|
58
|
+
#
|
|
59
|
+
# @param arg [String]
|
|
60
|
+
# @return [void]
|
|
61
|
+
def ITD02=(arg)
|
|
62
|
+
@itd02.value = arg
|
|
63
|
+
end
|
|
64
|
+
alias TermsBasisDateCode= ITD02=
|
|
65
|
+
|
|
66
|
+
# ### ITD03
|
|
67
|
+
#
|
|
68
|
+
# - Id: 338
|
|
69
|
+
# - Name: Terms Discount Percent
|
|
70
|
+
# - Type: R
|
|
71
|
+
# - Min/Max: 1/6
|
|
72
|
+
# - Description: Terms discount percentage, expressed as a percent, available to the purchaser if an invoice is paid on or before the Terms Discount Due Date
|
|
73
|
+
#
|
|
74
|
+
# @param arg [Float]
|
|
75
|
+
# @return [void]
|
|
76
|
+
def ITD03=(arg)
|
|
77
|
+
@itd03.value = arg
|
|
78
|
+
end
|
|
79
|
+
alias TermsDiscountPercent= ITD03=
|
|
80
|
+
|
|
81
|
+
# ### ITD04
|
|
82
|
+
#
|
|
83
|
+
# - Id: 370
|
|
84
|
+
# - Name: Terms Discount Due Date
|
|
85
|
+
# - Type: DT
|
|
86
|
+
# - Min/Max: 8/8
|
|
87
|
+
# - Description: Date payment is due if discount is to be earned expressed in format CCYYMMDD
|
|
88
|
+
#
|
|
89
|
+
# @param arg [Time]
|
|
90
|
+
# @return [void]
|
|
91
|
+
def ITD04=(arg)
|
|
92
|
+
@itd04.value = arg
|
|
93
|
+
end
|
|
94
|
+
alias TermsDiscountDueDate= ITD04=
|
|
95
|
+
|
|
96
|
+
# ### ITD05
|
|
97
|
+
#
|
|
98
|
+
# - Id: 351
|
|
99
|
+
# - Name: Terms Discount Days Due
|
|
100
|
+
# - Type: N0
|
|
101
|
+
# - Min/Max: 1/3
|
|
102
|
+
# - Description: Number of days in the terms discount period by which payment is due if terms discount is earned
|
|
103
|
+
#
|
|
104
|
+
# @param arg [Integer]
|
|
105
|
+
# @return [void]
|
|
106
|
+
def ITD05=(arg)
|
|
107
|
+
@itd05.value = arg
|
|
108
|
+
end
|
|
109
|
+
alias TermsDiscountDaysDue= ITD05=
|
|
110
|
+
|
|
111
|
+
# ### ITD06
|
|
112
|
+
#
|
|
113
|
+
# - Id: 446
|
|
114
|
+
# - Name: Terms Net Due Date
|
|
115
|
+
# - Type: DT
|
|
116
|
+
# - Min/Max: 8/8
|
|
117
|
+
# - Description: Date when total invoice amount becomes due expressed in format CCYYMMDD
|
|
118
|
+
#
|
|
119
|
+
# @param arg [Time]
|
|
120
|
+
# @return [void]
|
|
121
|
+
def ITD06=(arg)
|
|
122
|
+
@itd06.value = arg
|
|
123
|
+
end
|
|
124
|
+
alias TermsNetDueDate= ITD06=
|
|
125
|
+
|
|
126
|
+
# ### ITD07
|
|
127
|
+
#
|
|
128
|
+
# - Id: 386
|
|
129
|
+
# - Name: Terms Net Days
|
|
130
|
+
# - Type: N0
|
|
131
|
+
# - Min/Max: 1/3
|
|
132
|
+
# - Description: Number of days until total invoice amount is due (discount not applicable)
|
|
133
|
+
#
|
|
134
|
+
# @param arg [Integer]
|
|
135
|
+
# @return [void]
|
|
136
|
+
def ITD07=(arg)
|
|
137
|
+
@itd07.value = arg
|
|
138
|
+
end
|
|
139
|
+
alias TermsNetDays= ITD07=
|
|
140
|
+
|
|
141
|
+
# ### ITD12
|
|
142
|
+
#
|
|
143
|
+
# - Id: 352
|
|
144
|
+
# - Name: Description
|
|
145
|
+
# - Type: AN
|
|
146
|
+
# - Min/Max: 1/80
|
|
147
|
+
# - Description: A free-form description to clarify the related data elements and their content
|
|
148
|
+
#
|
|
149
|
+
# @param arg [String]
|
|
150
|
+
# @return [void]
|
|
151
|
+
def ITD12=(arg)
|
|
152
|
+
@itd12.value = arg
|
|
153
|
+
end
|
|
154
|
+
alias Description= ITD12=
|
|
155
|
+
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Segments
|
|
3
|
+
# ### Segment Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: MTX
|
|
6
|
+
# - Name: Text
|
|
7
|
+
# - Purpose: To specify textual data.
|
|
8
|
+
class MTX < Eddy::Models::Segment
|
|
9
|
+
|
|
10
|
+
# @param store [Eddy::Data::Store]
|
|
11
|
+
# @return [void]
|
|
12
|
+
def initialize(store)
|
|
13
|
+
@id = "MTX"
|
|
14
|
+
@name = "Text"
|
|
15
|
+
@mtx01 = Eddy::Elements::E363.new(ref: "MTX01", req: "O")
|
|
16
|
+
@mtx02 = Eddy::Elements::E1551.new(ref: "MTX02", req: "X")
|
|
17
|
+
super(
|
|
18
|
+
store,
|
|
19
|
+
@mtx01,
|
|
20
|
+
@mtx02,
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# ### MTX01
|
|
25
|
+
#
|
|
26
|
+
# - Id: 363
|
|
27
|
+
# - Name: Note Reference Code
|
|
28
|
+
# - Type: ID
|
|
29
|
+
# - Min/Max: 3/3
|
|
30
|
+
# - Description: Code identifying the functional area or purpose for which the note applies
|
|
31
|
+
#
|
|
32
|
+
# @param arg [String]
|
|
33
|
+
# @return [void]
|
|
34
|
+
def MTX01=(arg)
|
|
35
|
+
@mtx01.value = arg
|
|
36
|
+
end
|
|
37
|
+
alias NoteReferenceCode= MTX01=
|
|
38
|
+
|
|
39
|
+
# ### MTX02
|
|
40
|
+
#
|
|
41
|
+
# - Id: 1551
|
|
42
|
+
# - Name: Message Text
|
|
43
|
+
# - Type: AN
|
|
44
|
+
# - Min/Max: 1/4096
|
|
45
|
+
# - Description: To transmit large volumes of message text
|
|
46
|
+
#
|
|
47
|
+
# @param arg [String]
|
|
48
|
+
# @return [void]
|
|
49
|
+
def MTX02=(arg)
|
|
50
|
+
@mtx02.value = arg
|
|
51
|
+
end
|
|
52
|
+
alias MessageText= MTX02=
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Segments
|
|
3
|
+
# ### Segment Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: N2
|
|
6
|
+
# - Name: Additional Name Information
|
|
7
|
+
# - Purpose: To identify a party by type of organization, name, and code.
|
|
8
|
+
class N2 < Eddy::Models::Segment
|
|
9
|
+
|
|
10
|
+
# @param store [Eddy::Data::Store]
|
|
11
|
+
# @return [void]
|
|
12
|
+
def initialize(store)
|
|
13
|
+
@id = "N2"
|
|
14
|
+
@name = "Additional Name Information"
|
|
15
|
+
@n201 = Eddy::Elements::E93.new(ref: "N201", req: "M")
|
|
16
|
+
@n202 = Eddy::Elements::E93.new(ref: "N202", req: "O")
|
|
17
|
+
super(
|
|
18
|
+
store,
|
|
19
|
+
@n201,
|
|
20
|
+
@n202,
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# ### N201
|
|
25
|
+
#
|
|
26
|
+
# - Id: 93
|
|
27
|
+
# - Name: Name
|
|
28
|
+
# - Type: AN
|
|
29
|
+
# - Min/Max: 1/60
|
|
30
|
+
# - Description: Free-form name
|
|
31
|
+
#
|
|
32
|
+
# @param arg [String]
|
|
33
|
+
# @return [void]
|
|
34
|
+
def N201=(arg)
|
|
35
|
+
@n201.value = arg
|
|
36
|
+
end
|
|
37
|
+
alias Name1= N201=
|
|
38
|
+
|
|
39
|
+
# ### N202
|
|
40
|
+
#
|
|
41
|
+
# - Id: 93
|
|
42
|
+
# - Name: Name
|
|
43
|
+
# - Type: AN
|
|
44
|
+
# - Min/Max: 1/60
|
|
45
|
+
# - Description: Free-form name
|
|
46
|
+
#
|
|
47
|
+
# @param arg [String]
|
|
48
|
+
# @return [void]
|
|
49
|
+
def N202=(arg)
|
|
50
|
+
@n202.value = arg
|
|
51
|
+
end
|
|
52
|
+
alias Name2= N202=
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Segments
|
|
3
|
+
# ### Segment Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: N9
|
|
6
|
+
# - Name: Extended Reference Information
|
|
7
|
+
# - Purpose: To transmit identifying information as specified by the Reference Identification Qualifier.
|
|
8
|
+
class N9 < Eddy::Models::Segment
|
|
9
|
+
|
|
10
|
+
# @param store [Eddy::Data::Store]
|
|
11
|
+
# @return [void]
|
|
12
|
+
def initialize(store)
|
|
13
|
+
@id = "N9"
|
|
14
|
+
@name = "Extended Reference Information"
|
|
15
|
+
@n901 = Eddy::Elements::E128.new(ref: "N901", req: "M")
|
|
16
|
+
@n903 = Eddy::Elements::E369.new(ref: "N903", req: "X")
|
|
17
|
+
super(
|
|
18
|
+
store,
|
|
19
|
+
@n901,
|
|
20
|
+
@n903,
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# ### N901
|
|
25
|
+
#
|
|
26
|
+
# - Id: 128
|
|
27
|
+
# - Name: Reference Identification Qualifier
|
|
28
|
+
# - Type: ID
|
|
29
|
+
# - Min/Max: 2/3
|
|
30
|
+
# - Description: Code qualifying the Reference Identification
|
|
31
|
+
#
|
|
32
|
+
# @param arg [String]
|
|
33
|
+
# @return [void]
|
|
34
|
+
def N901=(arg)
|
|
35
|
+
@n901.value = arg
|
|
36
|
+
end
|
|
37
|
+
alias ReferenceIdentificationQualifier= N901=
|
|
38
|
+
|
|
39
|
+
# ### N903
|
|
40
|
+
#
|
|
41
|
+
# - Id: 369
|
|
42
|
+
# - Name: Free-form Description
|
|
43
|
+
# - Type: AN
|
|
44
|
+
# - Min/Max: 1/45
|
|
45
|
+
# - Description: Free-form descriptive text
|
|
46
|
+
#
|
|
47
|
+
# @param arg [String]
|
|
48
|
+
# @return [void]
|
|
49
|
+
def N903=(arg)
|
|
50
|
+
@n903.value = arg
|
|
51
|
+
end
|
|
52
|
+
alias FreeFormDescription= N903=
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Segments
|
|
3
|
+
# ### Segment Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: PER
|
|
6
|
+
# - Name: Administrative Communications Contact
|
|
7
|
+
# - Purpose: To identify a person or office to whom administrative communications should be directed
|
|
8
|
+
class PER < Eddy::Models::Segment
|
|
9
|
+
|
|
10
|
+
# @param store [Eddy::Data::Store]
|
|
11
|
+
# @return [void]
|
|
12
|
+
def initialize(store)
|
|
13
|
+
@id = "PER"
|
|
14
|
+
@name = "Administrative Communications Contact"
|
|
15
|
+
@per01 = Eddy::Elements::E366.new(ref: "PER01", req: "M")
|
|
16
|
+
@per02 = Eddy::Elements::E93.new(ref: "PER02", req: "O")
|
|
17
|
+
@per03 = Eddy::Elements::E365.new(ref: "PER03", req: "X")
|
|
18
|
+
@per04 = Eddy::Elements::E364.new(ref: "PER04", req: "X")
|
|
19
|
+
@per05 = Eddy::Elements::E365.new(ref: "PER05", req: "X")
|
|
20
|
+
@per06 = Eddy::Elements::E364.new(ref: "PER06", req: "X")
|
|
21
|
+
@per07 = Eddy::Elements::E365.new(ref: "PER07", req: "X")
|
|
22
|
+
@per08 = Eddy::Elements::E364.new(ref: "PER08", req: "X")
|
|
23
|
+
super(
|
|
24
|
+
store,
|
|
25
|
+
@per01,
|
|
26
|
+
@per02,
|
|
27
|
+
@per03,
|
|
28
|
+
@per04,
|
|
29
|
+
@per05,
|
|
30
|
+
@per06,
|
|
31
|
+
@per07,
|
|
32
|
+
@per08,
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# ### PER01
|
|
37
|
+
#
|
|
38
|
+
# - Id: 366
|
|
39
|
+
# - Name: Contact Function Code
|
|
40
|
+
# - Type: ID
|
|
41
|
+
# - Min/Max: 2/2
|
|
42
|
+
# - Description: Code identifying the major duty or responsibility of the person or group named
|
|
43
|
+
#
|
|
44
|
+
# @param arg [String]
|
|
45
|
+
# @return [void]
|
|
46
|
+
def PER01=(arg)
|
|
47
|
+
@per01.value = arg
|
|
48
|
+
end
|
|
49
|
+
alias ContactFunctionCode= PER01=
|
|
50
|
+
|
|
51
|
+
# ### PER02
|
|
52
|
+
#
|
|
53
|
+
# - Id: 93
|
|
54
|
+
# - Name: Name
|
|
55
|
+
# - Type: AN
|
|
56
|
+
# - Min/Max: 1/60
|
|
57
|
+
# - Description: Free-form name
|
|
58
|
+
#
|
|
59
|
+
# @param arg [String]
|
|
60
|
+
# @return [void]
|
|
61
|
+
def PER02=(arg)
|
|
62
|
+
@per02.value = arg
|
|
63
|
+
end
|
|
64
|
+
alias Name= PER02=
|
|
65
|
+
|
|
66
|
+
# ### PER03
|
|
67
|
+
#
|
|
68
|
+
# - Id: 365
|
|
69
|
+
# - Name: Communication Number Qualifier
|
|
70
|
+
# - Type: ID
|
|
71
|
+
# - Min/Max: 2/2
|
|
72
|
+
# - Description: Code identifying the type of communication number
|
|
73
|
+
#
|
|
74
|
+
# @param arg [String]
|
|
75
|
+
# @return [void]
|
|
76
|
+
def PER03=(arg)
|
|
77
|
+
@per03.value = arg
|
|
78
|
+
end
|
|
79
|
+
alias CommunicationNumberQualifier1= PER03=
|
|
80
|
+
|
|
81
|
+
# ### PER04
|
|
82
|
+
#
|
|
83
|
+
# - Id: 364
|
|
84
|
+
# - Name: Communication Number
|
|
85
|
+
# - Type: AN
|
|
86
|
+
# - Min/Max: 1/80
|
|
87
|
+
# - Description: Complete communications number including country or area code when applicable
|
|
88
|
+
#
|
|
89
|
+
# @param arg [String]
|
|
90
|
+
# @return [void]
|
|
91
|
+
def PER04=(arg)
|
|
92
|
+
@per04.value = arg
|
|
93
|
+
end
|
|
94
|
+
alias CommunicationNumber1= PER04=
|
|
95
|
+
|
|
96
|
+
# ### PER05
|
|
97
|
+
#
|
|
98
|
+
# - Id: 365
|
|
99
|
+
# - Name: Communication Number Qualifier
|
|
100
|
+
# - Type: ID
|
|
101
|
+
# - Min/Max: 2/2
|
|
102
|
+
# - Description: Code identifying the type of communication number
|
|
103
|
+
#
|
|
104
|
+
# @param arg [String]
|
|
105
|
+
# @return [void]
|
|
106
|
+
def PER05=(arg)
|
|
107
|
+
@per05.value = arg
|
|
108
|
+
end
|
|
109
|
+
alias CommunicationNumberQualifier2= PER05=
|
|
110
|
+
|
|
111
|
+
# ### PER06
|
|
112
|
+
#
|
|
113
|
+
# - Id: 364
|
|
114
|
+
# - Name: Communication Number
|
|
115
|
+
# - Type: AN
|
|
116
|
+
# - Min/Max: 1/80
|
|
117
|
+
# - Description: Complete communications number including country or area code when applicable
|
|
118
|
+
#
|
|
119
|
+
# @param arg [String]
|
|
120
|
+
# @return [void]
|
|
121
|
+
def PER06=(arg)
|
|
122
|
+
@per06.value = arg
|
|
123
|
+
end
|
|
124
|
+
alias CommunicationNumber2= PER06=
|
|
125
|
+
|
|
126
|
+
# ### PER07
|
|
127
|
+
#
|
|
128
|
+
# - Id: 365
|
|
129
|
+
# - Name: Communication Number Qualifier
|
|
130
|
+
# - Type: ID
|
|
131
|
+
# - Min/Max: 2/2
|
|
132
|
+
# - Description: Code identifying the type of communication number
|
|
133
|
+
#
|
|
134
|
+
# @param arg [String]
|
|
135
|
+
# @return [void]
|
|
136
|
+
def PER07=(arg)
|
|
137
|
+
@per07.value = arg
|
|
138
|
+
end
|
|
139
|
+
alias CommunicationNumberQualifier3= PER07=
|
|
140
|
+
|
|
141
|
+
# ### PER08
|
|
142
|
+
#
|
|
143
|
+
# - Id: 364
|
|
144
|
+
# - Name: Communication Number
|
|
145
|
+
# - Type: AN
|
|
146
|
+
# - Min/Max: 1/80
|
|
147
|
+
# - Description: Complete communications number including country or area code when applicable
|
|
148
|
+
#
|
|
149
|
+
# @param arg [String]
|
|
150
|
+
# @return [void]
|
|
151
|
+
def PER08=(arg)
|
|
152
|
+
@per08.value = arg
|
|
153
|
+
end
|
|
154
|
+
alias CommunicationNumber3= PER08=
|
|
155
|
+
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
end
|