R4 Ballot #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.5.0: R4 Ballot #2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R4B R4 R3 R2

10.2 Resource Media - Content

Orders and Observations Work GroupMaturity Level: 1 Trial Use Compartments: Device, Patient, Practitioner

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

Trial-Use Note: The Orders and Observations workgroups wants to make the balloter aware than observations that require the attachment data types are represented by the Media resource instead of Observation. There have been several significant changes to the Media resource in order to align it with Observation and the workflow event pattern including:

  1. The addition of the partOf and issued elements.
  2. The required type was changed an optional category and the subtype element was renamed to modality.
  3. Additional reference targets added to the subject,operator, and basedOn elements
  4. The additions of several standard event extensions.

The Media resource contains photos, videos, and audio recordings. It is used with media acquired or used as part of the healthcare process. Here are some typical usages:

  • Photos and videos of diagnostic or care provision procedures for recording purposes
  • Images contained in diagnostic reports

This resource captures a specific type of Observation - an Observation whose value is audio, video or image data. This resource is the preferred representation of such forms of information as it exposes the metadata relevant for interpreting the information. However, in some legacy environments, media information may occasionally appear in Observation instead. Systems should be aware of this possibility.

The Media resource is able to contain medical images in a DICOM format. These images may also be made accessible through an ImagingStudy resource, which provides a direct reference to the image to a WADO-RS server.

For such images, the WADO-RS framework is a preferred method for representing the images - the WADO-RS service may include rendering the image with annotations and display parameters from an associated DICOM presentation state, for instance.

On the other hand, the media resource allows for a robust transfer of an image across boundaries where the WADO-RS service is not available. For this reason, medical images can also be represented in a Media resource, but the Media.content.url should provide a reference to a source WADO-RS service for the image.

This resource is referenced by AdverseEvent, ClinicalImpression, DeviceUseStatement, DiagnosticReport, ImagingStudy, MedicationKnowledge and Observation

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Media TUDomainResourceA photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierIdentifier(s) for the image
... basedOn Σ0..*Reference(ServiceRequest | CarePlan)Procedure that caused this media to be created
... partOf Σ0..*Reference(Any)Part of referenced event
... status ?!Σ1..1codepreparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown
EventStatus (Required)
... type Σ0..1CodeableConceptClassification of media as image, video, or audio
Media Type (Extensible)
... modality Σ0..1CodeableConceptThe type of acquisition equipment/process
Media Modality (Example)
... view Σ0..1CodeableConceptImaging view, e.g. Lateral or Antero-posterior
Media Collection View/Projection (Example)
... subject Σ0..1Reference(Patient | Practitioner | Group | Device | Specimen | Location)Who/What this Media is a record of
... context Σ0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with media
... created[x] Σ0..1When Media was collected
.... createdDateTimedateTime
.... createdPeriodPeriod
... issued Σ0..1instantDate/Time this version was made available
... operator Σ0..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)The person who generated the image
... reasonCode Σ0..*CodeableConceptWhy was event performed?
Procedure Reason Codes (Example)
... bodySite Σ0..1CodeableConceptObserved body part
SNOMED CT Body Structures (Example)
... 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
... note 0..*AnnotationComments made about the media

doco Documentation for this format

UML Diagram (Legend)

