Skip to main content

x12_types/v005010/segment/
d.rs

1use serde::{Deserialize, Serialize};
2use validator::Validate;
3use x12_types_macros::{DisplaySegment, ParseSegment};
4
5/// DMA - Additional Demographic Information
6///
7/// To convey additional demographic and reference information
8#[derive(
9    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
10)]
11pub struct DMA {
12    #[serde(rename = "01")]
13    pub _01: Option<String>,
14    #[serde(rename = "02")]
15    pub _02: Option<String>,
16    #[serde(rename = "03")]
17    pub _03: Option<String>,
18    #[serde(rename = "04")]
19    pub _04: Option<String>,
20    #[serde(rename = "05")]
21    pub _05: Option<String>,
22    #[serde(rename = "06")]
23    pub _06: Option<String>,
24    #[serde(rename = "07")]
25    pub _07: Option<String>,
26    #[serde(rename = "08")]
27    pub _08: Option<String>,
28    #[serde(rename = "09")]
29    pub _09: Option<String>,
30    #[serde(rename = "10")]
31    pub _10: Option<String>,
32    #[serde(rename = "11")]
33    pub _11: Option<String>,
34    #[serde(rename = "12")]
35    pub _12: Option<String>,
36    #[serde(rename = "13")]
37    pub _13: Option<String>,
38    #[serde(rename = "14")]
39    pub _14: Option<String>,
40    #[serde(rename = "15")]
41    pub _15: Option<String>,
42    #[serde(rename = "16")]
43    pub _16: Option<String>,
44    #[serde(rename = "17")]
45    pub _17: Option<String>,
46    #[serde(rename = "18")]
47    pub _18: Option<String>,
48}
49
50/// DEP - Deposit Information
51///
52/// To convey deposit identification and depository financial institution data
53///
54/// REF | ID | NAME | REQ | TYPE | MIN/MAX
55/// ----|----|-------|----|------|-------
56/// 01 | 127 | Reference Identification | M | AN | 1/50
57/// 02 | 373 | Date | M | DT | 8/8
58/// 03 | 337 | Time | O | TM | 4/8
59/// 04 | 127 | Reference Identification | O | AN | 1/50
60/// 05 | 506 | (DFI) ID Number Qualifier | M | ID | 2/2
61/// 06 | 507 | (DFI) Identification Number | M | AN | 3/12
62/// 07 | 569 | Account Number Qualifier | C | ID | 1/3
63/// 08 | 508 | Account Number | C | AN | 1/35
64#[derive(
65    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
66)]
67pub struct DEP {
68    #[serde(rename = "01")]
69    pub _01: String,
70    #[serde(rename = "02")]
71    pub _02: String,
72    #[serde(rename = "03")]
73    pub _03: Option<String>,
74    #[serde(rename = "04")]
75    pub _04: Option<String>,
76    #[serde(rename = "05")]
77    pub _05: crate::v005010::element::E506,
78    #[serde(rename = "06")]
79    pub _06: String,
80    #[serde(rename = "07")]
81    pub _07: Option<crate::v005010::element::E569>,
82    #[serde(rename = "08")]
83    pub _08: Option<String>,
84}
85
86/// DD - Demand Detail
87///
88/// To identify the demand type and the use of the material
89///
90/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
91/// ----|----|-------|--------|----|------|-------
92/// 01 | 1271 | Industry Code | 1 | X | AN | 1/30
93/// 02 | 1270 | Code List Qualifier Code | 1 | O | ID | 1/3
94/// 03 | 128 | Reference Identification Qualifier | 1 | X | ID | 2/3
95/// 04 | 127 | Reference Identification | 1 | X | AN | 1/50
96/// 05 | 1271 | Industry Code | 1 | X | AN | 1/30
97/// 06 | 1270 | Code List Qualifier Code | 1 | O | ID | 1/3
98/// 07 | 380 | Quantity | 1 | O | R | 1/15
99/// 08 | 1073 | Yes/No Condition or Response Code | 1 | O | ID | 1/1
100/// 09 | 1271 | Industry Code | 1 | X | AN | 1/30
101/// 10 | 1270 | Code List Qualifier Code | 1 | O | ID | 1/3
102#[derive(
103    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
104)]
105pub struct DD {
106    #[serde(rename = "01")]
107    pub _01: Option<String>,
108    #[serde(rename = "02")]
109    pub _02: Option<String>,
110    #[serde(rename = "03")]
111    pub _03: Option<String>,
112    #[serde(rename = "04")]
113    pub _04: Option<String>,
114    #[serde(rename = "05")]
115    pub _05: Option<String>,
116    #[serde(rename = "06")]
117    pub _06: Option<String>,
118    #[serde(rename = "07")]
119    pub _07: Option<String>,
120    #[serde(rename = "08")]
121    pub _08: Option<crate::v005010::element::E1073>,
122    #[serde(rename = "09")]
123    pub _09: Option<String>,
124    #[serde(rename = "10")]
125    pub _10: Option<String>,
126}
127
128/// DEG - Degree Record
129///
130/// To specify a degree earned
131///
132/// REF | ID | NAME | REQ | TYPE | MIN/MAX
133/// ----|----|-------|----|------|-------
134/// 01 | 1126 | Academic Degree Code | M | ID | 3/3
135/// 02 | 1250 | Date Time Period Format Qualifier | C | ID | 2/3
136/// 03 | 1251 | Date Time Period | C | AN | 1/35
137/// 04 | 352 | Description | O | AN | 1/80
138/// 05 | 641 | Status Reason Code | O | ID | 3/3
139#[derive(
140    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
141)]
142pub struct DEG {
143    #[serde(rename = "01")]
144    pub _01: String,
145    #[serde(rename = "02")]
146    pub _02: Option<String>,
147    #[serde(rename = "03")]
148    pub _03: Option<String>,
149    #[serde(rename = "04")]
150    pub _04: Option<String>,
151    #[serde(rename = "05")]
152    pub _05: Option<crate::v005010::element::E641>,
153}
154
155/// DMG - Demographic Information
156#[derive(
157    Serialize,
158    Deserialize,
159    Clone,
160    Default,
161    Debug,
162    Validate,
163    PartialEq,
164    Eq,
165    DisplaySegment,
166    ParseSegment,
167)]
168pub struct DMG {
169    #[serde(rename = "01")]
170    pub _01: Option<String>,
171    #[serde(rename = "02")]
172    pub _02: Option<String>,
173    #[serde(rename = "03")]
174    pub _03: Option<String>,
175    #[serde(rename = "04")]
176    pub _04: Option<String>,
177    #[serde(rename = "05")]
178    pub _05: Option<String>,
179    #[serde(rename = "06")]
180    pub _06: Option<String>,
181    #[serde(rename = "07")]
182    pub _07: Option<String>,
183    #[serde(rename = "08")]
184    pub _08: Option<String>,
185    #[serde(rename = "09")]
186    pub _09: Option<String>,
187    #[serde(rename = "10")]
188    pub _10: Option<String>,
189    #[serde(rename = "11")]
190    pub _11: Option<String>,
191}
192
193/// DN1 - Orthodontic Information
194#[derive(
195    Serialize,
196    Deserialize,
197    Clone,
198    Default,
199    Debug,
200    Validate,
201    PartialEq,
202    Eq,
203    DisplaySegment,
204    ParseSegment,
205)]
206pub struct DN1 {
207    #[serde(rename = "01")]
208    pub _01: Option<String>,
209    #[serde(rename = "02")]
210    pub _02: Option<String>,
211    #[serde(rename = "03")]
212    pub _03: Option<String>,
213    #[serde(rename = "04")]
214    pub _04: Option<String>,
215}
216
217/// DN2 - Tooth Summary
218#[derive(
219    Serialize,
220    Deserialize,
221    Clone,
222    Default,
223    Debug,
224    Validate,
225    PartialEq,
226    Eq,
227    DisplaySegment,
228    ParseSegment,
229)]
230pub struct DN2 {
231    #[serde(rename = "01")]
232    pub _01: String,
233    #[serde(rename = "02")]
234    pub _02: Option<String>,
235    #[serde(rename = "03")]
236    pub _03: Option<String>,
237    #[serde(rename = "04")]
238    pub _04: Option<String>,
239    #[serde(rename = "05")]
240    pub _05: Option<String>,
241    #[serde(rename = "06")]
242    pub _06: String,
243}
244
245/// DSB - Disability Information
246#[derive(
247    Serialize,
248    Deserialize,
249    Clone,
250    Default,
251    Debug,
252    Validate,
253    PartialEq,
254    Eq,
255    DisplaySegment,
256    ParseSegment,
257)]
258pub struct DSB {
259    #[serde(rename = "01")]
260    pub _01: String,
261    #[serde(rename = "02")]
262    pub _02: Option<String>,
263    #[serde(rename = "03")]
264    pub _03: Option<String>,
265    #[serde(rename = "04")]
266    pub _04: Option<String>,
267    #[serde(rename = "05")]
268    pub _05: Option<String>,
269    #[serde(rename = "06")]
270    pub _06: Option<String>,
271    #[serde(rename = "07")]
272    pub _07: Option<String>,
273    #[serde(rename = "08")]
274    pub _08: Option<String>,
275}
276
277/// DTM - Date/Time Reference
278#[derive(
279    Serialize,
280    Deserialize,
281    Clone,
282    Default,
283    Debug,
284    Validate,
285    PartialEq,
286    Eq,
287    DisplaySegment,
288    ParseSegment,
289)]
290pub struct DTM {
291    /// 374 - Date/Time Qualifier
292    #[serde(rename = "01")]
293    pub _01: crate::v005010::element::E374,
294    /// 373 - Date
295    #[serde(rename = "02")]
296    pub _02: Option<crate::v005010::element::E373>,
297    /// 337 - Time
298    #[serde(rename = "03")]
299    pub _03: Option<crate::v005010::element::E337>,
300    #[serde(rename = "04")]
301    pub _04: Option<String>,
302    /// 1250 - Date Time Period Format Qualifier
303    #[serde(rename = "05")]
304    pub _05: Option<crate::v005010::element::E1250>,
305    #[serde(rename = "06")]
306    pub _06: Option<String>,
307}
308
309/// DTP - Date or Time or Period
310#[derive(
311    Serialize,
312    Deserialize,
313    Clone,
314    Default,
315    Debug,
316    Validate,
317    PartialEq,
318    Eq,
319    DisplaySegment,
320    ParseSegment,
321)]
322pub struct DTP {
323    /// 374 - Date/Time Qualifier
324    #[serde(rename = "01")]
325    pub _01: crate::v005010::element::E374,
326    /// 1250 - Date Time Period Format Qualifier
327    #[serde(rename = "02")]
328    pub _02: crate::v005010::element::E1250,
329    #[serde(rename = "03")]
330    pub _03: String,
331}
332
333/// DED - Deductions
334#[derive(
335    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
336)]
337pub struct DED {
338    #[serde(rename = "01")]
339    pub _01: Option<String>,
340    #[serde(rename = "02")]
341    pub _02: Option<String>,
342    #[serde(rename = "03")]
343    pub _03: Option<String>,
344    #[serde(rename = "04")]
345    pub _04: Option<String>,
346    #[serde(rename = "05")]
347    pub _05: Option<String>,
348    #[serde(rename = "06")]
349    pub _06: Option<String>,
350    #[serde(rename = "07")]
351    pub _07: Option<String>,
352    #[serde(rename = "08")]
353    pub _08: Option<String>,
354    #[serde(rename = "09")]
355    pub _09: Option<String>,
356    #[serde(rename = "10")]
357    pub _10: Option<String>,
358    #[serde(rename = "11")]
359    pub _11: Option<String>,
360    #[serde(rename = "12")]
361    pub _12: Option<String>,
362    #[serde(rename = "13")]
363    pub _13: Option<String>,
364    #[serde(rename = "14")]
365    pub _14: Option<String>,
366    #[serde(rename = "15")]
367    pub _15: Option<String>,
368    #[serde(rename = "16")]
369    pub _16: Option<String>,
370    #[serde(rename = "17")]
371    pub _17: Option<String>,
372    #[serde(rename = "18")]
373    pub _18: Option<String>,
374    #[serde(rename = "19")]
375    pub _19: Option<String>,
376    #[serde(rename = "20")]
377    pub _20: Option<String>,
378    #[serde(rename = "21")]
379    pub _21: Option<String>,
380    #[serde(rename = "22")]
381    pub _22: Option<String>,
382    #[serde(rename = "23")]
383    pub _23: Option<String>,
384    #[serde(rename = "24")]
385    pub _24: Option<String>,
386    #[serde(rename = "25")]
387    pub _25: Option<String>,
388}
389
390/// DIS - Discount Detail
391#[derive(
392    Serialize,
393    Deserialize,
394    Clone,
395    Default,
396    Debug,
397    Validate,
398    PartialEq,
399    Eq,
400    DisplaySegment,
401    ParseSegment,
402)]
403pub struct DIS {
404    #[serde(rename = "01")]
405    pub _01: Option<String>,
406    #[serde(rename = "02")]
407    pub _02: Option<String>,
408    #[serde(rename = "03")]
409    pub _03: Option<String>,
410    #[serde(rename = "04")]
411    pub _04: Option<String>,
412    #[serde(rename = "05")]
413    pub _05: Option<String>,
414    #[serde(rename = "06")]
415    pub _06: Option<String>,
416}
417
418/// D9 - Destination Station
419#[derive(
420    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
421)]
422pub struct D9 {
423    #[serde(rename = "01")]
424    pub _01: Option<String>,
425    #[serde(rename = "02")]
426    pub _02: String,
427    #[serde(rename = "03")]
428    pub _03: String,
429    #[serde(rename = "04")]
430    pub _04: Option<String>,
431    #[serde(rename = "05")]
432    pub _05: Option<String>,
433    #[serde(rename = "06")]
434    pub _06: Option<String>,
435    #[serde(rename = "07")]
436    pub _07: Option<String>,
437    #[serde(rename = "08")]
438    pub _08: Option<String>,
439    #[serde(rename = "09")]
440    pub _09: Option<String>,
441    #[serde(rename = "10")]
442    pub _10: Option<String>,
443    #[serde(rename = "11")]
444    pub _11: Option<String>,
445    #[serde(rename = "12")]
446    pub _12: Option<String>,
447}