stupidedi 1.2.16 → 1.2.17
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/README.md +0 -12
- data/bin/edi-pp +2 -12
- data/lib/stupidedi/builder/generation.rb +2 -6
- data/lib/stupidedi/builder/states/failure_state.rb +5 -13
- data/lib/stupidedi/config.rb +5 -0
- data/lib/stupidedi/editor.rb +1 -0
- data/lib/stupidedi/guides/005010/X279-HB271.rb +832 -0
- data/lib/stupidedi/guides/005010/X279-HS270.rb +594 -0
- data/lib/stupidedi/guides/005010/X279A1-HB271.rb +845 -0
- data/lib/stupidedi/guides/005010/X279A1-HS270.rb +594 -0
- data/lib/stupidedi/guides/005010.rb +9 -0
- data/lib/stupidedi/version.rb +1 -1
- data/lib/stupidedi/versions/functional_groups/005010/element_defs.rb +619 -9
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/AAA.rb +22 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/EB.rb +34 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/EQ.rb +25 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/HSD.rb +29 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/III.rb +31 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/MPI.rb +27 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs/MSG.rb +23 -0
- data/lib/stupidedi/versions/functional_groups/005010/segment_defs.rb +22 -4
- data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HB271.rb +14 -13
- data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HS270.rb +13 -12
- data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs.rb +4 -4
- metadata +12 -1
@@ -0,0 +1,594 @@
|
|
1
|
+
module Stupidedi
|
2
|
+
module Guides
|
3
|
+
module FiftyTen
|
4
|
+
module X279
|
5
|
+
|
6
|
+
b = GuideBuilder
|
7
|
+
d = Schema
|
8
|
+
r = SegmentReqs
|
9
|
+
e = ElementReqs
|
10
|
+
s = Versions::FunctionalGroups::FiftyTen::SegmentDefs
|
11
|
+
t = Versions::FunctionalGroups::FiftyTen::TransactionSetDefs
|
12
|
+
|
13
|
+
HS270 = b.build(t::HS270,
|
14
|
+
d::TableDef.header("Table 1 - Header",
|
15
|
+
b::Segment(100, s::ST, "Transaction Set Header",
|
16
|
+
r::Required, d::RepeatCount.bounded(1),
|
17
|
+
b::Element(e::Required, "Transaction Set Identifier Code", b::Values("270")),
|
18
|
+
b::Element(e::Required, "Transaction Set Control Number"),
|
19
|
+
b::Element(e::Required, "Implementation Convention Reference", b::Values("005010X279"))),
|
20
|
+
b::Segment(200, s::BHT, "Beginning of Hierarchical Transaction",
|
21
|
+
r::Required, d::RepeatCount.bounded(1),
|
22
|
+
b::Element(e::Required, "Hierarchical Structure Code", b::Values("0022")),
|
23
|
+
b::Element(e::Required, "Transaction Set Purpose Code", b::Values("01", "13")),
|
24
|
+
b::Element(e::Situational, "Submitter Transaction Identifier"),
|
25
|
+
b::Element(e::Required, "Transaction Set Creation Date"),
|
26
|
+
b::Element(e::Required, "Transaction Set Creation Time"),
|
27
|
+
b::Element(e::Situational, "Transaction Type Code", b::Values("RT")))),
|
28
|
+
|
29
|
+
d::TableDef.detail("Table 2 - Information Source Detail",
|
30
|
+
d::LoopDef.build("2000A INFORMATION SOURCE LEVEL",
|
31
|
+
d::RepeatCount.bounded(1),
|
32
|
+
b::Segment(100, s::HL, "Information Source Level",
|
33
|
+
r::Required, d::RepeatCount.bounded(1),
|
34
|
+
b::Element(e::Required, "Hierarchical ID Number"),
|
35
|
+
b::Element(e::NotUsed, "Hierarchical Parent ID Number"),
|
36
|
+
b::Element(e::Required, "Hierarchical Level Code", b::Values("20")),
|
37
|
+
b::Element(e::Required, "Hierarchical Child Code", b::Values("1"))),
|
38
|
+
|
39
|
+
d::LoopDef.build("2100A INFORMATION SOURCE NAME",
|
40
|
+
d::RepeatCount.bounded(1),
|
41
|
+
b::Segment(300, s::NM1, "Information Source Name",
|
42
|
+
r::Required, d::RepeatCount.bounded(1),
|
43
|
+
b::Element(e::Required, "Entity Identifier Code", b::Values("2B", "36", "GP", "P5", "PR")),
|
44
|
+
b::Element(e::Required, "Entity Type Qualifier", b::Values("1", "2")),
|
45
|
+
b::Element(e::Required, "Information Source Last or Organization Name"),
|
46
|
+
b::Element(e::Situational, "Information Source First Name"),
|
47
|
+
b::Element(e::Situational, "Information Source Middle Name"),
|
48
|
+
b::Element(e::NotUsed, "Name Prefix"),
|
49
|
+
b::Element(e::Situational, "Information Source Name Suffix"),
|
50
|
+
b::Element(e::Required, "Identification Code Qualifier", b::Values("24", "46", "FI", "NI", "PI", "XV", "XX")),
|
51
|
+
b::Element(e::Required, "Information Source Primary Identifier"),
|
52
|
+
b::Element(e::NotUsed, "Entity Relationship Code"),
|
53
|
+
b::Element(e::NotUsed, "Entity Identifier Code"),
|
54
|
+
b::Element(e::NotUsed, "Name Last or Organization Name"))))),
|
55
|
+
|
56
|
+
d::TableDef.detail("Table 2 - Information Receiver Detail",
|
57
|
+
d::LoopDef.build("2000B INFORMATION RECEIVER LEVEL",
|
58
|
+
d::RepeatCount.bounded(1),
|
59
|
+
b::Segment(100, s::HL, "Information Receiver Level",
|
60
|
+
r::Required, d::RepeatCount.bounded(1),
|
61
|
+
b::Element(e::Required, "Hierarchical ID Number"),
|
62
|
+
b::Element(e::Required, "Hierarchical Parent ID Number"),
|
63
|
+
b::Element(e::Required, "Hierarchical Level Code", b::Values("21")),
|
64
|
+
b::Element(e::Required, "Hierarchical Child Code", b::Values("1"))),
|
65
|
+
|
66
|
+
d::LoopDef.build("2100B INFORMATION RECEIVER NAME",
|
67
|
+
d::RepeatCount.bounded(1),
|
68
|
+
b::Segment(300, s::NM1, "Information Receiver Name",
|
69
|
+
r::Required, d::RepeatCount.bounded(1),
|
70
|
+
b::Element(e::Required, "Entity Identifier Code", b::Values("1P", "2B", "36", "80", "FA", "GP", "P5", "PR")),
|
71
|
+
b::Element(e::Required, "Entity Type Qualifier", b::Values("1", "2")),
|
72
|
+
b::Element(e::Required, "Information Receiver Last or Organization Name"),
|
73
|
+
b::Element(e::Situational, "Information Receiver First Name"),
|
74
|
+
b::Element(e::Situational, "Information Receiver Middle Name"),
|
75
|
+
b::Element(e::NotUsed, "Name Prefix"),
|
76
|
+
b::Element(e::Situational, "Information Receiver Name Suffix"),
|
77
|
+
b::Element(e::Required, "Identification Code Qualifier", b::Values("24", "34", "FI", "PI", "PP", "SV", "XV", "XX")),
|
78
|
+
b::Element(e::Required, "Information Receiver Primary Identifier"),
|
79
|
+
b::Element(e::NotUsed, "Entity Relationship Code"),
|
80
|
+
b::Element(e::NotUsed, "Entity Identifier Code"),
|
81
|
+
b::Element(e::NotUsed, "Name Last or Organization Name")),
|
82
|
+
b::Segment(400, s::REF, "Information Receiver Additional Identification",
|
83
|
+
r::Situational, d::RepeatCount.bounded(9),
|
84
|
+
b::Element(e::Required, "Reference Identification Qualfier", b::Values("0B", "1C", "1D", "1J", "4A", "CT", "EL", "EO", "HPI", "JD", "N5", "N7", "Q4", "SY", "TJ")),
|
85
|
+
b::Element(e::Required, "Information Receiver Additional Identifier"),
|
86
|
+
b::Element(e::Situational, "Information Receiver Additional Identifier State"),
|
87
|
+
b::Element(e::NotUsed, "REFERENCE IDENTIFIER")),
|
88
|
+
b::Segment(600, s::N3, "Information Receiver Address",
|
89
|
+
r::Situational, d::RepeatCount.bounded(1),
|
90
|
+
b::Element(e::Required, "Information Receiver Address Line"),
|
91
|
+
b::Element(e::Situational, "Information Receiver Additional Address Line")),
|
92
|
+
b::Segment(700, s::N4, "Information Receiver City, State, ZIP Code",
|
93
|
+
r::Situational, d::RepeatCount.bounded(1),
|
94
|
+
b::Element(e::Required, "Information Receiver City Name"),
|
95
|
+
b::Element(e::Situational, "Information Receiver State Code"),
|
96
|
+
b::Element(e::Situational, "Information Receiver Postal Zode or ZIP Code"),
|
97
|
+
b::Element(e::Situational, "Country Code"),
|
98
|
+
b::Element(e::NotUsed, "Location Qualifier"),
|
99
|
+
b::Element(e::NotUsed, "Location Identifier"),
|
100
|
+
b::Element(e::Situational, "Country Subdivision Code")),
|
101
|
+
b::Segment(900, s::PRV, "Information Receiver Provider Information",
|
102
|
+
r::Situational, d::RepeatCount.bounded(1),
|
103
|
+
b::Element(e::Required, "Provider Code", b::Values("AD", "AT", "BI", "CO", "CV", "H", "HH", "LA", "OT", "P1", "P2", "PC", "PE", "R", "RF", "SB", "SK", "SU")),
|
104
|
+
b::Element(e::Situational, "Reference Identification Qualifier", b::Values("PXC")),
|
105
|
+
b::Element(e::Situational, "Receiver Provider Taxonomy Code"),
|
106
|
+
b::Element(e::NotUsed, "State or Province Code"),
|
107
|
+
b::Element(e::NotUsed, "PROVIDER SPECIALTY INFORMATION"),
|
108
|
+
b::Element(e::NotUsed, "Provider Organization Code"))))),
|
109
|
+
|
110
|
+
d::TableDef.detail("Table 2 - Subscriber Detail",
|
111
|
+
d::LoopDef.build("2000C SUBSCRIBER LEVEL",
|
112
|
+
d::RepeatCount.bounded(1),
|
113
|
+
b::Segment(100, s::HL, "Subscriber Level",
|
114
|
+
r::Required, d::RepeatCount.bounded(1),
|
115
|
+
b::Element(e::Required, "Hierarchical ID Number"),
|
116
|
+
b::Element(e::Required, "Hierarchical Parent ID Number"),
|
117
|
+
b::Element(e::Required, "Hierarchical Level Code", b::Values("22")),
|
118
|
+
b::Element(e::Required, "Hierarchical Child Code", b::Values("0", "1"))),
|
119
|
+
b::Segment(200, s::TRN, "Subscriber Trace Number",
|
120
|
+
r::Situational, d::RepeatCount.bounded(2),
|
121
|
+
b::Element(e::Required, "Trace Type Code", b::Values("1")),
|
122
|
+
b::Element(e::Required, "Trace Number"),
|
123
|
+
b::Element(e::Required, "Trace Assigning Entity Identifier"),
|
124
|
+
b::Element(e::Situational, "Trace Assigning Entity Additional Identifier")),
|
125
|
+
|
126
|
+
d::LoopDef.build("2100C SUBSCRIBER NAME",
|
127
|
+
d::RepeatCount.bounded(1),
|
128
|
+
b::Segment(300, s::NM1, "Subscriber Name",
|
129
|
+
r::Required, d::RepeatCount.bounded(1),
|
130
|
+
b::Element(e::Required, "Entity Identifier Code", b::Values("IL")),
|
131
|
+
b::Element(e::Required, "Entity Type Qualifier", b::Values("1")),
|
132
|
+
b::Element(e::Situational, "Subscriber Last Name"),
|
133
|
+
b::Element(e::Situational, "Subscriber First Name"),
|
134
|
+
b::Element(e::Situational, "Subscriber Middle Name or Initial"),
|
135
|
+
b::Element(e::NotUsed, "Name Prefix"),
|
136
|
+
b::Element(e::Situational, "Subscriber Name Suffix"),
|
137
|
+
b::Element(e::Situational, "Identification Code Qualifier", b::Values("II", "MI")),
|
138
|
+
b::Element(e::Situational, "Subscriber Primary Identifier"),
|
139
|
+
b::Element(e::NotUsed, "Entity Relationship Code"),
|
140
|
+
b::Element(e::NotUsed, "Entity Identifier Code"),
|
141
|
+
b::Element(e::NotUsed, "Name Last or Organization Name")),
|
142
|
+
b::Segment(400, s::REF, "Subscriber Additional Identification",
|
143
|
+
r::Situational, d::RepeatCount.bounded(9),
|
144
|
+
b::Element(e::Required, "Reference Identification Qualifier", b::Values("18", "1L", "1W", "3H", "6P", "CT", "EA", "EJ", "F6", "GH", "HJ", "IG", "N6", "NQ", "SY", "Y4")),
|
145
|
+
b::Element(e::Required, "Subscriber Supplemental Identifier"),
|
146
|
+
b::Element(e::NotUsed, "Description"),
|
147
|
+
b::Element(e::NotUsed, "REFERENCE IDENTIFIER")),
|
148
|
+
b::Segment(600, s::N3, "Subscriber Address",
|
149
|
+
r::Situational, d::RepeatCount.bounded(1),
|
150
|
+
b::Element(e::Required, "Subscriber Address Line"),
|
151
|
+
b::Element(e::Situational, "Subscriber Address Line")),
|
152
|
+
b::Segment(700, s::N4, "Subscriber City, State, ZIP Code",
|
153
|
+
r::Situational, d::RepeatCount.bounded(1),
|
154
|
+
b::Element(e::Required, "Subscriber City Name"),
|
155
|
+
b::Element(e::Situational, "Subscriber State Code"),
|
156
|
+
b::Element(e::Situational, "Subscriber Postal Zone or ZIP Code"),
|
157
|
+
b::Element(e::Situational, "Country Code"),
|
158
|
+
b::Element(e::NotUsed, "Location Qualifier"),
|
159
|
+
b::Element(e::NotUsed, "Location Identifier"),
|
160
|
+
b::Element(e::Situational, "Country Subdivision Code")),
|
161
|
+
b::Segment(900, s::PRV, "Provider Information",
|
162
|
+
r::Situational, d::RepeatCount.bounded(1),
|
163
|
+
b::Element(e::Required, "Provider Code", b::Values("AD", "AT", "BI", "CO", "CV", "H", "HH", "LA", "OT", "P1", "P2", "PC", "PE", "R", "RF", "SK", "SU")),
|
164
|
+
b::Element(e::Situational, "Reference Identification Qualifier", b::Values("9K", "D3", "EI", "HPI", "PXC", "SY", "TJ")),
|
165
|
+
b::Element(e::Situational, "Provider Identifier"),
|
166
|
+
b::Element(e::NotUsed, "State or Province Code"),
|
167
|
+
b::Element(e::NotUsed, "PROVIDER SPECIALTY INFORMATION"),
|
168
|
+
b::Element(e::NotUsed, "Provider Organization Code")),
|
169
|
+
b::Segment(1000, s::DMG, "Subscriber Demographic Information",
|
170
|
+
r::Situational, d::RepeatCount.bounded(1),
|
171
|
+
b::Element(e::Situational, "Date Time Period Format Qualifier"),
|
172
|
+
b::Element(e::Situational, "Subscriber Birth Date"),
|
173
|
+
b::Element(e::Situational, "Subscriber Gender Code", b::Values("F", "M")),
|
174
|
+
b::Element(e::NotUsed, "Marital Status Code"),
|
175
|
+
b::Element(e::NotUsed, "COMPOSITE RACE OR ETHNICITY INFORMATION"),
|
176
|
+
b::Element(e::NotUsed, "Citizenship Status Code"),
|
177
|
+
b::Element(e::NotUsed, "Country Code"),
|
178
|
+
b::Element(e::NotUsed, "Basis of Verification Code"),
|
179
|
+
b::Element(e::NotUsed, "Quantity"),
|
180
|
+
b::Element(e::NotUsed, "Code List Qualifier Code"),
|
181
|
+
b::Element(e::NotUsed, "Industry Code")),
|
182
|
+
b::Segment(1100, s::INS, "Multiple Birth Sequence Number",
|
183
|
+
r::Situational, d::RepeatCount.bounded(1),
|
184
|
+
b::Element(e::Required, "Insured Indicator", b::Values("Y")),
|
185
|
+
b::Element(e::Required, "Individual Relationship Code", b::Values("18")),
|
186
|
+
b::Element(e::NotUsed, "Maintenance Type Code"),
|
187
|
+
b::Element(e::NotUsed, "Maintenance Reason Code"),
|
188
|
+
b::Element(e::NotUsed, "Benefit Status Code"),
|
189
|
+
b::Element(e::NotUsed, "MEDICARE STATUS CODE"),
|
190
|
+
b::Element(e::NotUsed, "Consolidated Omnibus Budget Reconciliation Act (CORBA) Qualifying"),
|
191
|
+
b::Element(e::NotUsed, "Employement Status Code"),
|
192
|
+
b::Element(e::NotUsed, "Student Status Code"),
|
193
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code"),
|
194
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
195
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
196
|
+
b::Element(e::NotUsed, "Confidentiality Code"),
|
197
|
+
b::Element(e::NotUsed, "City Name"),
|
198
|
+
b::Element(e::NotUsed, "State or Province Code"),
|
199
|
+
b::Element(e::NotUsed, "Country Code"),
|
200
|
+
b::Element(e::Required, "Birth Sequence Number")),
|
201
|
+
b::Segment(1150, s::HI, "Subscriber Health Care Diagnosis Code",
|
202
|
+
r::Situational, d::RepeatCount.bounded(1),
|
203
|
+
b::Element(e::Required, "HEALTH CARE CODE INFORMATION",
|
204
|
+
b::Element(e::Required, "Diagnosis Code Type", b::Values("ABK", "BK")),
|
205
|
+
b::Element(e::Required, "Diagnosis Code"),
|
206
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
207
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
208
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
209
|
+
b::Element(e::NotUsed, "Quantity"),
|
210
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
211
|
+
b::Element(e::NotUsed, "Industry Code"),
|
212
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
213
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
214
|
+
b::Element(e::Required, "Diagnosis Code Type", b::Values("ABF", "BF")),
|
215
|
+
b::Element(e::Required, "Diagnosis Code"),
|
216
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
217
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
218
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
219
|
+
b::Element(e::NotUsed, "Quantity"),
|
220
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
221
|
+
b::Element(e::NotUsed, "Industry Code"),
|
222
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
223
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
224
|
+
b::Element(e::Required, "Diagnosis Code Type", b::Values("ABF", "BF")),
|
225
|
+
b::Element(e::Required, "Diagnosis Code"),
|
226
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
227
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
228
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
229
|
+
b::Element(e::NotUsed, "Quantity"),
|
230
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
231
|
+
b::Element(e::NotUsed, "Industry Code"),
|
232
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
233
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
234
|
+
b::Element(e::Required, "Diagnosis Code Type", b::Values("ABF", "BF")),
|
235
|
+
b::Element(e::Required, "Diagnosis Code"),
|
236
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
237
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
238
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
239
|
+
b::Element(e::NotUsed, "Quantity"),
|
240
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
241
|
+
b::Element(e::NotUsed, "Industry Code"),
|
242
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
243
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
244
|
+
b::Element(e::Required, "Diagnosis Code Type", b::Values("ABF", "BF")),
|
245
|
+
b::Element(e::Required, "Diagnosis Code"),
|
246
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
247
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
248
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
249
|
+
b::Element(e::NotUsed, "Quantity"),
|
250
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
251
|
+
b::Element(e::NotUsed, "Industry Code"),
|
252
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
253
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
254
|
+
b::Element(e::Required, "Diagnosis Code Type", b::Values("ABF", "BF")),
|
255
|
+
b::Element(e::Required, "Diagnosis Code"),
|
256
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
257
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
258
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
259
|
+
b::Element(e::NotUsed, "Quantity"),
|
260
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
261
|
+
b::Element(e::NotUsed, "Industry Code"),
|
262
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
263
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
264
|
+
b::Element(e::Required, "Diagnosis Code Type", b::Values("ABF", "BF")),
|
265
|
+
b::Element(e::Required, "Diagnosis Code"),
|
266
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
267
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
268
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
269
|
+
b::Element(e::NotUsed, "Quantity"),
|
270
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
271
|
+
b::Element(e::NotUsed, "Industry Code"),
|
272
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
273
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
274
|
+
b::Element(e::Required, "Diagnosis Code Type", b::Values("ABF", "BF")),
|
275
|
+
b::Element(e::Required, "Diagnosis Code"),
|
276
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
277
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
278
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
279
|
+
b::Element(e::NotUsed, "Quantity"),
|
280
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
281
|
+
b::Element(e::NotUsed, "Industry Code"),
|
282
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
283
|
+
b::Element(e::NotUsed, "HEALTH CARE CODE INFORMATION"),
|
284
|
+
b::Element(e::NotUsed, "HEALTH CARE CODE INFORMATION"),
|
285
|
+
b::Element(e::NotUsed, "HEALTH CARE CODE INFORMATION"),
|
286
|
+
b::Element(e::NotUsed, "HEALTH CARE CODE INFORMATION")),
|
287
|
+
b::Segment(1200, s::DTP, "Subscriber Date",
|
288
|
+
r::Situational, d::RepeatCount.bounded(2),
|
289
|
+
b::Element(e::Required, "Date Time Qualifier", b::Values("102", "291")),
|
290
|
+
b::Element(e::Required, "Date Time Period Format Qualifier", b::Values("D8", "RD8")),
|
291
|
+
b::Element(e::Required, "Date Time Period")),
|
292
|
+
|
293
|
+
d::LoopDef.build("2110C SUBSCRIBER ELIGIBILITY OR BENEFIT INQUIRY",
|
294
|
+
d::RepeatCount.bounded(99),
|
295
|
+
b::Segment(1300, s::EQ, "Subscriber Eligibility or Benefit Inquiry",
|
296
|
+
r::Situational, d::RepeatCount.bounded(1),
|
297
|
+
b::Element(e::Situational, "Service Type Code", b::Values("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "30", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "AN", "AO", "AQ", "AR", "B1", "B2", "B3", "BA", "BB", "BC", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BK", "BL", "BM", "BN", "BP", "BQ", "BR", "BS", "BT", "BU", "BV", "BW", "BX", "BY", "BZ", "C1", "CA", "CB", "CD", "CE", "CF", "CG", "CH", "CI", "CJ", "CK", "CL", "CM", "CN", "CO", "CP", "CQ", "DG", "DM", "DS", "GF", "GN", "GY", "IC", "MH", "NI", "ON", "PT", "PU", "RN", "RT", "TC", "TN", "UC")),
|
298
|
+
b::Element(e::Situational, "COMPOSITE MEDICAL PROCEDURE IDENTIFIER",
|
299
|
+
b::Element(e::Required, "Product/Service ID Qualifier", b::Values("AD", "CJ", "HC", "ID", "IV", "N4", "ZZ")),
|
300
|
+
b::Element(e::Required, "Procedure Code"),
|
301
|
+
b::Element(e::Situational, "Procedure Modifier"),
|
302
|
+
b::Element(e::Situational, "Procedure Modifier"),
|
303
|
+
b::Element(e::Situational, "Procedure Modifier"),
|
304
|
+
b::Element(e::Situational, "Procedure Modifier"),
|
305
|
+
b::Element(e::NotUsed, "Description"),
|
306
|
+
b::Element(e::NotUsed, "Product/Service ID")),
|
307
|
+
b::Element(e::Situational, "Coverage Level Code", b::Values("FAM")),
|
308
|
+
b::Element(e::NotUsed, "Insurance Type Code"),
|
309
|
+
b::Element(e::Situational, "COMPOSITE DIAGNOSIS CODE POINTER",
|
310
|
+
b::Element(e::Required, "Diagnosis Code Pointer"),
|
311
|
+
b::Element(e::Situational, "Diagnosis Code Pointer"),
|
312
|
+
b::Element(e::Situational, "Diagnosis Code Pointer"),
|
313
|
+
b::Element(e::Situational, "Diagnosis Code Pointer"))),
|
314
|
+
b::Segment(1350, s::AMT, "Subscriber Spend Down Amount",
|
315
|
+
r::Situational, d::RepeatCount.bounded(1),
|
316
|
+
b::Element(e::Required, "Amount Qualifier Code", b::Values("R")),
|
317
|
+
b::Element(e::Required, "Spend Down Amount"),
|
318
|
+
b::Element(e::NotUsed, "Credit/Debit Flag Code")),
|
319
|
+
b::Segment(1350, s::AMT, "Subscriber Spend Down Total Billed Amount",
|
320
|
+
r::Situational, d::RepeatCount.bounded(1),
|
321
|
+
b::Element(e::Required, "Amount Qualifier Code", b::Values("PB")),
|
322
|
+
b::Element(e::Required, "Spend Down Total Billed Amount"),
|
323
|
+
b::Element(e::NotUsed, "Credit/Debit Flag Code")),
|
324
|
+
b::Segment(1700, s::III, "Subscriber Eligibility or Benefit Additional Inquiry Information",
|
325
|
+
r::Situational, d::RepeatCount.bounded(1),
|
326
|
+
b::Element(e::Required, "Code List Qualifier Code", b::Values("ZZ")),
|
327
|
+
b::Element(e::Required, "Industry Code"),
|
328
|
+
b::Element(e::NotUsed, "Code Category"),
|
329
|
+
b::Element(e::NotUsed, "Free-form Message Text"),
|
330
|
+
b::Element(e::NotUsed, "Quantity"),
|
331
|
+
b::Element(e::NotUsed, "COMPOSITE UNIT OF MEASURE"),
|
332
|
+
b::Element(e::NotUsed, "Surface/Layer/Position Code"),
|
333
|
+
b::Element(e::NotUsed, "Surface/Layer/Position Code"),
|
334
|
+
b::Element(e::NotUsed, "Surface/Layer/Position Code")),
|
335
|
+
b::Segment(1900, s::REF, "Subscriber Additional Information",
|
336
|
+
r::Situational, d::RepeatCount.bounded(1),
|
337
|
+
b::Element(e::Required, "Reference Identification Qualifier", b::Values("9F", "G1")),
|
338
|
+
b::Element(e::Required, "Prior Authorization or Referral Number"),
|
339
|
+
b::Element(e::NotUsed, "Description"),
|
340
|
+
b::Element(e::NotUsed, "REFERENCE IDENTIFIER")),
|
341
|
+
b::Segment(2000, s::DTP, "Subscriber Eligibility/Benefit Date",
|
342
|
+
r::Situational, d::RepeatCount.bounded(1),
|
343
|
+
b::Element(e::Required, "Date/Time Qualifier", b::Values("291")),
|
344
|
+
b::Element(e::Required, "Date Time Period Format Qualifier", b::Values("D8", "RD8")),
|
345
|
+
b::Element(e::Required, "Date Time Period")))))),
|
346
|
+
|
347
|
+
d::TableDef.detail("Dependent Detail",
|
348
|
+
d::LoopDef.build("2000D DEPENDENT LEVEL",
|
349
|
+
d::RepeatCount.bounded(1),
|
350
|
+
b::Segment(100, s::HL, "Dependent Level",
|
351
|
+
r::Situational, d::RepeatCount.bounded(1),
|
352
|
+
b::Element(e::Required, "Hierarchical ID Number"),
|
353
|
+
b::Element(e::Required, "Hierarchical Parent ID Number"),
|
354
|
+
b::Element(e::Required, "Hierarchical Level Code", b::Values("23")),
|
355
|
+
b::Element(e::Required, "Hierarchical Child Code", b::Values("0"))),
|
356
|
+
b::Segment(200, s::TRN, "Dependent Trace Number",
|
357
|
+
r::Situational, d::RepeatCount.bounded(2),
|
358
|
+
b::Element(e::Required, "Trace Type Code", b::Values("1")),
|
359
|
+
b::Element(e::Required, "Trace Number"),
|
360
|
+
b::Element(e::Required, "Trace Assigning Entity Identiier"),
|
361
|
+
b::Element(e::Situational, "Trace Assigning Entity Additional Identifier")),
|
362
|
+
|
363
|
+
d::LoopDef.build("2100D DEPENDENT NAME",
|
364
|
+
d::RepeatCount.bounded(1),
|
365
|
+
b::Segment(300, s::NM1, "Dependent Name",
|
366
|
+
r::Required, d::RepeatCount.bounded(1),
|
367
|
+
b::Element(e::Required, "Entity Identifier Code", b::Values("03")),
|
368
|
+
b::Element(e::Required, "Entity Typ Qualifier", b::Values("1")),
|
369
|
+
b::Element(e::Situational, "Dependent Last Name"),
|
370
|
+
b::Element(e::Situational, "Dependent First Name"),
|
371
|
+
b::Element(e::Situational, "Dependent Middle Name"),
|
372
|
+
b::Element(e::NotUsed, "Name Prefix"),
|
373
|
+
b::Element(e::Situational, "Dependent Name Suffix"),
|
374
|
+
b::Element(e::NotUsed, "Identification Code Qualifier"),
|
375
|
+
b::Element(e::NotUsed, "Identification Code"),
|
376
|
+
b::Element(e::NotUsed, "Entity Relationship Code"),
|
377
|
+
b::Element(e::NotUsed, "Entity Identifier Code"),
|
378
|
+
b::Element(e::NotUsed, "Name Last or Organization Name")),
|
379
|
+
b::Segment(400, s::REF, "Dependent Additional Identification",
|
380
|
+
r::Situational, d::RepeatCount.bounded(9),
|
381
|
+
b::Element(e::Required, "Reference Identification Qualifier", b::Values("18", "1L", "6P", "CT", "EA", "EJ", "F6", "GH", "HJ", "IF", "IG", "MRC", "N6", "SY", "Y4")),
|
382
|
+
b::Element(e::Required, "Dependent Supplemental Identifier"),
|
383
|
+
b::Element(e::NotUsed, "Description"),
|
384
|
+
b::Element(e::NotUsed, "REFERENCE IDENTIFIER")),
|
385
|
+
b::Segment(600, s::N3, "Dependent Address",
|
386
|
+
r::Situational, d::RepeatCount.bounded(1),
|
387
|
+
b::Element(e::Required, "Dependent Address Line"),
|
388
|
+
b::Element(e::Situational, "Dependent Address Line")),
|
389
|
+
b::Segment(700, s::N4, "Dependent City, State, ZIP Code",
|
390
|
+
r::Situational, d::RepeatCount.bounded(1),
|
391
|
+
b::Element(e::Required, "Dependent City Name"),
|
392
|
+
b::Element(e::Situational, "Dependent State Code"),
|
393
|
+
b::Element(e::Situational, "Dependent Postal Zone or ZIP Code"),
|
394
|
+
b::Element(e::Situational, "Country Code"),
|
395
|
+
b::Element(e::NotUsed, "Location Qualifier"),
|
396
|
+
b::Element(e::NotUsed, "Location Identifier"),
|
397
|
+
b::Element(e::Situational, "Country Subdivision Code")),
|
398
|
+
b::Segment(900, s::PRV, "Provider Information",
|
399
|
+
r::Situational, d::RepeatCount.bounded(1),
|
400
|
+
b::Element(e::Required, "Provider Code", b::Values("AD", "AT", "BI", "CO", "CV", "H", "HH", "LA", "OT", "P1", "P2", "PC", "PE", "R", "RF", "SK", "SU")),
|
401
|
+
b::Element(e::Situational, "Reference Identification Qualifier", b::Values("9K", "D3", "EI", "HPI", "PXC", "SY", "TJ")),
|
402
|
+
b::Element(e::Situational, "Provider Identifier"),
|
403
|
+
b::Element(e::NotUsed, "State or Province Code"),
|
404
|
+
b::Element(e::NotUsed, "PROVIDER SPECIALTY INFORMATION"),
|
405
|
+
b::Element(e::NotUsed, "Provider Organization Code")),
|
406
|
+
b::Segment(1000, s::DMG, "Dependent Demographic Information",
|
407
|
+
r::Situational, d::RepeatCount.bounded(1),
|
408
|
+
b::Element(e::Situational, "Date Time Period Format Qualifier", b::Values("D8")),
|
409
|
+
b::Element(e::Situational, "Dependent Birth Date"),
|
410
|
+
b::Element(e::Situational, "Dependent Gender Code"),
|
411
|
+
b::Element(e::NotUsed, "Marital Status Code"),
|
412
|
+
b::Element(e::NotUsed, "COMPOSITE RACE OR ETHNICITY INFORMATION"),
|
413
|
+
b::Element(e::NotUsed, "Citizenship Status Code"),
|
414
|
+
b::Element(e::NotUsed, "Country Code"),
|
415
|
+
b::Element(e::NotUsed, "Basis of Verification Code"),
|
416
|
+
b::Element(e::NotUsed, "Quantity"),
|
417
|
+
b::Element(e::NotUsed, "Code LIst Qualifier Code"),
|
418
|
+
b::Element(e::NotUsed, "Industry Code")),
|
419
|
+
b::Segment(1100, s::INS, "Dependent Relationship",
|
420
|
+
r::Situational, d::RepeatCount.bounded(1),
|
421
|
+
b::Element(e::Required, "Insured Indicator", b::Values("N")),
|
422
|
+
b::Element(e::Required, "Individual Relationship Code", b::Values("01", "19", "34")),
|
423
|
+
b::Element(e::NotUsed, "Maintenance Type Code"),
|
424
|
+
b::Element(e::NotUsed, "Maintenance Reason Code"),
|
425
|
+
b::Element(e::NotUsed, "Benefit Status Code"),
|
426
|
+
b::Element(e::NotUsed, "MEDICARE STATUS CODE"),
|
427
|
+
b::Element(e::NotUsed, "Consolidated Omnibus Budget Reconciliation Act (CORBA) Qualifying"),
|
428
|
+
b::Element(e::NotUsed, "Employment Status Code"),
|
429
|
+
b::Element(e::NotUsed, "Student Status Code"),
|
430
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code"),
|
431
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
432
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
433
|
+
b::Element(e::NotUsed, "Confidentiality Code"),
|
434
|
+
b::Element(e::NotUsed, "City Name"),
|
435
|
+
b::Element(e::NotUsed, "State or Province Code"),
|
436
|
+
b::Element(e::NotUsed, "Country Code"),
|
437
|
+
b::Element(e::Situational, "Birth Sequence Number")),
|
438
|
+
b::Segment(1150, s::HI, "Dependent Health Care Diagnosis Code",
|
439
|
+
r::Situational, d::RepeatCount.bounded(1),
|
440
|
+
b::Element(e::Required, "HEALTH CARE CODE INFORMATION",
|
441
|
+
b::Element(e::Required, "Code List Quailfier Code", b::Values("ABK", "BK")),
|
442
|
+
b::Element(e::Required, "Industry Code"),
|
443
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
444
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
445
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
446
|
+
b::Element(e::NotUsed, "Quantity"),
|
447
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
448
|
+
b::Element(e::NotUsed, "Industry Code"),
|
449
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
450
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
451
|
+
b::Element(e::Required, "Code List Quailfier Code", b::Values("ABF", "BF")),
|
452
|
+
b::Element(e::Required, "Industry Code"),
|
453
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
454
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
455
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
456
|
+
b::Element(e::NotUsed, "Quantity"),
|
457
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
458
|
+
b::Element(e::NotUsed, "Industry Code"),
|
459
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
460
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
461
|
+
b::Element(e::Required, "Code List Quailfier Code", b::Values("ABF", "BF")),
|
462
|
+
b::Element(e::Required, "Industry Code"),
|
463
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
464
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
465
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
466
|
+
b::Element(e::NotUsed, "Quantity"),
|
467
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
468
|
+
b::Element(e::NotUsed, "Industry Code"),
|
469
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
470
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
471
|
+
b::Element(e::Required, "Code List Quailfier Code", b::Values("ABF", "BF")),
|
472
|
+
b::Element(e::Required, "Industry Code"),
|
473
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
474
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
475
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
476
|
+
b::Element(e::NotUsed, "Quantity"),
|
477
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
478
|
+
b::Element(e::NotUsed, "Industry Code"),
|
479
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
480
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
481
|
+
b::Element(e::Required, "Code List Quailfier Code", b::Values("ABF", "BF")),
|
482
|
+
b::Element(e::Required, "Industry Code"),
|
483
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
484
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
485
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
486
|
+
b::Element(e::NotUsed, "Quantity"),
|
487
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
488
|
+
b::Element(e::NotUsed, "Industry Code"),
|
489
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
490
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
491
|
+
b::Element(e::Required, "Code List Quailfier Code", b::Values("ABF", "BF")),
|
492
|
+
b::Element(e::Required, "Industry Code"),
|
493
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
494
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
495
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
496
|
+
b::Element(e::NotUsed, "Quantity"),
|
497
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
498
|
+
b::Element(e::NotUsed, "Industry Code"),
|
499
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
500
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
501
|
+
b::Element(e::Required, "Code List Quailfier Code", b::Values("ABF", "BF")),
|
502
|
+
b::Element(e::Required, "Industry Code"),
|
503
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
504
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
505
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
506
|
+
b::Element(e::NotUsed, "Quantity"),
|
507
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
508
|
+
b::Element(e::NotUsed, "Industry Code"),
|
509
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
510
|
+
b::Element(e::Situational, "HEALTH CARE CODE INFORMATION",
|
511
|
+
b::Element(e::Required, "Code List Quailfier Code", b::Values("ABF", "BF")),
|
512
|
+
b::Element(e::Required, "Industry Code"),
|
513
|
+
b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
|
514
|
+
b::Element(e::NotUsed, "Date Time Period"),
|
515
|
+
b::Element(e::NotUsed, "Monetary Amount"),
|
516
|
+
b::Element(e::NotUsed, "Quantity"),
|
517
|
+
b::Element(e::NotUsed, "Version Identifier"),
|
518
|
+
b::Element(e::NotUsed, "Industry Code"),
|
519
|
+
b::Element(e::NotUsed, "Yes/No Condition or Response Code")),
|
520
|
+
b::Element(e::NotUsed, "HEALTH CARE CODE INFORMATION"),
|
521
|
+
b::Element(e::NotUsed, "HEALTH CARE CODE INFORMATION"),
|
522
|
+
b::Element(e::NotUsed, "HEALTH CARE CODE INFORMATION"),
|
523
|
+
b::Element(e::NotUsed, "HEALTH CARE CODE INFORMATION")),
|
524
|
+
b::Segment(1200, s::DTP, "Dependent Date",
|
525
|
+
r::Situational, d::RepeatCount.bounded(2),
|
526
|
+
b::Element(e::Required, "Date/Time Qualifier", b::Values("102", "291")),
|
527
|
+
b::Element(e::Required, "Date Time Period Format Qualifier", b::Values("D8", "RD8")),
|
528
|
+
b::Element(e::Required, "Date Time Period")),
|
529
|
+
|
530
|
+
d::LoopDef.build("2110D DEPENDENT ELIGIBILITY OR BENEFIT INQUIRY",
|
531
|
+
d::RepeatCount.bounded(99),
|
532
|
+
b::Segment(1300, s::EQ, "Dependent Eligibility or Benefit Inquiry",
|
533
|
+
r::Required, d::RepeatCount.bounded(1),
|
534
|
+
b::Element(e::Situational, "Service Type Code", b::Values("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "30", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "AN", "AO", "AQ", "AR", "B1", "B2", "B3", "BA", "BB", "BC", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BK", "BL", "BM", "BN", "BP", "BQ", "BR", "BS", "BT", "BU", "BV", "BW", "BX", "BY", "BZ", "C1", "CA", "CB", "CC", "CD", "CE", "CF", "CG", "CH", "CI", "CJ", "CK", "CL", "CM", "CN", "CO", "CP", "CQ", "DG", "DM", "DS", "GF", "GN", "GY", "IC", "MH", "NI", "PT", "PU", "RN", "RT", "TN", "UC")),
|
535
|
+
b::Element(e::Situational, "COMPOSITE MEDICAL PROCEDURE IDENTIFIER",
|
536
|
+
b::Element(e::Required, "Product/Service ID Qualifier", b::Values("AD", "CJ", "HC", "ID", "IV", "N4", "ZZ")),
|
537
|
+
b::Element(e::Required, "Procedure Code"),
|
538
|
+
b::Element(e::Situational, "Procedure Modifier"),
|
539
|
+
b::Element(e::Situational, "Procedure Modifier"),
|
540
|
+
b::Element(e::Situational, "Procedure Modifier"),
|
541
|
+
b::Element(e::Situational, "Procedure Modifier"),
|
542
|
+
b::Element(e::NotUsed, "Description"),
|
543
|
+
b::Element(e::NotUsed, "Product/Service ID")),
|
544
|
+
b::Element(e::NotUsed, "Coverage Level Code"),
|
545
|
+
b::Element(e::NotUsed, "Insurance Type Code"),
|
546
|
+
b::Element(e::Situational, "COMPOSITE DIAGNOSIS CODE POINTER",
|
547
|
+
b::Element(e::Required, "Diagnosis Code Pointer"),
|
548
|
+
b::Element(e::Situational, "Diagnosis Code Pointer"),
|
549
|
+
b::Element(e::Situational, "Diagnosis Code Pointer"),
|
550
|
+
b::Element(e::Situational, "Diagnosis Code Pointer"))),
|
551
|
+
b::Segment(1700, s::III, "Dependent Eligibility or Benefit Additional Inquiry Information",
|
552
|
+
r::Situational, d::RepeatCount.bounded(1),
|
553
|
+
b::Element(e::Required, "Code List Qualifier", b::Values("ZZ")),
|
554
|
+
b::Element(e::Required, "Industry Code"),
|
555
|
+
b::Element(e::NotUsed, "Code Category"),
|
556
|
+
b::Element(e::NotUsed, "Free-form Message Text"),
|
557
|
+
b::Element(e::NotUsed, "Quantity"),
|
558
|
+
b::Element(e::NotUsed, "COMPOSITE UNIT OF MEASURE"),
|
559
|
+
b::Element(e::NotUsed, "Surface/Layer/Position Code"),
|
560
|
+
b::Element(e::NotUsed, "Surface/Layer/Position Code"),
|
561
|
+
b::Element(e::NotUsed, "Surface/Layer/Position Code")),
|
562
|
+
b::Segment(1900, s::REF, "Dependent Additional Information",
|
563
|
+
r::Situational, d::RepeatCount.bounded(1),
|
564
|
+
b::Element(e::Required, "Reference Identification Qualifier", b::Values("9F", "G1")),
|
565
|
+
b::Element(e::Required, "Prior Authorization or Referral Number"),
|
566
|
+
b::Element(e::NotUsed, "Description"),
|
567
|
+
b::Element(e::NotUsed, "REFERENCE IDENTIFIER")),
|
568
|
+
b::Segment(2000, s::DTP, "Dependent Eligibility/Benefit Date",
|
569
|
+
r::Situational, d::RepeatCount.bounded(1),
|
570
|
+
b::Element(e::Required, "Date Time Qualifier", b::Values("291")),
|
571
|
+
b::Element(e::Required, "Date Time Period Format Qualifier", b::Values("D8", "RD8")),
|
572
|
+
b::Element(e::Required, "Date Time Period")))))),
|
573
|
+
|
574
|
+
# The X12 standard and X279 specification place the SE segment at what
|
575
|
+
# appears to be the end of Table 2 - Dependent Detail. This doesn't make
|
576
|
+
# sense because Table 2 - Dependent Detail doesn't occur if the patient
|
577
|
+
# is the subscriber.
|
578
|
+
#
|
579
|
+
# If we placed it in both Table 2 - Subscriber Detail and Table 2 -
|
580
|
+
# Dependent Detail, it would incorrectly allow the segment to occur in
|
581
|
+
# each table.
|
582
|
+
#
|
583
|
+
# This structure doesn't match the specification, but it does ensure
|
584
|
+
# that the first occurrence of SE terminates the transaction set.
|
585
|
+
d::TableDef.summary("Table 3 - Summary",
|
586
|
+
b::Segment(5550, s::SE, "Transaction Set Trailer",
|
587
|
+
r::Required, d::RepeatCount.bounded(1),
|
588
|
+
b::Element(e::Required, "Number of Included Segments"),
|
589
|
+
b::Element(e::Required, "Transaction Set Control Number"))))
|
590
|
+
|
591
|
+
end
|
592
|
+
end
|
593
|
+
end
|
594
|
+
end
|