1#[doc = "The date when or period to which this information refers."]
3#[derive(Default, Debug, Clone, PartialEq)]
4pub enum ExplanationOfBenefitSupportingInfoTiming {
5 Date(super::super::types::Date),
6 Period(Box<super::super::types::Period>),
7 #[default]
8 Invalid,
9}
10#[doc = "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data."]
11#[derive(Default, Debug, Clone, PartialEq)]
12pub enum ExplanationOfBenefitSupportingInfoValue {
13 Boolean(super::super::types::Boolean),
14 String(super::super::types::String),
15 Quantity(Box<super::super::types::Quantity>),
16 Attachment(Box<super::super::types::Attachment>),
17 Reference(Box<super::super::types::Reference>),
18 #[default]
19 Invalid,
20}
21#[doc = "The nature of illness or problem in a coded form or as a reference to an external defined Condition."]
22#[derive(Default, Debug, Clone, PartialEq)]
23pub enum ExplanationOfBenefitDiagnosisDiagnosis {
24 CodeableConcept(Box<super::super::types::CodeableConcept>),
25 Reference(Box<super::super::types::Reference>),
26 #[default]
27 Invalid,
28}
29#[doc = "The code or reference to a Procedure resource which identifies the clinical intervention performed."]
30#[derive(Default, Debug, Clone, PartialEq)]
31pub enum ExplanationOfBenefitProcedureProcedure {
32 CodeableConcept(Box<super::super::types::CodeableConcept>),
33 Reference(Box<super::super::types::Reference>),
34 #[default]
35 Invalid,
36}
37#[doc = "The physical location of the accident event."]
38#[derive(Default, Debug, Clone, PartialEq)]
39pub enum ExplanationOfBenefitAccidentLocation {
40 Address(Box<super::super::types::Address>),
41 Reference(Box<super::super::types::Reference>),
42 #[default]
43 Invalid,
44}
45#[doc = "The date or dates when the service or product was supplied, performed or completed."]
46#[derive(Default, Debug, Clone, PartialEq)]
47pub enum ExplanationOfBenefitItemServiced {
48 Date(super::super::types::Date),
49 Period(Box<super::super::types::Period>),
50 #[default]
51 Invalid,
52}
53#[doc = "Where the product or service was provided."]
54#[derive(Default, Debug, Clone, PartialEq)]
55pub enum ExplanationOfBenefitItemLocation {
56 CodeableConcept(Box<super::super::types::CodeableConcept>),
57 Address(Box<super::super::types::Address>),
58 Reference(Box<super::super::types::Reference>),
59 #[default]
60 Invalid,
61}
62#[doc = "The date or dates when the service or product was supplied, performed or completed."]
63#[derive(Default, Debug, Clone, PartialEq)]
64pub enum ExplanationOfBenefitAddItemServiced {
65 Date(super::super::types::Date),
66 Period(Box<super::super::types::Period>),
67 #[default]
68 Invalid,
69}
70#[doc = "Where the product or service was provided."]
71#[derive(Default, Debug, Clone, PartialEq)]
72pub enum ExplanationOfBenefitAddItemLocation {
73 CodeableConcept(Box<super::super::types::CodeableConcept>),
74 Address(Box<super::super::types::Address>),
75 Reference(Box<super::super::types::Reference>),
76 #[default]
77 Invalid,
78}
79#[doc = "The quantity of the benefit which is permitted under the coverage."]
80#[derive(Default, Debug, Clone, PartialEq)]
81pub enum ExplanationOfBenefitBenefitBalanceFinancialAllowed {
82 UnsignedInt(super::super::types::UnsignedInt),
83 String(super::super::types::String),
84 Money(Box<super::super::types::Money>),
85 #[default]
86 Invalid,
87}
88#[doc = "The quantity of the benefit which have been consumed to date."]
89#[derive(Default, Debug, Clone, PartialEq)]
90pub enum ExplanationOfBenefitBenefitBalanceFinancialUsed {
91 UnsignedInt(super::super::types::UnsignedInt),
92 Money(Box<super::super::types::Money>),
93 #[default]
94 Invalid,
95}
96#[doc = "Other claims which are related to this claim such as prior submissions or claims for related services or for the same event."]
97#[derive(Debug, Clone, PartialEq)]
98pub struct ExplanationOfBenefitRelated {
99 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
100 pub r#id: Option<std::string::String>,
101 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
102 pub r#extension: Vec<super::super::types::Extension>,
103 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
104 pub r#modifier_extension: Vec<super::super::types::Extension>,
105 #[doc = "Reference to a related claim."]
106 pub r#claim: Option<Box<super::super::types::Reference>>,
107 #[doc = "A code to convey how the claims are related."]
108 pub r#relationship: Option<Box<super::super::types::CodeableConcept>>,
109 #[doc = "An alternate organizational reference to the case or file to which this particular claim pertains."]
110 pub r#reference: Option<Box<super::super::types::Identifier>>,
111}
112#[allow(clippy::derivable_impls)]
113impl Default for ExplanationOfBenefitRelated {
114 fn default() -> Self {
115 Self {
116 r#id: Default::default(),
117 r#extension: Default::default(),
118 r#modifier_extension: Default::default(),
119 r#claim: Default::default(),
120 r#relationship: Default::default(),
121 r#reference: Default::default(),
122 }
123 }
124}
125#[doc = "The party to be reimbursed for cost of the products and services according to the terms of the policy."]
126#[derive(Debug, Clone, PartialEq)]
127pub struct ExplanationOfBenefitPayee {
128 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
129 pub r#id: Option<std::string::String>,
130 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
131 pub r#extension: Vec<super::super::types::Extension>,
132 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
133 pub r#modifier_extension: Vec<super::super::types::Extension>,
134 #[doc = "Type of Party to be reimbursed: Subscriber, provider, other."]
135 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
136 #[doc = "Reference to the individual or organization to whom any payment will be made."]
137 pub r#party: Option<Box<super::super::types::Reference>>,
138}
139#[allow(clippy::derivable_impls)]
140impl Default for ExplanationOfBenefitPayee {
141 fn default() -> Self {
142 Self {
143 r#id: Default::default(),
144 r#extension: Default::default(),
145 r#modifier_extension: Default::default(),
146 r#type: Default::default(),
147 r#party: Default::default(),
148 }
149 }
150}
151#[doc = "The members of the team who provided the products and services."]
152#[derive(Debug, Clone, PartialEq)]
153pub struct ExplanationOfBenefitCareTeam {
154 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
155 pub r#id: Option<std::string::String>,
156 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
157 pub r#extension: Vec<super::super::types::Extension>,
158 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
159 pub r#modifier_extension: Vec<super::super::types::Extension>,
160 #[doc = "A number to uniquely identify care team entries."]
161 pub r#sequence: super::super::types::PositiveInt,
162 #[doc = "Member of the team who provided the product or service."]
163 pub r#provider: Box<super::super::types::Reference>,
164 #[doc = "The party who is billing and/or responsible for the claimed products or services."]
165 pub r#responsible: Option<super::super::types::Boolean>,
166 #[doc = "The lead, assisting or supervising practitioner and their discipline if a multidisciplinary team."]
167 pub r#role: Option<Box<super::super::types::CodeableConcept>>,
168 #[doc = "The qualification of the practitioner which is applicable for this service."]
169 pub r#qualification: Option<Box<super::super::types::CodeableConcept>>,
170}
171#[allow(clippy::derivable_impls)]
172impl Default for ExplanationOfBenefitCareTeam {
173 fn default() -> Self {
174 Self {
175 r#id: Default::default(),
176 r#extension: Default::default(),
177 r#modifier_extension: Default::default(),
178 r#sequence: super::super::types::PositiveInt {
179 id: Some("$invalid".to_string()),
180 ..Default::default()
181 },
182 r#provider: Box::new(super::super::types::Reference {
183 id: Some("$invalid".to_string()),
184 ..Default::default()
185 }),
186 r#responsible: Default::default(),
187 r#role: Default::default(),
188 r#qualification: Default::default(),
189 }
190 }
191}
192#[doc = "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues."]
193#[derive(Debug, Clone, PartialEq)]
194pub struct ExplanationOfBenefitSupportingInfo {
195 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
196 pub r#id: Option<std::string::String>,
197 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
198 pub r#extension: Vec<super::super::types::Extension>,
199 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
200 pub r#modifier_extension: Vec<super::super::types::Extension>,
201 #[doc = "A number to uniquely identify supporting information entries."]
202 pub r#sequence: super::super::types::PositiveInt,
203 #[doc = "The general class of the information supplied: information; exception; accident, employment; onset, etc."]
204 pub r#category: Box<super::super::types::CodeableConcept>,
205 #[doc = "System and code pertaining to the specific information regarding special conditions relating to the setting, treatment or patient for which care is sought."]
206 pub r#code: Option<Box<super::super::types::CodeableConcept>>,
207 #[doc = "The date when or period to which this information refers."]
208 pub r#timing: Option<ExplanationOfBenefitSupportingInfoTiming>,
209 #[doc = "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data."]
210 pub r#value: Option<ExplanationOfBenefitSupportingInfoValue>,
211 #[doc = "Provides the reason in the situation where a reason code is required in addition to the content."]
212 pub r#reason: Option<Box<super::super::types::Coding>>,
213}
214#[allow(clippy::derivable_impls)]
215impl Default for ExplanationOfBenefitSupportingInfo {
216 fn default() -> Self {
217 Self {
218 r#id: Default::default(),
219 r#extension: Default::default(),
220 r#modifier_extension: Default::default(),
221 r#sequence: super::super::types::PositiveInt {
222 id: Some("$invalid".to_string()),
223 ..Default::default()
224 },
225 r#category: Box::new(super::super::types::CodeableConcept {
226 id: Some("$invalid".to_string()),
227 ..Default::default()
228 }),
229 r#code: Default::default(),
230 r#timing: Default::default(),
231 r#value: Default::default(),
232 r#reason: Default::default(),
233 }
234 }
235}
236#[doc = "Information about diagnoses relevant to the claim items."]
237#[derive(Debug, Clone, PartialEq)]
238pub struct ExplanationOfBenefitDiagnosis {
239 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
240 pub r#id: Option<std::string::String>,
241 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
242 pub r#extension: Vec<super::super::types::Extension>,
243 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
244 pub r#modifier_extension: Vec<super::super::types::Extension>,
245 #[doc = "A number to uniquely identify diagnosis entries."]
246 pub r#sequence: super::super::types::PositiveInt,
247 #[doc = "The nature of illness or problem in a coded form or as a reference to an external defined Condition."]
248 pub r#diagnosis: ExplanationOfBenefitDiagnosisDiagnosis,
249 #[doc = "When the condition was observed or the relative ranking."]
250 pub r#type: Vec<super::super::types::CodeableConcept>,
251 #[doc = "Indication of whether the diagnosis was present on admission to a facility."]
252 pub r#on_admission: Option<Box<super::super::types::CodeableConcept>>,
253 #[doc = "A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system."]
254 pub r#package_code: Option<Box<super::super::types::CodeableConcept>>,
255}
256#[allow(clippy::derivable_impls)]
257impl Default for ExplanationOfBenefitDiagnosis {
258 fn default() -> Self {
259 Self {
260 r#id: Default::default(),
261 r#extension: Default::default(),
262 r#modifier_extension: Default::default(),
263 r#sequence: super::super::types::PositiveInt {
264 id: Some("$invalid".to_string()),
265 ..Default::default()
266 },
267 r#diagnosis: Default::default(),
268 r#type: Default::default(),
269 r#on_admission: Default::default(),
270 r#package_code: Default::default(),
271 }
272 }
273}
274#[doc = "Procedures performed on the patient relevant to the billing items with the claim."]
275#[derive(Debug, Clone, PartialEq)]
276pub struct ExplanationOfBenefitProcedure {
277 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
278 pub r#id: Option<std::string::String>,
279 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
280 pub r#extension: Vec<super::super::types::Extension>,
281 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
282 pub r#modifier_extension: Vec<super::super::types::Extension>,
283 #[doc = "A number to uniquely identify procedure entries."]
284 pub r#sequence: super::super::types::PositiveInt,
285 #[doc = "When the condition was observed or the relative ranking."]
286 pub r#type: Vec<super::super::types::CodeableConcept>,
287 #[doc = "Date and optionally time the procedure was performed."]
288 pub r#date: Option<super::super::types::DateTime>,
289 #[doc = "The code or reference to a Procedure resource which identifies the clinical intervention performed."]
290 pub r#procedure: ExplanationOfBenefitProcedureProcedure,
291 #[doc = "Unique Device Identifiers associated with this line item."]
292 pub r#udi: Vec<super::super::types::Reference>,
293}
294#[allow(clippy::derivable_impls)]
295impl Default for ExplanationOfBenefitProcedure {
296 fn default() -> Self {
297 Self {
298 r#id: Default::default(),
299 r#extension: Default::default(),
300 r#modifier_extension: Default::default(),
301 r#sequence: super::super::types::PositiveInt {
302 id: Some("$invalid".to_string()),
303 ..Default::default()
304 },
305 r#type: Default::default(),
306 r#date: Default::default(),
307 r#procedure: Default::default(),
308 r#udi: Default::default(),
309 }
310 }
311}
312#[doc = "Financial instruments for reimbursement for the health care products and services specified on the claim."]
313#[derive(Debug, Clone, PartialEq)]
314pub struct ExplanationOfBenefitInsurance {
315 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
316 pub r#id: Option<std::string::String>,
317 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
318 pub r#extension: Vec<super::super::types::Extension>,
319 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
320 pub r#modifier_extension: Vec<super::super::types::Extension>,
321 #[doc = "A flag to indicate that this Coverage is to be used for adjudication of this claim when set to true."]
322 pub r#focal: super::super::types::Boolean,
323 #[doc = "Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system."]
324 pub r#coverage: Box<super::super::types::Reference>,
325 #[doc = "Reference numbers previously provided by the insurer to the provider to be quoted on subsequent claims containing services or products related to the prior authorization."]
326 pub r#pre_auth_ref: Vec<super::super::types::String>,
327}
328#[allow(clippy::derivable_impls)]
329impl Default for ExplanationOfBenefitInsurance {
330 fn default() -> Self {
331 Self {
332 r#id: Default::default(),
333 r#extension: Default::default(),
334 r#modifier_extension: Default::default(),
335 r#focal: super::super::types::Boolean {
336 id: Some("$invalid".to_string()),
337 ..Default::default()
338 },
339 r#coverage: Box::new(super::super::types::Reference {
340 id: Some("$invalid".to_string()),
341 ..Default::default()
342 }),
343 r#pre_auth_ref: Default::default(),
344 }
345 }
346}
347#[doc = "Details of a accident which resulted in injuries which required the products and services listed in the claim."]
348#[derive(Debug, Clone, PartialEq)]
349pub struct ExplanationOfBenefitAccident {
350 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
351 pub r#id: Option<std::string::String>,
352 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
353 pub r#extension: Vec<super::super::types::Extension>,
354 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
355 pub r#modifier_extension: Vec<super::super::types::Extension>,
356 #[doc = "Date of an accident event related to the products and services contained in the claim."]
357 pub r#date: Option<super::super::types::Date>,
358 #[doc = "The type or context of the accident event for the purposes of selection of potential insurance coverages and determination of coordination between insurers."]
359 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
360 #[doc = "The physical location of the accident event."]
361 pub r#location: Option<ExplanationOfBenefitAccidentLocation>,
362}
363#[allow(clippy::derivable_impls)]
364impl Default for ExplanationOfBenefitAccident {
365 fn default() -> Self {
366 Self {
367 r#id: Default::default(),
368 r#extension: Default::default(),
369 r#modifier_extension: Default::default(),
370 r#date: Default::default(),
371 r#type: Default::default(),
372 r#location: Default::default(),
373 }
374 }
375}
376#[doc = "If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item."]
377#[derive(Debug, Clone, PartialEq)]
378pub struct ExplanationOfBenefitItemAdjudication {
379 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
380 pub r#id: Option<std::string::String>,
381 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
382 pub r#extension: Vec<super::super::types::Extension>,
383 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
384 pub r#modifier_extension: Vec<super::super::types::Extension>,
385 #[doc = "A code to indicate the information type of this adjudication record. Information types may include: the value submitted, maximum values or percentages allowed or payable under the plan, amounts that the patient is responsible for in-aggregate or pertaining to this item, amounts paid by other coverages, and the benefit payable for this item."]
386 pub r#category: Box<super::super::types::CodeableConcept>,
387 #[doc = "A code supporting the understanding of the adjudication result and explaining variance from expected amount."]
388 pub r#reason: Option<Box<super::super::types::CodeableConcept>>,
389 #[doc = "Monetary amount associated with the category."]
390 pub r#amount: Option<Box<super::super::types::Money>>,
391 #[doc = "A non-monetary value associated with the category. Mutually exclusive to the amount element above."]
392 pub r#value: Option<super::super::types::Decimal>,
393}
394#[allow(clippy::derivable_impls)]
395impl Default for ExplanationOfBenefitItemAdjudication {
396 fn default() -> Self {
397 Self {
398 r#id: Default::default(),
399 r#extension: Default::default(),
400 r#modifier_extension: Default::default(),
401 r#category: Box::new(super::super::types::CodeableConcept {
402 id: Some("$invalid".to_string()),
403 ..Default::default()
404 }),
405 r#reason: Default::default(),
406 r#amount: Default::default(),
407 r#value: Default::default(),
408 }
409 }
410}
411#[doc = "Third-tier of goods and services."]
412#[derive(Debug, Clone, PartialEq)]
413pub struct ExplanationOfBenefitItemDetailSubDetail {
414 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
415 pub r#id: Option<std::string::String>,
416 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
417 pub r#extension: Vec<super::super::types::Extension>,
418 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
419 pub r#modifier_extension: Vec<super::super::types::Extension>,
420 #[doc = "A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items."]
421 pub r#sequence: super::super::types::PositiveInt,
422 #[doc = "The type of revenue or cost center providing the product and/or service."]
423 pub r#revenue: Option<Box<super::super::types::CodeableConcept>>,
424 #[doc = "Code to identify the general type of benefits under which products and services are provided."]
425 pub r#category: Option<Box<super::super::types::CodeableConcept>>,
426 #[doc = "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item."]
427 pub r#product_or_service: Box<super::super::types::CodeableConcept>,
428 #[doc = "Item typification or modifiers codes to convey additional context for the product or service."]
429 pub r#modifier: Vec<super::super::types::CodeableConcept>,
430 #[doc = "Identifies the program under which this may be recovered."]
431 pub r#program_code: Vec<super::super::types::CodeableConcept>,
432 #[doc = "The number of repetitions of a service or product."]
433 pub r#quantity: Option<Box<super::super::types::Quantity>>,
434 #[doc = "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group."]
435 pub r#unit_price: Option<Box<super::super::types::Money>>,
436 #[doc = "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount."]
437 pub r#factor: Option<super::super::types::Decimal>,
438 #[doc = "The quantity times the unit price for an additional service or product or charge."]
439 pub r#net: Option<Box<super::super::types::Money>>,
440 #[doc = "Unique Device Identifiers associated with this line item."]
441 pub r#udi: Vec<super::super::types::Reference>,
442 #[doc = "The numbers associated with notes below which apply to the adjudication of this item."]
443 pub r#note_number: Vec<super::super::types::PositiveInt>,
444 #[doc = "The adjudication results."]
445 pub r#adjudication: Vec<ExplanationOfBenefitItemAdjudication>,
446}
447#[allow(clippy::derivable_impls)]
448impl Default for ExplanationOfBenefitItemDetailSubDetail {
449 fn default() -> Self {
450 Self {
451 r#id: Default::default(),
452 r#extension: Default::default(),
453 r#modifier_extension: Default::default(),
454 r#sequence: super::super::types::PositiveInt {
455 id: Some("$invalid".to_string()),
456 ..Default::default()
457 },
458 r#revenue: Default::default(),
459 r#category: Default::default(),
460 r#product_or_service: Box::new(super::super::types::CodeableConcept {
461 id: Some("$invalid".to_string()),
462 ..Default::default()
463 }),
464 r#modifier: Default::default(),
465 r#program_code: Default::default(),
466 r#quantity: Default::default(),
467 r#unit_price: Default::default(),
468 r#factor: Default::default(),
469 r#net: Default::default(),
470 r#udi: Default::default(),
471 r#note_number: Default::default(),
472 r#adjudication: Default::default(),
473 }
474 }
475}
476#[doc = "Second-tier of goods and services."]
477#[derive(Debug, Clone, PartialEq)]
478pub struct ExplanationOfBenefitItemDetail {
479 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
480 pub r#id: Option<std::string::String>,
481 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
482 pub r#extension: Vec<super::super::types::Extension>,
483 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
484 pub r#modifier_extension: Vec<super::super::types::Extension>,
485 #[doc = "A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items."]
486 pub r#sequence: super::super::types::PositiveInt,
487 #[doc = "The type of revenue or cost center providing the product and/or service."]
488 pub r#revenue: Option<Box<super::super::types::CodeableConcept>>,
489 #[doc = "Code to identify the general type of benefits under which products and services are provided."]
490 pub r#category: Option<Box<super::super::types::CodeableConcept>>,
491 #[doc = "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item."]
492 pub r#product_or_service: Box<super::super::types::CodeableConcept>,
493 #[doc = "Item typification or modifiers codes to convey additional context for the product or service."]
494 pub r#modifier: Vec<super::super::types::CodeableConcept>,
495 #[doc = "Identifies the program under which this may be recovered."]
496 pub r#program_code: Vec<super::super::types::CodeableConcept>,
497 #[doc = "The number of repetitions of a service or product."]
498 pub r#quantity: Option<Box<super::super::types::Quantity>>,
499 #[doc = "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group."]
500 pub r#unit_price: Option<Box<super::super::types::Money>>,
501 #[doc = "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount."]
502 pub r#factor: Option<super::super::types::Decimal>,
503 #[doc = "The quantity times the unit price for an additional service or product or charge."]
504 pub r#net: Option<Box<super::super::types::Money>>,
505 #[doc = "Unique Device Identifiers associated with this line item."]
506 pub r#udi: Vec<super::super::types::Reference>,
507 #[doc = "The numbers associated with notes below which apply to the adjudication of this item."]
508 pub r#note_number: Vec<super::super::types::PositiveInt>,
509 #[doc = "The adjudication results."]
510 pub r#adjudication: Vec<ExplanationOfBenefitItemAdjudication>,
511 #[doc = "Third-tier of goods and services."]
512 pub r#sub_detail: Vec<ExplanationOfBenefitItemDetailSubDetail>,
513}
514#[allow(clippy::derivable_impls)]
515impl Default for ExplanationOfBenefitItemDetail {
516 fn default() -> Self {
517 Self {
518 r#id: Default::default(),
519 r#extension: Default::default(),
520 r#modifier_extension: Default::default(),
521 r#sequence: super::super::types::PositiveInt {
522 id: Some("$invalid".to_string()),
523 ..Default::default()
524 },
525 r#revenue: Default::default(),
526 r#category: Default::default(),
527 r#product_or_service: Box::new(super::super::types::CodeableConcept {
528 id: Some("$invalid".to_string()),
529 ..Default::default()
530 }),
531 r#modifier: Default::default(),
532 r#program_code: Default::default(),
533 r#quantity: Default::default(),
534 r#unit_price: Default::default(),
535 r#factor: Default::default(),
536 r#net: Default::default(),
537 r#udi: Default::default(),
538 r#note_number: Default::default(),
539 r#adjudication: Default::default(),
540 r#sub_detail: Default::default(),
541 }
542 }
543}
544#[doc = "A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details."]
545#[derive(Debug, Clone, PartialEq)]
546pub struct ExplanationOfBenefitItem {
547 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
548 pub r#id: Option<std::string::String>,
549 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
550 pub r#extension: Vec<super::super::types::Extension>,
551 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
552 pub r#modifier_extension: Vec<super::super::types::Extension>,
553 #[doc = "A number to uniquely identify item entries."]
554 pub r#sequence: super::super::types::PositiveInt,
555 #[doc = "Care team members related to this service or product."]
556 pub r#care_team_sequence: Vec<super::super::types::PositiveInt>,
557 #[doc = "Diagnoses applicable for this service or product."]
558 pub r#diagnosis_sequence: Vec<super::super::types::PositiveInt>,
559 #[doc = "Procedures applicable for this service or product."]
560 pub r#procedure_sequence: Vec<super::super::types::PositiveInt>,
561 #[doc = "Exceptions, special conditions and supporting information applicable for this service or product."]
562 pub r#information_sequence: Vec<super::super::types::PositiveInt>,
563 #[doc = "The type of revenue or cost center providing the product and/or service."]
564 pub r#revenue: Option<Box<super::super::types::CodeableConcept>>,
565 #[doc = "Code to identify the general type of benefits under which products and services are provided."]
566 pub r#category: Option<Box<super::super::types::CodeableConcept>>,
567 #[doc = "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item."]
568 pub r#product_or_service: Box<super::super::types::CodeableConcept>,
569 #[doc = "Item typification or modifiers codes to convey additional context for the product or service."]
570 pub r#modifier: Vec<super::super::types::CodeableConcept>,
571 #[doc = "Identifies the program under which this may be recovered."]
572 pub r#program_code: Vec<super::super::types::CodeableConcept>,
573 #[doc = "The date or dates when the service or product was supplied, performed or completed."]
574 pub r#serviced: Option<ExplanationOfBenefitItemServiced>,
575 #[doc = "Where the product or service was provided."]
576 pub r#location: Option<ExplanationOfBenefitItemLocation>,
577 #[doc = "The number of repetitions of a service or product."]
578 pub r#quantity: Option<Box<super::super::types::Quantity>>,
579 #[doc = "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group."]
580 pub r#unit_price: Option<Box<super::super::types::Money>>,
581 #[doc = "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount."]
582 pub r#factor: Option<super::super::types::Decimal>,
583 #[doc = "The quantity times the unit price for an additional service or product or charge."]
584 pub r#net: Option<Box<super::super::types::Money>>,
585 #[doc = "Unique Device Identifiers associated with this line item."]
586 pub r#udi: Vec<super::super::types::Reference>,
587 #[doc = "Physical service site on the patient (limb, tooth, etc.)."]
588 pub r#body_site: Option<Box<super::super::types::CodeableConcept>>,
589 #[doc = "A region or surface of the bodySite, e.g. limb region or tooth surface(s)."]
590 pub r#sub_site: Vec<super::super::types::CodeableConcept>,
591 #[doc = "A billed item may include goods or services provided in multiple encounters."]
592 pub r#encounter: Vec<super::super::types::Reference>,
593 #[doc = "The numbers associated with notes below which apply to the adjudication of this item."]
594 pub r#note_number: Vec<super::super::types::PositiveInt>,
595 #[doc = "If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item."]
596 pub r#adjudication: Vec<ExplanationOfBenefitItemAdjudication>,
597 #[doc = "Second-tier of goods and services."]
598 pub r#detail: Vec<ExplanationOfBenefitItemDetail>,
599}
600#[allow(clippy::derivable_impls)]
601impl Default for ExplanationOfBenefitItem {
602 fn default() -> Self {
603 Self {
604 r#id: Default::default(),
605 r#extension: Default::default(),
606 r#modifier_extension: Default::default(),
607 r#sequence: super::super::types::PositiveInt {
608 id: Some("$invalid".to_string()),
609 ..Default::default()
610 },
611 r#care_team_sequence: Default::default(),
612 r#diagnosis_sequence: Default::default(),
613 r#procedure_sequence: Default::default(),
614 r#information_sequence: Default::default(),
615 r#revenue: Default::default(),
616 r#category: Default::default(),
617 r#product_or_service: Box::new(super::super::types::CodeableConcept {
618 id: Some("$invalid".to_string()),
619 ..Default::default()
620 }),
621 r#modifier: Default::default(),
622 r#program_code: Default::default(),
623 r#serviced: Default::default(),
624 r#location: Default::default(),
625 r#quantity: Default::default(),
626 r#unit_price: Default::default(),
627 r#factor: Default::default(),
628 r#net: Default::default(),
629 r#udi: Default::default(),
630 r#body_site: Default::default(),
631 r#sub_site: Default::default(),
632 r#encounter: Default::default(),
633 r#note_number: Default::default(),
634 r#adjudication: Default::default(),
635 r#detail: Default::default(),
636 }
637 }
638}
639#[doc = "The third-tier service adjudications for payor added services."]
640#[derive(Debug, Clone, PartialEq)]
641pub struct ExplanationOfBenefitAddItemDetailSubDetail {
642 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
643 pub r#id: Option<std::string::String>,
644 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
645 pub r#extension: Vec<super::super::types::Extension>,
646 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
647 pub r#modifier_extension: Vec<super::super::types::Extension>,
648 #[doc = "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item."]
649 pub r#product_or_service: Box<super::super::types::CodeableConcept>,
650 #[doc = "Item typification or modifiers codes to convey additional context for the product or service."]
651 pub r#modifier: Vec<super::super::types::CodeableConcept>,
652 #[doc = "The number of repetitions of a service or product."]
653 pub r#quantity: Option<Box<super::super::types::Quantity>>,
654 #[doc = "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group."]
655 pub r#unit_price: Option<Box<super::super::types::Money>>,
656 #[doc = "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount."]
657 pub r#factor: Option<super::super::types::Decimal>,
658 #[doc = "The quantity times the unit price for an additional service or product or charge."]
659 pub r#net: Option<Box<super::super::types::Money>>,
660 #[doc = "The numbers associated with notes below which apply to the adjudication of this item."]
661 pub r#note_number: Vec<super::super::types::PositiveInt>,
662 #[doc = "The adjudication results."]
663 pub r#adjudication: Vec<ExplanationOfBenefitItemAdjudication>,
664}
665#[allow(clippy::derivable_impls)]
666impl Default for ExplanationOfBenefitAddItemDetailSubDetail {
667 fn default() -> Self {
668 Self {
669 r#id: Default::default(),
670 r#extension: Default::default(),
671 r#modifier_extension: Default::default(),
672 r#product_or_service: Box::new(super::super::types::CodeableConcept {
673 id: Some("$invalid".to_string()),
674 ..Default::default()
675 }),
676 r#modifier: Default::default(),
677 r#quantity: Default::default(),
678 r#unit_price: Default::default(),
679 r#factor: Default::default(),
680 r#net: Default::default(),
681 r#note_number: Default::default(),
682 r#adjudication: Default::default(),
683 }
684 }
685}
686#[doc = "The second-tier service adjudications for payor added services."]
687#[derive(Debug, Clone, PartialEq)]
688pub struct ExplanationOfBenefitAddItemDetail {
689 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
690 pub r#id: Option<std::string::String>,
691 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
692 pub r#extension: Vec<super::super::types::Extension>,
693 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
694 pub r#modifier_extension: Vec<super::super::types::Extension>,
695 #[doc = "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item."]
696 pub r#product_or_service: Box<super::super::types::CodeableConcept>,
697 #[doc = "Item typification or modifiers codes to convey additional context for the product or service."]
698 pub r#modifier: Vec<super::super::types::CodeableConcept>,
699 #[doc = "The number of repetitions of a service or product."]
700 pub r#quantity: Option<Box<super::super::types::Quantity>>,
701 #[doc = "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group."]
702 pub r#unit_price: Option<Box<super::super::types::Money>>,
703 #[doc = "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount."]
704 pub r#factor: Option<super::super::types::Decimal>,
705 #[doc = "The quantity times the unit price for an additional service or product or charge."]
706 pub r#net: Option<Box<super::super::types::Money>>,
707 #[doc = "The numbers associated with notes below which apply to the adjudication of this item."]
708 pub r#note_number: Vec<super::super::types::PositiveInt>,
709 #[doc = "The adjudication results."]
710 pub r#adjudication: Vec<ExplanationOfBenefitItemAdjudication>,
711 #[doc = "The third-tier service adjudications for payor added services."]
712 pub r#sub_detail: Vec<ExplanationOfBenefitAddItemDetailSubDetail>,
713}
714#[allow(clippy::derivable_impls)]
715impl Default for ExplanationOfBenefitAddItemDetail {
716 fn default() -> Self {
717 Self {
718 r#id: Default::default(),
719 r#extension: Default::default(),
720 r#modifier_extension: Default::default(),
721 r#product_or_service: Box::new(super::super::types::CodeableConcept {
722 id: Some("$invalid".to_string()),
723 ..Default::default()
724 }),
725 r#modifier: Default::default(),
726 r#quantity: Default::default(),
727 r#unit_price: Default::default(),
728 r#factor: Default::default(),
729 r#net: Default::default(),
730 r#note_number: Default::default(),
731 r#adjudication: Default::default(),
732 r#sub_detail: Default::default(),
733 }
734 }
735}
736#[doc = "The first-tier service adjudications for payor added product or service lines."]
737#[derive(Debug, Clone, PartialEq)]
738pub struct ExplanationOfBenefitAddItem {
739 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
740 pub r#id: Option<std::string::String>,
741 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
742 pub r#extension: Vec<super::super::types::Extension>,
743 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
744 pub r#modifier_extension: Vec<super::super::types::Extension>,
745 #[doc = "Claim items which this service line is intended to replace."]
746 pub r#item_sequence: Vec<super::super::types::PositiveInt>,
747 #[doc = "The sequence number of the details within the claim item which this line is intended to replace."]
748 pub r#detail_sequence: Vec<super::super::types::PositiveInt>,
749 #[doc = "The sequence number of the sub-details woithin the details within the claim item which this line is intended to replace."]
750 pub r#sub_detail_sequence: Vec<super::super::types::PositiveInt>,
751 #[doc = "The providers who are authorized for the services rendered to the patient."]
752 pub r#provider: Vec<super::super::types::Reference>,
753 #[doc = "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item."]
754 pub r#product_or_service: Box<super::super::types::CodeableConcept>,
755 #[doc = "Item typification or modifiers codes to convey additional context for the product or service."]
756 pub r#modifier: Vec<super::super::types::CodeableConcept>,
757 #[doc = "Identifies the program under which this may be recovered."]
758 pub r#program_code: Vec<super::super::types::CodeableConcept>,
759 #[doc = "The date or dates when the service or product was supplied, performed or completed."]
760 pub r#serviced: Option<ExplanationOfBenefitAddItemServiced>,
761 #[doc = "Where the product or service was provided."]
762 pub r#location: Option<ExplanationOfBenefitAddItemLocation>,
763 #[doc = "The number of repetitions of a service or product."]
764 pub r#quantity: Option<Box<super::super::types::Quantity>>,
765 #[doc = "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group."]
766 pub r#unit_price: Option<Box<super::super::types::Money>>,
767 #[doc = "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount."]
768 pub r#factor: Option<super::super::types::Decimal>,
769 #[doc = "The quantity times the unit price for an additional service or product or charge."]
770 pub r#net: Option<Box<super::super::types::Money>>,
771 #[doc = "Physical service site on the patient (limb, tooth, etc.)."]
772 pub r#body_site: Option<Box<super::super::types::CodeableConcept>>,
773 #[doc = "A region or surface of the bodySite, e.g. limb region or tooth surface(s)."]
774 pub r#sub_site: Vec<super::super::types::CodeableConcept>,
775 #[doc = "The numbers associated with notes below which apply to the adjudication of this item."]
776 pub r#note_number: Vec<super::super::types::PositiveInt>,
777 #[doc = "The adjudication results."]
778 pub r#adjudication: Vec<ExplanationOfBenefitItemAdjudication>,
779 #[doc = "The second-tier service adjudications for payor added services."]
780 pub r#detail: Vec<ExplanationOfBenefitAddItemDetail>,
781}
782#[allow(clippy::derivable_impls)]
783impl Default for ExplanationOfBenefitAddItem {
784 fn default() -> Self {
785 Self {
786 r#id: Default::default(),
787 r#extension: Default::default(),
788 r#modifier_extension: Default::default(),
789 r#item_sequence: Default::default(),
790 r#detail_sequence: Default::default(),
791 r#sub_detail_sequence: Default::default(),
792 r#provider: Default::default(),
793 r#product_or_service: Box::new(super::super::types::CodeableConcept {
794 id: Some("$invalid".to_string()),
795 ..Default::default()
796 }),
797 r#modifier: Default::default(),
798 r#program_code: Default::default(),
799 r#serviced: Default::default(),
800 r#location: Default::default(),
801 r#quantity: Default::default(),
802 r#unit_price: Default::default(),
803 r#factor: Default::default(),
804 r#net: Default::default(),
805 r#body_site: Default::default(),
806 r#sub_site: Default::default(),
807 r#note_number: Default::default(),
808 r#adjudication: Default::default(),
809 r#detail: Default::default(),
810 }
811 }
812}
813#[doc = "Categorized monetary totals for the adjudication."]
814#[derive(Debug, Clone, PartialEq)]
815pub struct ExplanationOfBenefitTotal {
816 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
817 pub r#id: Option<std::string::String>,
818 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
819 pub r#extension: Vec<super::super::types::Extension>,
820 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
821 pub r#modifier_extension: Vec<super::super::types::Extension>,
822 #[doc = "A code to indicate the information type of this adjudication record. Information types may include: the value submitted, maximum values or percentages allowed or payable under the plan, amounts that the patient is responsible for in aggregate or pertaining to this item, amounts paid by other coverages, and the benefit payable for this item."]
823 pub r#category: Box<super::super::types::CodeableConcept>,
824 #[doc = "Monetary total amount associated with the category."]
825 pub r#amount: Box<super::super::types::Money>,
826}
827#[allow(clippy::derivable_impls)]
828impl Default for ExplanationOfBenefitTotal {
829 fn default() -> Self {
830 Self {
831 r#id: Default::default(),
832 r#extension: Default::default(),
833 r#modifier_extension: Default::default(),
834 r#category: Box::new(super::super::types::CodeableConcept {
835 id: Some("$invalid".to_string()),
836 ..Default::default()
837 }),
838 r#amount: Box::new(super::super::types::Money {
839 id: Some("$invalid".to_string()),
840 ..Default::default()
841 }),
842 }
843 }
844}
845#[doc = "Payment details for the adjudication of the claim."]
846#[derive(Debug, Clone, PartialEq)]
847pub struct ExplanationOfBenefitPayment {
848 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
849 pub r#id: Option<std::string::String>,
850 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
851 pub r#extension: Vec<super::super::types::Extension>,
852 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
853 pub r#modifier_extension: Vec<super::super::types::Extension>,
854 #[doc = "Whether this represents partial or complete payment of the benefits payable."]
855 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
856 #[doc = "Total amount of all adjustments to this payment included in this transaction which are not related to this claim's adjudication."]
857 pub r#adjustment: Option<Box<super::super::types::Money>>,
858 #[doc = "Reason for the payment adjustment."]
859 pub r#adjustment_reason: Option<Box<super::super::types::CodeableConcept>>,
860 #[doc = "Estimated date the payment will be issued or the actual issue date of payment."]
861 pub r#date: Option<super::super::types::Date>,
862 #[doc = "Benefits payable less any payment adjustment."]
863 pub r#amount: Option<Box<super::super::types::Money>>,
864 #[doc = "Issuer's unique identifier for the payment instrument."]
865 pub r#identifier: Option<Box<super::super::types::Identifier>>,
866}
867#[allow(clippy::derivable_impls)]
868impl Default for ExplanationOfBenefitPayment {
869 fn default() -> Self {
870 Self {
871 r#id: Default::default(),
872 r#extension: Default::default(),
873 r#modifier_extension: Default::default(),
874 r#type: Default::default(),
875 r#adjustment: Default::default(),
876 r#adjustment_reason: Default::default(),
877 r#date: Default::default(),
878 r#amount: Default::default(),
879 r#identifier: Default::default(),
880 }
881 }
882}
883#[doc = "A note that describes or explains adjudication results in a human readable form."]
884#[derive(Debug, Clone, PartialEq)]
885pub struct ExplanationOfBenefitProcessNote {
886 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
887 pub r#id: Option<std::string::String>,
888 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
889 pub r#extension: Vec<super::super::types::Extension>,
890 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
891 pub r#modifier_extension: Vec<super::super::types::Extension>,
892 #[doc = "A number to uniquely identify a note entry."]
893 pub r#number: Option<super::super::types::PositiveInt>,
894 #[doc = "The business purpose of the note text."]
895 pub r#type: Option<super::super::types::Code>,
896 #[doc = "The explanation or description associated with the processing."]
897 pub r#text: Option<super::super::types::String>,
898 #[doc = "A code to define the language used in the text of the note."]
899 pub r#language: Option<Box<super::super::types::CodeableConcept>>,
900}
901#[allow(clippy::derivable_impls)]
902impl Default for ExplanationOfBenefitProcessNote {
903 fn default() -> Self {
904 Self {
905 r#id: Default::default(),
906 r#extension: Default::default(),
907 r#modifier_extension: Default::default(),
908 r#number: Default::default(),
909 r#type: Default::default(),
910 r#text: Default::default(),
911 r#language: Default::default(),
912 }
913 }
914}
915#[doc = "Benefits Used to date."]
916#[derive(Debug, Clone, PartialEq)]
917pub struct ExplanationOfBenefitBenefitBalanceFinancial {
918 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
919 pub r#id: Option<std::string::String>,
920 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
921 pub r#extension: Vec<super::super::types::Extension>,
922 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
923 pub r#modifier_extension: Vec<super::super::types::Extension>,
924 #[doc = "Classification of benefit being provided."]
925 pub r#type: Box<super::super::types::CodeableConcept>,
926 #[doc = "The quantity of the benefit which is permitted under the coverage."]
927 pub r#allowed: Option<ExplanationOfBenefitBenefitBalanceFinancialAllowed>,
928 #[doc = "The quantity of the benefit which have been consumed to date."]
929 pub r#used: Option<ExplanationOfBenefitBenefitBalanceFinancialUsed>,
930}
931#[allow(clippy::derivable_impls)]
932impl Default for ExplanationOfBenefitBenefitBalanceFinancial {
933 fn default() -> Self {
934 Self {
935 r#id: Default::default(),
936 r#extension: Default::default(),
937 r#modifier_extension: Default::default(),
938 r#type: Box::new(super::super::types::CodeableConcept {
939 id: Some("$invalid".to_string()),
940 ..Default::default()
941 }),
942 r#allowed: Default::default(),
943 r#used: Default::default(),
944 }
945 }
946}
947#[doc = "Balance by Benefit Category."]
948#[derive(Debug, Clone, PartialEq)]
949pub struct ExplanationOfBenefitBenefitBalance {
950 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
951 pub r#id: Option<std::string::String>,
952 #[doc = "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
953 pub r#extension: Vec<super::super::types::Extension>,
954 #[doc = "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
955 pub r#modifier_extension: Vec<super::super::types::Extension>,
956 #[doc = "Code to identify the general type of benefits under which products and services are provided."]
957 pub r#category: Box<super::super::types::CodeableConcept>,
958 #[doc = "True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage."]
959 pub r#excluded: Option<super::super::types::Boolean>,
960 #[doc = "A short name or tag for the benefit."]
961 pub r#name: Option<super::super::types::String>,
962 #[doc = "A richer description of the benefit or services covered."]
963 pub r#description: Option<super::super::types::String>,
964 #[doc = "Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers."]
965 pub r#network: Option<Box<super::super::types::CodeableConcept>>,
966 #[doc = "Indicates if the benefits apply to an individual or to the family."]
967 pub r#unit: Option<Box<super::super::types::CodeableConcept>>,
968 #[doc = "The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'."]
969 pub r#term: Option<Box<super::super::types::CodeableConcept>>,
970 #[doc = "Benefits Used to date."]
971 pub r#financial: Vec<ExplanationOfBenefitBenefitBalanceFinancial>,
972}
973#[allow(clippy::derivable_impls)]
974impl Default for ExplanationOfBenefitBenefitBalance {
975 fn default() -> Self {
976 Self {
977 r#id: Default::default(),
978 r#extension: Default::default(),
979 r#modifier_extension: Default::default(),
980 r#category: Box::new(super::super::types::CodeableConcept {
981 id: Some("$invalid".to_string()),
982 ..Default::default()
983 }),
984 r#excluded: Default::default(),
985 r#name: Default::default(),
986 r#description: Default::default(),
987 r#network: Default::default(),
988 r#unit: Default::default(),
989 r#term: Default::default(),
990 r#financial: Default::default(),
991 }
992 }
993}
994#[doc = "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided."]
995#[derive(Debug, Clone, PartialEq)]
996pub struct ExplanationOfBenefit {
997 #[doc = "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes."]
998 pub r#id: Option<super::super::types::Id>,
999 #[doc = "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource."]
1000 pub r#meta: Option<Box<super::super::types::Meta>>,
1001 #[doc = "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc."]
1002 pub r#implicit_rules: Option<super::super::types::Uri>,
1003 #[doc = "The base language in which the resource is written."]
1004 pub r#language: Option<super::super::types::Code>,
1005 #[doc = "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety."]
1006 pub r#text: Option<Box<super::super::types::Narrative>>,
1007 #[doc = "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope."]
1008 pub r#contained: Vec<super::super::Resource>,
1009 #[doc = "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."]
1010 pub r#extension: Vec<super::super::types::Extension>,
1011 #[doc = "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."]
1012 pub r#modifier_extension: Vec<super::super::types::Extension>,
1013 #[doc = "A unique identifier assigned to this explanation of benefit."]
1014 pub r#identifier: Vec<super::super::types::Identifier>,
1015 #[doc = "The status of the resource instance."]
1016 pub r#status: super::super::types::Code,
1017 #[doc = "The category of claim, e.g. oral, pharmacy, vision, institutional, professional."]
1018 pub r#type: Box<super::super::types::CodeableConcept>,
1019 #[doc = "A finer grained suite of claim type codes which may convey additional information such as Inpatient vs Outpatient and/or a specialty service."]
1020 pub r#sub_type: Option<Box<super::super::types::CodeableConcept>>,
1021 #[doc = "A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future."]
1022 pub r#use: super::super::types::Code,
1023 #[doc = "The party to whom the professional services and/or products have been supplied or are being considered and for whom actual for forecast reimbursement is sought."]
1024 pub r#patient: Box<super::super::types::Reference>,
1025 #[doc = "The period for which charges are being submitted."]
1026 pub r#billable_period: Option<Box<super::super::types::Period>>,
1027 #[doc = "The date this resource was created."]
1028 pub r#created: super::super::types::DateTime,
1029 #[doc = "Individual who created the claim, predetermination or preauthorization."]
1030 pub r#enterer: Option<Box<super::super::types::Reference>>,
1031 #[doc = "The party responsible for authorization, adjudication and reimbursement."]
1032 pub r#insurer: Box<super::super::types::Reference>,
1033 #[doc = "The provider which is responsible for the claim, predetermination or preauthorization."]
1034 pub r#provider: Box<super::super::types::Reference>,
1035 #[doc = "The provider-required urgency of processing the request. Typical values include: stat, routine deferred."]
1036 pub r#priority: Option<Box<super::super::types::CodeableConcept>>,
1037 #[doc = "A code to indicate whether and for whom funds are to be reserved for future claims."]
1038 pub r#funds_reserve_requested: Option<Box<super::super::types::CodeableConcept>>,
1039 #[doc = "A code, used only on a response to a preauthorization, to indicate whether the benefits payable have been reserved and for whom."]
1040 pub r#funds_reserve: Option<Box<super::super::types::CodeableConcept>>,
1041 #[doc = "Other claims which are related to this claim such as prior submissions or claims for related services or for the same event."]
1042 pub r#related: Vec<ExplanationOfBenefitRelated>,
1043 #[doc = "Prescription to support the dispensing of pharmacy, device or vision products."]
1044 pub r#prescription: Option<Box<super::super::types::Reference>>,
1045 #[doc = "Original prescription which has been superseded by this prescription to support the dispensing of pharmacy services, medications or products."]
1046 pub r#original_prescription: Option<Box<super::super::types::Reference>>,
1047 #[doc = "The party to be reimbursed for cost of the products and services according to the terms of the policy."]
1048 pub r#payee: Option<ExplanationOfBenefitPayee>,
1049 #[doc = "A reference to a referral resource."]
1050 pub r#referral: Option<Box<super::super::types::Reference>>,
1051 #[doc = "Facility where the services were provided."]
1052 pub r#facility: Option<Box<super::super::types::Reference>>,
1053 #[doc = "The business identifier for the instance of the adjudication request: claim predetermination or preauthorization."]
1054 pub r#claim: Option<Box<super::super::types::Reference>>,
1055 #[doc = "The business identifier for the instance of the adjudication response: claim, predetermination or preauthorization response."]
1056 pub r#claim_response: Option<Box<super::super::types::Reference>>,
1057 #[doc = "The outcome of the claim, predetermination, or preauthorization processing."]
1058 pub r#outcome: super::super::types::Code,
1059 #[doc = "A human readable description of the status of the adjudication."]
1060 pub r#disposition: Option<super::super::types::String>,
1061 #[doc = "Reference from the Insurer which is used in later communications which refers to this adjudication."]
1062 pub r#pre_auth_ref: Vec<super::super::types::String>,
1063 #[doc = "The timeframe during which the supplied preauthorization reference may be quoted on claims to obtain the adjudication as provided."]
1064 pub r#pre_auth_ref_period: Vec<super::super::types::Period>,
1065 #[doc = "The members of the team who provided the products and services."]
1066 pub r#care_team: Vec<ExplanationOfBenefitCareTeam>,
1067 #[doc = "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues."]
1068 pub r#supporting_info: Vec<ExplanationOfBenefitSupportingInfo>,
1069 #[doc = "Information about diagnoses relevant to the claim items."]
1070 pub r#diagnosis: Vec<ExplanationOfBenefitDiagnosis>,
1071 #[doc = "Procedures performed on the patient relevant to the billing items with the claim."]
1072 pub r#procedure: Vec<ExplanationOfBenefitProcedure>,
1073 #[doc = "This indicates the relative order of a series of EOBs related to different coverages for the same suite of services."]
1074 pub r#precedence: Option<super::super::types::PositiveInt>,
1075 #[doc = "Financial instruments for reimbursement for the health care products and services specified on the claim."]
1076 pub r#insurance: Vec<ExplanationOfBenefitInsurance>,
1077 #[doc = "Details of a accident which resulted in injuries which required the products and services listed in the claim."]
1078 pub r#accident: Option<ExplanationOfBenefitAccident>,
1079 #[doc = "A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details."]
1080 pub r#item: Vec<ExplanationOfBenefitItem>,
1081 #[doc = "The first-tier service adjudications for payor added product or service lines."]
1082 pub r#add_item: Vec<ExplanationOfBenefitAddItem>,
1083 #[doc = "The adjudication results which are presented at the header level rather than at the line-item or add-item levels."]
1084 pub r#adjudication: Vec<ExplanationOfBenefitItemAdjudication>,
1085 #[doc = "Categorized monetary totals for the adjudication."]
1086 pub r#total: Vec<ExplanationOfBenefitTotal>,
1087 #[doc = "Payment details for the adjudication of the claim."]
1088 pub r#payment: Option<ExplanationOfBenefitPayment>,
1089 #[doc = "A code for the form to be used for printing the content."]
1090 pub r#form_code: Option<Box<super::super::types::CodeableConcept>>,
1091 #[doc = "The actual form, by reference or inclusion, for printing the content or an EOB."]
1092 pub r#form: Option<Box<super::super::types::Attachment>>,
1093 #[doc = "A note that describes or explains adjudication results in a human readable form."]
1094 pub r#process_note: Vec<ExplanationOfBenefitProcessNote>,
1095 #[doc = "The term of the benefits documented in this response."]
1096 pub r#benefit_period: Option<Box<super::super::types::Period>>,
1097 #[doc = "Balance by Benefit Category."]
1098 pub r#benefit_balance: Vec<ExplanationOfBenefitBenefitBalance>,
1099}
1100#[allow(clippy::derivable_impls)]
1101impl Default for ExplanationOfBenefit {
1102 fn default() -> Self {
1103 Self {
1104 r#id: Default::default(),
1105 r#meta: Default::default(),
1106 r#implicit_rules: Default::default(),
1107 r#language: Default::default(),
1108 r#text: Default::default(),
1109 r#contained: Default::default(),
1110 r#extension: Default::default(),
1111 r#modifier_extension: Default::default(),
1112 r#identifier: Default::default(),
1113 r#status: super::super::types::Code {
1114 id: Some("$invalid".to_string()),
1115 ..Default::default()
1116 },
1117 r#type: Box::new(super::super::types::CodeableConcept {
1118 id: Some("$invalid".to_string()),
1119 ..Default::default()
1120 }),
1121 r#sub_type: Default::default(),
1122 r#use: super::super::types::Code {
1123 id: Some("$invalid".to_string()),
1124 ..Default::default()
1125 },
1126 r#patient: Box::new(super::super::types::Reference {
1127 id: Some("$invalid".to_string()),
1128 ..Default::default()
1129 }),
1130 r#billable_period: Default::default(),
1131 r#created: super::super::types::DateTime {
1132 id: Some("$invalid".to_string()),
1133 ..Default::default()
1134 },
1135 r#enterer: Default::default(),
1136 r#insurer: Box::new(super::super::types::Reference {
1137 id: Some("$invalid".to_string()),
1138 ..Default::default()
1139 }),
1140 r#provider: Box::new(super::super::types::Reference {
1141 id: Some("$invalid".to_string()),
1142 ..Default::default()
1143 }),
1144 r#priority: Default::default(),
1145 r#funds_reserve_requested: Default::default(),
1146 r#funds_reserve: Default::default(),
1147 r#related: Default::default(),
1148 r#prescription: Default::default(),
1149 r#original_prescription: Default::default(),
1150 r#payee: Default::default(),
1151 r#referral: Default::default(),
1152 r#facility: Default::default(),
1153 r#claim: Default::default(),
1154 r#claim_response: Default::default(),
1155 r#outcome: super::super::types::Code {
1156 id: Some("$invalid".to_string()),
1157 ..Default::default()
1158 },
1159 r#disposition: Default::default(),
1160 r#pre_auth_ref: Default::default(),
1161 r#pre_auth_ref_period: Default::default(),
1162 r#care_team: Default::default(),
1163 r#supporting_info: Default::default(),
1164 r#diagnosis: Default::default(),
1165 r#procedure: Default::default(),
1166 r#precedence: Default::default(),
1167 r#insurance: Default::default(),
1168 r#accident: Default::default(),
1169 r#item: Default::default(),
1170 r#add_item: Default::default(),
1171 r#adjudication: Default::default(),
1172 r#total: Default::default(),
1173 r#payment: Default::default(),
1174 r#form_code: Default::default(),
1175 r#form: Default::default(),
1176 r#process_note: Default::default(),
1177 r#benefit_period: Default::default(),
1178 r#benefit_balance: Default::default(),
1179 }
1180 }
1181}