NCPI FHIR Implementation Guide
0.1.0 - ci-build
NCPI FHIR Implementation Guide - Local Development build (v0.1.0). See the Directory of published versions
Official URL: https://ncpi-fhir.github.io/ncpi-fhir-ig/StructureDefinition/ncpi-drs-document-reference | Version: 0.1.0 | |||
Draft as of 2022-08-17 | Computable Name: DRSDocumentReference |
A FHIR Document Reference with an embedded DRS URI. See https://github.com/ga4gh/data-repository-service-schemas.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from DocumentReference
This structure is derived from DocumentReference
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DocumentReference | 0..* | DocumentReference | A reference to a document | |
content | ||||
attachment | 1..1 | DRSAttachment | Content in a format defined elsewhere | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
DocumentReference | 0..* | DocumentReference | A reference to a document | |||||
id | Σ | 0..1 | string | 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 | Σ | 0..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 | 0..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 | I | 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 | Σ | 0..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(Resource) | Related identifiers or resources | |||||
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DocumentReference | 0..* | DocumentReference | A reference to a document | |
Documentation for this format |
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 | |
content | ||||
attachment | 1..1 | DRSAttachment | Content in a format defined elsewhere | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
DocumentReference | 0..* | DocumentReference | A reference to a document | |||||
id | Σ | 0..1 | string | 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 | Σ | 0..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 | 0..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 | I | 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 | Σ | 0..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(Resource) | Related identifiers or resources | |||||
Documentation for this format |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
DocumentReference.language | preferred | CommonLanguages Max Binding: AllLanguages |
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 |
DocumentReference.context.event | example | ActCode |
DocumentReference.context.facilityType | example | FacilityTypeCodeValueSet |
DocumentReference.context.practiceSetting | example | PracticeSettingCodeValueSet |
Id | Grade | Path | Details | Requirements |
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 | DocumentReference.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | DocumentReference.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | DocumentReference.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | DocumentReference.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | DocumentReference.masterIdentifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.docStatus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.date | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.author | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.authenticator | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.custodian | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.relatesTo | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.relatesTo.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | DocumentReference.relatesTo.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | DocumentReference.relatesTo.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | DocumentReference.relatesTo.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | DocumentReference.relatesTo.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.relatesTo.target | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.securityLabel | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.content | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.content.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | DocumentReference.content.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | DocumentReference.content.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | DocumentReference.content.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
att-1 | error | DocumentReference.content.attachment | If the Attachment has data, it SHALL have a contentType : data.empty() or contentType.exists() | |
ele-1 | error | DocumentReference.content.attachment | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
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://.*') | |
ele-1 | error | DocumentReference.content.format | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.context | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.context.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | DocumentReference.context.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | DocumentReference.context.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | DocumentReference.context.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | DocumentReference.context.encounter | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.context.event | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.context.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.context.facilityType | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.context.practiceSetting | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.context.sourcePatientInfo | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | DocumentReference.context.related | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |