Danish MedCom Core
2.3.0 - Release Denmark flag

This page is part of the DK MedCom Core (v2.3.0: Release) based on FHIR R4. The current version which supercedes this version is 2.1.0. For a full list of available versions, see the Directory of published versions

Resource Profile: MedComMedia

Official URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-media Version: 2.3.0
Active as of 2023-10-31 Computable Name: MedComCoreMedia

Profile to capture relevant images,audio, video and document as part of the healthcare process

Note: This profile is developed to be part of a production trial of the communication between the general practitioner and municipal acute care team.

Scope and use

This profile is a MedCom Core profile for media and is intended to represent relevant attachments for a variety cases including:

  • laboratory observations
  • observations performed by a municipal acute care team

Only an attachment of the permitted formats must be included. Click here to see the permitted formats of an attachment

The attached file shall be base64-encoded and added to the element MedComCoreMedia.content.data If the attached file is sent, it is a requirement that the ID and title of the attached file shall be sent. The ID of the attachment shall be expressed using Media.identifier element. The Media.content.titel element shall be used to express the titel of the attachment.

Usage:

Formal Views of Profile Content

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

This structure is derived from Media

NameFlagsCard.TypeDescription & Constraintsdoco
.. Media 0..*MediaA photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference
... identifier S1..1MedComAssignedIdentifierAn identifier intended for computation
... status S1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
... operator SC0..1Reference(MedComCorePractitioner | MedComCorePractitionerRole)The person who generated the image
medcom-homecareReport-5: There shall exist a practitioner role when using a PractitionerRole as author of the attached file .
medcom-homecareReport-6: There shall exist a name of the healtcare worker that performed the observations, as author of the attached file .
.... contentType S0..1codeMime type of the content, with charset etc.
Binding: MedComCoreAttachmentMimeTypes (required)
.... data S0..1base64BinaryData inline, base64ed
.... title S1..1stringLabel to display in place of the data
.... creation S1..1dateTimeDate attachment was first created

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Media.content.contentTyperequiredMedComCoreAttachmentMimeTypes

Constraints

IdGradePath(s)DetailsRequirements
medcom-homecareReport-5errorMedia.operatorThere shall exist a practitioner role when using a PractitionerRole as author of the attached file .
: reference.resolve().code.coding.code.exists()
medcom-homecareReport-6errorMedia.operatorThere shall exist a name of the healtcare worker that performed the observations, as author of the attached file .
: reference.resolve().practitioner.resolve().name.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Media 0..*MediaA photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S1..1MedComAssignedIdentifierAn identifier intended for computation
... operator SΣC0..1Reference(MedComCorePractitioner | MedComCorePractitionerRole)The person who generated the image
medcom-homecareReport-5: There shall exist a practitioner role when using a PractitionerRole as author of the attached file .
medcom-homecareReport-6: There shall exist a name of the healtcare worker that performed the observations, as author of the attached file .
... content Σ1..1AttachmentActual Media - reference or data
.... contentType SΣ0..1codeMime type of the content, with charset etc.
Binding: MedComCoreAttachmentMimeTypes (required)
Example General: text/plain; charset=UTF-8, image/png
.... data S0..1base64BinaryData inline, base64ed
.... title SΣ1..1stringLabel to display in place of the data
Example General: Official Corporate Logo
.... creation SΣ1..1dateTimeDate attachment was first created

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Media.statusrequiredEventStatus
Media.content.contentTyperequiredMedComCoreAttachmentMimeTypes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMediaIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMediaIf 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-4errorMediaIf 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-5errorMediaIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMediaA 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()
medcom-homecareReport-5errorMedia.operatorThere shall exist a practitioner role when using a PractitionerRole as author of the attached file .
: reference.resolve().code.coding.code.exists()
medcom-homecareReport-6errorMedia.operatorThere shall exist a name of the healtcare worker that performed the observations, as author of the attached file .
: reference.resolve().practitioner.resolve().name.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Media 0..*MediaA photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S1..1MedComAssignedIdentifierAn identifier intended for computation
... basedOn Σ0..*Reference(ServiceRequest | CarePlan)Procedure that caused this media to be created
... partOf Σ0..*Reference(Resource)Part of referenced event
... status ?!SΣ1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): Codes identifying the lifecycle stage of an event.

... type Σ0..1CodeableConceptClassification of media as image, video, or audio
Binding: MediaType (extensible): Codes for high level media categories.

... modality Σ0..1CodeableConceptThe type of acquisition equipment/process
Binding: MediaModality (example): Detailed information about the type of the image - its kind, purpose, or the kind of equipment used to generate it.

... view Σ0..1CodeableConceptImaging view, e.g. Lateral or Antero-posterior
Binding: MediaCollectionView/Projection (example): Imaging view (projection) used when collecting an image.

