CH Core (R4)
0.1.0 - STU Ballot

This page is part of the CH Core (R4) (v0.1.0: STU) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions

StructureDefinition: CHCoreDocumentReferenceEPR

Base definition for a document reference in the context of the electronic patient record (EPR).

The official URL for this profile is:

http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-documentreference-epr

Formal Views of Profile Content

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

This structure is derived from CHCoreDocumentReference

NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference I0..*CHCoreDocumentReferenceCH Core DocumentReference EPR
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... masterIdentifier ΣI0..1IdentifierMaster Version Specific Identifier
... identifier ΣI0..*IdentifierOther identifiers for the document
... status ?!ΣI1..1codecurrent | superseded | entered-in-error
Binding: DocumentReferenceStatus (required)
... docStatus ΣI0..1codepreliminary | final | amended | entered-in-error
Binding: CompositionStatus (required)
... type ΣI1..1CodeableConceptKind of document (LOINC if possible)
Binding: DocumentEntry.typeCode (required)
... category ΣI1..*CodeableConceptCategorization of document
Binding: DocumentEntry.classCode (required)
... subject ΣI1..1Reference(CH Core Composition Patient Profile EPR)Who/what is the subject of the document
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type ΣI0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible)
.... identifier ΣI0..1IdentifierLogical reference, when literal reference is not known
.... display ΣI0..1stringText alternative for the resource
... date ΣI1..1instantWhen this document reference was created
... author ΣI1..*Reference(CH Core Practitioner Profile EPR | CH Core Practitioner Role Profile | Device | CH Core Composition Patient Profile EPR | RelatedPerson)Who and/or what authored the document
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type ΣI0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible)
.... identifier ΣI0..1IdentifierLogical reference, when literal reference is not known
.... display ΣI0..1stringText alternative for the resource
... authenticator I0..1Reference(Practitioner | PractitionerRole | Organization)Who/what authenticated the document
... custodian I0..1Reference(Organization)Organization which maintains the document
... relatesTo ΣI0..*BackboneElementRelationships to other documents
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣI1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required)
.... target ΣI1..1Reference(DocumentReference)Target of the relationship
... description ΣI0..1stringHuman-readable description
... securityLabel ΣI1..*CodeableConceptDocument security-tags
Binding: DocumentEntry.confidentialityCode (required)
... content ΣI1..*BackboneElementDocument referenced
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... attachment ΣI1..1AttachmentWhere to access the document
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType ΣI1..1codeMime type of the content, with charset etc.
Binding: DocumentEntry.mimeType (required)
Example General: text/plain; charset=UTF-8, image/png
..... language ΣI1..1codeHuman language of the content (BCP-47)
Binding: DocumentEntry.languageCode (required)
Example General: en-AU
..... data I0..1base64BinaryData inline, base64ed
..... url ΣI1..1urlUri where the data can be found
Example General: http://www.acme.com/logo-small.png
..... size ΣI0..1unsignedIntNumber of bytes of content (if url provided)
..... hash ΣI0..1base64BinaryHash of the data (sha-1, base64ed)
..... title ΣI0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
..... creation ΣI0..1dateTimeDate attachment was first created
.... format ΣI1..1CodingFormat/content rules for the document
Binding: DocumentEntry.formatCode (required)
... context ΣI0..1BackboneElementClinical context of document
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... encounter I0..*Reference(Encounter | EpisodeOfCare)Context of the document content
.... event I0..*CodeableConceptMain clinical acts documented
Binding: v3 Code System ActCode (example)
.... period ΣI0..1PeriodTime of service that is being documented
.... facilityType I0..1CodeableConceptKind of facility where patient was seen
Binding: DocumentEntry.healthcareFacilityTypeCode (required)
.... practiceSetting I0..1CodeableConceptAdditional details about where the content was created (e.g. clinical specialty)
Binding: DocumentEntry.practiceSettingCode (required)
.... sourcePatientInfo I0..1Reference(Patient)Patient demographics from source
.... related I0..*Reference(Resource)Related identifiers or resources

doco Documentation for this format

