Struct RequirementsStatement

Source
pub struct RequirementsStatement {
Show 23 fields pub id: Option<String>, pub extension: Vec<Extension>, pub modifier_extension: Vec<Extension>, pub key: String, pub key_ext: Option<FieldExtension>, pub label: Option<String>, pub label_ext: Option<FieldExtension>, pub conformance: Vec<Option<ConformanceExpectation>>, pub conformance_ext: Vec<Option<FieldExtension>>, pub conditionality: Option<bool>, pub conditionality_ext: Option<FieldExtension>, pub requirement: String, pub requirement_ext: Option<FieldExtension>, pub derived_from: Option<String>, pub derived_from_ext: Option<FieldExtension>, pub parent: Option<String>, pub parent_ext: Option<FieldExtension>, pub satisfied_by: Vec<Option<String>>, pub satisfied_by_ext: Vec<Option<FieldExtension>>, pub reference: Vec<Option<String>>, pub reference_ext: Vec<Option<FieldExtension>>, pub source: Vec<Option<Reference>>, pub source_ext: Vec<Option<FieldExtension>>,
}
Expand description

Sub-fields of the statement field in Requirements

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.

§key: String

Key that identifies this statement

Key that identifies this statement (unique within this resource).

Refer directly to the statement by {url}#{key}

§key_ext: Option<FieldExtension>

Extension field.

§label: Option<String>

Short Human label for this statement

A short human usable label for this statement.

The key is intended for computers, while this is intended for humans. In its absence, the key should be convenient for a human to say (e.g. not a UUID)

§label_ext: Option<FieldExtension>

Extension field.

§conformance: Vec<Option<ConformanceExpectation>>

??; SHALL | SHOULD | MAY | SHOULD-NOT

A short human usable label for this statement.

The conformance code is extracted from the requirement to make indexing and display easier. The requirement needs to express the conformance verbs directly in the markdown content. It’s not unusual to mix verbs in a single sentence (e.g. System SHALL do X and SHOULD do Y)

§conformance_ext: Vec<Option<FieldExtension>>

Extension field.

§conditionality: Option<bool>

Set to true if requirements statement is conditional

This boolean flag is set to true of the text of the requirement is conditional on something e.g. it includes lanauage like ‘if x then y’. This conditionality flag is introduced for purposes of filtering and colour highlighting etc.

There is no intent that the conditional statement by evaluatable

§conditionality_ext: Option<FieldExtension>

Extension field.

§requirement: String

The actual requirement

The actual requirement for human consumption.

§requirement_ext: Option<FieldExtension>

Extension field.

§derived_from: Option<String>

Another statement this clarifies/restricts ([url#]key)

Another statement on one of the requirements that this requirement clarifies or restricts.

This can be just a key, if there is only one matching statement in the requirements statements referenced in Requirements.derivedFrom. If there is more than one, it should be in the format texturl#key

§derived_from_ext: Option<FieldExtension>

Extension field.

§parent: Option<String>

A larger requirement that this requirement helps to refine and enable

A larger requirement that this requirement helps to refine and enable.

Follows the same convention as statement.derivedFrom, where a reference is the canonical of the Requirements followed by ‘#’ and the ‘key’ of the specific requirement.

§parent_ext: Option<FieldExtension>

Extension field.

§satisfied_by: Vec<Option<String>>

Design artifact that satisfies this requirement

A reference to another artifact that satisfies this requirement. This could be a Profile, extension, or an element in one of those, or a CapabilityStatement, OperationDefinition, SearchParameter, CodeSystem(/code), ValueSet, Libary etc.

This is for use when the requirement is met be a pre-existing artifact e.g. a rule that’s met by the base FHIR spec, or a national implementation guide.

§satisfied_by_ext: Vec<Option<FieldExtension>>

Extension field.

§reference: Vec<Option<String>>

External artifact (rule/document etc. that) created this requirement

A reference to another artifact that created this requirement. This could be a Profile, etc., or external regulation, or business requirements expressed elsewhere.

§reference_ext: Vec<Option<FieldExtension>>

Extension field.

§source: Vec<Option<Reference>>

Who asked for this statement

Who asked for this statement to be a requirement. By default, it’s assumed that the publisher knows who it is if it matters.

§source_ext: Vec<Option<FieldExtension>>

Extension field.

Implementations§

Source§

impl RequirementsStatement

Source

pub fn builder() -> RequirementsStatementBuilder

Start building a new instance

Trait Implementations§

Source§

impl Clone for RequirementsStatement

Source§

fn clone(&self) -> RequirementsStatement

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 RequirementsStatement

Source§

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

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

impl<'de> Deserialize<'de> for RequirementsStatement

Source§

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

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

impl PartialEq for RequirementsStatement

Source§

fn eq(&self, other: &RequirementsStatement) -> 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 RequirementsStatement

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 RequirementsStatement

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,