1use crate::prelude::*;
2
3#[derive(Resource, Debug, Clone, Default)]
4#[fhir(base="DomainResource")]
5pub struct RegulatedAuthorization {
6 #[fhir(name="id", min="0", max="1", summary=true, modifier=false, choice="")]
8 pub id: Option<Id>,
9 #[fhir(name="meta", min="0", max="1", summary=true, modifier=false, choice="")]
11 pub meta: Option<Meta>,
12 #[fhir(name="implicitRules", min="0", max="1", summary=true, modifier=true)]
14 pub implicit_rules: Option<UriDt>,
15 #[fhir(name="language", min="0", max="1", summary=false, modifier=false, choice="")]
17 pub language: Option<CodeDt>,
18 #[fhir(name="text", min="0", max="1", summary=false, modifier=false, choice="")]
20 pub text: Option<Narrative>,
21 #[fhir(name="contained", min="0", max="*", summary=false, modifier=false, choice="")]
23 pub contained: Option<Vec<AnyResource>>,
24 #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
26 pub extension: Option<Vec<Extension>>,
27 #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
29 pub modifier_extension: Option<Vec<Extension>>,
30 #[fhir(name="identifier", min="0", max="*", summary=true, modifier=false, choice="")]
32 pub identifier: Option<Vec<Identifier>>,
33 #[fhir(name="subject", min="0", max="*", summary=true, modifier=false, choice="")]
35 pub subject: Option<Vec<Reference>>,
36 #[fhir(name="type", min="0", max="1", summary=true, modifier=false, choice="")]
38 pub type_: Option<CodeableConcept>,
39 #[fhir(name="description", min="0", max="1", summary=true, modifier=false, choice="")]
41 pub description: Option<MarkdownDt>,
42 #[fhir(name="region", min="0", max="*", summary=true, modifier=false, choice="")]
44 pub region: Option<Vec<CodeableConcept>>,
45 #[fhir(name="status", min="0", max="1", summary=true, modifier=false, choice="")]
47 pub status: Option<CodeableConcept>,
48 #[fhir(name="statusDate", min="0", max="1", summary=true, modifier=false, choice="")]
50 pub status_date: Option<DateTimeDt>,
51 #[fhir(name="validityPeriod", min="0", max="1", summary=true, modifier=false, choice="")]
53 pub validity_period: Option<Period>,
54 #[fhir(name="indication", min="0", max="*", summary=true, modifier=false, choice="")]
56 pub indication: Option<Vec<CodeableReference>>,
57 #[fhir(name="intendedUse", min="0", max="1", summary=true, modifier=false, choice="")]
59 pub intended_use: Option<CodeableConcept>,
60 #[fhir(name="basis", min="0", max="*", summary=true, modifier=false, choice="")]
62 pub basis: Option<Vec<CodeableConcept>>,
63 #[fhir(name="holder", min="0", max="1", summary=true, modifier=false, choice="")]
65 pub holder: Option<Reference>,
66 #[fhir(name="regulator", min="0", max="1", summary=true, modifier=false, choice="")]
68 pub regulator: Option<Reference>,
69 #[fhir(name="attachedDocument", min="0", max="*", summary=true, modifier=false, choice="")]
71 pub attached_document: Option<Vec<Reference>>,
72 #[fhir(name="case", min="0", max="1", summary=true, modifier=false, choice="")]
74 pub case: Option<RegulatedAuthorizationCaseBackboneElement>,
75}
76
77#[derive(Element, BackboneElement, Debug, Clone, Default)]
78pub struct RegulatedAuthorizationCaseBackboneElement {
79 #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
81 pub id: Option<String>,
82 #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
84 pub extension: Option<Vec<Extension>>,
85 #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
87 pub modifier_extension: Option<Vec<Extension>>,
88 #[fhir(name="identifier", min="0", max="1", summary=true, modifier=false, choice="")]
90 pub identifier: Option<Identifier>,
91 #[fhir(name="type", min="0", max="1", summary=true, modifier=false, choice="")]
93 pub type_: Option<CodeableConcept>,
94 #[fhir(name="status", min="0", max="1", summary=true, modifier=false, choice="")]
96 pub status: Option<CodeableConcept>,
97 #[fhir(name="date", min="0", max="1", summary=true, modifier=false, choice="")]
99 pub date: Option<DateTimeDt>,
100 #[fhir(name="application", min="0", max="*", summary=true, modifier=false, choice="")]
102 pub application: Option<Vec<RegulatedAuthorizationCaseBackboneElement>>,
103}
104