eddy 0.8.1 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +4 -4
- data/CHANGELOG.md +49 -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/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 +5 -3
- data/lib/eddy/models/functional_group.rb +3 -2
- data/lib/eddy/models/interchange.rb +6 -2
- data/lib/eddy/models/transaction_set.rb +10 -2
- 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
|