fhirbolt_model/generated/r4/resources/
immunization_evaluation.rs1#[doc = "Nominal position in a series."]
3#[derive(Default, Debug, Clone, PartialEq)]
4pub enum ImmunizationEvaluationDoseNumber {
5    PositiveInt(super::super::types::PositiveInt),
6    String(super::super::types::String),
7    #[default]
8    Invalid,
9}
10#[doc = "The recommended number of doses to achieve immunity."]
11#[derive(Default, Debug, Clone, PartialEq)]
12pub enum ImmunizationEvaluationSeriesDoses {
13    PositiveInt(super::super::types::PositiveInt),
14    String(super::super::types::String),
15    #[default]
16    Invalid,
17}
18#[doc = "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those  recommendations."]
19#[derive(Debug, Clone, PartialEq)]
20pub struct ImmunizationEvaluation {
21    #[doc = "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes."]
22    pub r#id: Option<super::super::types::Id>,
23    #[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."]
24    pub r#meta: Option<Box<super::super::types::Meta>>,
25    #[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."]
26    pub r#implicit_rules: Option<super::super::types::Uri>,
27    #[doc = "The base language in which the resource is written."]
28    pub r#language: Option<super::super::types::Code>,
29    #[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."]
30    pub r#text: Option<Box<super::super::types::Narrative>>,
31    #[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."]
32    pub r#contained: Vec<super::super::Resource>,
33    #[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."]
34    pub r#extension: Vec<super::super::types::Extension>,
35    #[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)."]
36    pub r#modifier_extension: Vec<super::super::types::Extension>,
37    #[doc = "A unique identifier assigned to this immunization evaluation record."]
38    pub r#identifier: Vec<super::super::types::Identifier>,
39    #[doc = "Indicates the current status of the evaluation of the vaccination administration event."]
40    pub r#status: super::super::types::Code,
41    #[doc = "The individual for whom the evaluation is being done."]
42    pub r#patient: Box<super::super::types::Reference>,
43    #[doc = "The date the evaluation of the vaccine administration event was performed."]
44    pub r#date: Option<super::super::types::DateTime>,
45    #[doc = "Indicates the authority who published the protocol (e.g. ACIP)."]
46    pub r#authority: Option<Box<super::super::types::Reference>>,
47    #[doc = "The vaccine preventable disease the dose is being evaluated against."]
48    pub r#target_disease: Box<super::super::types::CodeableConcept>,
49    #[doc = "The vaccine administration event being evaluated."]
50    pub r#immunization_event: Box<super::super::types::Reference>,
51    #[doc = "Indicates if the dose is valid or not valid with respect to the published recommendations."]
52    pub r#dose_status: Box<super::super::types::CodeableConcept>,
53    #[doc = "Provides an explanation as to why the vaccine administration event is valid or not relative to the published recommendations."]
54    pub r#dose_status_reason: Vec<super::super::types::CodeableConcept>,
55    #[doc = "Additional information about the evaluation."]
56    pub r#description: Option<super::super::types::String>,
57    #[doc = "One possible path to achieve presumed immunity against a disease - within the context of an authority."]
58    pub r#series: Option<super::super::types::String>,
59    #[doc = "Nominal position in a series."]
60    pub r#dose_number: Option<ImmunizationEvaluationDoseNumber>,
61    #[doc = "The recommended number of doses to achieve immunity."]
62    pub r#series_doses: Option<ImmunizationEvaluationSeriesDoses>,
63}
64#[allow(clippy::derivable_impls)]
65impl Default for ImmunizationEvaluation {
66    fn default() -> Self {
67        Self {
68            r#id: Default::default(),
69            r#meta: Default::default(),
70            r#implicit_rules: Default::default(),
71            r#language: Default::default(),
72            r#text: Default::default(),
73            r#contained: Default::default(),
74            r#extension: Default::default(),
75            r#modifier_extension: Default::default(),
76            r#identifier: Default::default(),
77            r#status: super::super::types::Code {
78                id: Some("$invalid".to_string()),
79                ..Default::default()
80            },
81            r#patient: Box::new(super::super::types::Reference {
82                id: Some("$invalid".to_string()),
83                ..Default::default()
84            }),
85            r#date: Default::default(),
86            r#authority: Default::default(),
87            r#target_disease: Box::new(super::super::types::CodeableConcept {
88                id: Some("$invalid".to_string()),
89                ..Default::default()
90            }),
91            r#immunization_event: Box::new(super::super::types::Reference {
92                id: Some("$invalid".to_string()),
93                ..Default::default()
94            }),
95            r#dose_status: Box::new(super::super::types::CodeableConcept {
96                id: Some("$invalid".to_string()),
97                ..Default::default()
98            }),
99            r#dose_status_reason: Default::default(),
100            r#description: Default::default(),
101            r#series: Default::default(),
102            r#dose_number: Default::default(),
103            r#series_doses: Default::default(),
104        }
105    }
106}