Media (DomainResource)Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiersidentifier : Identifier [0..*]A procedure that is fulfilled in whole or in part by the creation of this mediabasedOn : Reference [0..*] « ServiceRequest|CarePlan »A larger event of which this particular event is a component or steppartOf : Reference [0..*] « Any »The current state of the {{title}} (this element modifies the meaning of other elements)status : code [1..1] « Codes identifying the lifecycle stage of a event. (Strength=Required)EventStatus! »A code that classifies whether the media is an image, video or audio recording or some other media categorytype : CodeableConcept [0..1] « Codes for high level media categories. (Strength=Extensible)MediaType+ »Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modalitymodality : CodeableConcept [0..1] « Detailed information about the type of the image - its kind, purpose, or the kind of equipment used to generate it. (Strength=Example)MediaModality?? »The name of the imaging view e.g. Lateral or Antero-posterior (AP)view : CodeableConcept [0..1] « Imaging view (projection) used when collecting an image. (Strength=Example)MediaCollectionView/Projection?? »Who/What this Media is a record ofsubject : Reference [0..1] « Patient|Practitioner|Group|Device| Specimen|Location »The encounter or episode of care that establishes the context for this mediacontext : Reference [0..1] « Encounter|EpisodeOfCare »The date and time(s) at which the media was collectedcreated[x] : Type [0..1] « dateTime|Period »The date and time this version of the media was made available to providers, typically after having been reviewedissued : instant [0..1]The person who administered the collection of the imageoperator : Reference [0..1] « Practitioner|PractitionerRole| Organization|CareTeam|Patient|Device|RelatedPerson »Describes why the event occurred in coded or textual formreasonCode : CodeableConcept [0..*] « The reason for the media. (Strength=Example)ProcedureReasonCodes?? »Indicates the site on the subject's body where the observation was made (i.e. the target site)bodySite : CodeableConcept [0..1] « Codes describing anatomical locations. May include laterality. (Strength=Example)SNOMEDCTBodyStructures?? »The name of the device / manufacturer of the device that was used to make the recordingdeviceName : string [0..1]The device used to collect the mediadevice : Reference [0..1] « Device|DeviceMetric|Device »Height of the image in pixels (photo/video)height : positiveInt [0..1]Width of the image in pixels (photo/video)width : positiveInt [0..1]The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is requiredframes : positiveInt [0..1]The duration of the recording in seconds - for audio and videoduration : decimal [0..1]The actual content of the media - inline or by direct reference to the media source filecontent : Attachment [1..1]Comments made about the media by the performer, subject or other participantsnote : Annotation [0..*]

XML Template

<Media xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Identifier(s) for the image --></identifier>
 <basedOn><!-- 0..* Reference(ServiceRequest|CarePlan) Procedure that caused this media to be created --></basedOn>
 <partOf><!-- 0..* Reference(Any) Part of referenced event --></partOf>
 <status value="[code]"/><!-- 1..1 preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown -->
 <type><!-- 0..1 CodeableConcept Classification of media as image, video, or audio --></type>
 <modality><!-- 0..1 CodeableConcept The type of acquisition equipment/process --></modality>
 <view><!-- 0..1 CodeableConcept Imaging view, e.g. Lateral or Antero-posterior --></view>
 <subject><!-- 0..1 Reference(Patient|Practitioner|Group|Device|Specimen|Location) Who/What this Media is a record of --></subject>
 <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter / Episode associated with media --></context>
 <created[x]><!-- 0..1 dateTime|Period When Media was collected --></created[x]>
 <issued value="[instant]"/><!-- 0..1 Date/Time this version was made available -->
 <operator><!-- 0..1 Reference(Practitioner|PractitionerRole|Organization|
   CareTeam|Patient|Device|RelatedPerson) The person who generated the image --></operator>
 <reasonCode><!-- 0..* CodeableConcept Why was event performed? --></reasonCode>
 <bodySite><!-- 0..1 CodeableConcept Observed body part --></bodySite>
 <deviceName value="[string]"/><!-- 0..1 Name of the device/manufacturer -->
 <device><!-- 0..1 Reference(Device|DeviceMetric|Device) Observing Device --></device>
 <height value="[positiveInt]"/><!-- 0..1 Height of the image in pixels (photo/video) -->
 <width value="[positiveInt]"/><!-- 0..1 Width of the image in pixels (photo/video) -->
 <frames value="[positiveInt]"/><!-- 0..1 Number of frames if > 1 (photo) -->
 <duration value="[decimal]"/><!-- 0..1 Length in seconds (audio / video) -->
 <content><!-- 1..1 Attachment Actual Media - reference or data --></content>
 <note><!-- 0..* Annotation Comments made about the media --></note>
</Media>

JSON Template

