eHealth Infrastructure
2021.3.0 - build

eHealth Infrastructure - Local Development build (v2021.3.0). See the Directory of published versions

Resource Profile: ehealth-media

Defining URL:http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-media
Version:2021.3.0
Name:ehealth-media
Status:Active as of 2021-11-25T09:32:14+00:00
Publisher:Systematic | Trifork
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-media

Introduction

A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.

Scope and Usage

In scope of the eHealth infrastructure Media resources are used with measurements, so that submitted measurement bundles can consist of e.g. Observations, QuestionnaireResponses, and Media. The actual media data can be contained as a payload of the Media resource (using the content.data element) or be referenced from the Media resource (using the content.url element).

Immutability

Media are immutable. Once they are created as a FHIR resource they cannot be updated or deleted, but they can be read based on id or searched based on certain elements.

Searching media

It is possible to search for Media based on:

  • context
  • subject
  • code
  • period
  • deviceMeasuringQuality
  • situationQuality
  • operationQuality

At least one of “subject” and “context” must be provided. “period” searches on range of “occurence”.

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
... Slices for extension 2..*ExtensionExtension
Slice: Unordered, Open by value:url
... workflow-episodeOfCare 1..1Reference(EpisodeOfCare)Associated Encounter episode of care
URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare
... ehealth-quality 0..*(Complex)Minimum requirements for qualities
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-quality
... basedOn 1..1Reference(ehealth-servicerequest) {r}Procedure that caused this media to be created
... subject 1..1Reference(ehealth-patient | ehealth-practitioner | Group | ehealth-device | Specimen)Who/What this Media is a record of
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... created[x] 1..1dateTime, PeriodWhen Media was collected
... operator 0..1Reference(ehealth-practitioner) {r}The person who generated the image
... device 0..1Reference(ehealth-device | ehealth-devicemetric) {r}Observing Device
... note
.... authorReference 0..1Reference(ehealth-practitioner | ehealth-patient | ehealth-relatedperson)Individual responsible for the annotation
.... authorString 0..1stringIndividual responsible for the annotation

doco Documentation for this format
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..1stringLogical 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)
Max Binding: AllLanguages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 2..*ExtensionExtension
Slice: Unordered, Open by value:url
... workflow-episodeOfCare 1..1Reference(EpisodeOfCare)Associated Encounter episode of care
URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare
... ehealth-quality 0..*(Complex)Minimum requirements for qualities
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-quality
... ehealth-resolved-timing 1..1(Complex)Resolved Timing
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-resolved-timing
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierIdentifier(s) for the image
... basedOn Σ1..1Reference(ehealth-servicerequest) {r}Procedure that caused this media to be created
... partOf Σ0..*Reference(Resource)Part of referenced event
... status ?!Σ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 Σ1..1Reference(ehealth-patient | ehealth-practitioner | Group | ehealth-device | Specimen)Who/What this Media is a record of
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource
... encounter Σ0..1Reference(Encounter)Encounter associated with media
... created[x] Σ1..1When Media was collected
.... createdDateTimedateTime
.... createdPeriodPeriod
... issued Σ0..1instantDate/Time this version was made available
... operator Σ0..1Reference(ehealth-practitioner) {r}The person who generated the image
... 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(ehealth-device | ehealth-devicemetric) {r}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
... note 0..*AnnotationComments made about the media
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for author[x] Σ0..1Individual responsible for the annotation
Slice: Unordered, Closed by type:$this
..... authorReferenceReference(Any)
..... authorStringstring
..... author[x]:authorReference Σ0..1Reference(ehealth-practitioner | ehealth-patient | ehealth-relatedperson)Individual responsible for the annotation
..... author[x]:authorString Σ0..1stringIndividual responsible for the annotation
.... time Σ0..1dateTimeWhen the annotation was made
.... text Σ1..1markdownThe annotation - text content (as markdown)

doco Documentation for this format
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

