1#[doc = "The article or artifact that the Citation Resource is related to."]
3#[derive(Default, Debug, Clone, PartialEq)]
4pub enum CitationRelatesToTarget {
5 Uri(super::super::types::Uri),
6 Identifier(Box<super::super::types::Identifier>),
7 Reference(Box<super::super::types::Reference>),
8 Attachment(Box<super::super::types::Attachment>),
9 #[default]
10 Invalid,
11}
12#[doc = "The article or artifact that the cited artifact is related to."]
13#[derive(Default, Debug, Clone, PartialEq)]
14pub enum CitationCitedArtifactRelatesToTarget {
15 Uri(super::super::types::Uri),
16 Identifier(Box<super::super::types::Identifier>),
17 Reference(Box<super::super::types::Reference>),
18 Attachment(Box<super::super::types::Attachment>),
19 #[default]
20 Invalid,
21}
22#[doc = "A human-readable display of the citation."]
23#[derive(Debug, Clone, PartialEq)]
24pub struct CitationSummary {
25 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
26 pub r#id: Option<std::string::String>,
27 #[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."]
28 pub r#extension: Vec<super::super::types::Extension>,
29 #[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)."]
30 pub r#modifier_extension: Vec<super::super::types::Extension>,
31 #[doc = "Format for display of the citation."]
32 pub r#style: Option<Box<super::super::types::CodeableConcept>>,
33 #[doc = "The human-readable display of the citation."]
34 pub r#text: super::super::types::Markdown,
35}
36#[allow(clippy::derivable_impls)]
37impl Default for CitationSummary {
38 fn default() -> Self {
39 Self {
40 r#id: Default::default(),
41 r#extension: Default::default(),
42 r#modifier_extension: Default::default(),
43 r#style: Default::default(),
44 r#text: super::super::types::Markdown {
45 id: Some("$invalid".to_string()),
46 ..Default::default()
47 },
48 }
49 }
50}
51#[doc = "The assignment to an organizing scheme."]
52#[derive(Debug, Clone, PartialEq)]
53pub struct CitationClassification {
54 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
55 pub r#id: Option<std::string::String>,
56 #[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."]
57 pub r#extension: Vec<super::super::types::Extension>,
58 #[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)."]
59 pub r#modifier_extension: Vec<super::super::types::Extension>,
60 #[doc = "The kind of classifier (e.g. publication type, keyword)."]
61 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
62 #[doc = "The specific classification value."]
63 pub r#classifier: Vec<super::super::types::CodeableConcept>,
64}
65#[allow(clippy::derivable_impls)]
66impl Default for CitationClassification {
67 fn default() -> Self {
68 Self {
69 r#id: Default::default(),
70 r#extension: Default::default(),
71 r#modifier_extension: Default::default(),
72 r#type: Default::default(),
73 r#classifier: Default::default(),
74 }
75 }
76}
77#[doc = "An effective date or period for a status of the citation."]
78#[derive(Debug, Clone, PartialEq)]
79pub struct CitationStatusDate {
80 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
81 pub r#id: Option<std::string::String>,
82 #[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."]
83 pub r#extension: Vec<super::super::types::Extension>,
84 #[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)."]
85 pub r#modifier_extension: Vec<super::super::types::Extension>,
86 #[doc = "Classification of the status."]
87 pub r#activity: Box<super::super::types::CodeableConcept>,
88 #[doc = "Either occurred or expected."]
89 pub r#actual: Option<super::super::types::Boolean>,
90 #[doc = "When the status started and/or ended."]
91 pub r#period: Box<super::super::types::Period>,
92}
93#[allow(clippy::derivable_impls)]
94impl Default for CitationStatusDate {
95 fn default() -> Self {
96 Self {
97 r#id: Default::default(),
98 r#extension: Default::default(),
99 r#modifier_extension: Default::default(),
100 r#activity: Box::new(super::super::types::CodeableConcept {
101 id: Some("$invalid".to_string()),
102 ..Default::default()
103 }),
104 r#actual: Default::default(),
105 r#period: Box::new(super::super::types::Period {
106 id: Some("$invalid".to_string()),
107 ..Default::default()
108 }),
109 }
110 }
111}
112#[doc = "Artifact related to the Citation Resource."]
113#[derive(Debug, Clone, PartialEq)]
114pub struct CitationRelatesTo {
115 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
116 pub r#id: Option<std::string::String>,
117 #[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."]
118 pub r#extension: Vec<super::super::types::Extension>,
119 #[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)."]
120 pub r#modifier_extension: Vec<super::super::types::Extension>,
121 #[doc = "How the Citation resource relates to the target artifact."]
122 pub r#relationship_type: Box<super::super::types::CodeableConcept>,
123 #[doc = "The clasification of the related artifact."]
124 pub r#target_classifier: Vec<super::super::types::CodeableConcept>,
125 #[doc = "The article or artifact that the Citation Resource is related to."]
126 pub r#target: CitationRelatesToTarget,
127}
128#[allow(clippy::derivable_impls)]
129impl Default for CitationRelatesTo {
130 fn default() -> Self {
131 Self {
132 r#id: Default::default(),
133 r#extension: Default::default(),
134 r#modifier_extension: Default::default(),
135 r#relationship_type: Box::new(super::super::types::CodeableConcept {
136 id: Some("$invalid".to_string()),
137 ..Default::default()
138 }),
139 r#target_classifier: Default::default(),
140 r#target: Default::default(),
141 }
142 }
143}
144#[doc = "The defined version of the cited artifact."]
145#[derive(Debug, Clone, PartialEq)]
146pub struct CitationCitedArtifactVersion {
147 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
148 pub r#id: Option<std::string::String>,
149 #[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."]
150 pub r#extension: Vec<super::super::types::Extension>,
151 #[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)."]
152 pub r#modifier_extension: Vec<super::super::types::Extension>,
153 #[doc = "The version number or other version identifier."]
154 pub r#value: super::super::types::String,
155 #[doc = "Citation for the main version of the cited artifact."]
156 pub r#base_citation: Option<Box<super::super::types::Reference>>,
157}
158#[allow(clippy::derivable_impls)]
159impl Default for CitationCitedArtifactVersion {
160 fn default() -> Self {
161 Self {
162 r#id: Default::default(),
163 r#extension: Default::default(),
164 r#modifier_extension: Default::default(),
165 r#value: super::super::types::String {
166 id: Some("$invalid".to_string()),
167 ..Default::default()
168 },
169 r#base_citation: Default::default(),
170 }
171 }
172}
173#[doc = "An effective date or period for a status of the cited artifact."]
174#[derive(Debug, Clone, PartialEq)]
175pub struct CitationCitedArtifactStatusDate {
176 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
177 pub r#id: Option<std::string::String>,
178 #[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."]
179 pub r#extension: Vec<super::super::types::Extension>,
180 #[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)."]
181 pub r#modifier_extension: Vec<super::super::types::Extension>,
182 #[doc = "Classification of the status."]
183 pub r#activity: Box<super::super::types::CodeableConcept>,
184 #[doc = "Either occurred or expected."]
185 pub r#actual: Option<super::super::types::Boolean>,
186 #[doc = "When the status started and/or ended."]
187 pub r#period: Box<super::super::types::Period>,
188}
189#[allow(clippy::derivable_impls)]
190impl Default for CitationCitedArtifactStatusDate {
191 fn default() -> Self {
192 Self {
193 r#id: Default::default(),
194 r#extension: Default::default(),
195 r#modifier_extension: Default::default(),
196 r#activity: Box::new(super::super::types::CodeableConcept {
197 id: Some("$invalid".to_string()),
198 ..Default::default()
199 }),
200 r#actual: Default::default(),
201 r#period: Box::new(super::super::types::Period {
202 id: Some("$invalid".to_string()),
203 ..Default::default()
204 }),
205 }
206 }
207}
208#[doc = "The title details of the article or artifact."]
209#[derive(Debug, Clone, PartialEq)]
210pub struct CitationCitedArtifactTitle {
211 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
212 pub r#id: Option<std::string::String>,
213 #[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."]
214 pub r#extension: Vec<super::super::types::Extension>,
215 #[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)."]
216 pub r#modifier_extension: Vec<super::super::types::Extension>,
217 #[doc = "Used to express the reason or specific aspect for the title."]
218 pub r#type: Vec<super::super::types::CodeableConcept>,
219 #[doc = "Used to express the specific language."]
220 pub r#language: Option<Box<super::super::types::CodeableConcept>>,
221 #[doc = "The title of the article or artifact."]
222 pub r#text: super::super::types::Markdown,
223}
224#[allow(clippy::derivable_impls)]
225impl Default for CitationCitedArtifactTitle {
226 fn default() -> Self {
227 Self {
228 r#id: Default::default(),
229 r#extension: Default::default(),
230 r#modifier_extension: Default::default(),
231 r#type: Default::default(),
232 r#language: Default::default(),
233 r#text: super::super::types::Markdown {
234 id: Some("$invalid".to_string()),
235 ..Default::default()
236 },
237 }
238 }
239}
240#[doc = "Summary of the article or artifact."]
241#[derive(Debug, Clone, PartialEq)]
242pub struct CitationCitedArtifactAbstract {
243 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
244 pub r#id: Option<std::string::String>,
245 #[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."]
246 pub r#extension: Vec<super::super::types::Extension>,
247 #[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)."]
248 pub r#modifier_extension: Vec<super::super::types::Extension>,
249 #[doc = "Used to express the reason or specific aspect for the abstract."]
250 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
251 #[doc = "Used to express the specific language."]
252 pub r#language: Option<Box<super::super::types::CodeableConcept>>,
253 #[doc = "Abstract content."]
254 pub r#text: super::super::types::Markdown,
255 #[doc = "Copyright notice for the abstract."]
256 pub r#copyright: Option<super::super::types::Markdown>,
257}
258#[allow(clippy::derivable_impls)]
259impl Default for CitationCitedArtifactAbstract {
260 fn default() -> Self {
261 Self {
262 r#id: Default::default(),
263 r#extension: Default::default(),
264 r#modifier_extension: Default::default(),
265 r#type: Default::default(),
266 r#language: Default::default(),
267 r#text: super::super::types::Markdown {
268 id: Some("$invalid".to_string()),
269 ..Default::default()
270 },
271 r#copyright: Default::default(),
272 }
273 }
274}
275#[doc = "The component of the article or artifact."]
276#[derive(Debug, Clone, PartialEq)]
277pub struct CitationCitedArtifactPart {
278 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
279 pub r#id: Option<std::string::String>,
280 #[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."]
281 pub r#extension: Vec<super::super::types::Extension>,
282 #[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)."]
283 pub r#modifier_extension: Vec<super::super::types::Extension>,
284 #[doc = "The kind of component."]
285 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
286 #[doc = "The specification of the component."]
287 pub r#value: Option<super::super::types::String>,
288 #[doc = "The citation for the full article or artifact."]
289 pub r#base_citation: Option<Box<super::super::types::Reference>>,
290}
291#[allow(clippy::derivable_impls)]
292impl Default for CitationCitedArtifactPart {
293 fn default() -> Self {
294 Self {
295 r#id: Default::default(),
296 r#extension: Default::default(),
297 r#modifier_extension: Default::default(),
298 r#type: Default::default(),
299 r#value: Default::default(),
300 r#base_citation: Default::default(),
301 }
302 }
303}
304#[doc = "The artifact related to the cited artifact."]
305#[derive(Debug, Clone, PartialEq)]
306pub struct CitationCitedArtifactRelatesTo {
307 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
308 pub r#id: Option<std::string::String>,
309 #[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."]
310 pub r#extension: Vec<super::super::types::Extension>,
311 #[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)."]
312 pub r#modifier_extension: Vec<super::super::types::Extension>,
313 #[doc = "How the cited artifact relates to the target artifact."]
314 pub r#relationship_type: Box<super::super::types::CodeableConcept>,
315 #[doc = "The clasification of the related artifact."]
316 pub r#target_classifier: Vec<super::super::types::CodeableConcept>,
317 #[doc = "The article or artifact that the cited artifact is related to."]
318 pub r#target: CitationCitedArtifactRelatesToTarget,
319}
320#[allow(clippy::derivable_impls)]
321impl Default for CitationCitedArtifactRelatesTo {
322 fn default() -> Self {
323 Self {
324 r#id: Default::default(),
325 r#extension: Default::default(),
326 r#modifier_extension: Default::default(),
327 r#relationship_type: Box::new(super::super::types::CodeableConcept {
328 id: Some("$invalid".to_string()),
329 ..Default::default()
330 }),
331 r#target_classifier: Default::default(),
332 r#target: Default::default(),
333 }
334 }
335}
336#[doc = "The collection the cited article or artifact is published in."]
337#[derive(Debug, Clone, PartialEq)]
338pub struct CitationCitedArtifactPublicationFormPublishedIn {
339 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
340 pub r#id: Option<std::string::String>,
341 #[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."]
342 pub r#extension: Vec<super::super::types::Extension>,
343 #[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)."]
344 pub r#modifier_extension: Vec<super::super::types::Extension>,
345 #[doc = "Kind of container (e.g. Periodical, database, or book)."]
346 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
347 #[doc = "Journal identifiers include ISSN, ISO Abbreviation and NLMuniqueID; Book identifiers include ISBN."]
348 pub r#identifier: Vec<super::super::types::Identifier>,
349 #[doc = "Name of the database or title of the book or journal."]
350 pub r#title: Option<super::super::types::String>,
351 #[doc = "Name of the publisher."]
352 pub r#publisher: Option<Box<super::super::types::Reference>>,
353 #[doc = "Geographic location of the publisher."]
354 pub r#publisher_location: Option<super::super::types::String>,
355}
356#[allow(clippy::derivable_impls)]
357impl Default for CitationCitedArtifactPublicationFormPublishedIn {
358 fn default() -> Self {
359 Self {
360 r#id: Default::default(),
361 r#extension: Default::default(),
362 r#modifier_extension: Default::default(),
363 r#type: Default::default(),
364 r#identifier: Default::default(),
365 r#title: Default::default(),
366 r#publisher: Default::default(),
367 r#publisher_location: Default::default(),
368 }
369 }
370}
371#[doc = "Defining the date on which the issue of the journal was published."]
372#[derive(Debug, Clone, PartialEq)]
373pub struct CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublication {
374 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
375 pub r#id: Option<std::string::String>,
376 #[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."]
377 pub r#extension: Vec<super::super::types::Extension>,
378 #[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)."]
379 pub r#modifier_extension: Vec<super::super::types::Extension>,
380 #[doc = "Date on which the issue of the journal was published."]
381 pub r#date: Option<super::super::types::Date>,
382 #[doc = "Year on which the issue of the journal was published."]
383 pub r#year: Option<super::super::types::String>,
384 #[doc = "Month on which the issue of the journal was published."]
385 pub r#month: Option<super::super::types::String>,
386 #[doc = "Day on which the issue of the journal was published."]
387 pub r#day: Option<super::super::types::String>,
388 #[doc = "Spring, Summer, Fall/Autumn, Winter."]
389 pub r#season: Option<super::super::types::String>,
390 #[doc = "Text representation of the date of which the issue of the journal was published."]
391 pub r#text: Option<super::super::types::String>,
392}
393#[allow(clippy::derivable_impls)]
394impl Default for CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublication {
395 fn default() -> Self {
396 Self {
397 r#id: Default::default(),
398 r#extension: Default::default(),
399 r#modifier_extension: Default::default(),
400 r#date: Default::default(),
401 r#year: Default::default(),
402 r#month: Default::default(),
403 r#day: Default::default(),
404 r#season: Default::default(),
405 r#text: Default::default(),
406 }
407 }
408}
409#[doc = "The specific issue in which the cited article resides."]
410#[derive(Debug, Clone, PartialEq)]
411pub struct CitationCitedArtifactPublicationFormPeriodicRelease {
412 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
413 pub r#id: Option<std::string::String>,
414 #[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."]
415 pub r#extension: Vec<super::super::types::Extension>,
416 #[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)."]
417 pub r#modifier_extension: Vec<super::super::types::Extension>,
418 #[doc = "Describes the form of the medium cited. Common codes are \"Internet\" or \"Print\"."]
419 pub r#cited_medium: Option<Box<super::super::types::CodeableConcept>>,
420 #[doc = "Volume number of journal in which the article is published."]
421 pub r#volume: Option<super::super::types::String>,
422 #[doc = "Issue, part or supplement of journal in which the article is published."]
423 pub r#issue: Option<super::super::types::String>,
424 #[doc = "Defining the date on which the issue of the journal was published."]
425 pub r#date_of_publication:
426 Option<CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublication>,
427}
428#[allow(clippy::derivable_impls)]
429impl Default for CitationCitedArtifactPublicationFormPeriodicRelease {
430 fn default() -> Self {
431 Self {
432 r#id: Default::default(),
433 r#extension: Default::default(),
434 r#modifier_extension: Default::default(),
435 r#cited_medium: Default::default(),
436 r#volume: Default::default(),
437 r#issue: Default::default(),
438 r#date_of_publication: Default::default(),
439 }
440 }
441}
442#[doc = "If multiple, used to represent alternative forms of the article that are not separate citations."]
443#[derive(Debug, Clone, PartialEq)]
444pub struct CitationCitedArtifactPublicationForm {
445 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
446 pub r#id: Option<std::string::String>,
447 #[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."]
448 pub r#extension: Vec<super::super::types::Extension>,
449 #[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)."]
450 pub r#modifier_extension: Vec<super::super::types::Extension>,
451 #[doc = "The collection the cited article or artifact is published in."]
452 pub r#published_in: Option<CitationCitedArtifactPublicationFormPublishedIn>,
453 #[doc = "The specific issue in which the cited article resides."]
454 pub r#periodic_release: Option<CitationCitedArtifactPublicationFormPeriodicRelease>,
455 #[doc = "The date the article was added to the database, or the date the article was released (which may differ from the journal issue publication date)."]
456 pub r#article_date: Option<super::super::types::DateTime>,
457 #[doc = "The date the article was last revised or updated in the database."]
458 pub r#last_revision_date: Option<super::super::types::DateTime>,
459 #[doc = "Language in which this form of the article is published."]
460 pub r#language: Vec<super::super::types::CodeableConcept>,
461 #[doc = "Entry number or identifier for inclusion in a database."]
462 pub r#accession_number: Option<super::super::types::String>,
463 #[doc = "Used for full display of pagination."]
464 pub r#page_string: Option<super::super::types::String>,
465 #[doc = "Used for isolated representation of first page."]
466 pub r#first_page: Option<super::super::types::String>,
467 #[doc = "Used for isolated representation of last page."]
468 pub r#last_page: Option<super::super::types::String>,
469 #[doc = "Actual or approximate number of pages or screens."]
470 pub r#page_count: Option<super::super::types::String>,
471 #[doc = "Copyright notice for the full article or artifact."]
472 pub r#copyright: Option<super::super::types::Markdown>,
473}
474#[allow(clippy::derivable_impls)]
475impl Default for CitationCitedArtifactPublicationForm {
476 fn default() -> Self {
477 Self {
478 r#id: Default::default(),
479 r#extension: Default::default(),
480 r#modifier_extension: Default::default(),
481 r#published_in: Default::default(),
482 r#periodic_release: Default::default(),
483 r#article_date: Default::default(),
484 r#last_revision_date: Default::default(),
485 r#language: Default::default(),
486 r#accession_number: Default::default(),
487 r#page_string: Default::default(),
488 r#first_page: Default::default(),
489 r#last_page: Default::default(),
490 r#page_count: Default::default(),
491 r#copyright: Default::default(),
492 }
493 }
494}
495#[doc = "Used for any URL for the article or artifact cited."]
496#[derive(Debug, Clone, PartialEq)]
497pub struct CitationCitedArtifactWebLocation {
498 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
499 pub r#id: Option<std::string::String>,
500 #[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."]
501 pub r#extension: Vec<super::super::types::Extension>,
502 #[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)."]
503 pub r#modifier_extension: Vec<super::super::types::Extension>,
504 #[doc = "Code the reason for different URLs, e.g. abstract and full-text."]
505 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
506 #[doc = "The specific URL."]
507 pub r#url: Option<super::super::types::Uri>,
508}
509#[allow(clippy::derivable_impls)]
510impl Default for CitationCitedArtifactWebLocation {
511 fn default() -> Self {
512 Self {
513 r#id: Default::default(),
514 r#extension: Default::default(),
515 r#modifier_extension: Default::default(),
516 r#type: Default::default(),
517 r#url: Default::default(),
518 }
519 }
520}
521#[doc = "Provenance and copyright of classification."]
522#[derive(Debug, Clone, PartialEq)]
523pub struct CitationCitedArtifactClassificationWhoClassified {
524 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
525 pub r#id: Option<std::string::String>,
526 #[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."]
527 pub r#extension: Vec<super::super::types::Extension>,
528 #[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)."]
529 pub r#modifier_extension: Vec<super::super::types::Extension>,
530 #[doc = "Person who created the classification."]
531 pub r#person: Option<Box<super::super::types::Reference>>,
532 #[doc = "Organization who created the classification."]
533 pub r#organization: Option<Box<super::super::types::Reference>>,
534 #[doc = "The publisher of the classification, not the publisher of the article or artifact being cited."]
535 pub r#publisher: Option<Box<super::super::types::Reference>>,
536 #[doc = "Rights management statement for the classification."]
537 pub r#classifier_copyright: Option<super::super::types::String>,
538 #[doc = "Acceptable to re-use the classification."]
539 pub r#free_to_share: Option<super::super::types::Boolean>,
540}
541#[allow(clippy::derivable_impls)]
542impl Default for CitationCitedArtifactClassificationWhoClassified {
543 fn default() -> Self {
544 Self {
545 r#id: Default::default(),
546 r#extension: Default::default(),
547 r#modifier_extension: Default::default(),
548 r#person: Default::default(),
549 r#organization: Default::default(),
550 r#publisher: Default::default(),
551 r#classifier_copyright: Default::default(),
552 r#free_to_share: Default::default(),
553 }
554 }
555}
556#[doc = "The assignment to an organizing scheme."]
557#[derive(Debug, Clone, PartialEq)]
558pub struct CitationCitedArtifactClassification {
559 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
560 pub r#id: Option<std::string::String>,
561 #[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."]
562 pub r#extension: Vec<super::super::types::Extension>,
563 #[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)."]
564 pub r#modifier_extension: Vec<super::super::types::Extension>,
565 #[doc = "The kind of classifier (e.g. publication type, keyword)."]
566 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
567 #[doc = "The specific classification value."]
568 pub r#classifier: Vec<super::super::types::CodeableConcept>,
569 #[doc = "Provenance and copyright of classification."]
570 pub r#who_classified: Option<CitationCitedArtifactClassificationWhoClassified>,
571}
572#[allow(clippy::derivable_impls)]
573impl Default for CitationCitedArtifactClassification {
574 fn default() -> Self {
575 Self {
576 r#id: Default::default(),
577 r#extension: Default::default(),
578 r#modifier_extension: Default::default(),
579 r#type: Default::default(),
580 r#classifier: Default::default(),
581 r#who_classified: Default::default(),
582 }
583 }
584}
585#[doc = "Organization affiliated with the entity."]
586#[derive(Debug, Clone, PartialEq)]
587pub struct CitationCitedArtifactContributorshipEntryAffiliationInfo {
588 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
589 pub r#id: Option<std::string::String>,
590 #[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."]
591 pub r#extension: Vec<super::super::types::Extension>,
592 #[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)."]
593 pub r#modifier_extension: Vec<super::super::types::Extension>,
594 #[doc = "Display for the organization."]
595 pub r#affiliation: Option<super::super::types::String>,
596 #[doc = "Role within the organization, such as professional title."]
597 pub r#role: Option<super::super::types::String>,
598 #[doc = "Identifier for the organization."]
599 pub r#identifier: Vec<super::super::types::Identifier>,
600}
601#[allow(clippy::derivable_impls)]
602impl Default for CitationCitedArtifactContributorshipEntryAffiliationInfo {
603 fn default() -> Self {
604 Self {
605 r#id: Default::default(),
606 r#extension: Default::default(),
607 r#modifier_extension: Default::default(),
608 r#affiliation: Default::default(),
609 r#role: Default::default(),
610 r#identifier: Default::default(),
611 }
612 }
613}
614#[doc = "Contributions with accounting for time or number."]
615#[derive(Debug, Clone, PartialEq)]
616pub struct CitationCitedArtifactContributorshipEntryContributionInstance {
617 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
618 pub r#id: Option<std::string::String>,
619 #[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."]
620 pub r#extension: Vec<super::super::types::Extension>,
621 #[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)."]
622 pub r#modifier_extension: Vec<super::super::types::Extension>,
623 #[doc = "The specific contribution."]
624 pub r#type: Box<super::super::types::CodeableConcept>,
625 #[doc = "The time that the contribution was made."]
626 pub r#time: Option<super::super::types::DateTime>,
627}
628#[allow(clippy::derivable_impls)]
629impl Default for CitationCitedArtifactContributorshipEntryContributionInstance {
630 fn default() -> Self {
631 Self {
632 r#id: Default::default(),
633 r#extension: Default::default(),
634 r#modifier_extension: Default::default(),
635 r#type: Box::new(super::super::types::CodeableConcept {
636 id: Some("$invalid".to_string()),
637 ..Default::default()
638 }),
639 r#time: Default::default(),
640 }
641 }
642}
643#[doc = "An individual entity named in the author list or contributor list."]
644#[derive(Debug, Clone, PartialEq)]
645pub struct CitationCitedArtifactContributorshipEntry {
646 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
647 pub r#id: Option<std::string::String>,
648 #[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."]
649 pub r#extension: Vec<super::super::types::Extension>,
650 #[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)."]
651 pub r#modifier_extension: Vec<super::super::types::Extension>,
652 #[doc = "A name associated with the individual."]
653 pub r#name: Option<Box<super::super::types::HumanName>>,
654 #[doc = "Initials for forename."]
655 pub r#initials: Option<super::super::types::String>,
656 #[doc = "Used for collective or corporate name as an author."]
657 pub r#collective_name: Option<super::super::types::String>,
658 #[doc = "Unique person identifier."]
659 pub r#identifier: Vec<super::super::types::Identifier>,
660 #[doc = "Organization affiliated with the entity."]
661 pub r#affiliation_info: Vec<CitationCitedArtifactContributorshipEntryAffiliationInfo>,
662 #[doc = "Physical mailing address for the author or contributor."]
663 pub r#address: Vec<super::super::types::Address>,
664 #[doc = "Email or telephone contact methods for the author or contributor."]
665 pub r#telecom: Vec<super::super::types::ContactPoint>,
666 #[doc = "This element identifies the specific nature of an individual’s contribution with respect to the cited work."]
667 pub r#contribution_type: Vec<super::super::types::CodeableConcept>,
668 #[doc = "The role of the contributor (e.g. author, editor, reviewer)."]
669 pub r#role: Option<Box<super::super::types::CodeableConcept>>,
670 #[doc = "Contributions with accounting for time or number."]
671 pub r#contribution_instance: Vec<CitationCitedArtifactContributorshipEntryContributionInstance>,
672 #[doc = "Indication of which contributor is the corresponding contributor for the role."]
673 pub r#corresponding_contact: Option<super::super::types::Boolean>,
674 #[doc = "Used to code order of authors."]
675 pub r#list_order: Option<super::super::types::PositiveInt>,
676}
677#[allow(clippy::derivable_impls)]
678impl Default for CitationCitedArtifactContributorshipEntry {
679 fn default() -> Self {
680 Self {
681 r#id: Default::default(),
682 r#extension: Default::default(),
683 r#modifier_extension: Default::default(),
684 r#name: Default::default(),
685 r#initials: Default::default(),
686 r#collective_name: Default::default(),
687 r#identifier: Default::default(),
688 r#affiliation_info: Default::default(),
689 r#address: Default::default(),
690 r#telecom: Default::default(),
691 r#contribution_type: Default::default(),
692 r#role: Default::default(),
693 r#contribution_instance: Default::default(),
694 r#corresponding_contact: Default::default(),
695 r#list_order: Default::default(),
696 }
697 }
698}
699#[doc = "Used to record a display of the author/contributor list without separate coding for each list member."]
700#[derive(Debug, Clone, PartialEq)]
701pub struct CitationCitedArtifactContributorshipSummary {
702 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
703 pub r#id: Option<std::string::String>,
704 #[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."]
705 pub r#extension: Vec<super::super::types::Extension>,
706 #[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)."]
707 pub r#modifier_extension: Vec<super::super::types::Extension>,
708 #[doc = "Used most commonly to express an author list or a contributorship statement."]
709 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
710 #[doc = "The format for the display string."]
711 pub r#style: Option<Box<super::super::types::CodeableConcept>>,
712 #[doc = "Used to code the producer or rule for creating the display string."]
713 pub r#source: Option<Box<super::super::types::CodeableConcept>>,
714 #[doc = "The display string for the author list, contributor list, or contributorship statement."]
715 pub r#value: super::super::types::Markdown,
716}
717#[allow(clippy::derivable_impls)]
718impl Default for CitationCitedArtifactContributorshipSummary {
719 fn default() -> Self {
720 Self {
721 r#id: Default::default(),
722 r#extension: Default::default(),
723 r#modifier_extension: Default::default(),
724 r#type: Default::default(),
725 r#style: Default::default(),
726 r#source: Default::default(),
727 r#value: super::super::types::Markdown {
728 id: Some("$invalid".to_string()),
729 ..Default::default()
730 },
731 }
732 }
733}
734#[doc = "This element is used to list authors and other contributors, their contact information, specific contributions, and summary statements."]
735#[derive(Debug, Clone, PartialEq)]
736pub struct CitationCitedArtifactContributorship {
737 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
738 pub r#id: Option<std::string::String>,
739 #[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."]
740 pub r#extension: Vec<super::super::types::Extension>,
741 #[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)."]
742 pub r#modifier_extension: Vec<super::super::types::Extension>,
743 #[doc = "Indicates if the list includes all authors and/or contributors."]
744 pub r#complete: Option<super::super::types::Boolean>,
745 #[doc = "An individual entity named in the author list or contributor list."]
746 pub r#entry: Vec<CitationCitedArtifactContributorshipEntry>,
747 #[doc = "Used to record a display of the author/contributor list without separate coding for each list member."]
748 pub r#summary: Vec<CitationCitedArtifactContributorshipSummary>,
749}
750#[allow(clippy::derivable_impls)]
751impl Default for CitationCitedArtifactContributorship {
752 fn default() -> Self {
753 Self {
754 r#id: Default::default(),
755 r#extension: Default::default(),
756 r#modifier_extension: Default::default(),
757 r#complete: Default::default(),
758 r#entry: Default::default(),
759 r#summary: Default::default(),
760 }
761 }
762}
763#[doc = "The article or artifact being described."]
764#[derive(Debug, Clone, PartialEq)]
765pub struct CitationCitedArtifact {
766 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
767 pub r#id: Option<std::string::String>,
768 #[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."]
769 pub r#extension: Vec<super::super::types::Extension>,
770 #[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)."]
771 pub r#modifier_extension: Vec<super::super::types::Extension>,
772 #[doc = "A formal identifier that is used to identify this citation when it is represented in other formats, or referenced in a specification, model, design or an instance."]
773 pub r#identifier: Vec<super::super::types::Identifier>,
774 #[doc = "A formal identifier that is used to identify things closely related to this citation."]
775 pub r#related_identifier: Vec<super::super::types::Identifier>,
776 #[doc = "When the cited artifact was accessed."]
777 pub r#date_accessed: Option<super::super::types::DateTime>,
778 #[doc = "The defined version of the cited artifact."]
779 pub r#version: Option<CitationCitedArtifactVersion>,
780 #[doc = "The status of the cited artifact."]
781 pub r#current_state: Vec<super::super::types::CodeableConcept>,
782 #[doc = "An effective date or period for a status of the cited artifact."]
783 pub r#status_date: Vec<CitationCitedArtifactStatusDate>,
784 #[doc = "The title details of the article or artifact."]
785 pub r#title: Vec<CitationCitedArtifactTitle>,
786 #[doc = "Summary of the article or artifact."]
787 pub r#abstract: Vec<CitationCitedArtifactAbstract>,
788 #[doc = "The component of the article or artifact."]
789 pub r#part: Option<CitationCitedArtifactPart>,
790 #[doc = "The artifact related to the cited artifact."]
791 pub r#relates_to: Vec<CitationCitedArtifactRelatesTo>,
792 #[doc = "If multiple, used to represent alternative forms of the article that are not separate citations."]
793 pub r#publication_form: Vec<CitationCitedArtifactPublicationForm>,
794 #[doc = "Used for any URL for the article or artifact cited."]
795 pub r#web_location: Vec<CitationCitedArtifactWebLocation>,
796 #[doc = "The assignment to an organizing scheme."]
797 pub r#classification: Vec<CitationCitedArtifactClassification>,
798 #[doc = "This element is used to list authors and other contributors, their contact information, specific contributions, and summary statements."]
799 pub r#contributorship: Option<CitationCitedArtifactContributorship>,
800 #[doc = "Any additional information or content for the article or artifact."]
801 pub r#note: Vec<super::super::types::Annotation>,
802}
803#[allow(clippy::derivable_impls)]
804impl Default for CitationCitedArtifact {
805 fn default() -> Self {
806 Self {
807 r#id: Default::default(),
808 r#extension: Default::default(),
809 r#modifier_extension: Default::default(),
810 r#identifier: Default::default(),
811 r#related_identifier: Default::default(),
812 r#date_accessed: Default::default(),
813 r#version: Default::default(),
814 r#current_state: Default::default(),
815 r#status_date: Default::default(),
816 r#title: Default::default(),
817 r#abstract: Default::default(),
818 r#part: Default::default(),
819 r#relates_to: Default::default(),
820 r#publication_form: Default::default(),
821 r#web_location: Default::default(),
822 r#classification: Default::default(),
823 r#contributorship: Default::default(),
824 r#note: Default::default(),
825 }
826 }
827}
828#[doc = "The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources."]
829#[derive(Debug, Clone, PartialEq)]
830pub struct Citation {
831 #[doc = "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes."]
832 pub r#id: Option<super::super::types::Id>,
833 #[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."]
834 pub r#meta: Option<Box<super::super::types::Meta>>,
835 #[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."]
836 pub r#implicit_rules: Option<super::super::types::Uri>,
837 #[doc = "The base language in which the resource is written."]
838 pub r#language: Option<super::super::types::Code>,
839 #[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."]
840 pub r#text: Option<Box<super::super::types::Narrative>>,
841 #[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."]
842 pub r#contained: Vec<super::super::Resource>,
843 #[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."]
844 pub r#extension: Vec<super::super::types::Extension>,
845 #[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)."]
846 pub r#modifier_extension: Vec<super::super::types::Extension>,
847 #[doc = "An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers."]
848 pub r#url: Option<super::super::types::Uri>,
849 #[doc = "A formal identifier that is used to identify this citation when it is represented in other formats, or referenced in a specification, model, design or an instance."]
850 pub r#identifier: Vec<super::super::types::Identifier>,
851 #[doc = "The identifier that is used to identify this version of the citation when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the citation author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence."]
852 pub r#version: Option<super::super::types::String>,
853 #[doc = "A natural language name identifying the citation. This name should be usable as an identifier for the module by machine processing applications such as code generation."]
854 pub r#name: Option<super::super::types::String>,
855 #[doc = "A short, descriptive, user-friendly title for the citation."]
856 pub r#title: Option<super::super::types::String>,
857 #[doc = "The status of this summary. Enables tracking the life-cycle of the content."]
858 pub r#status: super::super::types::Code,
859 #[doc = "A Boolean value to indicate that this citation is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage."]
860 pub r#experimental: Option<super::super::types::Boolean>,
861 #[doc = "The date (and optionally time) when the citation was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the citation changes."]
862 pub r#date: Option<super::super::types::DateTime>,
863 #[doc = "The name of the organization or individual that published the citation."]
864 pub r#publisher: Option<super::super::types::String>,
865 #[doc = "Contact details to assist a user in finding and communicating with the publisher."]
866 pub r#contact: Vec<super::super::types::ContactDetail>,
867 #[doc = "A free text natural language description of the citation from a consumer's perspective."]
868 pub r#description: Option<super::super::types::Markdown>,
869 #[doc = "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate citation instances."]
870 pub r#use_context: Vec<super::super::types::UsageContext>,
871 #[doc = "A legal or geographic region in which the citation is intended to be used."]
872 pub r#jurisdiction: Vec<super::super::types::CodeableConcept>,
873 #[doc = "Explanation of why this citation is needed and why it has been designed as it has."]
874 pub r#purpose: Option<super::super::types::Markdown>,
875 #[doc = "Use and/or publishing restrictions for the Citation, not for the cited artifact."]
876 pub r#copyright: Option<super::super::types::Markdown>,
877 #[doc = "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage."]
878 pub r#approval_date: Option<super::super::types::Date>,
879 #[doc = "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date."]
880 pub r#last_review_date: Option<super::super::types::Date>,
881 #[doc = "The period during which the citation content was or is planned to be in active use."]
882 pub r#effective_period: Option<Box<super::super::types::Period>>,
883 #[doc = "Who authored the Citation."]
884 pub r#author: Vec<super::super::types::ContactDetail>,
885 #[doc = "Who edited the Citation."]
886 pub r#editor: Vec<super::super::types::ContactDetail>,
887 #[doc = "Who reviewed the Citation."]
888 pub r#reviewer: Vec<super::super::types::ContactDetail>,
889 #[doc = "Who endorsed the Citation."]
890 pub r#endorser: Vec<super::super::types::ContactDetail>,
891 #[doc = "A human-readable display of the citation."]
892 pub r#summary: Vec<CitationSummary>,
893 #[doc = "The assignment to an organizing scheme."]
894 pub r#classification: Vec<CitationClassification>,
895 #[doc = "Used for general notes and annotations not coded elsewhere."]
896 pub r#note: Vec<super::super::types::Annotation>,
897 #[doc = "The status of the citation."]
898 pub r#current_state: Vec<super::super::types::CodeableConcept>,
899 #[doc = "An effective date or period for a status of the citation."]
900 pub r#status_date: Vec<CitationStatusDate>,
901 #[doc = "Artifact related to the Citation Resource."]
902 pub r#relates_to: Vec<CitationRelatesTo>,
903 #[doc = "The article or artifact being described."]
904 pub r#cited_artifact: Option<CitationCitedArtifact>,
905}
906#[allow(clippy::derivable_impls)]
907impl Default for Citation {
908 fn default() -> Self {
909 Self {
910 r#id: Default::default(),
911 r#meta: Default::default(),
912 r#implicit_rules: Default::default(),
913 r#language: Default::default(),
914 r#text: Default::default(),
915 r#contained: Default::default(),
916 r#extension: Default::default(),
917 r#modifier_extension: Default::default(),
918 r#url: Default::default(),
919 r#identifier: Default::default(),
920 r#version: Default::default(),
921 r#name: Default::default(),
922 r#title: Default::default(),
923 r#status: super::super::types::Code {
924 id: Some("$invalid".to_string()),
925 ..Default::default()
926 },
927 r#experimental: Default::default(),
928 r#date: Default::default(),
929 r#publisher: Default::default(),
930 r#contact: Default::default(),
931 r#description: Default::default(),
932 r#use_context: Default::default(),
933 r#jurisdiction: Default::default(),
934 r#purpose: Default::default(),
935 r#copyright: Default::default(),
936 r#approval_date: Default::default(),
937 r#last_review_date: Default::default(),
938 r#effective_period: Default::default(),
939 r#author: Default::default(),
940 r#editor: Default::default(),
941 r#reviewer: Default::default(),
942 r#endorser: Default::default(),
943 r#summary: Default::default(),
944 r#classification: Default::default(),
945 r#note: Default::default(),
946 r#current_state: Default::default(),
947 r#status_date: Default::default(),
948 r#relates_to: Default::default(),
949 r#cited_artifact: Default::default(),
950 }
951 }
952}