Struct DocumentReferenceInner

Source
pub struct DocumentReferenceInner {
Show 54 fields pub id: Option<String>, pub meta: Option<Meta>, pub implicit_rules: Option<String>, pub language: Option<String>, pub text: Option<Narrative>, pub contained: Vec<Resource>, pub extension: Vec<Extension>, pub modifier_extension: Vec<Extension>, pub identifier: Vec<Option<Identifier>>, pub identifier_ext: Vec<Option<FieldExtension>>, pub version: Option<String>, pub version_ext: Option<FieldExtension>, pub based_on: Vec<Option<Reference>>, pub based_on_ext: Vec<Option<FieldExtension>>, pub status: DocumentReferenceStatus, pub status_ext: Option<FieldExtension>, pub doc_status: Option<CompositionStatus>, pub doc_status_ext: Option<FieldExtension>, pub modality: Vec<Option<CodeableConcept>>, pub modality_ext: Vec<Option<FieldExtension>>, pub type: Option<CodeableConcept>, pub type_ext: Option<FieldExtension>, pub category: Vec<Option<CodeableConcept>>, pub category_ext: Vec<Option<FieldExtension>>, pub subject: Option<Reference>, pub subject_ext: Option<FieldExtension>, pub context: Vec<Option<Reference>>, pub context_ext: Vec<Option<FieldExtension>>, pub event: Vec<Option<CodeableReference>>, pub event_ext: Vec<Option<FieldExtension>>, pub body_site: Vec<Option<CodeableReference>>, pub body_site_ext: Vec<Option<FieldExtension>>, pub facility_type: Option<CodeableConcept>, pub facility_type_ext: Option<FieldExtension>, pub practice_setting: Option<CodeableConcept>, pub practice_setting_ext: Option<FieldExtension>, pub period: Option<Period>, pub period_ext: Option<FieldExtension>, pub date: Option<Instant>, pub date_ext: Option<FieldExtension>, pub author: Vec<Option<Reference>>, pub author_ext: Vec<Option<FieldExtension>>, pub attester: Vec<Option<DocumentReferenceAttester>>, pub attester_ext: Vec<Option<FieldExtension>>, pub custodian: Option<Reference>, pub custodian_ext: Option<FieldExtension>, pub relates_to: Vec<Option<DocumentReferenceRelatesTo>>, pub relates_to_ext: Vec<Option<FieldExtension>>, pub description: Option<String>, pub description_ext: Option<FieldExtension>, pub security_label: Vec<Option<CodeableConcept>>, pub security_label_ext: Vec<Option<FieldExtension>>, pub content: Vec<Option<DocumentReferenceContent>>, pub content_ext: Vec<Option<FieldExtension>>, /* private fields */
}
Expand description

A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this “document” encompasses any serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference.

DocumentReference v5.0.0

A reference to a document

A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this “document” encompasses any serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference.

Usually, this is used for documents other than those defined by FHIR.

Fields§

§id: Option<String>

Logical id of this artifact

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resouce id depends on the given use case.

§meta: Option<Meta>

Metadata about the resource

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.

§implicit_rules: Option<String>

A set of rules under which this content was created

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.

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of its narrative along with other profiles, value sets, etc.

§language: Option<String>

Language; Language of the resource content

The base language in which the resource is written.

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

§text: Option<Narrative>

Text summary of the resource, for human interpretation

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.

Contained resources do not have a narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a “text blob” or where text is additionally entered raw or narrated and encoded information is added later.

§contained: Vec<Resource>

Contained, inline Resources

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags in their meta elements, but SHALL NOT have security labels.

§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 resource. 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

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 managable, 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.

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.

§identifier: Vec<Option<Identifier>>

Business identifiers for the document

Other business identifiers associated with the document, including version independent identifiers.