doco Documentation for this format

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
... Slices for extension 2..*ExtensionExtension
Slice: Unordered, Open by value:url
... workflow-episodeOfCare 1..1Reference(EpisodeOfCare)Associated Encounter episode of care
URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare
... ehealth-quality 0..*(Complex)Minimum requirements for qualities
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-quality
... basedOn 1..1Reference(ehealth-servicerequest) {r}Procedure that caused this media to be created
... subject 1..1Reference(ehealth-patient | ehealth-practitioner | Group | ehealth-device | Specimen)Who/What this Media is a record of
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... created[x] 1..1dateTime, PeriodWhen Media was collected
... operator 0..1Reference(ehealth-practitioner) {r}The person who generated the image
... device 0..1Reference(ehealth-device | ehealth-devicemetric) {r}Observing Device
... note
.... authorReference 0..1Reference(ehealth-practitioner | ehealth-patient | ehealth-relatedperson)Individual responsible for the annotation
.... authorString 0..1stringIndividual responsible for the annotation

doco Documentation for this format

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..1stringLogical 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)
Max Binding: AllLanguages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 2..*ExtensionExtension
Slice: Unordered, Open by value:url
... workflow-episodeOfCare 1..1Reference(EpisodeOfCare)Associated Encounter episode of care
URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare
... ehealth-quality 0..*(Complex)Minimum requirements for qualities
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-quality
... ehealth-resolved-timing 1..1(Complex)Resolved Timing
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-resolved-timing
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierIdentifier(s) for the image
... basedOn Σ1..1Reference(ehealth-servicerequest) {r}Procedure that caused this media to be created
... partOf Σ0..*Reference(Resource)Part of referenced event
... status ?!Σ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 Σ1..1Reference(ehealth-patient | ehealth-practitioner | Group | ehealth-device | Specimen)Who/What this Media is a record of
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource
... encounter Σ0..1Reference(Encounter)Encounter associated with media
... created[x] Σ1..1When Media was collected
.... createdDateTimedateTime
.... createdPeriodPeriod
... issued Σ0..1instantDate/Time this version was made available
... operator Σ0..1Reference(ehealth-practitioner) {r}The person who generated the image
... 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(ehealth-device | ehealth-devicemetric) {r}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
... note 0..*AnnotationComments made about the media
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for author[x] Σ0..1Individual responsible for the annotation
Slice: Unordered, Closed by type:$this
..... authorReferenceReference(Any)
..... authorStringstring
..... author[x]:authorReference Σ0..1Reference(ehealth-practitioner | ehealth-patient | ehealth-relatedperson)Individual responsible for the annotation
..... author[x]:authorString Σ0..1stringIndividual responsible for the annotation
.... time Σ0..1dateTimeWhen the annotation was made
.... text Σ1..1markdownThe annotation - text content (as markdown)

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
Media.languagepreferredCommonLanguages
Max Binding: AllLanguages
Media.statusrequiredEventStatus
Media.typeextensibleMediaType
Media.modalityexampleMediaModality
Media.viewexampleMediaCollectionView/Projection
Media.subject.typeextensibleResourceType
Media.reasonCodeexampleProcedureReasonCodes
Media.bodySiteexampleSNOMEDCTBodyStructures

Constraints

IdPathDetailsRequirements
dom-2MediaIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3MediaIf 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-4MediaIf 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-5MediaIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6MediaA resource should have narrative for robust management
: text.`div`.exists()
ele-1Media.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Media.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Media.extension:episodeOfCareAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Media.extension:episodeOfCareMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Media.extension:qualityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Media.extension:qualityMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Media.extension:resolvedTimingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Media.extension:resolvedTimingMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Media.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Media.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Media.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.modalityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.viewAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.subject.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Media.subject.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Media.subject.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.subject.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.subject.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.subject.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.created[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.issuedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.operatorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.deviceNameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.deviceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.heightAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.widthAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.framesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.durationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.contentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.note.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Media.note.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Media.note.author[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.note.author[x]:authorReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.note.author[x]:authorStringAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.note.timeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Media.note.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())