hippo 0.2.2 → 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.
- data/CHANGELOG +8 -0
- data/lib/hippo/field.rb +10 -1
- data/lib/hippo/segments/AAA.rb +39 -0
- data/lib/hippo/segments/EB.rb +207 -0
- data/lib/hippo/segments/EM.rb +63 -0
- data/lib/hippo/segments/EQ.rb +135 -0
- data/lib/hippo/segments/III.rb +195 -0
- data/lib/hippo/segments/INS.rb +171 -0
- data/lib/hippo/segments/LE.rb +15 -0
- data/lib/hippo/segments/LS.rb +15 -0
- data/lib/hippo/segments/MPI.rb +63 -0
- data/lib/hippo/segments/MSG.rb +31 -0
- data/lib/hippo/segments/PCT.rb +23 -0
- data/lib/hippo/segments/PDP.rb +31 -0
- data/lib/hippo/segments/PDR.rb +39 -0
- data/lib/hippo/segments/PID.rb +79 -0
- data/lib/hippo/segments/PKD.rb +47 -0
- data/lib/hippo/segments/SD1.rb +71 -0
- data/lib/hippo/segments/VEH.rb +159 -0
- data/lib/hippo/segments/base.rb +8 -0
- data/lib/hippo/segments.rb +16 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2000A.rb +32 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2000B.rb +32 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2000C.rb +41 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2000D.rb +41 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2100A.rb +21 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2100B.rb +55 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2100C.rb +97 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2100D.rb +97 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2110C.rb +67 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2110D.rb +47 -0
- data/lib/hippo/transaction_sets/HIPAA_270/base.rb +80 -0
- data/lib/hippo/transaction_sets/HIPAA_270.rb +17 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2000A.rb +44 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2000B.rb +32 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2000C.rb +41 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2000D.rb +41 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2100A.rb +43 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2100B.rb +67 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2100C.rb +124 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2100D.rb +124 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2110C.rb +98 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2110D.rb +98 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2115C.rb +16 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2115D.rb +16 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2120C.rb +54 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2120D.rb +54 -0
- data/lib/hippo/transaction_sets/HIPAA_271/base.rb +80 -0
- data/lib/hippo/transaction_sets/HIPAA_271.rb +21 -0
- data/lib/hippo/transaction_sets/base.rb +75 -21
- data/lib/hippo/transaction_sets/component.rb +6 -1
- data/lib/hippo/transaction_sets.rb +2 -0
- data/lib/hippo/version.rb +1 -1
- data/samples/837_L2000A_01.edi +1 -0
- data/samples/837_L2000A_02.edi +1 -0
- data/test/test_parser.rb +5 -0
- metadata +55 -7
@@ -0,0 +1,171 @@
|
|
1
|
+
module Hippo::Segments
|
2
|
+
class INS < Hippo::Segments::Base
|
3
|
+
|
4
|
+
segment_identifier 'INS'
|
5
|
+
|
6
|
+
field :name => 'YesNoConditionOrResponseCode',
|
7
|
+
:sequence => 1,
|
8
|
+
:datatype => :list,
|
9
|
+
:minimum => 1,
|
10
|
+
:maximum => 1,
|
11
|
+
:required => true,
|
12
|
+
:data_element_number => 1073
|
13
|
+
|
14
|
+
field :name => 'IndividualRelationshipCode',
|
15
|
+
:sequence => 2,
|
16
|
+
:datatype => :list,
|
17
|
+
:minimum => 2,
|
18
|
+
:maximum => 2,
|
19
|
+
:required => true,
|
20
|
+
:data_element_number => 1069
|
21
|
+
|
22
|
+
field :name => 'MaintenanceTypeCode',
|
23
|
+
:sequence => 3,
|
24
|
+
:datatype => :list,
|
25
|
+
:minimum => 3,
|
26
|
+
:maximum => 3,
|
27
|
+
:required => false,
|
28
|
+
:data_element_number => 875
|
29
|
+
|
30
|
+
field :name => 'MaintenanceReasonCode',
|
31
|
+
:sequence => 4,
|
32
|
+
:datatype => :list,
|
33
|
+
:minimum => 2,
|
34
|
+
:maximum => 3,
|
35
|
+
:required => false,
|
36
|
+
:data_element_number => 1203
|
37
|
+
|
38
|
+
field :name => 'BenefitStatusCode',
|
39
|
+
:sequence => 5,
|
40
|
+
:datatype => :list,
|
41
|
+
:minimum => 1,
|
42
|
+
:maximum => 1,
|
43
|
+
:required => false,
|
44
|
+
:data_element_number => 1216
|
45
|
+
|
46
|
+
composite_field 'MedicareStatusCode' do
|
47
|
+
|
48
|
+
field :name => 'MedicarePlanCode',
|
49
|
+
:sequence => 1,
|
50
|
+
:datatype => :list,
|
51
|
+
:minimum => 1,
|
52
|
+
:maximum => 1,
|
53
|
+
:required => true,
|
54
|
+
:data_element_number => 1218
|
55
|
+
|
56
|
+
field :name => 'EligibilityReasonCode',
|
57
|
+
:sequence => 2,
|
58
|
+
:datatype => :list,
|
59
|
+
:minimum => 1,
|
60
|
+
:maximum => 1,
|
61
|
+
:required => false,
|
62
|
+
:data_element_number => 1701
|
63
|
+
|
64
|
+
field :name => 'EligibilityReasonCode',
|
65
|
+
:sequence => 3,
|
66
|
+
:datatype => :list,
|
67
|
+
:minimum => 1,
|
68
|
+
:maximum => 1,
|
69
|
+
:required => false,
|
70
|
+
:data_element_number => 1701
|
71
|
+
|
72
|
+
field :name => 'EligibilityReasonCode',
|
73
|
+
:sequence => 4,
|
74
|
+
:datatype => :list,
|
75
|
+
:minimum => 1,
|
76
|
+
:maximum => 1,
|
77
|
+
:required => false,
|
78
|
+
:data_element_number => 1701
|
79
|
+
|
80
|
+
end
|
81
|
+
|
82
|
+
field :name => 'ConsolidatedOmnibusBudgetReconciliationActCobraQualifying',
|
83
|
+
:sequence => 7,
|
84
|
+
:datatype => :list,
|
85
|
+
:minimum => 1,
|
86
|
+
:maximum => 2,
|
87
|
+
:required => false,
|
88
|
+
:data_element_number => 1219
|
89
|
+
|
90
|
+
field :name => 'EmploymentStatusCode',
|
91
|
+
:sequence => 8,
|
92
|
+
:datatype => :list,
|
93
|
+
:minimum => 2,
|
94
|
+
:maximum => 2,
|
95
|
+
:required => false,
|
96
|
+
:data_element_number => 584
|
97
|
+
|
98
|
+
field :name => 'StudentStatusCode',
|
99
|
+
:sequence => 9,
|
100
|
+
:datatype => :list,
|
101
|
+
:minimum => 1,
|
102
|
+
:maximum => 1,
|
103
|
+
:required => false,
|
104
|
+
:data_element_number => 1220
|
105
|
+
|
106
|
+
field :name => 'YesNoConditionOrResponseCode',
|
107
|
+
:sequence => 10,
|
108
|
+
:datatype => :list,
|
109
|
+
:minimum => 1,
|
110
|
+
:maximum => 1,
|
111
|
+
:required => false,
|
112
|
+
:data_element_number => 1073
|
113
|
+
|
114
|
+
field :name => 'DateTimePeriodFormatQualifier',
|
115
|
+
:sequence => 11,
|
116
|
+
:datatype => :list,
|
117
|
+
:minimum => 2,
|
118
|
+
:maximum => 3,
|
119
|
+
:required => false,
|
120
|
+
:data_element_number => 1250
|
121
|
+
|
122
|
+
field :name => 'DateTimePeriod',
|
123
|
+
:sequence => 12,
|
124
|
+
:datatype => :string,
|
125
|
+
:minimum => 1,
|
126
|
+
:maximum => 35,
|
127
|
+
:required => false,
|
128
|
+
:data_element_number => 1251
|
129
|
+
|
130
|
+
field :name => 'ConfidentialityCode',
|
131
|
+
:sequence => 13,
|
132
|
+
:datatype => :list,
|
133
|
+
:minimum => 1,
|
134
|
+
:maximum => 1,
|
135
|
+
:required => false,
|
136
|
+
:data_element_number => 1165
|
137
|
+
|
138
|
+
field :name => 'CityName',
|
139
|
+
:sequence => 14,
|
140
|
+
:datatype => :string,
|
141
|
+
:minimum => 2,
|
142
|
+
:maximum => 30,
|
143
|
+
:required => false,
|
144
|
+
:data_element_number => 19
|
145
|
+
|
146
|
+
field :name => 'StateOrProvinceCode',
|
147
|
+
:sequence => 15,
|
148
|
+
:datatype => :list,
|
149
|
+
:minimum => 2,
|
150
|
+
:maximum => 2,
|
151
|
+
:required => false,
|
152
|
+
:data_element_number => 156
|
153
|
+
|
154
|
+
field :name => 'CountryCode',
|
155
|
+
:sequence => 16,
|
156
|
+
:datatype => :list,
|
157
|
+
:minimum => 2,
|
158
|
+
:maximum => 3,
|
159
|
+
:required => false,
|
160
|
+
:data_element_number => 26
|
161
|
+
|
162
|
+
field :name => 'Number',
|
163
|
+
:sequence => 17,
|
164
|
+
:datatype => :integer,
|
165
|
+
:minimum => 1,
|
166
|
+
:maximum => 9,
|
167
|
+
:required => false,
|
168
|
+
:data_element_number => 1470
|
169
|
+
|
170
|
+
end
|
171
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Hippo::Segments
|
2
|
+
class LE < Hippo::Segments::Base
|
3
|
+
|
4
|
+
segment_identifier 'LE'
|
5
|
+
|
6
|
+
field :name => 'LoopIdentifierCode',
|
7
|
+
:sequence => 1,
|
8
|
+
:datatype => :string,
|
9
|
+
:minimum => 1,
|
10
|
+
:maximum => 4,
|
11
|
+
:required => true,
|
12
|
+
:data_element_number => 447
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Hippo::Segments
|
2
|
+
class LS < Hippo::Segments::Base
|
3
|
+
|
4
|
+
segment_identifier 'LS'
|
5
|
+
|
6
|
+
field :name => 'LoopIdentifierCode',
|
7
|
+
:sequence => 1,
|
8
|
+
:datatype => :string,
|
9
|
+
:minimum => 1,
|
10
|
+
:maximum => 4,
|
11
|
+
:required => true,
|
12
|
+
:data_element_number => 447
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module Hippo::Segments
|
2
|
+
class MPI < Hippo::Segments::Base
|
3
|
+
|
4
|
+
segment_identifier 'MPI'
|
5
|
+
|
6
|
+
field :name => 'InformationStatusCode',
|
7
|
+
:sequence => 1,
|
8
|
+
:datatype => :list,
|
9
|
+
:minimum => 1,
|
10
|
+
:maximum => 1,
|
11
|
+
:required => true,
|
12
|
+
:data_element_number => 1201
|
13
|
+
|
14
|
+
field :name => 'EmploymentStatusCode',
|
15
|
+
:sequence => 2,
|
16
|
+
:datatype => :list,
|
17
|
+
:minimum => 2,
|
18
|
+
:maximum => 2,
|
19
|
+
:required => true,
|
20
|
+
:data_element_number => 584
|
21
|
+
|
22
|
+
field :name => 'GovernmentServiceAffiliationCode',
|
23
|
+
:sequence => 3,
|
24
|
+
:datatype => :list,
|
25
|
+
:minimum => 1,
|
26
|
+
:maximum => 1,
|
27
|
+
:required => true,
|
28
|
+
:data_element_number => 1595
|
29
|
+
|
30
|
+
field :name => 'Description',
|
31
|
+
:sequence => 4,
|
32
|
+
:datatype => :string,
|
33
|
+
:minimum => 1,
|
34
|
+
:maximum => 80,
|
35
|
+
:required => false,
|
36
|
+
:data_element_number => 352
|
37
|
+
|
38
|
+
field :name => 'MilitaryServiceRankCode',
|
39
|
+
:sequence => 5,
|
40
|
+
:datatype => :list,
|
41
|
+
:minimum => 2,
|
42
|
+
:maximum => 2,
|
43
|
+
:required => false,
|
44
|
+
:data_element_number => 1596
|
45
|
+
|
46
|
+
field :name => 'DateTimePeriodFormatQualifier',
|
47
|
+
:sequence => 6,
|
48
|
+
:datatype => :list,
|
49
|
+
:minimum => 2,
|
50
|
+
:maximum => 3,
|
51
|
+
:required => false,
|
52
|
+
:data_element_number => 1250
|
53
|
+
|
54
|
+
field :name => 'DateTimePeriod',
|
55
|
+
:sequence => 7,
|
56
|
+
:datatype => :string,
|
57
|
+
:minimum => 1,
|
58
|
+
:maximum => 35,
|
59
|
+
:required => false,
|
60
|
+
:data_element_number => 1251
|
61
|
+
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Hippo::Segments
|
2
|
+
class MSG < Hippo::Segments::Base
|
3
|
+
|
4
|
+
segment_identifier 'MSG'
|
5
|
+
|
6
|
+
field :name => 'FreeFormMessageText',
|
7
|
+
:sequence => 1,
|
8
|
+
:datatype => :string,
|
9
|
+
:minimum => 1,
|
10
|
+
:maximum => 264,
|
11
|
+
:required => true,
|
12
|
+
:data_element_number => 933
|
13
|
+
|
14
|
+
field :name => 'PrinterCarriageControlCode',
|
15
|
+
:sequence => 2,
|
16
|
+
:datatype => :list,
|
17
|
+
:minimum => 2,
|
18
|
+
:maximum => 2,
|
19
|
+
:required => false,
|
20
|
+
:data_element_number => 934
|
21
|
+
|
22
|
+
field :name => 'Number',
|
23
|
+
:sequence => 3,
|
24
|
+
:datatype => :integer,
|
25
|
+
:minimum => 1,
|
26
|
+
:maximum => 9,
|
27
|
+
:required => false,
|
28
|
+
:data_element_number => 1470
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Hippo::Segments
|
2
|
+
class PCT < Hippo::Segments::Base
|
3
|
+
|
4
|
+
segment_identifier 'PCT'
|
5
|
+
|
6
|
+
field :name => 'PercentQualifier',
|
7
|
+
:sequence => 1,
|
8
|
+
:datatype => :list,
|
9
|
+
:minimum => 1,
|
10
|
+
:maximum => 2,
|
11
|
+
:required => true,
|
12
|
+
:data_element_number => 1004
|
13
|
+
|
14
|
+
field :name => 'PercentageAsDecimal',
|
15
|
+
:sequence => 2,
|
16
|
+
:datatype => :decimal,
|
17
|
+
:minimum => 1,
|
18
|
+
:maximum => 10,
|
19
|
+
:required => true,
|
20
|
+
:data_element_number => 954
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Hippo::Segments
|
2
|
+
class PDP < Hippo::Segments::Base
|
3
|
+
|
4
|
+
segment_identifier 'PDP'
|
5
|
+
|
6
|
+
field :name => 'TypeOfPersonalOrBusinessAssetCode',
|
7
|
+
:sequence => 1,
|
8
|
+
:datatype => :list,
|
9
|
+
:minimum => 2,
|
10
|
+
:maximum => 2,
|
11
|
+
:required => true,
|
12
|
+
:data_element_number => 1188
|
13
|
+
|
14
|
+
field :name => 'CommodityCodeQualifier',
|
15
|
+
:sequence => 2,
|
16
|
+
:datatype => :list,
|
17
|
+
:minimum => 1,
|
18
|
+
:maximum => 1,
|
19
|
+
:required => false,
|
20
|
+
:data_element_number => 23
|
21
|
+
|
22
|
+
field :name => 'CommodityCode',
|
23
|
+
:sequence => 3,
|
24
|
+
:datatype => :string,
|
25
|
+
:minimum => 1,
|
26
|
+
:maximum => 30,
|
27
|
+
:required => false,
|
28
|
+
:data_element_number => 22
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Hippo::Segments
|
2
|
+
class PDR < Hippo::Segments::Base
|
3
|
+
|
4
|
+
segment_identifier 'PDR'
|
5
|
+
|
6
|
+
field :name => 'TypeOfRealEstateAssetCode',
|
7
|
+
:sequence => 1,
|
8
|
+
:datatype => :list,
|
9
|
+
:minimum => 2,
|
10
|
+
:maximum => 2,
|
11
|
+
:required => true,
|
12
|
+
:data_element_number => 1074
|
13
|
+
|
14
|
+
field :name => 'CodeListQualifierCode',
|
15
|
+
:sequence => 2,
|
16
|
+
:datatype => :list,
|
17
|
+
:minimum => 1,
|
18
|
+
:maximum => 3,
|
19
|
+
:required => false,
|
20
|
+
:data_element_number => 1270
|
21
|
+
|
22
|
+
field :name => 'IndustryCode',
|
23
|
+
:sequence => 3,
|
24
|
+
:datatype => :string,
|
25
|
+
:minimum => 1,
|
26
|
+
:maximum => 30,
|
27
|
+
:required => false,
|
28
|
+
:data_element_number => 1271
|
29
|
+
|
30
|
+
field :name => 'OccupancyCode',
|
31
|
+
:sequence => 4,
|
32
|
+
:datatype => :list,
|
33
|
+
:minimum => 2,
|
34
|
+
:maximum => 2,
|
35
|
+
:required => false,
|
36
|
+
:data_element_number => 689
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
module Hippo::Segments
|
2
|
+
class PID < Hippo::Segments::Base
|
3
|
+
|
4
|
+
segment_identifier 'PID'
|
5
|
+
|
6
|
+
field :name => 'ItemDescriptionType',
|
7
|
+
:sequence => 1,
|
8
|
+
:datatype => :list,
|
9
|
+
:minimum => 1,
|
10
|
+
:maximum => 1,
|
11
|
+
:required => true,
|
12
|
+
:data_element_number => 349
|
13
|
+
|
14
|
+
field :name => 'ProductProcessCharacteristicCode',
|
15
|
+
:sequence => 2,
|
16
|
+
:datatype => :list,
|
17
|
+
:minimum => 2,
|
18
|
+
:maximum => 3,
|
19
|
+
:required => false,
|
20
|
+
:data_element_number => 750
|
21
|
+
|
22
|
+
field :name => 'AgencyQualifierCode',
|
23
|
+
:sequence => 3,
|
24
|
+
:datatype => :list,
|
25
|
+
:minimum => 2,
|
26
|
+
:maximum => 2,
|
27
|
+
:required => false,
|
28
|
+
:data_element_number => 559
|
29
|
+
|
30
|
+
field :name => 'ProductDescriptionCode',
|
31
|
+
:sequence => 4,
|
32
|
+
:datatype => :string,
|
33
|
+
:minimum => 1,
|
34
|
+
:maximum => 12,
|
35
|
+
:required => false,
|
36
|
+
:data_element_number => 751
|
37
|
+
|
38
|
+
field :name => 'Description',
|
39
|
+
:sequence => 5,
|
40
|
+
:datatype => :string,
|
41
|
+
:minimum => 1,
|
42
|
+
:maximum => 80,
|
43
|
+
:required => false,
|
44
|
+
:data_element_number => 352
|
45
|
+
|
46
|
+
field :name => 'SurfaceLayerPositionCode',
|
47
|
+
:sequence => 6,
|
48
|
+
:datatype => :list,
|
49
|
+
:minimum => 2,
|
50
|
+
:maximum => 2,
|
51
|
+
:required => false,
|
52
|
+
:data_element_number => 752
|
53
|
+
|
54
|
+
field :name => 'SourceSubqualifier',
|
55
|
+
:sequence => 7,
|
56
|
+
:datatype => :string,
|
57
|
+
:minimum => 1,
|
58
|
+
:maximum => 15,
|
59
|
+
:required => false,
|
60
|
+
:data_element_number => 822
|
61
|
+
|
62
|
+
field :name => 'YesNoConditionOrResponseCode',
|
63
|
+
:sequence => 8,
|
64
|
+
:datatype => :list,
|
65
|
+
:minimum => 1,
|
66
|
+
:maximum => 1,
|
67
|
+
:required => false,
|
68
|
+
:data_element_number => 1073
|
69
|
+
|
70
|
+
field :name => 'LanguageCode',
|
71
|
+
:sequence => 9,
|
72
|
+
:datatype => :list,
|
73
|
+
:minimum => 2,
|
74
|
+
:maximum => 3,
|
75
|
+
:required => false,
|
76
|
+
:data_element_number => 819
|
77
|
+
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Hippo::Segments
|
2
|
+
class PKD < Hippo::Segments::Base
|
3
|
+
|
4
|
+
segment_identifier 'PKD'
|
5
|
+
|
6
|
+
field :name => 'PackagingCode',
|
7
|
+
:sequence => 1,
|
8
|
+
:datatype => :string,
|
9
|
+
:minimum => 3,
|
10
|
+
:maximum => 5,
|
11
|
+
:required => false,
|
12
|
+
:data_element_number => 103
|
13
|
+
|
14
|
+
field :name => 'SourceSubqualifier',
|
15
|
+
:sequence => 2,
|
16
|
+
:datatype => :string,
|
17
|
+
:minimum => 1,
|
18
|
+
:maximum => 15,
|
19
|
+
:required => false,
|
20
|
+
:data_element_number => 822
|
21
|
+
|
22
|
+
field :name => 'AgencyQualifierCode',
|
23
|
+
:sequence => 3,
|
24
|
+
:datatype => :list,
|
25
|
+
:minimum => 2,
|
26
|
+
:maximum => 2,
|
27
|
+
:required => false,
|
28
|
+
:data_element_number => 559
|
29
|
+
|
30
|
+
field :name => 'PackagingDescriptionCode',
|
31
|
+
:sequence => 4,
|
32
|
+
:datatype => :string,
|
33
|
+
:minimum => 1,
|
34
|
+
:maximum => 7,
|
35
|
+
:required => false,
|
36
|
+
:data_element_number => 754
|
37
|
+
|
38
|
+
field :name => 'OwnershipCode',
|
39
|
+
:sequence => 5,
|
40
|
+
:datatype => :list,
|
41
|
+
:minimum => 1,
|
42
|
+
:maximum => 1,
|
43
|
+
:required => false,
|
44
|
+
:data_element_number => 102
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
module Hippo::Segments
|
2
|
+
class SD1 < Hippo::Segments::Base
|
3
|
+
|
4
|
+
segment_identifier 'SD1'
|
5
|
+
|
6
|
+
field :name => 'ItemDescriptionType',
|
7
|
+
:sequence => 1,
|
8
|
+
:datatype => :list,
|
9
|
+
:minimum => 1,
|
10
|
+
:maximum => 1,
|
11
|
+
:required => true,
|
12
|
+
:data_element_number => 349
|
13
|
+
|
14
|
+
field :name => 'SafetyCharacteristicHazardCode',
|
15
|
+
:sequence => 2,
|
16
|
+
:datatype => :list,
|
17
|
+
:minimum => 3,
|
18
|
+
:maximum => 3,
|
19
|
+
:required => true,
|
20
|
+
:data_element_number => 821
|
21
|
+
|
22
|
+
field :name => 'AgencyQualifierCode',
|
23
|
+
:sequence => 3,
|
24
|
+
:datatype => :list,
|
25
|
+
:minimum => 2,
|
26
|
+
:maximum => 2,
|
27
|
+
:required => false,
|
28
|
+
:data_element_number => 559
|
29
|
+
|
30
|
+
field :name => 'SourceSubqualifier',
|
31
|
+
:sequence => 4,
|
32
|
+
:datatype => :string,
|
33
|
+
:minimum => 1,
|
34
|
+
:maximum => 15,
|
35
|
+
:required => false,
|
36
|
+
:data_element_number => 822
|
37
|
+
|
38
|
+
field :name => 'ProductDescriptionCode',
|
39
|
+
:sequence => 5,
|
40
|
+
:datatype => :string,
|
41
|
+
:minimum => 1,
|
42
|
+
:maximum => 12,
|
43
|
+
:required => false,
|
44
|
+
:data_element_number => 751
|
45
|
+
|
46
|
+
field :name => 'Description',
|
47
|
+
:sequence => 6,
|
48
|
+
:datatype => :string,
|
49
|
+
:minimum => 1,
|
50
|
+
:maximum => 80,
|
51
|
+
:required => false,
|
52
|
+
:data_element_number => 352
|
53
|
+
|
54
|
+
field :name => 'StateOrProvinceCode',
|
55
|
+
:sequence => 7,
|
56
|
+
:datatype => :list,
|
57
|
+
:minimum => 2,
|
58
|
+
:maximum => 2,
|
59
|
+
:required => false,
|
60
|
+
:data_element_number => 156
|
61
|
+
|
62
|
+
field :name => 'CountryCode',
|
63
|
+
:sequence => 8,
|
64
|
+
:datatype => :list,
|
65
|
+
:minimum => 2,
|
66
|
+
:maximum => 3,
|
67
|
+
:required => false,
|
68
|
+
:data_element_number => 26
|
69
|
+
|
70
|
+
end
|
71
|
+
end
|