... subject Σ0..1Reference(Patient | Practitioner | PractitionerRole | Group | Device | Specimen | Location)Who/What this Media is a record of
... encounter Σ0..1Reference(Encounter)Encounter associated with media
... created[x] Σ0..1When Media was collected
.... createdDateTimedateTime
.... createdPeriodPeriod
... issued Σ0..1instantDate/Time this version was made available
... operator SΣC0..1Reference(MedComCorePractitioner | MedComCorePractitionerRole)The person who generated the image
medcom-homecareReport-5: There shall exist a practitioner role when using a PractitionerRole as author of the attached file .
medcom-homecareReport-6: There shall exist a name of the healtcare worker that performed the observations, as author of the attached file .
... reasonCode Σ0..*CodeableConceptWhy was event performed?
Binding: ProcedureReasonCodes (example): The reason for the media.


... bodySite Σ0..1CodeableConceptObserved body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... deviceName Σ0..1stringName of the device/manufacturer
... device Σ0..1Reference(Device | DeviceMetric | Device)Observing Device
... height Σ0..1positiveIntHeight of the image in pixels (photo/video)
... width Σ0..1positiveIntWidth of the image in pixels (photo/video)
... frames Σ0..1positiveIntNumber of frames if > 1 (photo)
... duration Σ0..1decimalLength in seconds (audio / video)
... content Σ1..1AttachmentActual Media - reference or data
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... contentType SΣ0..1codeMime type of the content, with charset etc.
Binding: MedComCoreAttachmentMimeTypes (required)
Example General: text/plain; charset=UTF-8, image/png
.... language Σ0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding

Example General: en-AU
.... data S0..1base64BinaryData inline, base64ed
.... url Σ0..1urlUri where the data can be found
Example General: http://www.acme.com/logo-small.png
.... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
.... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
.... title SΣ1..1stringLabel to display in place of the data
Example General: Official Corporate Logo
.... creation SΣ1..1dateTimeDate attachment was first created
... note 0..*AnnotationComments made about the media

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Media.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Media.statusrequiredEventStatus
Media.typeextensibleMediaType
Media.modalityexampleMediaModality
Media.viewexampleMediaCollectionView/Projection
Media.reasonCodeexampleProcedureReasonCodes
Media.bodySiteexampleSNOMEDCTBodyStructures
Media.content.contentTyperequiredMedComCoreAttachmentMimeTypes
Media.content.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMediaIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMediaIf 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-4errorMediaIf 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-5errorMediaIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMediaA 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()
medcom-homecareReport-5errorMedia.operatorThere shall exist a practitioner role when using a PractitionerRole as author of the attached file .
: reference.resolve().code.coding.code.exists()
medcom-homecareReport-6errorMedia.operatorThere shall exist a name of the healtcare worker that performed the observations, as author of the attached file .
: reference.resolve().practitioner.resolve().name.exists()

Differential View

This structure is derived from Media

NameFlagsCard.TypeDescription & Constraintsdoco
.. Media 0..*MediaA photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference
... identifier S1..1MedComAssignedIdentifierAn identifier intended for computation
... status S1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
... operator SC0..1Reference(MedComCorePractitioner | MedComCorePractitionerRole)The person who generated the image
medcom-homecareReport-5: There shall exist a practitioner role when using a PractitionerRole as author of the attached file .
medcom-homecareReport-6: There shall exist a name of the healtcare worker that performed the observations, as author of the attached file .
.... contentType S0..1codeMime type of the content, with charset etc.
Binding: MedComCoreAttachmentMimeTypes (required)
.... data S0..1base64BinaryData inline, base64ed
.... title S1..1stringLabel to display in place of the data
.... creation S1..1dateTimeDate attachment was first created

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Media.content.contentTyperequiredMedComCoreAttachmentMimeTypes

Constraints

