Struct CapabilityStatementRestResource

Source
pub struct CapabilityStatementRestResource {
Show 39 fields pub id: Option<String>, pub extension: Vec<Extension>, pub modifier_extension: Vec<Extension>, pub type: String, pub type_ext: Option<FieldExtension>, pub profile: Option<String>, pub profile_ext: Option<FieldExtension>, pub supported_profile: Vec<Option<String>>, pub supported_profile_ext: Vec<Option<FieldExtension>>, pub documentation: Option<String>, pub documentation_ext: Option<FieldExtension>, pub interaction: Vec<Option<CapabilityStatementRestResourceInteraction>>, pub interaction_ext: Vec<Option<FieldExtension>>, pub versioning: Option<ResourceVersionPolicy>, pub versioning_ext: Option<FieldExtension>, pub read_history: Option<bool>, pub read_history_ext: Option<FieldExtension>, pub update_create: Option<bool>, pub update_create_ext: Option<FieldExtension>, pub conditional_create: Option<bool>, pub conditional_create_ext: Option<FieldExtension>, pub conditional_read: Option<ConditionalReadStatus>, pub conditional_read_ext: Option<FieldExtension>, pub conditional_update: Option<bool>, pub conditional_update_ext: Option<FieldExtension>, pub conditional_patch: Option<bool>, pub conditional_patch_ext: Option<FieldExtension>, pub conditional_delete: Option<ConditionalDeleteStatus>, pub conditional_delete_ext: Option<FieldExtension>, pub reference_policy: Vec<Option<ReferenceHandlingPolicy>>, pub reference_policy_ext: Vec<Option<FieldExtension>>, pub search_include: Vec<Option<String>>, pub search_include_ext: Vec<Option<FieldExtension>>, pub search_rev_include: Vec<Option<String>>, pub search_rev_include_ext: Vec<Option<FieldExtension>>, pub search_param: Vec<Option<CapabilityStatementRestResourceSearchParam>>, pub search_param_ext: Vec<Option<FieldExtension>>, pub operation: Vec<Option<CapabilityStatementRestResourceOperation>>, pub operation_ext: Vec<Option<FieldExtension>>,
}
Expand description

Sub-fields of the resource field in CapabilityStatementRest

Fields§

§id: Option<String>

Unique id for inter-element referencing

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

§extension: Vec<Extension>

Additional content defined by implementations

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.

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

§modifier_extension: Vec<Extension>

Extensions that cannot be ignored even if unrecognized

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.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

§type: String

ResourceType; A resource type that is supported

A type of resource exposed via the restful interface.

§type_ext: Option<FieldExtension>

Extension field.

§profile: Option<String>

System-wide profile

A system-wide profile that is applied across all instances of the resource supported by the system. For example, if declared on Observation, this profile is the “superset” of capabilities for laboratory and vitals and other domains. See further discussion in Using Profiles.

All other profiles for this type that are listed in .rest.resource.supportedProfile must conform to this profile.

§profile_ext: Option<FieldExtension>

Extension field.

§supported_profile: Vec<Option<String>>

Use-case specific profiles

A list of profiles representing different use cases the system hosts/produces. A supported profile is a statement about the functionality of the data and services provided by the server (or the client) for supported use cases. For example, a system can define and declare multiple Observation profiles for laboratory observations, vital sign observations, etc. By declaring supported profiles, systems provide a way to determine whether individual resources are conformant. See further discussion in Using Profiles.

Supported profiles must conform to the resource profile in the .rest.resource.profile element if it is present. The resource profile is a system-wide profile applied across all instances of the resource supported by the system. A supported profile is a statement about the functionality of the data and services provided by the server (or used by the client) for a particular set of use cases and will not necessarily apply to all data consumed or exposed by the server.

§supported_profile_ext: Vec<Option<FieldExtension>>

Extension field.

§documentation: Option<String>

Additional information about the use of the resource type

Additional information about the resource type used by the system.

§documentation_ext: Option<FieldExtension>

Extension field.

§interaction: Vec<Option<CapabilityStatementRestResourceInteraction>>

What operations are supported?

Identifies a restful operation supported by the solution.

In general, a Resource will only appear in a CapabilityStatement if the server actually has some capabilities - e.g. there is at least one interaction supported. However interactions can be omitted to support summarization (_summary = true).

§interaction_ext: Vec<Option<FieldExtension>>

Extension field.

§versioning: Option<ResourceVersionPolicy>

ResourceVersionPolicy; no-version | versioned | versioned-update

This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is ‘versioned-update’, then the server supports all the versioning features, including using e-tags for version integrity in the API.

If a server supports versionIds correctly, it SHOULD support vread too, but is not required to do so.

§versioning_ext: Option<FieldExtension>

Extension field.

§read_history: Option<bool>

Whether vRead can return past versions

A flag for whether the server is able to return past versions as part of the vRead operation.

It is useful to support the vRead operation for current operations, even if past versions aren’t available.

§read_history_ext: Option<FieldExtension>

Extension field.

