fhir_rs/resource/r5/
regulated_authorization.rs

1use crate::prelude::*;
2
3#[derive(Resource, Debug, Clone, Default)]
4#[fhir(base="DomainResource")]
5pub struct RegulatedAuthorization {
6    /// Logical id of this artifact
7    #[fhir(name="id", min="0", max="1", summary=true, modifier=false, choice="")]
8    pub id: Option<Id>,
9    /// Metadata about the resource
10    #[fhir(name="meta", min="0", max="1", summary=true, modifier=false, choice="")]
11    pub meta: Option<Meta>,
12    /// A set of rules under which this content was created
13    #[fhir(name="implicitRules", min="0", max="1", summary=true, modifier=true)]
14    pub implicit_rules: Option<UriDt>,
15    /// Language of the resource content
16    #[fhir(name="language", min="0", max="1", summary=false, modifier=false, choice="")]
17    pub language: Option<CodeDt>,
18    /// Text summary of the resource, for human interpretation
19    #[fhir(name="text", min="0", max="1", summary=false, modifier=false, choice="")]
20    pub text: Option<Narrative>,
21    /// Contained, inline Resources
22    #[fhir(name="contained", min="0", max="*", summary=false, modifier=false, choice="")]
23    pub contained: Option<Vec<AnyResource>>,
24    /// Additional content defined by implementations
25    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
26    pub extension: Option<Vec<Extension>>,
27    /// Extensions that cannot be ignored
28    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
29    pub modifier_extension: Option<Vec<Extension>>,
30    /// Business identifier for the authorization, typically assigned by the authorizing body
31    #[fhir(name="identifier", min="0", max="*", summary=true, modifier=false, choice="")]
32    pub identifier: Option<Vec<Identifier>>,
33    /// The product type, treatment, facility or activity that is being authorized
34    #[fhir(name="subject", min="0", max="*", summary=true, modifier=false, choice="")]
35    pub subject: Option<Vec<Reference>>,
36    /// Overall type of this authorization, for example drug marketing approval, orphan drug designation
37    #[fhir(name="type", min="0", max="1", summary=true, modifier=false, choice="")]
38    pub type_: Option<CodeableConcept>,
39    /// General textual supporting information
40    #[fhir(name="description", min="0", max="1", summary=true, modifier=false, choice="")]
41    pub description: Option<MarkdownDt>,
42    /// The territory in which the authorization has been granted
43    #[fhir(name="region", min="0", max="*", summary=true, modifier=false, choice="")]
44    pub region: Option<Vec<CodeableConcept>>,
45    /// The status that is authorised e.g. approved. Intermediate states can be tracked with cases and applications
46    #[fhir(name="status", min="0", max="1", summary=true, modifier=false, choice="")]
47    pub status: Option<CodeableConcept>,
48    /// The date at which the current status was assigned
49    #[fhir(name="statusDate", min="0", max="1", summary=true, modifier=false, choice="")]
50    pub status_date: Option<DateTimeDt>,
51    /// The time period in which the regulatory approval etc. is in effect, e.g. a Marketing Authorization includes the date of authorization and/or expiration date
52    #[fhir(name="validityPeriod", min="0", max="1", summary=true, modifier=false, choice="")]
53    pub validity_period: Option<Period>,
54    /// Condition for which the use of the regulated product applies
55    #[fhir(name="indication", min="0", max="*", summary=true, modifier=false, choice="")]
56    pub indication: Option<Vec<CodeableReference>>,
57    /// The intended use of the product, e.g. prevention, treatment
58    #[fhir(name="intendedUse", min="0", max="1", summary=true, modifier=false, choice="")]
59    pub intended_use: Option<CodeableConcept>,
60    /// The legal/regulatory framework or reasons under which this authorization is granted
61    #[fhir(name="basis", min="0", max="*", summary=true, modifier=false, choice="")]
62    pub basis: Option<Vec<CodeableConcept>>,
63    /// The organization that has been granted this authorization, by the regulator
64    #[fhir(name="holder", min="0", max="1", summary=true, modifier=false, choice="")]
65    pub holder: Option<Reference>,
66    /// The regulatory authority or authorizing body granting the authorization
67    #[fhir(name="regulator", min="0", max="1", summary=true, modifier=false, choice="")]
68    pub regulator: Option<Reference>,
69    /// Additional information or supporting documentation about the authorization
70    #[fhir(name="attachedDocument", min="0", max="*", summary=true, modifier=false, choice="")]
71    pub attached_document: Option<Vec<Reference>>,
72    /// The case or regulatory procedure for granting or amending a regulated authorization. Note: This area is subject to ongoing review and the workgroup is seeking implementer feedback on its use (see link at bottom of page)
73    #[fhir(name="case", min="0", max="1", summary=true, modifier=false, choice="")]
74    pub case: Option<RegulatedAuthorizationCaseBackboneElement>,
75}
76
77#[derive(Element, BackboneElement, Debug, Clone, Default)]
78pub struct RegulatedAuthorizationCaseBackboneElement {
79    /// Unique id for inter-element referencing
80    #[fhir(name="id", min="0", max="1", summary=false, modifier=false, choice="")]
81    pub id: Option<String>,
82    /// Additional content defined by implementations
83    #[fhir(name="extension", min="0", max="*", summary=false, modifier=false, choice="")]
84    pub extension: Option<Vec<Extension>>,
85    /// Extensions that cannot be ignored even if unrecognized
86    #[fhir(name="modifierExtension", min="0", max="*", summary=true, modifier=true)]
87    pub modifier_extension: Option<Vec<Extension>>,
88    /// Identifier by which this case can be referenced
89    #[fhir(name="identifier", min="0", max="1", summary=true, modifier=false, choice="")]
90    pub identifier: Option<Identifier>,
91    /// The defining type of case
92    #[fhir(name="type", min="0", max="1", summary=true, modifier=false, choice="")]
93    pub type_: Option<CodeableConcept>,
94    /// The status associated with the case
95    #[fhir(name="status", min="0", max="1", summary=true, modifier=false, choice="")]
96    pub status: Option<CodeableConcept>,
97    /// Relevant date for this case
98    #[fhir(name="date", min="0", max="1", summary=true, modifier=false, choice="")]
99    pub date: Option<DateTimeDt>,
100    /// Applications submitted to obtain a regulated authorization. Steps within the longer running case or procedure
101    #[fhir(name="application", min="0", max="*", summary=true, modifier=false, choice="")]
102    pub application: Option<Vec<RegulatedAuthorizationCaseBackboneElement>>,
103}
104