FHIR Implementation Guide for ABDM
4.0.0 - active India flag

Banner

FHIR Implementation Guide for ABDM - Local Development build (v4.0.0). See the Directory of published versions

Resource Profile: StructureDefinition/Media

Official URL: https://nrces.in/ndhm/fhir/r4/StructureDefinition/Media Version: 4.0.0
Draft as of 2020-08-17 Computable Name: Media

This profile sets minimum expectations for the Media resource to searching for and fetching media like a photo, video, or audio recording acquired or used in healthcare, associated with a patient or provider.

This profile sets minimum expectations for the Media resource to searching for and fetching a Organization associated with a patient or provider. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.

Examples

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 Media
... basedOn 0..*Reference(ServiceRequest | CarePlan)Procedure that caused this media to be created
... status S1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
... modality S0..1CodeableConceptThe type of acquisition equipment/process
.... coding S0..*CodingCode defined by a terminology system
..... system 1..1uriIdentity of the terminology system
..... code 1..1codeSymbol in syntax defined by the system
..... display 1..1stringRepresentation defined by the system
.... text S0..1stringPlain text representation of the concept
... encounter 0..1Reference(Encounter)Encounter associated with media
... operator 0..1Reference(CareTeam | Device | RelatedPerson | Practitioner | PractitionerRole | Organization | Patient)The person who generated the image
... content S1..1AttachmentActual Media - reference or data
.... contentType S1..1codeMime type of the content, with charset etc.
.... data S1..1base64BinaryData inline, base64ed

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
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... basedOn Σ0..*Reference(ServiceRequest | CarePlan)Procedure that caused this media to be created
... modality SΣ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.

.... coding SΣ0..*CodingCode defined by a terminology system
..... system Σ1..1uriIdentity of the terminology system
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
.... text SΣ0..1stringPlain text representation of the concept
... subject Σ0..1Reference(Group | Device | Location | Patient | Specimen | Practitioner | PractitionerRole)Who/What this Media is a record of
... encounter Σ0..1Reference(Encounter)Encounter associated with media
... operator Σ0..1Reference(CareTeam | Device | RelatedPerson | Practitioner | PractitionerRole | Organization | Patient)The person who generated the image
... content SΣ1..1AttachmentActual Media - reference or data
.... contentType SΣ1..1codeMime type of the content, with charset etc.
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.


Example General: text/plain; charset=UTF-8, image/png
.... data S1..1base64BinaryData inline, base64ed

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Media.statusrequiredEventStatus
Media.modalityexampleMediaModality
Media.content.contentTyperequiredMime Types (a valid code from urn:ietf:bcp:13)

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()
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 Σ0..*IdentifierIdentifier(s) for the image
... 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 SΣ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.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ0..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text SΣ0..1stringPlain text representation of the concept
... 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(Group | Device | Location | Patient | Specimen | Practitioner | PractitionerRole)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 Σ0..1Reference(CareTeam | Device | RelatedPerson | Practitioner | PractitionerRole | Organization | Patient)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(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 SΣ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Σ1..1codeMime type of the content, with charset etc.
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.


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 S1..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 Σ0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
.... creation Σ0..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.contentTyperequiredMime Types (a valid code from urn:ietf:bcp:13)
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()

Differential View

This structure is derived from Media

NameFlagsCard.TypeDescription & Constraintsdoco
.. Media Media
... basedOn 0..*Reference(ServiceRequest | CarePlan)Procedure that caused this media to be created
... status S1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
... modality S0..1CodeableConceptThe type of acquisition equipment/process
.... coding S0..*CodingCode defined by a terminology system
..... system 1..1uriIdentity of the terminology system
..... code 1..1codeSymbol in syntax defined by the system
..... display 1..1stringRepresentation defined by the system
.... text S0..1stringPlain text representation of the concept
... encounter 0..1Reference(Encounter)Encounter associated with media
... operator 0..1Reference(CareTeam | Device | RelatedPerson | Practitioner | PractitionerRole | Organization | Patient)The person who generated the image
... content S1..1AttachmentActual Media - reference or data
.... contentType S1..1codeMime type of the content, with charset etc.
.... data S1..1base64BinaryData inline, base64ed

doco Documentation for this format

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
... basedOn Σ0..*Reference(ServiceRequest | CarePlan)Procedure that caused this media to be created
... modality SΣ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.

.... coding SΣ0..*CodingCode defined by a terminology system
..... system Σ1..1uriIdentity of the terminology system
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
.... text SΣ0..1stringPlain text representation of the concept
... subject Σ0..1Reference(Group | Device | Location | Patient | Specimen | Practitioner | PractitionerRole)Who/What this Media is a record of
... encounter Σ0..1Reference(Encounter)Encounter associated with media
... operator Σ0..1Reference(CareTeam | Device | RelatedPerson | Practitioner | PractitionerRole | Organization | Patient)The person who generated the image
... content SΣ1..1AttachmentActual Media - reference or data
.... contentType SΣ1..1codeMime type of the content, with charset etc.
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.


Example General: text/plain; charset=UTF-8, image/png
.... data S1..1base64BinaryData inline, base64ed

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Media.statusrequiredEventStatus
Media.modalityexampleMediaModality
Media.content.contentTyperequiredMime Types (a valid code from urn:ietf:bcp:13)

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

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 Σ0..*IdentifierIdentifier(s) for the image
... 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 SΣ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.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ0..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text SΣ0..1stringPlain text representation of the concept
... 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(Group | Device | Location | Patient | Specimen | Practitioner | PractitionerRole)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 Σ0..1Reference(CareTeam | Device | RelatedPerson | Practitioner | PractitionerRole | Organization | Patient)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(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 SΣ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Σ1..1codeMime type of the content, with charset etc.
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.


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 S1..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 Σ0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
.... creation Σ0..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.contentTyperequiredMime Types (a valid code from urn:ietf:bcp:13)
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()

 

Other representations of profile: CSV, Excel, Schematron