{doco
  "resourceType" : "Media",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Identifier(s) for the image
  "basedOn" : [{ Reference(ServiceRequest|CarePlan) }], // Procedure that caused this media to be created
  "partOf" : [{ Reference(Any) }], // Part of referenced event
  "status" : "<code>", // R!  preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown
  "type" : { CodeableConcept }, // Classification of media as image, video, or audio
  "modality" : { CodeableConcept }, // The type of acquisition equipment/process
  "view" : { CodeableConcept }, // Imaging view, e.g. Lateral or Antero-posterior
  "subject" : { Reference(Patient|Practitioner|Group|Device|Specimen|Location) }, // Who/What this Media is a record of
  "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter / Episode associated with media
  // created[x]: When Media was collected. One of these 2:
  "createdDateTime" : "<dateTime>",
  "createdPeriod" : { Period },
  "issued" : "<instant>", // Date/Time this version was made available
  "operator" : { Reference(Practitioner|PractitionerRole|Organization|
   CareTeam|Patient|Device|RelatedPerson) }, // The person who generated the image
  "reasonCode" : [{ CodeableConcept }], // Why was event performed?
  "bodySite" : { CodeableConcept }, // Observed body part
  "deviceName" : "<string>", // Name of the device/manufacturer
  "device" : { Reference(Device|DeviceMetric|Device) }, // Observing Device
  "height" : "<positiveInt>", // Height of the image in pixels (photo/video)
  "width" : "<positiveInt>", // Width of the image in pixels (photo/video)
  "frames" : "<positiveInt>", // Number of frames if > 1 (photo)
  "duration" : <decimal>, // Length in seconds (audio / video)
  "content" : { Attachment }, // R!  Actual Media - reference or data
  "note" : [{ Annotation }] // Comments made about the media
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Media;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Media.identifier [ Identifier ], ... ; # 0..* Identifier(s) for the image
  fhir:Media.basedOn [ Reference(ServiceRequest|CarePlan) ], ... ; # 0..* Procedure that caused this media to be created
  fhir:Media.partOf [ Reference(Any) ], ... ; # 0..* Part of referenced event
  fhir:Media.status [ code ]; # 1..1 preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown
  fhir:Media.type [ CodeableConcept ]; # 0..1 Classification of media as image, video, or audio
  fhir:Media.modality [ CodeableConcept ]; # 0..1 The type of acquisition equipment/process
  fhir:Media.view [ CodeableConcept ]; # 0..1 Imaging view, e.g. Lateral or Antero-posterior
  fhir:Media.subject [ Reference(Patient|Practitioner|Group|Device|Specimen|Location) ]; # 0..1 Who/What this Media is a record of
  fhir:Media.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter / Episode associated with media
  # Media.created[x] : 0..1 When Media was collected. One of these 2
    fhir:Media.createdDateTime [ dateTime ]
    fhir:Media.createdPeriod [ Period ]
  fhir:Media.issued [ instant ]; # 0..1 Date/Time this version was made available
  fhir:Media.operator [ Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson) ]; # 0..1 The person who generated the image
  fhir:Media.reasonCode [ CodeableConcept ], ... ; # 0..* Why was event performed?
  fhir:Media.bodySite [ CodeableConcept ]; # 0..1 Observed body part
  fhir:Media.deviceName [ string ]; # 0..1 Name of the device/manufacturer
  fhir:Media.device [ Reference(Device|DeviceMetric|Device) ]; # 0..1 Observing Device
  fhir:Media.height [ positiveInt ]; # 0..1 Height of the image in pixels (photo/video)
  fhir:Media.width [ positiveInt ]; # 0..1 Width of the image in pixels (photo/video)
  fhir:Media.frames [ positiveInt ]; # 0..1 Number of frames if > 1 (photo)
  fhir:Media.duration [ decimal ]; # 0..1 Length in seconds (audio / video)
  fhir:Media.content [ Attachment ]; # 1..1 Actual Media - reference or data
  fhir:Media.note [ Annotation ], ... ; # 0..* Comments made about the media
]

Changes since R3

Media
Media.basedOn
  • Type changed from Reference(ProcedureRequest) to Reference(ServiceRequest|CarePlan)
Media.partOf
  • Added Element
Media.status
  • Added Element
Media.type
  • Min Cardinality changed from 1 to 0
  • Type changed from code to CodeableConcept
  • Change binding strength from required to extensible
  • Change value set from http://hl7.org/fhir/ValueSet/digital-media-type to http://hl7.org/fhir/ValueSet/media-type
Media.modality
  • Added Element
Media.subject
  • Type changed from Reference(Patient|Practitioner|Group|Device|Specimen) to Reference(Patient|Practitioner|Group|Device|Specimen|Location)
Media.created[x]
  • Added Element
Media.issued
  • Added Element
Media.operator
  • Type changed from Reference(Practitioner) to Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson)
Media.deviceName
  • Added Element
Media.device
  • Type changed from Reference(Device|DeviceMetric) to Reference(Device|DeviceMetric|Device)
Media.frames
  • Default Value "1" removed
Media.duration
  • Type changed from unsignedInt to decimal
Media.subtype
  • deleted