The structure and format of this identifier would be consistent with the specification corresponding to the format of the document. (e.g. for a DICOM standard document, a 64-character numeric UID; for an HL7 CDA format, the CDA Document Id root and extension).

§identifier_ext: Vec<Option<FieldExtension>>

Extension field.

§version: Option<String>

An explicitly assigned identifer of a variation of the content in the DocumentReference

An explicitly assigned identifer of a variation of the content in the DocumentReference.

While each resource, including the DocumentReference itself, has its own version identifier, this is a formal identifier for the logical version of the DocumentReference as a whole. It would remain constant if the resources were moved to a new server, and all got new individual resource versions, for example.

§version_ext: Option<FieldExtension>

Extension field.

§based_on: Vec<Option<Reference>>

Procedure that caused this media to be created

A procedure that is fulfilled in whole or in part by the creation of this media.

§based_on_ext: Vec<Option<FieldExtension>>

Extension field.

§status: DocumentReferenceStatus

DocumentReferenceStatus; current | superseded | entered-in-error

The status of this document reference.

This is the status of the DocumentReference object, which might be independent from the docStatus element.

This element is labeled as a modifier because the status contains the codes that mark the document or reference as not currently valid.

§status_ext: Option<FieldExtension>

Extension field.

§doc_status: Option<CompositionStatus>

ReferredDocumentStatus; registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown

The status of the underlying document.

The document that is pointed to might be in various lifecycle states.

§doc_status_ext: Option<FieldExtension>

Extension field.

§modality: Vec<Option<CodeableConcept>>

ImagingModality; Imaging modality used

Imaging modality used. This may include both acquisition and non-acquisition modalities.

§modality_ext: Vec<Option<FieldExtension>>

Extension field.

§type: Option<CodeableConcept>

DocumentType; Kind of document (LOINC if possible)

Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.

Key metadata element describing the document that describes he exact type of document. Helps humans to assess whether the document is of interest when viewing a list of documents.

§type_ext: Option<FieldExtension>

Extension field.

§category: Vec<Option<CodeableConcept>>

ReferencedItemCategory; Categorization of document

A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type.

Key metadata element describing the the category or classification of the document. This is a broader perspective that groups similar documents based on how they would be used. This is a primary key used in searching.

§category_ext: Vec<Option<FieldExtension>>

Extension field.

§subject: Option<Reference>

Who/what is the subject of the document

Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure).

§subject_ext: Option<FieldExtension>

Extension field.

§context: Vec<Option<Reference>>

Context of the document content

Describes the clinical encounter or type of care that the document content is associated with.

§context_ext: Vec<Option<FieldExtension>>

Extension field.

§event: Vec<Option<CodeableReference>>

DocumentEventType; Main clinical acts documented

This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type Code, such as a “History and Physical Report” in which the procedure being documented is necessarily a “History and Physical” act.

An event can further specialize the act inherent in the type, such as where it is simply “Procedure Report” and the procedure was a “colonoscopy”. If one or more event codes are included, they shall not conflict with the values inherent in the class or type elements as such a conflict would create an ambiguous situation.

§event_ext: Vec<Option<FieldExtension>>

Extension field.

§body_site: Vec<Option<CodeableReference>>

BodySite; Body part included

The anatomic structures included in the document.

§body_site_ext: Vec<Option<FieldExtension>>

Extension field.

§facility_type: Option<CodeableConcept>

DocumentC80FacilityType; Kind of facility where patient was seen

The kind of facility where the patient was seen.

§facility_type_ext: Option<FieldExtension>

Extension field.

§practice_setting: Option<CodeableConcept>

DocumentC80PracticeSetting; Additional details about where the content was created (e.g. clinical specialty)

This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty.

This element should be based on a coarse classification system for the class of specialty practice. Recommend the use of the classification system for Practice Setting, such as that described by the Subject Matter Domain in LOINC.

§practice_setting_ext: Option<FieldExtension>

Extension field.

§period: Option<Period>

Time of service that is being documented

