NCPI FHIR Implementation Guide v2
0.1.0 - ci-build

NCPI FHIR Implementation Guide v2 - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: NCPI DRS File

Official URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/ncpi-drs-file Version: 0.1.0
Draft as of 2024-11-25 Computable Name: NcpiDRSFile

Information about a DRS file related to a research participant

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from NcpiFile

NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference 0..* NcpiFile A reference to a document
... Slices for content 1..* BackboneElement Document referenced
Slice: Ordered, Open At End by pattern:code
.... content:DRS 1..1 BackboneElement Document referenced
..... attachment 1..1 DRSAttachment Content in a format defined elsewhere

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference 0..* NcpiFile A reference to a document
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... file-format 1..1 CodeableConcept The file format used (EDAM is preferred)
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/file-format
Binding: http://edamontology.org (extensible)
.... location-access 0..* Reference() If present, only those under the specific Access Policy can access the file in this location.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/location-access
.... file-size 1..1 Quantity Indicate the size of the file in reference
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/file-size
.... hash 0..* (Complex) Provides a list of hashes for confirming file transfers
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/hash-extension
.... content-version 0..1 string The version of the content in the file
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/content-version
... 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) The participant(s) for whom this file contains data (i.e., ParticipantID)
... Slices for content Σ 1..* BackboneElement Document referenced
Slice: Ordered, Open At End by pattern:code
.... content:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... attachment Σ 1..1 Attachment Where to access the document
...... url Σ 1..1 url The URI at which this data can be accessed
Example General: http://www.acme.com/logo-small.png
.... content:DRS Σ 1..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
att-1: If the Attachment has data, it SHALL have a contentType
must-be-drs-uri: 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.
...... url Σ 1..1 url The URI at which this data can be accessed
Example General: http://www.acme.com/logo-small.png

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DocumentReference.statusrequiredDocumentReferenceStatus
http://hl7.org/fhir/ValueSet/document-reference-status|4.3.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
att-1errorDocumentReference.content:DRS.attachmentIf the Attachment has data, it SHALL have a contentType
: data.empty() or contentType.exists()
dom-2errorDocumentReferenceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDocumentReferenceIf 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDocumentReferenceIf 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-5errorDocumentReferenceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDocumentReferenceA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
must-be-drs-urierrorDocumentReference.content:DRS.attachmentattachment.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://.*')
NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference 0..* NcpiFile 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
dom-r4b: Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... file-format 1..1 CodeableConcept The file format used (EDAM is preferred)
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/file-format
Binding: http://edamontology.org (extensible)
.... location-access 0..* Reference() If present, only those under the specific Access Policy can access the file in this location.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/location-access
.... file-size 1..1 Quantity Indicate the size of the file in reference
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/file-size
.... hash 0..* (Complex) Provides a list of hashes for confirming file transfers
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/hash-extension
.... content-version 0..1 string The version of the content in the file
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/content-version
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... masterIdentifier Σ 0..1 Identifier Master Version Specific Identifier
... identifier Σ 1..* Identifier A related external file ID
... 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 The type of data contained in this file.
Binding: Enumerations for the EDAM ontology (extensible)
... 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) The participant(s) for whom this file contains data (i.e., ParticipantID)
... 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 A description of the file
... securityLabel Σ 0..* CodeableConcept Document security-tags
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


... Slices for content Σ 1..* BackboneElement Document referenced
Slice: Ordered, Open At End by pattern:code
.... content:All Slices Content/Rules for all slices
..... 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 Σ 1..1 Attachment Where to access the document
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... contentType Σ 0..1 code Mime type of the content, with charset etc.
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)


Example General: text/plain; charset=UTF-8, image/png
...... language Σ 0..1 code Human language of the content (BCP-47)
Binding: CommonLanguages (preferred): IETF language tag

Additional BindingsPurpose
AllLanguages Max Binding