Media.occurrence[x]
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 4 tests of which 4 fail to execute.)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Media TUDomainResourceA photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierIdentifier(s) for the image
... basedOn Σ0..*Reference(ServiceRequest | CarePlan)Procedure that caused this media to be created
... partOf Σ0..*Reference(Any)Part of referenced event
... status ?!Σ1..1codepreparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown
EventStatus (Required)
... type Σ0..1CodeableConceptClassification of media as image, video, or audio
Media Type (Extensible)
... modality Σ0..1CodeableConceptThe type of acquisition equipment/process
Media Modality (Example)
... view Σ0..1CodeableConceptImaging view, e.g. Lateral or Antero-posterior
Media Collection View/Projection (Example)
... subject Σ0..1Reference(Patient | Practitioner | Group | Device | Specimen | Location)Who/What this Media is a record of
... context Σ0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with media
... created[x] Σ0..1When Media was collected
.... createdDateTimedateTime
.... createdPeriodPeriod
... issued Σ0..1instantDate/Time this version was made available
... operator Σ0..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)The person who generated the image
... reasonCode Σ0..*CodeableConceptWhy was event performed?
Procedure Reason Codes (Example)
... bodySite Σ0..1CodeableConceptObserved body part
SNOMED CT Body Structures (Example)
... 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
... note 0..*AnnotationComments made about the media

doco Documentation for this format

UML Diagram (Legend)

Media (DomainResource)Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiersidentifier : Identifier [0..*]A procedure that is fulfilled in whole or in part by the creation of this mediabasedOn : Reference [0..*] « ServiceRequest|CarePlan »A larger event of which this particular event is a component or steppartOf : Reference [0..*] « Any »The current state of the {{title}} (this element modifies the meaning of other elements)status : code [1..1] « Codes identifying the lifecycle stage of a event. (Strength=Required)EventStatus! »A code that classifies whether the media is an image, video or audio recording or some other media categorytype : CodeableConcept [0..1] « Codes for high level media categories. (Strength=Extensible)MediaType+ »Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modalitymodality : CodeableConcept [0..1] « Detailed information about the type of the image - its kind, purpose, or the kind of equipment used to generate it. (Strength=Example)MediaModality?? »The name of the imaging view e.g. Lateral or Antero-posterior (AP)view : CodeableConcept [0..1] « Imaging view (projection) used when collecting an image. (Strength=Example)MediaCollectionView/Projection?? »Who/What this Media is a record ofsubject : Reference [0..1] « Patient|Practitioner|Group|Device| Specimen|Location »The encounter or episode of care that establishes the context for this mediacontext : Reference [0..1] « Encounter|EpisodeOfCare »The date and time(s) at which the media was collectedcreated[x] : Type [0..1] « dateTime|Period »The date and time this version of the media was made available to providers, typically after having been reviewedissued : instant [0..1]The person who administered the collection of the imageoperator : Reference [0..1] « Practitioner|PractitionerRole| Organization|CareTeam|Patient|Device|RelatedPerson »Describes why the event occurred in coded or textual formreasonCode : CodeableConcept [0..*] « The reason for the media. (Strength=Example)ProcedureReasonCodes?? »Indicates the site on the subject's body where the observation was made (i.e. the target site)bodySite : CodeableConcept [0..1] « Codes describing anatomical locations. May include laterality. (Strength=Example)SNOMEDCTBodyStructures?? »The name of the device / manufacturer of the device that was used to make the recordingdeviceName : string [0..1]The device used to collect the mediadevice : Reference [0..1] « Device|DeviceMetric|Device »Height of the image in pixels (photo/video)height : positiveInt [0..1]Width of the image in pixels (photo/video)width : positiveInt [0..1]The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is requiredframes : positiveInt [0..1]The duration of the recording in seconds - for audio and videoduration : decimal [0..1]The actual content of the media - inline or by direct reference to the media source filecontent : Attachment [1..1]Comments made about the media by the performer, subject or other participantsnote : Annotation [0..*]

XML Template

