NCPI FHIR Implementation Guide
0.2.0 - ci-build
NCPI FHIR Implementation Guide - Local Development build (v0.2.0). See the Directory of published versions
Official URL: https://nih-ncpi.github.io/ncpi-fhir-ig/StructureDefinition/ncpi-research-document-reference | Version: 0.2.0 | |||
Draft as of 2022-11-28 | Computable Name: ResearchDocumentReference |
A FHIR Document Reference created by an analysis task. Context.related = Task
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from DocumentReference
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DocumentReference | 0..* | DocumentReference | A reference to a document | |
subject | 1..1 | Reference(Patient | Practitioner | Group | Device) | Who/what is the subject of the document | |
custodian | 1..1 | Reference(Organization) | Organization which maintains the document | |
content | ||||
attachment | 1..1 | DRSAttachment | Content in a format defined elsewhere | |
context | 1..1 | BackboneElement | Clinical context of document | |
related | 0..* | Reference(Task) | Related identifiers or resources | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DocumentReference | 0..* | DocumentReference | A reference to a document | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | current | superseded | entered-in-error Binding: DocumentReferenceStatus (required): The status of the document reference. |
subject | Σ | 1..1 | Reference(Patient | Practitioner | Group | Device) | Who/what is the subject of the document |
custodian | 1..1 | Reference(Organization) | Organization which maintains the document | |
content | Σ | 1..* | BackboneElement | Document referenced |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
attachment | C | 1..1 | DRSAttachment | Content in a format defined elsewhere |
context | Σ | 1..1 | BackboneElement | Clinical context of document |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
related | 0..* | Reference(Task) | Related identifiers or resources | |
Documentation for this format |
Path | Conformance | ValueSet |
DocumentReference.status | required | DocumentReferenceStatus |
Id | Grade | Path(s) | Details | Requirements |
att-1 | error | DocumentReference.content.attachment | If the Attachment has data, it SHALL have a contentType : data.empty() or contentType.exists() | |
dom-2 | error | DocumentReference | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | DocumentReference | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | DocumentReference | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | DocumentReference | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | DocumentReference | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
must-be-drs-uri | error | DocumentReference.content.attachment | attachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls. : $this.url.matches('^drs://.*') |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
DocumentReference | 0..* | DocumentReference | A reference to a document | |||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
masterIdentifier | Σ | 0..1 | Identifier | Master Version Specific Identifier | ||||
identifier | Σ | 0..* | Identifier | Other identifiers for the document | ||||
status | ?!Σ | 1..1 | code | current | superseded | entered-in-error Binding: DocumentReferenceStatus (required): The status of the document reference. | ||||
docStatus | Σ | 0..1 | code | preliminary | final | amended | entered-in-error Binding: CompositionStatus (required): Status of the underlying document. | ||||
type | Σ | 0..1 | CodeableConcept | Kind of document (LOINC if possible) Binding: DocumentTypeValueSet (preferred): Precise type of clinical document. | ||||
category | Σ | 0..* | CodeableConcept | Categorization of document Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level. | ||||
subject | Σ | 1..1 | Reference(Patient | Practitioner | Group | Device) | Who/what is the subject of the document | ||||
date | Σ | 0..1 | instant | When this document reference was created | ||||
author | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson) | Who and/or what authored the document | ||||
authenticator | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | Who/what authenticated the document | |||||
custodian | 1..1 | Reference(Organization) | Organization which maintains the document | |||||
relatesTo | Σ | 0..* | BackboneElement | Relationships to other documents | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | Σ | 1..1 | code | replaces | transforms | signs | appends Binding: DocumentRelationshipType (required): The type of relationship between documents. | ||||
target | Σ | 1..1 | Reference(DocumentReference) | Target of the relationship | ||||
description | Σ | 0..1 | string | Human-readable description | ||||
securityLabel | Σ | 0..* | CodeableConcept | Document security-tags Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
content | Σ | 1..* | BackboneElement | Document referenced | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
attachment | C | 1..1 | DRSAttachment | Content in a format defined elsewhere | ||||
format | Σ | 0..1 | Coding | Format/content rules for the document Binding: DocumentReferenceFormatCodeSet (preferred): Document Format Codes. | ||||
context | Σ | 1..1 | BackboneElement | Clinical context of document | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
encounter | 0..* | Reference(Encounter | EpisodeOfCare) | Context of the document content | |||||
event | 0..* | CodeableConcept | Main clinical acts documented Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented. | |||||
period | Σ | 0..1 | Period | Time of service that is being documented | ||||
facilityType | 0..1 | CodeableConcept | Kind of facility where patient was seen Binding: FacilityTypeCodeValueSet (example): XDS Facility Type. | |||||
practiceSetting | 0..1 | CodeableConcept | Additional details about where the content was created (e.g. clinical specialty) Binding: PracticeSettingCodeValueSet (example): Additional details about where the content was created (e.g. clinical specialty). | |||||
sourcePatientInfo | 0..1 | Reference(Patient) | Patient demographics from source | |||||
related | 0..* | Reference(Task) | Related identifiers or resources | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
DocumentReference.language | preferred | CommonLanguages
| ||||
DocumentReference.status | required | DocumentReferenceStatus | ||||
DocumentReference.docStatus | required | CompositionStatus | ||||
DocumentReference.type | preferred | DocumentTypeValueSet | ||||
DocumentReference.category | example | DocumentClassValueSet | ||||
DocumentReference.relatesTo.code | required | DocumentRelationshipType | ||||
DocumentReference.securityLabel | extensible | All Security Labels | ||||
DocumentReference.content.format | preferred | DocumentReferenceFormatCodeSet (a valid code from http://ihe.net/fhir/ValueSet/IHE.FormatCode.codesystem ) | ||||
DocumentReference.context.event | example | ActCode | ||||
DocumentReference.context.facilityType | example | FacilityTypeCodeValueSet | ||||
DocumentReference.context.practiceSetting | example | PracticeSettingCodeValueSet |
Id | Grade | Path(s) | Details | Requirements |
att-1 | error | DocumentReference.content.attachment | If the Attachment has data, it SHALL have a contentType : data.empty() or contentType.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
must-be-drs-uri | error | DocumentReference.content.attachment | attachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls. : $this.url.matches('^drs://.*') |
This structure is derived from DocumentReference
Differential View
This structure is derived from DocumentReference
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DocumentReference | 0..* | DocumentReference | A reference to a document | |
subject | 1..1 | Reference(Patient | Practitioner | Group | Device) | Who/what is the subject of the document | |
custodian | 1..1 | Reference(Organization) | Organization which maintains the document | |
content | ||||
attachment | 1..1 | DRSAttachment | Content in a format defined elsewhere | |
context | 1..1 | BackboneElement | Clinical context of document | |
related | 0..* | Reference(Task) | Related identifiers or resources | |
Documentation for this format |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DocumentReference | 0..* | DocumentReference | A reference to a document | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | current | superseded | entered-in-error Binding: DocumentReferenceStatus (required): The status of the document reference. |
subject | Σ | 1..1 | Reference(Patient | Practitioner | Group | Device) | Who/what is the subject of the document |
custodian | 1..1 | Reference(Organization) | Organization which maintains the document | |
content | Σ | 1..* | BackboneElement | Document referenced |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
attachment | C | 1..1 | DRSAttachment | Content in a format defined elsewhere |
context | Σ | 1..1 | BackboneElement | Clinical context of document |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
related | 0..* | Reference(Task) | Related identifiers or resources | |
Documentation for this format |
Path | Conformance | ValueSet |
DocumentReference.status | required | DocumentReferenceStatus |
Id | Grade | Path(s) | Details | Requirements |
att-1 | error | DocumentReference.content.attachment | If the Attachment has data, it SHALL have a contentType : data.empty() or contentType.exists() | |
dom-2 | error | DocumentReference | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | DocumentReference | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | DocumentReference | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | DocumentReference | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | DocumentReference | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
must-be-drs-uri | error | DocumentReference.content.attachment | attachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls. : $this.url.matches('^drs://.*') |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
DocumentReference | 0..* | DocumentReference | A reference to a document | |||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
masterIdentifier | Σ | 0..1 | Identifier | Master Version Specific Identifier | ||||
identifier | Σ | 0..* | Identifier | Other identifiers for the document | ||||
status | ?!Σ | 1..1 | code | current | superseded | entered-in-error Binding: DocumentReferenceStatus (required): The status of the document reference. | ||||
docStatus | Σ | 0..1 | code | preliminary | final | amended | entered-in-error Binding: CompositionStatus (required): Status of the underlying document. | ||||
type | Σ | 0..1 | CodeableConcept | Kind of document (LOINC if possible) Binding: DocumentTypeValueSet (preferred): Precise type of clinical document. | ||||
category | Σ | 0..* | CodeableConcept | Categorization of document Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level. | ||||
subject | Σ | 1..1 | Reference(Patient | Practitioner | Group | Device) | Who/what is the subject of the document | ||||
date | Σ | 0..1 | instant | When this document reference was created | ||||
author | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson) | Who and/or what authored the document | ||||
authenticator | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | Who/what authenticated the document | |||||
custodian | 1..1 | Reference(Organization) | Organization which maintains the document | |||||
relatesTo | Σ | 0..* | BackboneElement | Relationships to other documents | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | Σ | 1..1 | code | replaces | transforms | signs | appends Binding: DocumentRelationshipType (required): The type of relationship between documents. | ||||
target | Σ | 1..1 | Reference(DocumentReference) | Target of the relationship | ||||
description | Σ | 0..1 | string | Human-readable description | ||||
securityLabel | Σ | 0..* | CodeableConcept | Document security-tags Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
content | Σ | 1..* | BackboneElement | Document referenced | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
attachment | C | 1..1 | DRSAttachment | Content in a format defined elsewhere | ||||
format | Σ | 0..1 | Coding | Format/content rules for the document Binding: DocumentReferenceFormatCodeSet (preferred): Document Format Codes. | ||||
context | Σ | 1..1 | BackboneElement | Clinical context of document | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
encounter | 0..* | Reference(Encounter | EpisodeOfCare) | Context of the document content | |||||
event | 0..* | CodeableConcept | Main clinical acts documented Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented. | |||||
period | Σ | 0..1 | Period | Time of service that is being documented | ||||
facilityType | 0..1 | CodeableConcept | Kind of facility where patient was seen Binding: FacilityTypeCodeValueSet (example): XDS Facility Type. | |||||
practiceSetting | 0..1 | CodeableConcept | Additional details about where the content was created (e.g. clinical specialty) Binding: PracticeSettingCodeValueSet (example): Additional details about where the content was created (e.g. clinical specialty). | |||||
sourcePatientInfo | 0..1 | Reference(Patient) | Patient demographics from source | |||||
related | 0..* | Reference(Task) | Related identifiers or resources | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
DocumentReference.language | preferred | CommonLanguages
| ||||
DocumentReference.status | required | DocumentReferenceStatus | ||||
DocumentReference.docStatus | required | CompositionStatus | ||||
DocumentReference.type | preferred | DocumentTypeValueSet | ||||
DocumentReference.category | example | DocumentClassValueSet | ||||
DocumentReference.relatesTo.code | required | DocumentRelationshipType | ||||
DocumentReference.securityLabel | extensible | All Security Labels | ||||
DocumentReference.content.format | preferred | DocumentReferenceFormatCodeSet (a valid code from http://ihe.net/fhir/ValueSet/IHE.FormatCode.codesystem ) | ||||
DocumentReference.context.event | example | ActCode | ||||
DocumentReference.context.facilityType | example | FacilityTypeCodeValueSet | ||||
DocumentReference.context.practiceSetting | example | PracticeSettingCodeValueSet |
Id | Grade | Path(s) | Details | Requirements |
att-1 | error | DocumentReference.content.attachment | If the Attachment has data, it SHALL have a contentType : data.empty() or contentType.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
must-be-drs-uri | error | DocumentReference.content.attachment | attachment.url must start with ^drs://. A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls. : $this.url.matches('^drs://.*') |
This structure is derived from DocumentReference
Other representations of profile: CSV, Excel, Schematron