This structure is derived from CHCoreDocumentReference

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference I0..*CHCoreDocumentReferenceCH Core DocumentReference EPR
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... masterIdentifier ΣI0..1IdentifierMaster Version Specific Identifier
... identifier ΣI0..*IdentifierOther identifiers for the document
... status ?!ΣI1..1codecurrent | superseded | entered-in-error
Binding: DocumentReferenceStatus (required)
... docStatus ΣI0..1codepreliminary | final | amended | entered-in-error
Binding: CompositionStatus (required)
... type ΣI1..1CodeableConceptKind of document (LOINC if possible)
Binding: DocumentEntry.typeCode (required)
... category ΣI1..*CodeableConceptCategorization of document
Binding: DocumentEntry.classCode (required)
... subject ΣI1..1Reference(CH Core Composition Patient Profile EPR)Who/what is the subject of the document
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type ΣI0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible)
.... identifier ΣI0..1IdentifierLogical reference, when literal reference is not known
.... display ΣI0..1stringText alternative for the resource
... date ΣI1..1instantWhen this document reference was created
... author ΣI1..*Reference(CH Core Practitioner Profile EPR | CH Core Practitioner Role Profile | Device | CH Core Composition Patient Profile EPR | RelatedPerson)Who and/or what authored the document
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type ΣI0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible)
.... identifier ΣI0..1IdentifierLogical reference, when literal reference is not known
.... display ΣI0..1stringText alternative for the resource
... authenticator I0..1Reference(Practitioner | PractitionerRole | Organization)Who/what authenticated the document
... custodian I0..1Reference(Organization)Organization which maintains the document
... relatesTo ΣI0..*BackboneElementRelationships to other documents
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣI1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required)
.... target ΣI1..1Reference(DocumentReference)Target of the relationship
... description ΣI0..1stringHuman-readable description
... securityLabel ΣI1..*CodeableConceptDocument security-tags
Binding: DocumentEntry.confidentialityCode (required)
... content ΣI1..*BackboneElementDocument referenced
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... attachment ΣI1..1AttachmentWhere to access the document
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType ΣI1..1codeMime type of the content, with charset etc.
Binding: DocumentEntry.mimeType (required)
Example General: text/plain; charset=UTF-8, image/png
..... language ΣI1..1codeHuman language of the content (BCP-47)
Binding: DocumentEntry.languageCode (required)
Example General: en-AU
..... data I0..1base64BinaryData inline, base64ed
..... url ΣI1..1urlUri where the data can be found
Example General: http://www.acme.com/logo-small.png
..... size ΣI0..1unsignedIntNumber of bytes of content (if url provided)
..... hash ΣI0..1base64BinaryHash of the data (sha-1, base64ed)
..... title ΣI0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
..... creation ΣI0..1dateTimeDate attachment was first created
.... format ΣI1..1CodingFormat/content rules for the document
Binding: DocumentEntry.formatCode (required)
... context ΣI0..1BackboneElementClinical context of document
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... encounter I0..*Reference(Encounter | EpisodeOfCare)Context of the document content
.... event I0..*CodeableConceptMain clinical acts documented
Binding: v3 Code System ActCode (example)
.... period ΣI0..1PeriodTime of service that is being documented
.... facilityType I0..1CodeableConceptKind of facility where patient was seen
Binding: DocumentEntry.healthcareFacilityTypeCode (required)
.... practiceSetting I0..1CodeableConceptAdditional details about where the content was created (e.g. clinical specialty)
Binding: DocumentEntry.practiceSettingCode (required)
.... sourcePatientInfo I0..1Reference(Patient)Patient demographics from source
.... related I0..*Reference(Resource)Related identifiers or resources

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

Terminology Bindings

PathConformanceValueSet
DocumentReference.languagepreferredCommonLanguages
Max Binding: AllLanguages
DocumentReference.statusrequiredDocumentReferenceStatus
DocumentReference.docStatusrequiredCompositionStatus
DocumentReference.typerequiredDocumentEntry.typeCode
DocumentReference.categoryrequiredDocumentEntry.classCode
DocumentReference.subject.typeextensibleResourceType
DocumentReference.author.typeextensibleResourceType
DocumentReference.relatesTo.coderequiredDocumentRelationshipType
DocumentReference.securityLabelrequiredDocumentEntry.confidentialityCode
DocumentReference.content.attachment.contentTyperequiredDocumentEntry.mimeType
DocumentReference.content.attachment.languagerequiredDocumentEntry.languageCode
DocumentReference.content.formatrequiredDocumentEntry.formatCode
DocumentReference.context.eventexamplev3.ActCode
DocumentReference.context.facilityTyperequiredDocumentEntry.healthcareFacilityTypeCode
DocumentReference.context.practiceSettingrequiredDocumentEntry.practiceSettingCode

Constraints

Constraints

IdPathDetailsRequirements
dom-2DocumentReferenceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3DocumentReferenceIf 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-4DocumentReferenceIf 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-5DocumentReferenceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6DocumentReferenceA resource should have narrative for robust management
: text.`div`.exists()
ele-1DocumentReference.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DocumentReference.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DocumentReference.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DocumentReference.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DocumentReference.masterIdentifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.docStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.subject.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DocumentReference.subject.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DocumentReference.subject.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.subject.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.subject.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.subject.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.author.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DocumentReference.author.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DocumentReference.author.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.author.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.author.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.author.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.authenticatorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.custodianAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.relatesToAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.relatesTo.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DocumentReference.relatesTo.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DocumentReference.relatesTo.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DocumentReference.relatesTo.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DocumentReference.relatesTo.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.relatesTo.targetAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.securityLabelAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.contentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.content.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DocumentReference.content.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DocumentReference.content.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DocumentReference.content.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DocumentReference.content.attachmentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.content.attachment.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DocumentReference.content.attachment.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DocumentReference.content.attachment.contentTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ch-docref-1DocumentReference.content.attachment.contentTypeThe following ValueSet is preferred: http://fhir.ch/ig/ch-epr-term/ValueSet/DocumentEntry.mimeType
: exists()
ele-1DocumentReference.content.attachment.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.content.attachment.dataAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.content.attachment.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.content.attachment.sizeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.content.attachment.hashAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.content.attachment.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.content.attachment.creationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.content.formatAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.contextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.context.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DocumentReference.context.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DocumentReference.context.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DocumentReference.context.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DocumentReference.context.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.context.eventAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.context.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.context.facilityTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.context.practiceSettingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.context.sourcePatientInfoAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DocumentReference.context.relatedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())