IdGradePath(s)DetailsRequirements
medcom-homecareReport-5errorMedia.operatorThere shall exist a practitioner role when using a PractitionerRole as author of the attached file .
: reference.resolve().code.coding.code.exists()
medcom-homecareReport-6errorMedia.operatorThere shall exist a name of the healtcare worker that performed the observations, as author of the attached file .
: reference.resolve().practitioner.resolve().name.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Media 0..*MediaA photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S1..1MedComAssignedIdentifierAn identifier intended for computation
... operator SΣC0..1Reference(MedComCorePractitioner | MedComCorePractitionerRole)The person who generated the image
medcom-homecareReport-5: There shall exist a practitioner role when using a PractitionerRole as author of the attached file .
medcom-homecareReport-6: There shall exist a name of the healtcare worker that performed the observations, as author of the attached file .
... content Σ1..1AttachmentActual Media - reference or data
.... contentType SΣ0..1codeMime type of the content, with charset etc.
Binding: MedComCoreAttachmentMimeTypes (required)
Example General: text/plain; charset=UTF-8, image/png
.... data S0..1base64BinaryData inline, base64ed
.... title SΣ1..1stringLabel to display in place of the data
Example General: Official Corporate Logo
.... creation SΣ1..1dateTimeDate attachment was first created

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Media.statusrequiredEventStatus
Media.content.contentTyperequiredMedComCoreAttachmentMimeTypes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMediaIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMediaIf 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-4errorMediaIf 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-5errorMediaIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMediaA 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()
medcom-homecareReport-5errorMedia.operatorThere shall exist a practitioner role when using a PractitionerRole as author of the attached file .
: reference.resolve().code.coding.code.exists()
medcom-homecareReport-6errorMedia.operatorThere shall exist a name of the healtcare worker that performed the observations, as author of the attached file .
: reference.resolve().practitioner.resolve().name.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Media 0..*MediaA photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S1..1MedComAssignedIdentifierAn identifier intended for computation
... basedOn Σ0..*Reference(ServiceRequest | CarePlan)Procedure that caused this media to be created
... partOf Σ0..*Reference(Resource)Part of referenced event
... status ?!SΣ1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): Codes identifying the lifecycle stage of an event.

... type Σ0..1CodeableConceptClassification of media as image, video, or audio
Binding: MediaType (extensible): Codes for high level media categories.

... modality Σ0..1CodeableConceptThe type of acquisition equipment/process
Binding: MediaModality (example): Detailed information about the type of the image - its kind, purpose, or the kind of equipment used to generate it.

... view Σ0..1CodeableConceptImaging view, e.g. Lateral or Antero-posterior
Binding: MediaCollectionView/Projection (example): Imaging view (projection) used when collecting an image.

... subject Σ0..1Reference(Patient | Practitioner | PractitionerRole | Group | Device | Specimen | Location)Who/What this Media is a record of
... encounter Σ0..1Reference(Encounter)Encounter associated with media
... created[x] Σ0..1When Media was collected
.... createdDateTimedateTime
.... createdPeriodPeriod
... issued Σ0..1instantDate/Time this version was made available
... operator SΣC0..1Reference(MedComCorePractitioner | MedComCorePractitionerRole)The person who generated the image
medcom-homecareReport-5: There shall exist a practitioner role when using a PractitionerRole as author of the attached file .
medcom-homecareReport-6: There shall exist a name of the healtcare worker that performed the observations, as author of the attached file .
... reasonCode Σ0..*CodeableConceptWhy was event performed?
Binding: ProcedureReasonCodes (example): The reason for the media.


... bodySite Σ0..1CodeableConceptObserved body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... deviceName Σ0..1stringName of the device/manufacturer
... device Σ0..1Reference(Device | DeviceMetric | Device)Observing Device
... height Σ0..1positiveIntHeight of the image in pixels (photo/video)
... width Σ0..1positiveIntWidth of the image in pixels (photo/video)
... frames Σ0..1positiveIntNumber of frames if > 1 (photo)
... duration Σ0..1decimalLength in seconds (audio / video)
... content Σ1..1AttachmentActual Media - reference or data
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... contentType SΣ0..1codeMime type of the content, with charset etc.
Binding: MedComCoreAttachmentMimeTypes (required)
Example General: text/plain; charset=UTF-8, image/png
.... language Σ0..1codeHuman language of the content (BCP-47)
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding

Example General: en-AU
.... data S0..1base64BinaryData inline, base64ed
.... url Σ0..1urlUri where the data can be found
Example General: http://www.acme.com/logo-small.png
.... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
.... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
.... title SΣ1..1stringLabel to display in place of the data
Example General: Official Corporate Logo
.... creation SΣ1..1dateTimeDate attachment was first created
... note 0..*AnnotationComments made about the media

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Media.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Media.statusrequiredEventStatus
Media.typeextensibleMediaType
Media.modalityexampleMediaModality
Media.viewexampleMediaCollectionView/Projection
Media.reasonCodeexampleProcedureReasonCodes
Media.bodySiteexampleSNOMEDCTBodyStructures
Media.content.contentTyperequiredMedComCoreAttachmentMimeTypes
Media.content.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMediaIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMediaIf 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-4errorMediaIf 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-5errorMediaIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMediaA 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()
medcom-homecareReport-5errorMedia.operatorThere shall exist a practitioner role when using a PractitionerRole as author of the attached file .
: reference.resolve().code.coding.code.exists()
medcom-homecareReport-6errorMedia.operatorThere shall exist a name of the healtcare worker that performed the observations, as author of the attached file .
: reference.resolve().practitioner.resolve().name.exists()

 

Other representations of profile: CSV, Excel, Schematron