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.

 

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())