§update_create: Option<bool>

If update can commit to a new identity

A flag to indicate that the server allows or needs to allow the client to create new identities on the server (that is, the client PUTs to a location where there is no existing resource). Allowing this operation means that the server allows the client to create new identities on the server.

Allowing the clients to create new identities on the server means that the system administrator needs to have confidence that the clients do not create clashing identities between them. Obviously, if there is only one client, this won’t happen. While creating identities on the client means that the clients need to be managed, it’s much more convenient for many scenarios if such management can be put in place.

§update_create_ext: Option<FieldExtension>

Extension field.

§conditional_create: Option<bool>

If allows/uses conditional create

A flag that indicates that the server supports conditional create.

Conditional Create is mainly appropriate for interface engine scripts converting from other formats, such as v2.

§conditional_create_ext: Option<FieldExtension>

Extension field.

§conditional_read: Option<ConditionalReadStatus>

ConditionalReadStatus; not-supported | modified-since | not-match | full-support

A code that indicates how the server supports conditional read.

Conditional Read is mainly appropriate for interface engine scripts converting from other formats, such as v2.

§conditional_read_ext: Option<FieldExtension>

Extension field.

§conditional_update: Option<bool>

If allows/uses conditional update

A flag that indicates that the server supports conditional update.

Conditional Update is mainly appropriate for interface engine scripts converting from other formats, such as v2.

§conditional_update_ext: Option<FieldExtension>

Extension field.

§conditional_patch: Option<bool>

If allows/uses conditional patch

A flag that indicates that the server supports conditional patch.

Conditional Patch is mainly appropriate for interface engine scripts converting from other formats, such as v2.

§conditional_patch_ext: Option<FieldExtension>

Extension field.

§conditional_delete: Option<ConditionalDeleteStatus>

ConditionalDeleteStatus; not-supported | single | multiple - how conditional delete is supported

A code that indicates how the server supports conditional delete.

Conditional Delete is mainly appropriate for interface engine scripts converting from other formats, such as v2.

§conditional_delete_ext: Option<FieldExtension>

Extension field.

§reference_policy: Vec<Option<ReferenceHandlingPolicy>>

ReferenceHandlingPolicy; literal | logical | resolves | enforced | local

A set of flags that defines how references are supported.

§reference_policy_ext: Vec<Option<FieldExtension>>

Extension field.

§search_include: Vec<Option<String>>

_include values supported by the server

A list of _include values supported by the server.

Documenting _include support helps set conformance expectations for the desired system. Still, it is a level of detail that might not be exposed by production servers or clients when using CapabilityStatement to describe an actual implementation. If this list is empty, the server does not support includes. Support for iterative (a.k.a., recursive) _include is communicated by listing the iterative includes values supported by the server in the searchInclude element of the “root” resource type. For example, to support the following search:

GET [base]/CarePlan?_include=CarePlan:activity-reference:DeviceRequest&_include:iterate=DeviceRequest:device

These values would be listed as part of capabilities for “CarePlan”:

“searchInclude” : [“CarePlan:activity-reference:DeviceRequest”,“DeviceRequest:device”],

§search_include_ext: Vec<Option<FieldExtension>>

Extension field.

§search_rev_include: Vec<Option<String>>

_revinclude values supported by the server

A list of _revinclude (reverse include) values supported by the server.

See CapabilityStatement.rest.resource.searchInclude comments.

§search_rev_include_ext: Vec<Option<FieldExtension>>

Extension field.

§search_param: Vec<Option<CapabilityStatementRestResourceSearchParam>>

Search parameters supported by implementation

Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation.

The search parameters should include the control search parameters such as _sort, _count, etc. that also apply to this resource (though many will be listed at CapabilityStatement.rest.searchParam). The behavior of some search parameters may be further described by other code or extension elements, or narrative within the capability statement or linked SearchParameter definitions.

§search_param_ext: Vec<Option<FieldExtension>>

Extension field.

§operation: Vec<Option<CapabilityStatementRestResourceOperation>>

Definition of a resource operation

Definition of an operation or a named query together with its parameters and their meaning and type. Consult the definition of the operation for details about how to invoke the operation, and the parameters.

Operations linked from CapabilityStatement.rest.resource.operation must have OperationDefinition.type = true or OperationDefinition.instance = true.

If an operation that is listed in multiple CapabilityStatement.rest.resource.operation (e.g. for different resource types), then clients should understand that the operation is only supported on the specified resource types, and that may be a subset of those listed in OperationDefinition.resource.

§operation_ext: Vec<Option<FieldExtension>>

Extension field.

Implementations§

Trait Implementations§

Source§

impl Clone for CapabilityStatementRestResource

Source§

fn clone(&self) -> CapabilityStatementRestResource

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CapabilityStatementRestResource

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for CapabilityStatementRestResource

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<CapabilityStatementRestResource, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for CapabilityStatementRestResource

Source§

fn eq(&self, other: &CapabilityStatementRestResource) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for CapabilityStatementRestResource

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for CapabilityStatementRestResource

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,