Struct CapabilityStatementRestResourceBuilder

Source
pub struct CapabilityStatementRestResourceBuilder { /* private fields */ }
Expand description

Implementations§

Source§

impl CapabilityStatementRestResourceBuilder

Source

pub fn id(self, value: String) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn extension( self, value: Vec<Extension>, ) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn modifier_extension( self, value: Vec<Extension>, ) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn type(self, value: String) -> CapabilityStatementRestResourceBuilder

ResourceType; A resource type that is supported

A type of resource exposed via the restful interface.

Source

pub fn type_ext( self, value: FieldExtension, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn profile(self, value: String) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn profile_ext( self, value: FieldExtension, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn supported_profile( self, value: Vec<Option<String>>, ) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn supported_profile_ext( self, value: Vec<Option<FieldExtension>>, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn documentation( self, value: String, ) -> CapabilityStatementRestResourceBuilder

Additional information about the use of the resource type

Additional information about the resource type used by the system.

Source

pub fn documentation_ext( self, value: FieldExtension, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn interaction( self, value: Vec<Option<CapabilityStatementRestResourceInteraction>>, ) -> CapabilityStatementRestResourceBuilder

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).

Source

pub fn interaction_ext( self, value: Vec<Option<FieldExtension>>, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn versioning( self, value: ResourceVersionPolicy, ) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn versioning_ext( self, value: FieldExtension, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn read_history(self, value: bool) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn read_history_ext( self, value: FieldExtension, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn update_create( self, value: bool, ) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn update_create_ext( self, value: FieldExtension, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn conditional_create( self, value: bool, ) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn conditional_create_ext( self, value: FieldExtension, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn conditional_read( self, value: ConditionalReadStatus, ) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn conditional_read_ext( self, value: FieldExtension, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn conditional_update( self, value: bool, ) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn conditional_update_ext( self, value: FieldExtension, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn conditional_patch( self, value: bool, ) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn conditional_patch_ext( self, value: FieldExtension, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn conditional_delete( self, value: ConditionalDeleteStatus, ) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn conditional_delete_ext( self, value: FieldExtension, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn reference_policy( self, value: Vec<Option<ReferenceHandlingPolicy>>, ) -> CapabilityStatementRestResourceBuilder

ReferenceHandlingPolicy; literal | logical | resolves | enforced | local

A set of flags that defines how references are supported.

Source

pub fn reference_policy_ext( self, value: Vec<Option<FieldExtension>>, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn search_include( self, value: Vec<Option<String>>, ) -> CapabilityStatementRestResourceBuilder

_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”],

Source

pub fn search_include_ext( self, value: Vec<Option<FieldExtension>>, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn search_rev_include( self, value: Vec<Option<String>>, ) -> CapabilityStatementRestResourceBuilder

_revinclude values supported by the server

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

See CapabilityStatement.rest.resource.searchInclude comments.

Source

pub fn search_rev_include_ext( self, value: Vec<Option<FieldExtension>>, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn search_param( self, value: Vec<Option<CapabilityStatementRestResourceSearchParam>>, ) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn search_param_ext( self, value: Vec<Option<FieldExtension>>, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn operation( self, value: Vec<Option<CapabilityStatementRestResourceOperation>>, ) -> CapabilityStatementRestResourceBuilder

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.

Source

pub fn operation_ext( self, value: Vec<Option<FieldExtension>>, ) -> CapabilityStatementRestResourceBuilder

Extension field.

Source

pub fn build(self) -> Result<CapabilityStatementRestResource, BuilderError>

Builds a new CapabilityStatementRestResource.

§Errors

If a required field has not been initialized.

Trait Implementations§

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> 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, 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> ErasedDestructor for T
where T: 'static,