Example General: en-AU
...... data 0..1 base64Binary Data inline, base64ed
...... url Σ 1..1 url The URI at which this data can be accessed
Example General: http://www.acme.com/logo-small.png
...... size Σ 0..1 unsignedInt Number of bytes of content (if url provided)
...... hash Σ 0..1 base64Binary Hash of the data (sha-1, base64ed)
...... title Σ 0..1 string Label to display in place of the data
Example General: Official Corporate Logo
...... creation Σ 0..1 dateTime Date attachment was first created
..... format Σ 0..1 Coding Format/content rules for the document
Binding: DocumentReferenceFormatCodeSet (preferred): Document Format Codes.

.... content:DRS Σ 1..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
att-1: If the Attachment has data, it SHALL have a contentType
must-be-drs-uri: 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.
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... contentType Σ 0..1 code Mime type of the content, with charset etc.
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)


Example General: text/plain; charset=UTF-8, image/png
...... language Σ 0..1 code Human language of the content (BCP-47)
Binding: CommonLanguages (preferred): IETF language tag

Additional BindingsPurpose
AllLanguages Max Binding

Example General: en-AU
...... data 0..1 base64Binary Data inline, base64ed
...... url Σ 1..1 url The URI at which this data can be accessed
Example General: http://www.acme.com/logo-small.png
...... size Σ 0..1 unsignedInt Number of bytes of content (if url provided)
...... hash Σ 0..1 base64Binary Hash of the data (sha-1, base64ed)
...... title Σ 0..1 string Label to display in place of the data
Example General: Official Corporate Logo
...... creation Σ 0..1 dateTime Date attachment was first created
..... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DocumentReference.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
DocumentReference.statusrequiredDocumentReferenceStatus
http://hl7.org/fhir/ValueSet/document-reference-status|4.3.0
from the FHIR Standard
DocumentReference.docStatusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|4.3.0
from the FHIR Standard
DocumentReference.typeextensibleEDAMOntologyTerms (a valid code from http://edamontology.org)
https://nih-ncpi.github.io/ncpi-fhir-ig-2/ValueSet/edam-ontology-terms
from this IG
DocumentReference.categoryexampleDocumentClassValueSet
http://hl7.org/fhir/ValueSet/doc-classcodes
from the FHIR Standard
DocumentReference.relatesTo.coderequiredDocumentRelationshipType
http://hl7.org/fhir/ValueSet/document-relationship-type|4.3.0
from the FHIR Standard
DocumentReference.securityLabelextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
DocumentReference.content.attachment.contentTyperequiredMime Types (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|4.3.0
from the FHIR Standard
DocumentReference.content.attachment.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
DocumentReference.content.formatpreferredDocumentReferenceFormatCodeSet (a valid code from http://ihe.net/fhir/ValueSet/IHE.FormatCode.codesystem)
http://hl7.org/fhir/ValueSet/formatcodes
from the FHIR Standard
DocumentReference.content:DRS.attachment.contentTyperequiredMime Types (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|4.3.0
from the FHIR Standard
DocumentReference.content:DRS.attachment.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
DocumentReference.content:DRS.formatpreferredDocumentReferenceFormatCodeSet (a valid code from http://ihe.net/fhir/ValueSet/IHE.FormatCode.codesystem)
http://hl7.org/fhir/ValueSet/formatcodes
from the FHIR Standard
DocumentReference.context.eventexampleActCode
http://terminology.hl7.org/ValueSet/v3-ActCode
DocumentReference.context.facilityTypeexampleFacilityTypeCodeValueSet
http://hl7.org/fhir/ValueSet/c80-facilitycodes
from the FHIR Standard
DocumentReference.context.practiceSettingexamplePracticeSettingCodeValueSet
http://hl7.org/fhir/ValueSet/c80-practice-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
att-1errorDocumentReference.content:DRS.attachmentIf the Attachment has data, it SHALL have a contentType
: data.empty() or contentType.exists()
dom-2errorDocumentReferenceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDocumentReferenceIf 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDocumentReferenceIf 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-5errorDocumentReferenceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDocumentReferenceA resource should have narrative for robust management
: text.`div`.exists()
dom-r4bwarningDocumentReference.containedContaining new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems
: ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
must-be-drs-urierrorDocumentReference.content:DRS.attachmentattachment.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 NcpiFile

Summary

Mandatory: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of DocumentReference.content (ordered, Open at End)

Differential View

This structure is derived from NcpiFile

NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference 0..* NcpiFile A reference to a document
... Slices for content 1..* BackboneElement Document referenced
Slice: Ordered, Open At End by pattern:code
.... content:DRS 1..1 BackboneElement Document referenced
..... attachment 1..1 DRSAttachment Content in a format defined elsewhere

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference 0..* NcpiFile A reference to a document
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... file-format 1..1 CodeableConcept The file format used (EDAM is preferred)
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/file-format
Binding: http://edamontology.org (extensible)
.... location-access 0..* Reference() If present, only those under the specific Access Policy can access the file in this location.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/location-access
.... file-size 1..1 Quantity Indicate the size of the file in reference
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/file-size
.... hash 0..* (Complex) Provides a list of hashes for confirming file transfers
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/hash-extension
.... content-version 0..1 string The version of the content in the file
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/content-version
... 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) The participant(s) for whom this file contains data (i.e., ParticipantID)
... Slices for content Σ 1..* BackboneElement Document referenced
Slice: Ordered, Open At End by pattern:code
.... content:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... attachment Σ 1..1 Attachment Where to access the document
...... url Σ 1..1 url The URI at which this data can be accessed
Example General: http://www.acme.com/logo-small.png
.... content:DRS Σ 1..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
att-1: If the Attachment has data, it SHALL have a contentType
must-be-drs-uri: 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.
...... url Σ 1..1 url The URI at which this data can be accessed
Example General: http://www.acme.com/logo-small.png

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DocumentReference.statusrequiredDocumentReferenceStatus
http://hl7.org/fhir/ValueSet/document-reference-status|4.3.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
att-1errorDocumentReference.content:DRS.attachmentIf the Attachment has data, it SHALL have a contentType
: data.empty() or contentType.exists()
dom-2errorDocumentReferenceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDocumentReferenceIf 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDocumentReferenceIf 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-5errorDocumentReferenceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDocumentReferenceA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
must-be-drs-urierrorDocumentReference.content:DRS.attachmentattachment.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

NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference 0..* NcpiFile 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
dom-r4b: Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... file-format 1..1 CodeableConcept The file format used (EDAM is preferred)
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/file-format
Binding: http://edamontology.org (extensible)
.... location-access 0..* Reference() If present, only those under the specific Access Policy can access the file in this location.
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/location-access
.... file-size 1..1 Quantity Indicate the size of the file in reference
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/file-size
.... hash 0..* (Complex) Provides a list of hashes for confirming file transfers
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/hash-extension
.... content-version 0..1 string The version of the content in the file
URL: https://nih-ncpi.github.io/ncpi-fhir-ig-2/StructureDefinition/content-version
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... masterIdentifier Σ 0..1 Identifier Master Version Specific Identifier
... identifier Σ 1..* Identifier A related external file ID
... 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 The type of data contained in this file.
Binding: Enumerations for the EDAM ontology (extensible)
... 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) The participant(s) for whom this file contains data (i.e., ParticipantID)
... 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 A description of the file
... securityLabel Σ 0..* CodeableConcept Document security-tags
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


... Slices for content Σ 1..* BackboneElement Document referenced
Slice: Ordered, Open At End by pattern:code
.... content:All Slices Content/Rules for all slices
..... 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 Σ 1..1 Attachment Where to access the document
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... contentType Σ 0..1 code Mime type of the content, with charset etc.
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)


Example General: text/plain; charset=UTF-8, image/png
...... language Σ 0..1 code Human language of the content (BCP-47)
Binding: CommonLanguages (preferred): IETF language tag

Additional BindingsPurpose
AllLanguages Max Binding

Example General: en-AU
...... data 0..1 base64Binary Data inline, base64ed
...... url Σ 1..1 url The URI at which this data can be accessed
Example General: http://www.acme.com/logo-small.png
...... size Σ 0..1 unsignedInt Number of bytes of content (if url provided)
...... hash Σ 0..1 base64Binary Hash of the data (sha-1, base64ed)
...... title Σ 0..1 string Label to display in place of the data
Example General: Official Corporate Logo
...... creation Σ 0..1 dateTime Date attachment was first created
..... format Σ 0..1 Coding Format/content rules for the document
Binding: DocumentReferenceFormatCodeSet (preferred): Document Format Codes.

.... content:DRS Σ 1..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
att-1: If the Attachment has data, it SHALL have a contentType
must-be-drs-uri: 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.
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... contentType Σ 0..1 code Mime type of the content, with charset etc.
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)


Example General: text/plain; charset=UTF-8, image/png
...... language Σ 0..1 code Human language of the content (BCP-47)
Binding: CommonLanguages (preferred): IETF language tag

Additional BindingsPurpose
AllLanguages Max Binding

Example General: en-AU
...... data 0..1 base64Binary Data inline, base64ed
...... url Σ 1..1 url The URI at which this data can be accessed
Example General: http://www.acme.com/logo-small.png
...... size Σ 0..1 unsignedInt Number of bytes of content (if url provided)
...... hash Σ 0..1 base64Binary Hash of the data (sha-1, base64ed)
...... title Σ 0..1 string Label to display in place of the data
Example General: Official Corporate Logo
...... creation Σ 0..1 dateTime Date attachment was first created
..... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DocumentReference.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
DocumentReference.statusrequiredDocumentReferenceStatus
http://hl7.org/fhir/ValueSet/document-reference-status|4.3.0
from the FHIR Standard
DocumentReference.docStatusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|4.3.0
from the FHIR Standard
DocumentReference.typeextensibleEDAMOntologyTerms (a valid code from http://edamontology.org)
https://nih-ncpi.github.io/ncpi-fhir-ig-2/ValueSet/edam-ontology-terms
from this IG
DocumentReference.categoryexampleDocumentClassValueSet
http://hl7.org/fhir/ValueSet/doc-classcodes
from the FHIR Standard
DocumentReference.relatesTo.coderequiredDocumentRelationshipType
http://hl7.org/fhir/ValueSet/document-relationship-type|4.3.0
from the FHIR Standard
DocumentReference.securityLabelextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
DocumentReference.content.attachment.contentTyperequiredMime Types (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|4.3.0
from the FHIR Standard
DocumentReference.content.attachment.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
DocumentReference.content.formatpreferredDocumentReferenceFormatCodeSet (a valid code from http://ihe.net/fhir/ValueSet/IHE.FormatCode.codesystem)
http://hl7.org/fhir/ValueSet/formatcodes
from the FHIR Standard
DocumentReference.content:DRS.attachment.contentTyperequiredMime Types (a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|4.3.0
from the FHIR Standard
DocumentReference.content:DRS.attachment.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
DocumentReference.content:DRS.formatpreferredDocumentReferenceFormatCodeSet (a valid code from http://ihe.net/fhir/ValueSet/IHE.FormatCode.codesystem)
http://hl7.org/fhir/ValueSet/formatcodes
from the FHIR Standard
DocumentReference.context.eventexampleActCode
http://terminology.hl7.org/ValueSet/v3-ActCode
DocumentReference.context.facilityTypeexampleFacilityTypeCodeValueSet
http://hl7.org/fhir/ValueSet/c80-facilitycodes
from the FHIR Standard
DocumentReference.context.practiceSettingexamplePracticeSettingCodeValueSet
http://hl7.org/fhir/ValueSet/c80-practice-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
att-1errorDocumentReference.content:DRS.attachmentIf the Attachment has data, it SHALL have a contentType
: data.empty() or contentType.exists()
dom-2errorDocumentReferenceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDocumentReferenceIf 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDocumentReferenceIf 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-5errorDocumentReferenceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDocumentReferenceA resource should have narrative for robust management
: text.`div`.exists()
dom-r4bwarningDocumentReference.containedContaining new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems
: ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
must-be-drs-urierrorDocumentReference.content:DRS.attachmentattachment.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 NcpiFile

Summary

Mandatory: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of DocumentReference.content (ordered, Open at End)

 

Other representations of profile: CSV, Excel, Schematron