1#[doc = "Indicates the mechanism used to compare versions to determine which is more current."]
3#[derive(Default, Debug, Clone, PartialEq)]
4pub enum CitationVersionAlgorithm {
5 String(super::super::types::String),
6 Coding(Box<super::super::types::Coding>),
7 #[default]
8 Invalid,
9}
10#[doc = "A human-readable display of key concepts to represent the citation."]
11#[derive(Debug, Clone, PartialEq)]
12pub struct CitationSummary {
13 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
14 pub r#id: Option<std::string::String>,
15 #[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 managable, 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."]
16 pub r#extension: Vec<super::super::types::Extension>,
17 #[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 managable, 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)."]
18 pub r#modifier_extension: Vec<super::super::types::Extension>,
19 #[doc = "Format for display of the citation summary."]
20 pub r#style: Option<Box<super::super::types::CodeableConcept>>,
21 #[doc = "The human-readable display of the citation summary."]
22 pub r#text: super::super::types::Markdown,
23}
24#[allow(clippy::derivable_impls)]
25impl Default for CitationSummary {
26 fn default() -> Self {
27 Self {
28 r#id: Default::default(),
29 r#extension: Default::default(),
30 r#modifier_extension: Default::default(),
31 r#style: Default::default(),
32 r#text: super::super::types::Markdown {
33 id: Some("$invalid".to_string()),
34 ..Default::default()
35 },
36 }
37 }
38}
39#[doc = "The assignment to an organizing scheme."]
40#[derive(Debug, Clone, PartialEq)]
41pub struct CitationClassification {
42 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
43 pub r#id: Option<std::string::String>,
44 #[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 managable, 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."]
45 pub r#extension: Vec<super::super::types::Extension>,
46 #[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 managable, 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)."]
47 pub r#modifier_extension: Vec<super::super::types::Extension>,
48 #[doc = "The kind of classifier (e.g. publication type, keyword)."]
49 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
50 #[doc = "The specific classification value."]
51 pub r#classifier: Vec<super::super::types::CodeableConcept>,
52}
53#[allow(clippy::derivable_impls)]
54impl Default for CitationClassification {
55 fn default() -> Self {
56 Self {
57 r#id: Default::default(),
58 r#extension: Default::default(),
59 r#modifier_extension: Default::default(),
60 r#type: Default::default(),
61 r#classifier: Default::default(),
62 }
63 }
64}
65#[doc = "The state or status of the citation record paired with an effective date or period for that state."]
66#[derive(Debug, Clone, PartialEq)]
67pub struct CitationStatusDate {
68 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
69 pub r#id: Option<std::string::String>,
70 #[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 managable, 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."]
71 pub r#extension: Vec<super::super::types::Extension>,
72 #[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 managable, 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)."]
73 pub r#modifier_extension: Vec<super::super::types::Extension>,
74 #[doc = "The state or status of the citation record (that will be paired with the period)."]
75 pub r#activity: Box<super::super::types::CodeableConcept>,
76 #[doc = "Whether the status date is actual (has occurred) or expected (estimated or anticipated)."]
77 pub r#actual: Option<super::super::types::Boolean>,
78 #[doc = "When the status started and/or ended."]
79 pub r#period: Box<super::super::types::Period>,
80}
81#[allow(clippy::derivable_impls)]
82impl Default for CitationStatusDate {
83 fn default() -> Self {
84 Self {
85 r#id: Default::default(),
86 r#extension: Default::default(),
87 r#modifier_extension: Default::default(),
88 r#activity: Box::new(super::super::types::CodeableConcept {
89 id: Some("$invalid".to_string()),
90 ..Default::default()
91 }),
92 r#actual: Default::default(),
93 r#period: Box::new(super::super::types::Period {
94 id: Some("$invalid".to_string()),
95 ..Default::default()
96 }),
97 }
98 }
99}
100#[doc = "The defined version of the cited artifact."]
101#[derive(Debug, Clone, PartialEq)]
102pub struct CitationCitedArtifactVersion {
103 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
104 pub r#id: Option<std::string::String>,
105 #[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 managable, 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."]
106 pub r#extension: Vec<super::super::types::Extension>,
107 #[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 managable, 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)."]
108 pub r#modifier_extension: Vec<super::super::types::Extension>,
109 #[doc = "The version number or other version identifier."]
110 pub r#value: super::super::types::String,
111 #[doc = "Citation for the main version of the cited artifact."]
112 pub r#base_citation: Option<Box<super::super::types::Reference>>,
113}
114#[allow(clippy::derivable_impls)]
115impl Default for CitationCitedArtifactVersion {
116 fn default() -> Self {
117 Self {
118 r#id: Default::default(),
119 r#extension: Default::default(),
120 r#modifier_extension: Default::default(),
121 r#value: super::super::types::String {
122 id: Some("$invalid".to_string()),
123 ..Default::default()
124 },
125 r#base_citation: Default::default(),
126 }
127 }
128}
129#[doc = "An effective date or period, historical or future, actual or expected, for a status of the cited artifact."]
130#[derive(Debug, Clone, PartialEq)]
131pub struct CitationCitedArtifactStatusDate {
132 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
133 pub r#id: Option<std::string::String>,
134 #[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 managable, 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."]
135 pub r#extension: Vec<super::super::types::Extension>,
136 #[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 managable, 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)."]
137 pub r#modifier_extension: Vec<super::super::types::Extension>,
138 #[doc = "A definition of the status associated with a date or period."]
139 pub r#activity: Box<super::super::types::CodeableConcept>,
140 #[doc = "Either occurred or expected."]
141 pub r#actual: Option<super::super::types::Boolean>,
142 #[doc = "When the status started and/or ended."]
143 pub r#period: Box<super::super::types::Period>,
144}
145#[allow(clippy::derivable_impls)]
146impl Default for CitationCitedArtifactStatusDate {
147 fn default() -> Self {
148 Self {
149 r#id: Default::default(),
150 r#extension: Default::default(),
151 r#modifier_extension: Default::default(),
152 r#activity: Box::new(super::super::types::CodeableConcept {
153 id: Some("$invalid".to_string()),
154 ..Default::default()
155 }),
156 r#actual: Default::default(),
157 r#period: Box::new(super::super::types::Period {
158 id: Some("$invalid".to_string()),
159 ..Default::default()
160 }),
161 }
162 }
163}
164#[doc = "The title details of the article or artifact."]
165#[derive(Debug, Clone, PartialEq)]
166pub struct CitationCitedArtifactTitle {
167 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
168 pub r#id: Option<std::string::String>,
169 #[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 managable, 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."]
170 pub r#extension: Vec<super::super::types::Extension>,
171 #[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 managable, 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)."]
172 pub r#modifier_extension: Vec<super::super::types::Extension>,
173 #[doc = "Used to express the reason for or classification of the title."]
174 pub r#type: Vec<super::super::types::CodeableConcept>,
175 #[doc = "Used to express the specific language of the title."]
176 pub r#language: Option<Box<super::super::types::CodeableConcept>>,
177 #[doc = "The title of the article or artifact."]
178 pub r#text: super::super::types::Markdown,
179}
180#[allow(clippy::derivable_impls)]
181impl Default for CitationCitedArtifactTitle {
182 fn default() -> Self {
183 Self {
184 r#id: Default::default(),
185 r#extension: Default::default(),
186 r#modifier_extension: Default::default(),
187 r#type: Default::default(),
188 r#language: Default::default(),
189 r#text: super::super::types::Markdown {
190 id: Some("$invalid".to_string()),
191 ..Default::default()
192 },
193 }
194 }
195}
196#[doc = "The abstract may be used to convey article-contained abstracts, externally-created abstracts, or other descriptive summaries."]
197#[derive(Debug, Clone, PartialEq)]
198pub struct CitationCitedArtifactAbstract {
199 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
200 pub r#id: Option<std::string::String>,
201 #[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 managable, 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."]
202 pub r#extension: Vec<super::super::types::Extension>,
203 #[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 managable, 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)."]
204 pub r#modifier_extension: Vec<super::super::types::Extension>,
205 #[doc = "Used to express the reason for or classification of the abstract."]
206 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
207 #[doc = "Used to express the specific language of the abstract."]
208 pub r#language: Option<Box<super::super::types::CodeableConcept>>,
209 #[doc = "Abstract content."]
210 pub r#text: super::super::types::Markdown,
211 #[doc = "Copyright notice for the abstract."]
212 pub r#copyright: Option<super::super::types::Markdown>,
213}
214#[allow(clippy::derivable_impls)]
215impl Default for CitationCitedArtifactAbstract {
216 fn default() -> Self {
217 Self {
218 r#id: Default::default(),
219 r#extension: Default::default(),
220 r#modifier_extension: Default::default(),
221 r#type: Default::default(),
222 r#language: Default::default(),
223 r#text: super::super::types::Markdown {
224 id: Some("$invalid".to_string()),
225 ..Default::default()
226 },
227 r#copyright: Default::default(),
228 }
229 }
230}
231#[doc = "The component of the article or artifact."]
232#[derive(Debug, Clone, PartialEq)]
233pub struct CitationCitedArtifactPart {
234 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
235 pub r#id: Option<std::string::String>,
236 #[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 managable, 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."]
237 pub r#extension: Vec<super::super::types::Extension>,
238 #[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 managable, 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)."]
239 pub r#modifier_extension: Vec<super::super::types::Extension>,
240 #[doc = "The kind of component."]
241 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
242 #[doc = "The specification of the component."]
243 pub r#value: Option<super::super::types::String>,
244 #[doc = "The citation for the full article or artifact."]
245 pub r#base_citation: Option<Box<super::super::types::Reference>>,
246}
247#[allow(clippy::derivable_impls)]
248impl Default for CitationCitedArtifactPart {
249 fn default() -> Self {
250 Self {
251 r#id: Default::default(),
252 r#extension: Default::default(),
253 r#modifier_extension: Default::default(),
254 r#type: Default::default(),
255 r#value: Default::default(),
256 r#base_citation: Default::default(),
257 }
258 }
259}
260#[doc = "The artifact related to the cited artifact."]
261#[derive(Debug, Clone, PartialEq)]
262pub struct CitationCitedArtifactRelatesTo {
263 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
264 pub r#id: Option<std::string::String>,
265 #[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 managable, 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."]
266 pub r#extension: Vec<super::super::types::Extension>,
267 #[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 managable, 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)."]
268 pub r#modifier_extension: Vec<super::super::types::Extension>,
269 #[doc = "The type of relationship to the related artifact."]
270 pub r#type: super::super::types::Code,
271 #[doc = "Provides additional classifiers of the related artifact."]
272 pub r#classifier: Vec<super::super::types::CodeableConcept>,
273 #[doc = "A short label that can be used to reference the related artifact from elsewhere in the containing artifact, such as a footnote index."]
274 pub r#label: Option<super::super::types::String>,
275 #[doc = "A brief description of the document or knowledge resource being referenced, suitable for display to a consumer."]
276 pub r#display: Option<super::super::types::String>,
277 #[doc = "A bibliographic citation for the related artifact. This text SHOULD be formatted according to an accepted citation format."]
278 pub r#citation: Option<super::super::types::Markdown>,
279 #[doc = "The document being referenced, represented as an attachment. Do not use this element if using the resource element to provide the canonical to the related artifact."]
280 pub r#document: Option<Box<super::super::types::Attachment>>,
281 #[doc = "The related artifact, such as a library, value set, profile, or other knowledge resource."]
282 pub r#resource: Option<super::super::types::Canonical>,
283 #[doc = "The related artifact, if the artifact is not a canonical resource, or a resource reference to a canonical resource."]
284 pub r#resource_reference: Option<Box<super::super::types::Reference>>,
285}
286#[allow(clippy::derivable_impls)]
287impl Default for CitationCitedArtifactRelatesTo {
288 fn default() -> Self {
289 Self {
290 r#id: Default::default(),
291 r#extension: Default::default(),
292 r#modifier_extension: Default::default(),
293 r#type: super::super::types::Code {
294 id: Some("$invalid".to_string()),
295 ..Default::default()
296 },
297 r#classifier: Default::default(),
298 r#label: Default::default(),
299 r#display: Default::default(),
300 r#citation: Default::default(),
301 r#document: Default::default(),
302 r#resource: Default::default(),
303 r#resource_reference: Default::default(),
304 }
305 }
306}
307#[doc = "The collection the cited article or artifact is published in."]
308#[derive(Debug, Clone, PartialEq)]
309pub struct CitationCitedArtifactPublicationFormPublishedIn {
310 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
311 pub r#id: Option<std::string::String>,
312 #[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 managable, 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."]
313 pub r#extension: Vec<super::super::types::Extension>,
314 #[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 managable, 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)."]
315 pub r#modifier_extension: Vec<super::super::types::Extension>,
316 #[doc = "Kind of container (e.g. Periodical, database, or book)."]
317 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
318 #[doc = "Journal identifiers include ISSN, ISO Abbreviation and NLMuniqueID; Book identifiers include ISBN."]
319 pub r#identifier: Vec<super::super::types::Identifier>,
320 #[doc = "Name of the database or title of the book or journal."]
321 pub r#title: Option<super::super::types::String>,
322 #[doc = "Name of or resource describing the publisher."]
323 pub r#publisher: Option<Box<super::super::types::Reference>>,
324 #[doc = "Geographic location of the publisher."]
325 pub r#publisher_location: Option<super::super::types::String>,
326}
327#[allow(clippy::derivable_impls)]
328impl Default for CitationCitedArtifactPublicationFormPublishedIn {
329 fn default() -> Self {
330 Self {
331 r#id: Default::default(),
332 r#extension: Default::default(),
333 r#modifier_extension: Default::default(),
334 r#type: Default::default(),
335 r#identifier: Default::default(),
336 r#title: Default::default(),
337 r#publisher: Default::default(),
338 r#publisher_location: Default::default(),
339 }
340 }
341}
342#[doc = "If multiple, used to represent alternative forms of the article that are not separate citations."]
343#[derive(Debug, Clone, PartialEq)]
344pub struct CitationCitedArtifactPublicationForm {
345 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
346 pub r#id: Option<std::string::String>,
347 #[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 managable, 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."]
348 pub r#extension: Vec<super::super::types::Extension>,
349 #[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 managable, 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)."]
350 pub r#modifier_extension: Vec<super::super::types::Extension>,
351 #[doc = "The collection the cited article or artifact is published in."]
352 pub r#published_in: Option<CitationCitedArtifactPublicationFormPublishedIn>,
353 #[doc = "Describes the form of the medium cited. Common codes are \"Internet\" or \"Print\". The CitedMedium value set has 6 codes. The codes internet, print, and offline-digital-storage are the common codes for a typical publication form, though internet and print are more common for study citations. Three additional codes (each appending one of the primary codes with \"-without-issue\" are used for situations when a study is published both within an issue (of a periodical release as commonly done for journals) AND is published separately from the issue (as commonly done with early online publication), to represent specific identification of the publication form not associated with the issue."]
354 pub r#cited_medium: Option<Box<super::super::types::CodeableConcept>>,
355 #[doc = "Volume number of journal or other collection in which the article is published."]
356 pub r#volume: Option<super::super::types::String>,
357 #[doc = "Issue, part or supplement of journal or other collection in which the article is published."]
358 pub r#issue: Option<super::super::types::String>,
359 #[doc = "The date the article was added to the database, or the date the article was released."]
360 pub r#article_date: Option<super::super::types::DateTime>,
361 #[doc = "Text representation of the date on which the issue of the cited artifact was published."]
362 pub r#publication_date_text: Option<super::super::types::String>,
363 #[doc = "Spring, Summer, Fall/Autumn, Winter."]
364 pub r#publication_date_season: Option<super::super::types::String>,
365 #[doc = "The date the article was last revised or updated in the database."]
366 pub r#last_revision_date: Option<super::super::types::DateTime>,
367 #[doc = "The language or languages in which this form of the article is published."]
368 pub r#language: Vec<super::super::types::CodeableConcept>,
369 #[doc = "Entry number or identifier for inclusion in a database."]
370 pub r#accession_number: Option<super::super::types::String>,
371 #[doc = "Used for full display of pagination."]
372 pub r#page_string: Option<super::super::types::String>,
373 #[doc = "Used for isolated representation of first page."]
374 pub r#first_page: Option<super::super::types::String>,
375 #[doc = "Used for isolated representation of last page."]
376 pub r#last_page: Option<super::super::types::String>,
377 #[doc = "Actual or approximate number of pages or screens. Distinct from reporting the page numbers."]
378 pub r#page_count: Option<super::super::types::String>,
379 #[doc = "Copyright notice for the full article or artifact."]
380 pub r#copyright: Option<super::super::types::Markdown>,
381}
382#[allow(clippy::derivable_impls)]
383impl Default for CitationCitedArtifactPublicationForm {
384 fn default() -> Self {
385 Self {
386 r#id: Default::default(),
387 r#extension: Default::default(),
388 r#modifier_extension: Default::default(),
389 r#published_in: Default::default(),
390 r#cited_medium: Default::default(),
391 r#volume: Default::default(),
392 r#issue: Default::default(),
393 r#article_date: Default::default(),
394 r#publication_date_text: Default::default(),
395 r#publication_date_season: Default::default(),
396 r#last_revision_date: Default::default(),
397 r#language: Default::default(),
398 r#accession_number: Default::default(),
399 r#page_string: Default::default(),
400 r#first_page: Default::default(),
401 r#last_page: Default::default(),
402 r#page_count: Default::default(),
403 r#copyright: Default::default(),
404 }
405 }
406}
407#[doc = "Used for any URL for the article or artifact cited."]
408#[derive(Debug, Clone, PartialEq)]
409pub struct CitationCitedArtifactWebLocation {
410 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
411 pub r#id: Option<std::string::String>,
412 #[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 managable, 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."]
413 pub r#extension: Vec<super::super::types::Extension>,
414 #[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 managable, 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)."]
415 pub r#modifier_extension: Vec<super::super::types::Extension>,
416 #[doc = "A characterization of the object expected at the web location."]
417 pub r#classifier: Vec<super::super::types::CodeableConcept>,
418 #[doc = "The specific URL."]
419 pub r#url: Option<super::super::types::Uri>,
420}
421#[allow(clippy::derivable_impls)]
422impl Default for CitationCitedArtifactWebLocation {
423 fn default() -> Self {
424 Self {
425 r#id: Default::default(),
426 r#extension: Default::default(),
427 r#modifier_extension: Default::default(),
428 r#classifier: Default::default(),
429 r#url: Default::default(),
430 }
431 }
432}
433#[doc = "The assignment to an organizing scheme."]
434#[derive(Debug, Clone, PartialEq)]
435pub struct CitationCitedArtifactClassification {
436 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
437 pub r#id: Option<std::string::String>,
438 #[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 managable, 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."]
439 pub r#extension: Vec<super::super::types::Extension>,
440 #[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 managable, 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)."]
441 pub r#modifier_extension: Vec<super::super::types::Extension>,
442 #[doc = "The kind of classifier (e.g. publication type, keyword)."]
443 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
444 #[doc = "The specific classification value."]
445 pub r#classifier: Vec<super::super::types::CodeableConcept>,
446 #[doc = "Complex or externally created classification."]
447 pub r#artifact_assessment: Vec<super::super::types::Reference>,
448}
449#[allow(clippy::derivable_impls)]
450impl Default for CitationCitedArtifactClassification {
451 fn default() -> Self {
452 Self {
453 r#id: Default::default(),
454 r#extension: Default::default(),
455 r#modifier_extension: Default::default(),
456 r#type: Default::default(),
457 r#classifier: Default::default(),
458 r#artifact_assessment: Default::default(),
459 }
460 }
461}
462#[doc = "Contributions with accounting for time or number."]
463#[derive(Debug, Clone, PartialEq)]
464pub struct CitationCitedArtifactContributorshipEntryContributionInstance {
465 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
466 pub r#id: Option<std::string::String>,
467 #[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 managable, 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."]
468 pub r#extension: Vec<super::super::types::Extension>,
469 #[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 managable, 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)."]
470 pub r#modifier_extension: Vec<super::super::types::Extension>,
471 #[doc = "The specific contribution."]
472 pub r#type: Box<super::super::types::CodeableConcept>,
473 #[doc = "The time that the contribution was made."]
474 pub r#time: Option<super::super::types::DateTime>,
475}
476#[allow(clippy::derivable_impls)]
477impl Default for CitationCitedArtifactContributorshipEntryContributionInstance {
478 fn default() -> Self {
479 Self {
480 r#id: Default::default(),
481 r#extension: Default::default(),
482 r#modifier_extension: Default::default(),
483 r#type: Box::new(super::super::types::CodeableConcept {
484 id: Some("$invalid".to_string()),
485 ..Default::default()
486 }),
487 r#time: Default::default(),
488 }
489 }
490}
491#[doc = "An individual entity named as a contributor, for example in the author list or contributor list."]
492#[derive(Debug, Clone, PartialEq)]
493pub struct CitationCitedArtifactContributorshipEntry {
494 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
495 pub r#id: Option<std::string::String>,
496 #[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 managable, 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."]
497 pub r#extension: Vec<super::super::types::Extension>,
498 #[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 managable, 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)."]
499 pub r#modifier_extension: Vec<super::super::types::Extension>,
500 #[doc = "The identity of the individual contributor."]
501 pub r#contributor: Box<super::super::types::Reference>,
502 #[doc = "For citation styles that use initials."]
503 pub r#forename_initials: Option<super::super::types::String>,
504 #[doc = "Organization affiliated with the contributor."]
505 pub r#affiliation: Vec<super::super::types::Reference>,
506 #[doc = "This element identifies the specific nature of an individual’s contribution with respect to the cited work."]
507 pub r#contribution_type: Vec<super::super::types::CodeableConcept>,
508 #[doc = "The role of the contributor (e.g. author, editor, reviewer, funder)."]
509 pub r#role: Option<Box<super::super::types::CodeableConcept>>,
510 #[doc = "Contributions with accounting for time or number."]
511 pub r#contribution_instance: Vec<CitationCitedArtifactContributorshipEntryContributionInstance>,
512 #[doc = "Whether the contributor is the corresponding contributor for the role."]
513 pub r#corresponding_contact: Option<super::super::types::Boolean>,
514 #[doc = "Provides a numerical ranking to represent the degree of contributorship relative to other contributors, such as 1 for first author and 2 for second author."]
515 pub r#ranking_order: Option<super::super::types::PositiveInt>,
516}
517#[allow(clippy::derivable_impls)]
518impl Default for CitationCitedArtifactContributorshipEntry {
519 fn default() -> Self {
520 Self {
521 r#id: Default::default(),
522 r#extension: Default::default(),
523 r#modifier_extension: Default::default(),
524 r#contributor: Box::new(super::super::types::Reference {
525 id: Some("$invalid".to_string()),
526 ..Default::default()
527 }),
528 r#forename_initials: Default::default(),
529 r#affiliation: Default::default(),
530 r#contribution_type: Default::default(),
531 r#role: Default::default(),
532 r#contribution_instance: Default::default(),
533 r#corresponding_contact: Default::default(),
534 r#ranking_order: Default::default(),
535 }
536 }
537}
538#[doc = "Used to record a display of the author/contributor list without separate data element for each list member."]
539#[derive(Debug, Clone, PartialEq)]
540pub struct CitationCitedArtifactContributorshipSummary {
541 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
542 pub r#id: Option<std::string::String>,
543 #[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 managable, 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."]
544 pub r#extension: Vec<super::super::types::Extension>,
545 #[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 managable, 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)."]
546 pub r#modifier_extension: Vec<super::super::types::Extension>,
547 #[doc = "Used most commonly to express an author list or a contributorship statement."]
548 pub r#type: Option<Box<super::super::types::CodeableConcept>>,
549 #[doc = "The format for the display string, such as author last name with first letter capitalized followed by forename initials."]
550 pub r#style: Option<Box<super::super::types::CodeableConcept>>,
551 #[doc = "Used to code the producer or rule for creating the display string."]
552 pub r#source: Option<Box<super::super::types::CodeableConcept>>,
553 #[doc = "The display string for the author list, contributor list, or contributorship statement."]
554 pub r#value: super::super::types::Markdown,
555}
556#[allow(clippy::derivable_impls)]
557impl Default for CitationCitedArtifactContributorshipSummary {
558 fn default() -> Self {
559 Self {
560 r#id: Default::default(),
561 r#extension: Default::default(),
562 r#modifier_extension: Default::default(),
563 r#type: Default::default(),
564 r#style: Default::default(),
565 r#source: Default::default(),
566 r#value: super::super::types::Markdown {
567 id: Some("$invalid".to_string()),
568 ..Default::default()
569 },
570 }
571 }
572}
573#[doc = "This element is used to list authors and other contributors, their contact information, specific contributions, and summary statements."]
574#[derive(Debug, Clone, PartialEq)]
575pub struct CitationCitedArtifactContributorship {
576 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
577 pub r#id: Option<std::string::String>,
578 #[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 managable, 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."]
579 pub r#extension: Vec<super::super::types::Extension>,
580 #[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 managable, 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)."]
581 pub r#modifier_extension: Vec<super::super::types::Extension>,
582 #[doc = "Indicates if the list includes all authors and/or contributors."]
583 pub r#complete: Option<super::super::types::Boolean>,
584 #[doc = "An individual entity named as a contributor, for example in the author list or contributor list."]
585 pub r#entry: Vec<CitationCitedArtifactContributorshipEntry>,
586 #[doc = "Used to record a display of the author/contributor list without separate data element for each list member."]
587 pub r#summary: Vec<CitationCitedArtifactContributorshipSummary>,
588}
589#[allow(clippy::derivable_impls)]
590impl Default for CitationCitedArtifactContributorship {
591 fn default() -> Self {
592 Self {
593 r#id: Default::default(),
594 r#extension: Default::default(),
595 r#modifier_extension: Default::default(),
596 r#complete: Default::default(),
597 r#entry: Default::default(),
598 r#summary: Default::default(),
599 }
600 }
601}
602#[doc = "The article or artifact being described."]
603#[derive(Debug, Clone, PartialEq)]
604pub struct CitationCitedArtifact {
605 #[doc = "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."]
606 pub r#id: Option<std::string::String>,
607 #[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 managable, 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."]
608 pub r#extension: Vec<super::super::types::Extension>,
609 #[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 managable, 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)."]
610 pub r#modifier_extension: Vec<super::super::types::Extension>,
611 #[doc = "A formal identifier that is used to identify the cited artifact when it is represented in other formats, or referenced in a specification, model, design or an instance."]
612 pub r#identifier: Vec<super::super::types::Identifier>,
613 #[doc = "A formal identifier that is used to identify things closely related to the cited artifact."]
614 pub r#related_identifier: Vec<super::super::types::Identifier>,
615 #[doc = "When the cited artifact was accessed."]
616 pub r#date_accessed: Option<super::super::types::DateTime>,
617 #[doc = "The defined version of the cited artifact."]
618 pub r#version: Option<CitationCitedArtifactVersion>,
619 #[doc = "The status of the cited artifact."]
620 pub r#current_state: Vec<super::super::types::CodeableConcept>,
621 #[doc = "An effective date or period, historical or future, actual or expected, for a status of the cited artifact."]
622 pub r#status_date: Vec<CitationCitedArtifactStatusDate>,
623 #[doc = "The title details of the article or artifact."]
624 pub r#title: Vec<CitationCitedArtifactTitle>,
625 #[doc = "The abstract may be used to convey article-contained abstracts, externally-created abstracts, or other descriptive summaries."]
626 pub r#abstract: Vec<CitationCitedArtifactAbstract>,
627 #[doc = "The component of the article or artifact."]
628 pub r#part: Option<CitationCitedArtifactPart>,
629 #[doc = "The artifact related to the cited artifact."]
630 pub r#relates_to: Vec<CitationCitedArtifactRelatesTo>,
631 #[doc = "If multiple, used to represent alternative forms of the article that are not separate citations."]
632 pub r#publication_form: Vec<CitationCitedArtifactPublicationForm>,
633 #[doc = "Used for any URL for the article or artifact cited."]
634 pub r#web_location: Vec<CitationCitedArtifactWebLocation>,
635 #[doc = "The assignment to an organizing scheme."]
636 pub r#classification: Vec<CitationCitedArtifactClassification>,
637 #[doc = "This element is used to list authors and other contributors, their contact information, specific contributions, and summary statements."]
638 pub r#contributorship: Option<CitationCitedArtifactContributorship>,
639 #[doc = "Any additional information or content for the article or artifact."]
640 pub r#note: Vec<super::super::types::Annotation>,
641}
642#[allow(clippy::derivable_impls)]
643impl Default for CitationCitedArtifact {
644 fn default() -> Self {
645 Self {
646 r#id: Default::default(),
647 r#extension: Default::default(),
648 r#modifier_extension: Default::default(),
649 r#identifier: Default::default(),
650 r#related_identifier: Default::default(),
651 r#date_accessed: Default::default(),
652 r#version: Default::default(),
653 r#current_state: Default::default(),
654 r#status_date: Default::default(),
655 r#title: Default::default(),
656 r#abstract: Default::default(),
657 r#part: Default::default(),
658 r#relates_to: Default::default(),
659 r#publication_form: Default::default(),
660 r#web_location: Default::default(),
661 r#classification: Default::default(),
662 r#contributorship: Default::default(),
663 r#note: Default::default(),
664 }
665 }
666}
667#[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."]
668#[derive(Debug, Clone, PartialEq)]
669pub struct Citation {
670 #[doc = "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes."]
671 pub r#id: Option<super::super::types::Id>,
672 #[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."]
673 pub r#meta: Option<Box<super::super::types::Meta>>,
674 #[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."]
675 pub r#implicit_rules: Option<super::super::types::Uri>,
676 #[doc = "The base language in which the resource is written."]
677 pub r#language: Option<super::super::types::Code>,
678 #[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."]
679 pub r#text: Option<Box<super::super::types::Narrative>>,
680 #[doc = "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning."]
681 pub r#contained: Vec<super::super::Resource>,
682 #[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 managable, 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."]
683 pub r#extension: Vec<super::super::types::Extension>,
684 #[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 managable, 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)."]
685 pub r#modifier_extension: Vec<super::super::types::Extension>,
686 #[doc = "An absolute URI that is used to identify this citation record 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 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."]
687 pub r#url: Option<super::super::types::Uri>,
688 #[doc = "A formal identifier that is used to identify this citation record when it is represented in other formats, or referenced in a specification, model, design or an instance."]
689 pub r#identifier: Vec<super::super::types::Identifier>,
690 #[doc = "The identifier that is used to identify this version of the citation record when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the citation record 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."]
691 pub r#version: Option<super::super::types::String>,
692 #[doc = "Indicates the mechanism used to compare versions to determine which is more current."]
693 pub r#version_algorithm: Option<CitationVersionAlgorithm>,
694 #[doc = "A natural language name identifying the citation record. This name should be usable as an identifier for the module by machine processing applications such as code generation."]
695 pub r#name: Option<super::super::types::String>,
696 #[doc = "A short, descriptive, user-friendly title for the citation record."]
697 pub r#title: Option<super::super::types::String>,
698 #[doc = "The status of this summary. Enables tracking the life-cycle of the content."]
699 pub r#status: super::super::types::Code,
700 #[doc = "A Boolean value to indicate that this citation record is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage."]
701 pub r#experimental: Option<super::super::types::Boolean>,
702 #[doc = "The date (and optionally time) when the citation record was last significantly changed. 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 record changes."]
703 pub r#date: Option<super::super::types::DateTime>,
704 #[doc = "The name of the organization or individual that published the citation record."]
705 pub r#publisher: Option<super::super::types::String>,
706 #[doc = "Contact details to assist a user in finding and communicating with the publisher."]
707 pub r#contact: Vec<super::super::types::ContactDetail>,
708 #[doc = "A free text natural language description of the citation from a consumer's perspective."]
709 pub r#description: Option<super::super::types::Markdown>,
710 #[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 record instances."]
711 pub r#use_context: Vec<super::super::types::UsageContext>,
712 #[doc = "A legal or geographic region in which the citation record is intended to be used."]
713 pub r#jurisdiction: Vec<super::super::types::CodeableConcept>,
714 #[doc = "Explanation of why this citation is needed and why it has been designed as it has."]
715 pub r#purpose: Option<super::super::types::Markdown>,
716 #[doc = "Use and/or publishing restrictions for the citation record, not for the cited artifact."]
717 pub r#copyright: Option<super::super::types::Markdown>,
718 #[doc = "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')."]
719 pub r#copyright_label: Option<super::super::types::String>,
720 #[doc = "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage."]
721 pub r#approval_date: Option<super::super::types::Date>,
722 #[doc = "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date."]
723 pub r#last_review_date: Option<super::super::types::Date>,
724 #[doc = "The period during which the citation record content was or is planned to be in active use."]
725 pub r#effective_period: Option<Box<super::super::types::Period>>,
726 #[doc = "Who authored or created the citation record."]
727 pub r#author: Vec<super::super::types::ContactDetail>,
728 #[doc = "Who edited or revised the citation record."]
729 pub r#editor: Vec<super::super::types::ContactDetail>,
730 #[doc = "Who reviewed the citation record."]
731 pub r#reviewer: Vec<super::super::types::ContactDetail>,
732 #[doc = "Who endorsed the citation record."]
733 pub r#endorser: Vec<super::super::types::ContactDetail>,
734 #[doc = "A human-readable display of key concepts to represent the citation."]
735 pub r#summary: Vec<CitationSummary>,
736 #[doc = "The assignment to an organizing scheme."]
737 pub r#classification: Vec<CitationClassification>,
738 #[doc = "Used for general notes and annotations not coded elsewhere."]
739 pub r#note: Vec<super::super::types::Annotation>,
740 #[doc = "The status of the citation record."]
741 pub r#current_state: Vec<super::super::types::CodeableConcept>,
742 #[doc = "The state or status of the citation record paired with an effective date or period for that state."]
743 pub r#status_date: Vec<CitationStatusDate>,
744 #[doc = "Artifact related to the citation record."]
745 pub r#related_artifact: Vec<super::super::types::RelatedArtifact>,
746 #[doc = "The article or artifact being described."]
747 pub r#cited_artifact: Option<CitationCitedArtifact>,
748}
749#[allow(clippy::derivable_impls)]
750impl Default for Citation {
751 fn default() -> Self {
752 Self {
753 r#id: Default::default(),
754 r#meta: Default::default(),
755 r#implicit_rules: Default::default(),
756 r#language: Default::default(),
757 r#text: Default::default(),
758 r#contained: Default::default(),
759 r#extension: Default::default(),
760 r#modifier_extension: Default::default(),
761 r#url: Default::default(),
762 r#identifier: Default::default(),
763 r#version: Default::default(),
764 r#version_algorithm: Default::default(),
765 r#name: Default::default(),
766 r#title: Default::default(),
767 r#status: super::super::types::Code {
768 id: Some("$invalid".to_string()),
769 ..Default::default()
770 },
771 r#experimental: Default::default(),
772 r#date: Default::default(),
773 r#publisher: Default::default(),
774 r#contact: Default::default(),
775 r#description: Default::default(),
776 r#use_context: Default::default(),
777 r#jurisdiction: Default::default(),
778 r#purpose: Default::default(),
779 r#copyright: Default::default(),
780 r#copyright_label: Default::default(),
781 r#approval_date: Default::default(),
782 r#last_review_date: Default::default(),
783 r#effective_period: Default::default(),
784 r#author: Default::default(),
785 r#editor: Default::default(),
786 r#reviewer: Default::default(),
787 r#endorser: Default::default(),
788 r#summary: Default::default(),
789 r#classification: Default::default(),
790 r#note: Default::default(),
791 r#current_state: Default::default(),
792 r#status_date: Default::default(),
793 r#related_artifact: Default::default(),
794 r#cited_artifact: Default::default(),
795 }
796 }
797}