The time period over which the service that is described by the document was provided.

§period_ext: Option<FieldExtension>

Extension field.

§date: Option<Instant>

When this document reference was created

When the document reference was created.

Referencing/indexing time is used for tracking, organizing versions and searching.

§date_ext: Option<FieldExtension>

Extension field.

§author: Vec<Option<Reference>>

Who and/or what authored the document

Identifies who is responsible for adding the information to the document.

Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant).

§author_ext: Vec<Option<FieldExtension>>

Extension field.

§attester: Vec<Option<DocumentReferenceAttester>>

Attests to accuracy of the document

A participant who has authenticated the accuracy of the document.

Only list each attester once.

§attester_ext: Vec<Option<FieldExtension>>

Extension field.

§custodian: Option<Reference>

Organization which maintains the document

Identifies the organization or group who is responsible for ongoing maintenance of and access to the document.

Identifies the logical organization (software system, vendor, or department) to go to find the current version, where to report issues, etc. This is different from the physical location (URL, disk drive, or server) of the document, which is the technical location of the document, which host may be delegated to the management of some other organization.

§custodian_ext: Option<FieldExtension>

Extension field.

§relates_to: Vec<Option<DocumentReferenceRelatesTo>>

Relationships to other documents

Relationships that this document has with other document references that already exist.

This element is labeled as a modifier because documents that append to other documents are incomplete on their own.

§relates_to_ext: Vec<Option<FieldExtension>>

Extension field.

§description: Option<String>

Human-readable description

Human-readable description of the source document.

What the document is about, a terse summary of the document.

§description_ext: Option<FieldExtension>

Extension field.

§security_label: Vec<Option<CodeableConcept>>

SecurityLabels; Document security-tags

A set of Security-Tag codes specifying the level of privacy/security of the Document found at DocumentReference.content.attachment.url. Note that DocumentReference.meta.security contains the security labels of the data elements in DocumentReference, while DocumentReference.securityLabel contains the security labels for the document the reference refers to. The distinction recognizes that the document may contain sensitive information, while the DocumentReference is metadata about the document and thus might not be as sensitive as the document. For example: a psychotherapy episode may contain highly sensitive information, while the metadata may simply indicate that some episode happened.

The confidentiality codes can carry multiple vocabulary items. HL7 has developed an understanding of security and privacy tags that might be desirable in a Document Sharing environment, called HL7 Healthcare Privacy and Security Classification System (HCS). The following specification is recommended but not mandated, as the vocabulary bindings are an administrative domain responsibility. The use of this method is up to the policy domain such as the XDS Affinity Domain or other Trust Domain where all parties including sender and recipients are trusted to appropriately tag and enforce.

In the HL7 Healthcare Privacy and Security Classification (HCS) there are code systems specific to Confidentiality, Sensitivity, Integrity, and Handling Caveats. Some values would come from a local vocabulary as they are related to workflow roles and special projects.

§security_label_ext: Vec<Option<FieldExtension>>

Extension field.

§content: Vec<Option<DocumentReferenceContent>>

Document referenced

The document and format referenced. If there are multiple content element repetitions, these must all represent the same document in different format, or attachment metadata.

content element shall not contain different versions of the same content. For version handling use multiple DocumentReference with .relatesTo.

§content_ext: Vec<Option<FieldExtension>>

Extension field.

Trait Implementations§

Source§

impl Clone for DocumentReferenceInner

Source§

fn clone(&self) -> DocumentReferenceInner

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 DocumentReferenceInner

Source§

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

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

impl<'de> Deserialize<'de> for DocumentReferenceInner

Source§

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

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

impl From<DocumentReferenceInner> for DocumentReference

Source§

fn from(inner: DocumentReferenceInner) -> DocumentReference

Converts to this type from the input type.
Source§

impl PartialEq for DocumentReferenceInner

Source§

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

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 DocumentReferenceInner

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,