<Media xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Identifier(s) for the image --></identifier>
 <basedOn><!-- 0..* Reference(ServiceRequest|CarePlan) Procedure that caused this media to be created --></basedOn>
 <partOf><!-- 0..* Reference(Any) Part of referenced event --></partOf>
 <status value="[code]"/><!-- 1..1 preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown -->
 <type><!-- 0..1 CodeableConcept Classification of media as image, video, or audio --></type>
 <modality><!-- 0..1 CodeableConcept The type of acquisition equipment/process --></modality>
 <view><!-- 0..1 CodeableConcept Imaging view, e.g. Lateral or Antero-posterior --></view>
 <subject><!-- 0..1 Reference(Patient|Practitioner|Group|Device|Specimen|Location) Who/What this Media is a record of --></subject>
 <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter / Episode associated with media --></context>
 <created[x]><!-- 0..1 dateTime|Period When Media was collected --></created[x]>
 <issued value="[instant]"/><!-- 0..1 Date/Time this version was made available -->
 <operator><!-- 0..1 Reference(Practitioner|PractitionerRole|Organization|
   CareTeam|Patient|Device|RelatedPerson) The person who generated the image --></operator>
 <reasonCode><!-- 0..* CodeableConcept Why was event performed? --></reasonCode>
 <bodySite><!-- 0..1 CodeableConcept Observed body part --></bodySite>
 <deviceName value="[string]"/><!-- 0..1 Name of the device/manufacturer -->
 <device><!-- 0..1 Reference(Device|DeviceMetric|Device) Observing Device --></device>
 <height value="[positiveInt]"/><!-- 0..1 Height of the image in pixels (photo/video) -->
 <width value="[positiveInt]"/><!-- 0..1 Width of the image in pixels (photo/video) -->
 <frames value="[positiveInt]"/><!-- 0..1 Number of frames if > 1 (photo) -->
 <duration value="[decimal]"/><!-- 0..1 Length in seconds (audio / video) -->
 <content><!-- 1..1 Attachment Actual Media - reference or data --></content>
 <note><!-- 0..* Annotation Comments made about the media --></note>
</Media>

JSON Template

{doco
  "resourceType" : "Media",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Identifier(s) for the image
  "basedOn" : [{ Reference(ServiceRequest|CarePlan) }], // Procedure that caused this media to be created
  "partOf" : [{ Reference(Any) }], // Part of referenced event
  "status" : "<code>", // R!  preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown
  "type" : { CodeableConcept }, // Classification of media as image, video, or audio
  "modality" : { CodeableConcept }, // The type of acquisition equipment/process
  "view" : { CodeableConcept }, // Imaging view, e.g. Lateral or Antero-posterior
  "subject" : { Reference(Patient|Practitioner|Group|Device|Specimen|Location) }, // Who/What this Media is a record of
  "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter / Episode associated with media
  // created[x]: When Media was collected. One of these 2:
  "createdDateTime" : "<dateTime>",
  "createdPeriod" : { Period },
  "issued" : "<instant>", // Date/Time this version was made available
  "operator" : { Reference(Practitioner|PractitionerRole|Organization|
   CareTeam|Patient|Device|RelatedPerson) }, // The person who generated the image
  "reasonCode" : [{ CodeableConcept }], // Why was event performed?
  "bodySite" : { CodeableConcept }, // Observed body part
  "deviceName" : "<string>", // Name of the device/manufacturer
  "device" : { Reference(Device|DeviceMetric|Device) }, // Observing Device
  "height" : "<positiveInt>", // Height of the image in pixels (photo/video)
  "width" : "<positiveInt>", // Width of the image in pixels (photo/video)
  "frames" : "<positiveInt>", // Number of frames if > 1 (photo)
  "duration" : <decimal>, // Length in seconds (audio / video)
  "content" : { Attachment }, // R!  Actual Media - reference or data
  "note" : [{ Annotation }] // Comments made about the media
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Media;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Media.identifier [ Identifier ], ... ; # 0..* Identifier(s) for the image
  fhir:Media.basedOn [ Reference(ServiceRequest|CarePlan) ], ... ; # 0..* Procedure that caused this media to be created
  fhir:Media.partOf [ Reference(Any) ], ... ; # 0..* Part of referenced event
  fhir:Media.status [ code ]; # 1..1 preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown
  fhir:Media.type [ CodeableConcept ]; # 0..1 Classification of media as image, video, or audio
  fhir:Media.modality [ CodeableConcept ]; # 0..1 The type of acquisition equipment/process
  fhir:Media.view [ CodeableConcept ]; # 0..1 Imaging view, e.g. Lateral or Antero-posterior
  fhir:Media.subject [ Reference(Patient|Practitioner|Group|Device|Specimen|Location) ]; # 0..1 Who/What this Media is a record of
  fhir:Media.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter / Episode associated with media
  # Media.created[x] : 0..1 When Media was collected. One of these 2
    fhir:Media.createdDateTime [ dateTime ]
    fhir:Media.createdPeriod [ Period ]
  fhir:Media.issued [ instant ]; # 0..1 Date/Time this version was made available
  fhir:Media.operator [ Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson) ]; # 0..1 The person who generated the image
  fhir:Media.reasonCode [ CodeableConcept ], ... ; # 0..* Why was event performed?
  fhir:Media.bodySite [ CodeableConcept ]; # 0..1 Observed body part
  fhir:Media.deviceName [ string ]; # 0..1 Name of the device/manufacturer
  fhir:Media.device [ Reference(Device|DeviceMetric|Device) ]; # 0..1 Observing Device
  fhir:Media.height [ positiveInt ]; # 0..1 Height of the image in pixels (photo/video)
  fhir:Media.width [ positiveInt ]; # 0..1 Width of the image in pixels (photo/video)
  fhir:Media.frames [ positiveInt ]; # 0..1 Number of frames if > 1 (photo)
  fhir:Media.duration [ decimal ]; # 0..1 Length in seconds (audio / video)
  fhir:Media.content [ Attachment ]; # 1..1 Actual Media - reference or data
  fhir:Media.note [ Annotation ], ... ; # 0..* Comments made about the media
]

