1use crate::prelude::*;
2
3#[derive(Resource, Debug, Clone, Default)]
4#[fhir(base="DomainResource")]
5pub struct CodeSystem {
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="url", min="0", max="1", summary=true, modifier=false, choice="")]
32 pub url: Option<UriDt>,
33 #[fhir(name="identifier", min="0", max="*", summary=true, modifier=false, choice="")]
35 pub identifier: Option<Vec<Identifier>>,
36 #[fhir(name="version", min="0", max="1", summary=true, modifier=false, choice="")]
38 pub version: Option<StringDt>,
39 #[fhir(name="versionAlgorithm", min="0", max="1", summary=true, modifier=false, choice="")]
41 pub version_algorithm: Option<Coding>,
42 #[fhir(name="name", min="0", max="1", summary=true, modifier=false, choice="")]
44 pub name: Option<StringDt>,
45 #[fhir(name="title", min="0", max="1", summary=true, modifier=false, choice="")]
47 pub title: Option<StringDt>,
48 #[fhir(name="status", min="1", max="1", summary=true, modifier=true)]
50 pub status: Option<CodeDt>,
51 #[fhir(name="experimental", min="0", max="1", summary=true, modifier=false, choice="")]
53 pub experimental: Option<BooleanDt>,
54 #[fhir(name="date", min="0", max="1", summary=true, modifier=false, choice="")]
56 pub date: Option<DateTimeDt>,
57 #[fhir(name="publisher", min="0", max="1", summary=true, modifier=false, choice="")]
59 pub publisher: Option<StringDt>,
60 #[fhir(name="contact", min="0", max="*", summary=true, modifier=false, choice="")]
62 pub contact: Option<Vec<ContactDetail>>,
63 #[fhir(name="description", min="0", max="1", summary=false, modifier=false, choice="")]
65 pub description: Option<MarkdownDt>,
66 #[fhir(name="useContext", min="0", max="*", summary=true, modifier=false, choice="")]
68 pub use_context: Option<Vec<UsageContext>>,
69 #[fhir(name="jurisdiction", min="0", max="*", summary=true, modifier=false, choice="")]
71 pub jurisdiction: Option<Vec<CodeableConcept>>,
72 #[fhir(name="purpose", min="0", max="1", summary=false, modifier=false, choice="")]
74 pub purpose: Option<MarkdownDt>,
75 #[fhir(name="copyright", min="0", max="1", summary=false, modifier=false, choice="")]
77 pub copyright: Option<MarkdownDt>,
78 #[fhir(name="copyrightLabel", min="0", max="1", summary=false, modifier=false, choice="")]
80 pub copyright_label: Option<StringDt>,
81 #[fhir(name="approvalDate", min="0", max="1", summary=false, modifier=false, choice="")]
83 pub approval_date: Option<DateDt>,
84 #[fhir(name="lastReviewDate", min="0", max="1", summary=false, modifier=false, choice="")]
86 pub last_review_date: Option<DateDt>,
87 #[fhir(name="effectivePeriod", min="0", max="1", summary=true, modifier=false, choice="")]
89 pub effective_period: Option<Period>,
90 #[fhir(name="topic", min="0", max="*", summary=false, modifier=false, choice="")]
92 pub topic: Option<Vec<CodeableConcept>>,
93 #[fhir(name="author", min="0", max="*", summary=false, modifier=false, choice="")]
95 pub author: Option<Vec<ContactDetail>>,
96 #[fhir(name="editor", min="0", max="*", summary=false, modifier=false, choice="")]
98 pub editor: Option<Vec<ContactDetail>>,
99 #[fhir(name="reviewer", min="0", max="*", summary=false, modifier=false, choice="")]
101 pub reviewer: Option<Vec<ContactDetail>>,
102 #[fhir(name="endorser", min="0", max="*", summary=false, modifier=false, choice="")]
104 pub endorser: Option<Vec<ContactDetail>>,
105 #[fhir(name="relatedArtifact", min="0", max="*", summary=false, modifier=false, choice="")]
107 pub related_artifact: Option<Vec<RelatedArtifact>>,
108 #[fhir(name="caseSensitive", min="0", max="1", summary=true, modifier=false, choice="")]
110 pub case_sensitive: Option<BooleanDt>,
111 #[fhir(name="valueSet", min="0", max="1", summary=true, modifier=false, choice="")]
113 pub value_set: Option<CanonicalDt>,
114 #[fhir(name="hierarchyMeaning", min="0", max="1", summary=true, modifier=false, choice="")]
116 pub hierarchy_meaning: Option<CodeDt>,
117 #[fhir(name="compositional", min="0", max="1", summary=true, modifier=false, choice="")]
119 pub compositional: Option<BooleanDt>,
120 #[fhir(name="versionNeeded", min="0", max="1", summary=true, modifier=false, choice="")]
122 pub version_needed: Option<BooleanDt>,
123 #[fhir(name="content", min="1", max="1", summary=true, modifier=false, choice="")]
125 pub content: Option<CodeDt>,
126 #[fhir(name="supplements", min="0", max="1", summary=true, modifier=false, choice="")]
128 pub supplements: Option<CanonicalDt>,
129 #[fhir(name="count", min="0", max="1", summary=true, modifier=false, choice="")]
131 pub count: Option<UnsignedIntDt>,
132 #[fhir(name="filter", min="0", max="*", summary=true, modifier=false, choice="")]
134 pub filter: Option<Vec<CodeSystemFilterBackboneElement>>,
135 #[fhir(name="property", min="0", max="*", summary=true, modifier=false, choice="")]
137 pub property: Option<Vec<CodeSystemPropertyBackboneElement>>,
138 #[fhir(name="concept", min="0", max="*", summary=false, modifier=false, choice="")]
140 pub concept: Option<Vec<CodeSystemConceptBackboneElement>>,
141}
142
143#[derive(Element, BackboneElement, Debug, Clone, Default)]
144pub struct CodeSystemFilterBackboneElement {
145 #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
147 pub id: Option<String>,
148 #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
150 pub extension: Option<Vec<Extension>>,
151 #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
153 pub modifier_extension: Option<Vec<Extension>>,
154 #[fhir(name="code", min="1", max="1", summary=true, modifier=false, choice="")]
156 pub code: Option<CodeDt>,
157 #[fhir(name="description", min="0", max="1", summary=true, modifier=false, choice="")]
159 pub description: Option<StringDt>,
160 #[fhir(name="operator", min="1", max="*", summary=true, modifier=false, choice="")]
162 pub operator: Option<Vec<CodeDt>>,
163 #[fhir(name="value", min="1", max="1", summary=true, modifier=false, choice="")]
165 pub value: Option<StringDt>,
166}
167
168#[derive(Element, BackboneElement, Debug, Clone, Default)]
169pub struct CodeSystemPropertyBackboneElement {
170 #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
172 pub id: Option<String>,
173 #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
175 pub extension: Option<Vec<Extension>>,
176 #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
178 pub modifier_extension: Option<Vec<Extension>>,
179 #[fhir(name="code", min="1", max="1", summary=true, modifier=false, choice="")]
181 pub code: Option<CodeDt>,
182 #[fhir(name="uri", min="0", max="1", summary=true, modifier=false, choice="")]
184 pub uri: Option<UriDt>,
185 #[fhir(name="description", min="0", max="1", summary=true, modifier=false, choice="")]
187 pub description: Option<StringDt>,
188 #[fhir(name="type", min="1", max="1", summary=true, modifier=false, choice="")]
190 pub type_: Option<CodeDt>,
191}
192
193#[derive(Element, BackboneElement, Debug, Clone, Default)]
194pub struct CodeSystemConceptBackboneElement {
195 #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
197 pub id: Option<String>,
198 #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
200 pub extension: Option<Vec<Extension>>,
201 #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
203 pub modifier_extension: Option<Vec<Extension>>,
204 #[fhir(name="code", min="1", max="1", summary=false, modifier=false, choice="")]
206 pub code: Option<CodeDt>,
207 #[fhir(name="display", min="0", max="1", summary=false, modifier=false, choice="")]
209 pub display: Option<StringDt>,
210 #[fhir(name="definition", min="0", max="1", summary=false, modifier=false, choice="")]
212 pub definition: Option<StringDt>,
213 #[fhir(name="designation", min="0", max="*", summary=false, modifier=false, choice="")]
215 pub designation: Option<Vec<CodeSystemConceptDesignationBackboneElement>>,
216 #[fhir(name="property", min="0", max="*", summary=false, modifier=false, choice="")]
218 pub property: Option<Vec<CodeSystemConceptPropertyBackboneElement>>,
219 #[fhir(name="concept", min="0", max="*", summary=false, modifier=false, choice="")]
221 pub concept: Option<Vec<CodeSystemConceptBackboneElement>>,
222}
223
224#[derive(Element, BackboneElement, Debug, Clone, Default)]
225pub struct CodeSystemConceptDesignationBackboneElement {
226 #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
228 pub id: Option<String>,
229 #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
231 pub extension: Option<Vec<Extension>>,
232 #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
234 pub modifier_extension: Option<Vec<Extension>>,
235 #[fhir(name="language", min="0", max="1", summary=false, modifier=false, choice="")]
237 pub language: Option<CodeDt>,
238 #[fhir(name="use", min="0", max="1", summary=false, modifier=false, choice="")]
240 pub use_: Option<Coding>,
241 #[fhir(name="additionalUse", min="0", max="*", summary=false, modifier=false, choice="")]
243 pub additional_use: Option<Vec<Coding>>,
244 #[fhir(name="value", min="1", max="1", summary=false, modifier=false, choice="")]
246 pub value: Option<StringDt>,
247}
248
249#[derive(Element, BackboneElement, Debug, Clone, Default)]
250pub struct CodeSystemConceptPropertyBackboneElement {
251 #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
253 pub id: Option<String>,
254 #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
256 pub extension: Option<Vec<Extension>>,
257 #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
259 pub modifier_extension: Option<Vec<Extension>>,
260 #[fhir(name="code", min="1", max="1", summary=false, modifier=false, choice="")]
262 pub code: Option<CodeDt>,
263 #[fhir(name="value", min="1", max="1", summary=false, modifier=false, choice="")]
265 pub value: Option<DecimalDt>,
266}
267