fhirbolt_model/generated/r4b/resources/
endpoint.rs1#[doc = "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information."]
3#[derive(Debug, Clone, PartialEq)]
4pub struct Endpoint {
5 #[doc = "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes."]
6 pub r#id: Option<super::super::types::Id>,
7 #[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."]
8 pub r#meta: Option<Box<super::super::types::Meta>>,
9 #[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."]
10 pub r#implicit_rules: Option<super::super::types::Uri>,
11 #[doc = "The base language in which the resource is written."]
12 pub r#language: Option<super::super::types::Code>,
13 #[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."]
14 pub r#text: Option<Box<super::super::types::Narrative>>,
15 #[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."]
16 pub r#contained: Vec<super::super::Resource>,
17 #[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."]
18 pub r#extension: Vec<super::super::types::Extension>,
19 #[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)."]
20 pub r#modifier_extension: Vec<super::super::types::Extension>,
21 #[doc = "Identifier for the organization that is used to identify the endpoint across multiple disparate systems."]
22 pub r#identifier: Vec<super::super::types::Identifier>,
23 #[doc = "active | suspended | error | off | test."]
24 pub r#status: super::super::types::Code,
25 #[doc = "A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook)."]
26 pub r#connection_type: Box<super::super::types::Coding>,
27 #[doc = "A friendly name that this endpoint can be referred to with."]
28 pub r#name: Option<super::super::types::String>,
29 #[doc = "The organization that manages this endpoint (even if technically another organization is hosting this in the cloud, it is the organization associated with the data)."]
30 pub r#managing_organization: Option<Box<super::super::types::Reference>>,
31 #[doc = "Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting."]
32 pub r#contact: Vec<super::super::types::ContactPoint>,
33 #[doc = "The interval during which the endpoint is expected to be operational."]
34 pub r#period: Option<Box<super::super::types::Period>>,
35 #[doc = "The payload type describes the acceptable content that can be communicated on the endpoint."]
36 pub r#payload_type: Vec<super::super::types::CodeableConcept>,
37 #[doc = "The mime type to send the payload in - e.g. application/fhir+xml, application/fhir+json. If the mime type is not specified, then the sender could send any content (including no content depending on the connectionType)."]
38 pub r#payload_mime_type: Vec<super::super::types::Code>,
39 #[doc = "The uri that describes the actual end-point to connect to."]
40 pub r#address: super::super::types::Url,
41 #[doc = "Additional headers / information to send as part of the notification."]
42 pub r#header: Vec<super::super::types::String>,
43}
44#[allow(clippy::derivable_impls)]
45impl Default for Endpoint {
46 fn default() -> Self {
47 Self {
48 r#id: Default::default(),
49 r#meta: Default::default(),
50 r#implicit_rules: Default::default(),
51 r#language: Default::default(),
52 r#text: Default::default(),
53 r#contained: Default::default(),
54 r#extension: Default::default(),
55 r#modifier_extension: Default::default(),
56 r#identifier: Default::default(),
57 r#status: super::super::types::Code {
58 id: Some("$invalid".to_string()),
59 ..Default::default()
60 },
61 r#connection_type: Box::new(super::super::types::Coding {
62 id: Some("$invalid".to_string()),
63 ..Default::default()
64 }),
65 r#name: Default::default(),
66 r#managing_organization: Default::default(),
67 r#contact: Default::default(),
68 r#period: Default::default(),
69 r#payload_type: Default::default(),
70 r#payload_mime_type: Default::default(),
71 r#address: super::super::types::Url {
72 id: Some("$invalid".to_string()),
73 ..Default::default()
74 },
75 r#header: Default::default(),
76 }
77 }
78}