Changes since Release 3

Media
Media.basedOn
  • Type changed from Reference(ProcedureRequest) to Reference(ServiceRequest|CarePlan)
Media.partOf
  • Added Element
Media.status
  • Added Element
Media.type
  • Min Cardinality changed from 1 to 0
  • Type changed from code to CodeableConcept
  • Change binding strength from required to extensible
  • Change value set from http://hl7.org/fhir/ValueSet/digital-media-type to http://hl7.org/fhir/ValueSet/media-type
Media.modality
  • Added Element
Media.subject
  • Type changed from Reference(Patient|Practitioner|Group|Device|Specimen) to Reference(Patient|Practitioner|Group|Device|Specimen|Location)
Media.created[x]
  • Added Element
Media.issued
  • Added Element
Media.operator
  • Type changed from Reference(Practitioner) to Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson)
Media.deviceName
  • Added Element
Media.device
  • Type changed from Reference(Device|DeviceMetric) to Reference(Device|DeviceMetric|Device)
Media.frames
  • Default Value "1" removed
Media.duration
  • Type changed from unsignedInt to decimal
Media.subtype
  • deleted
Media.occurrence[x]
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 4 tests of which 4 fail to execute.)

 

See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis

PathDefinitionTypeReference
Media.status Codes identifying the lifecycle stage of a event.RequiredEventStatus
Media.type Codes for high level media categories.ExtensibleMediaType
Media.modality Detailed information about the type of the image - its kind, purpose, or the kind of equipment used to generate it.ExampleMediaModality
Media.view Imaging view (projection) used when collecting an image.ExampleMediaCollectionView/Projection
Media.reasonCode The reason for the media.ExampleProcedureReasonCodes
Media.bodySite Codes describing anatomical locations. May include laterality.ExampleSNOMEDCTBodyStructures

The media resource contains several date/times:

  • Media.created[x] - The date(/time) of collection, or the period over which collection occurred
  • Media.duration - The duration of the media. The duration might differ from createdPeriod if recording was paused
  • Media.content.creation - This should be consistent with the Media.created[x] but might be different due to partial / edited recordings

This resource can embed the image information directly through the attachment.data element. However, good practice is generally to use the attachment.url element to point to a Binary resource. Servers will frequently be able to persist Binary resources in purpose-dedicated repositories more suitable to potentially large artifacts.

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
based-onreferenceProcedure that caused this media to be createdMedia.basedOn
(CarePlan, ServiceRequest)
contextreferenceEncounter / Episode associated with mediaMedia.context
(EpisodeOfCare, Encounter)
createddateWhen Media was collectedMedia.created
devicereferenceObserving DeviceMedia.device
(Device, DeviceMetric)
identifiertokenIdentifier(s) for the imageMedia.identifier
modalitytokenThe type of acquisition equipment/processMedia.modality
operatorreferenceThe person who generated the imageMedia.operator
(Practitioner, Organization, CareTeam, Device, Patient, PractitionerRole, RelatedPerson)
patientreferenceWho/What this Media is a record ofMedia.subject.where(resolve() is Patient)
(Patient)
sitetokenObserved body partMedia.bodySite
statustokenpreparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknownMedia.status
subjectreferenceWho/What this Media is a record ofMedia.subject
(Practitioner, Group, Specimen, Device, Patient, Location)
typetokenClassification of media as image, video, or audioMedia.type
viewtokenImaging view, e.g. Lateral or Antero-posteriorMedia.view