FHIR Implementation Guide for ABDM
3.0.0 - CI Build India flag


banner

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

Resource Profile: StructureDefinition/Media

Official URL: https://nrces.in/ndhm/fhir/r4/StructureDefinition/Media Version: 3.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 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:

  • Refer to this Resource Profile:
  • Examples for this Resource Profile: Media/example-01

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
... 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
..... 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
... 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 Σ0..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
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
... 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.

... 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.

.... coding Σ0..*CodingCode defined by a terminology system
.... text Σ0..1stringPlain text representation of the concept
... content Σ1..1AttachmentActual Media - reference or data
.... contentType Σ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.

.... data 1..1base64BinaryData inline, base64ed

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
... 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
..... 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

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 Σ0..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

 

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.reasonCodeexampleProcedureReasonCodes
Media.bodySiteexampleSNOMEDCTBodyStructures
Media.content.contentTyperequiredMime Types
Media.content.languagepreferredCommonLanguages
Max Binding: AllLanguages

Constraints

IdGradePathDetailsRequirements
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-1errorMedia.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedia.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedia.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedia.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedia.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.modalityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.modality.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedia.modality.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedia.modality.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.modality.coding.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedia.modality.coding.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedia.modality.coding.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.modality.coding.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.modality.coding.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.modality.coding.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.modality.coding.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.modality.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.viewAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.created[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.issuedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.operatorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.deviceNameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.deviceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.heightAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.widthAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.framesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.durationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.contentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.content.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedia.content.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedia.content.contentTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.content.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.content.dataAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.content.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.content.sizeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.content.hashAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.content.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.content.creationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedia.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())