profile-DocumentReference-for-Media
type: StructureDefinition
node role: treeRoot
id:
  v: profile-DocumentReference-for-Media
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition profile-DocumentReference-for-Media Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> Media 0..* Media A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:version 0..1 string R5: An explicitly assigned identifer of a variation of the content in the DocumentReference (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.version #xD; extension:attester 0..* (Complex) R5: Attests to accuracy of the document (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester #xD; basedOn #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:basedOn 0..* ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/alternate-reference]] R5: basedOn URL: http://hl7.org/fhir/StructureDefinition/alternate-reference #xD; subject #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:subject 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/alternate-reference]] R5: Who/what is the subject of the document additional types URL: http://hl7.org/fhir/StructureDefinition/alternate-reference #xD; bodySite #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:bodySite 0..* Reference(Cross-version Profile for R5.BodyStructure for use in FHIR STU3(0.1.0) | BodySite) R5: Body part included additional types URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.bodySite #xD; content #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:profile 0..* (Complex) R5: Content profile rules for the document (new) URL: http://hl7.o…
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-wg
    l: structuredefinition-wg
  value: Code
    v: fhir
extension:
  extension:
    url:
      v: packageId
      l: packageId
    value: Id
      v: hl7.fhir.uv.xver-r5.r3
  extension:
    url:
      v: version
      l: version
    value: String
      v: 0.1.0
  url:
    v: http://hl7.org/fhir/StructureDefinition/package-source
    l: package-source
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm
    l: structuredefinition-fmm
  value: Integer
    v: 0
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r3
        l: hl7.fhir.uv.xver-r5.r3
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status
    l: structuredefinition-standards-status
  value: Code
    v: trial-use
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r3
        l: hl7.fhir.uv.xver-r5.r3
url:
  v: http://hl7.org/fhir/5.0/StructureDefinition/profile-DocumentReference-for-Media
  l: profile-DocumentReference-for-Media
version:
  v: 0.1.0
name:
  v: Profile_R5_DocumentReference_R3_Media
title:
  v: Cross-version Profile for R5.DocumentReference for use in FHIR STU3
status:
  v: active
experimental:
  v: false
date:
  v: 2026-03-17T16:05:12.9535125-05:00
publisher:
  v: FHIR Infrastructure
contact:
  name:
    v: FHIR Infrastructure
  telecom:
    system:
      v: url
    value:
      v: http://www.hl7.org/Special/committees/fiwg
description:
  v: This cross-version profile allows R5 DocumentReference content to be represented via FHIR STU3 Media resources.
jurisdiction:
  coding:
    system:
      v: http://unstats.un.org/unsd/methods/m49/m49.htm
      l: m49.htm
    code:
      v: 001
    display:
      v: World
fhir version:
  v: 3.0.2
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
mapping:
  identity:
    v: w5
  uri:
    v: http://hl7.org/fhir/w5
    l: w5
  name:
    v: W5 Mapping
mapping:
  identity:
    v: dicom
  uri:
    v: http://nema.org/dicom
    l: dicom
  name:
    v: DICOM Tag Mapping
mapping:
  identity:
    v: sct-concept
  uri:
    v: http://snomed.info/conceptdomain
    l: conceptdomain
  name:
    v: SNOMED CT Concept Domain Binding
mapping:
  identity:
    v: sct-attr
  uri:
    v: http://snomed.info/sct
    l: sct
  name:
    v: SNOMED CT Attribute Binding
mapping:
  identity:
    v: v2
  uri:
    v: http://hl7.org/v2
    l: v2
  name:
    v: HL7 v2 Mapping
kind:
  v: resource
abstract:
  v: false
type:
  v: Media
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Media
  l: Media
derivation:
  v: constraint
snapshot:
  element:
    id:
      v: Media
    path:
      v: Media
    short:
      v: A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference
    definition:
      v: A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Media
      min:
        v: 0
      max:
        v: *
    constraint:
      key:
        v: dom-2
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL NOT contain nested Resources
      expression:
        v: contained.contained.empty()
      xpath:
        v: not(parent::f:contained and f:contained)
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-1
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL NOT contain any narrative
      expression:
        v: contained.text.empty()
      xpath:
        v: not(parent::f:contained and f:text)
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource

key:
  v: dom-4
severity:
  v: error
human:
  v: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
expression:
  v: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
xpath:
  v: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
source:
  v: http://hl7.org/fhir/StructureDefinition/DomainResource
  l: DomainResource

key:
  v: dom-3
severity:
  v: error
human:
  v: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
expression:
  v: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
xpath:
  v: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))
source:
  v: http://hl7.org/fhir/StructureDefinition/DomainResource
  l: DomainResource

key:
  v: mda-1
severity:
  v: error
human:
  v: Height can only be used for a photo or video
expression:
  v: height.empty() or type != 'audio'
xpath:
  v: not(f:type/@value='audio') or not(f:height)
source:
  v: http://hl7.org/fhir/StructureDefinition/Media
  l: Media

key:
  v: mda-2
severity:
  v: error
human:
  v: Width can only be used for a photo or video
expression:
  v: width.empty() or type != 'audio'
xpath:
  v: not(f:type/@value='audio') or not(f:width)
source:
  v: http://hl7.org/fhir/StructureDefinition/Media
  l: Media

key:
  v: mda-3
severity:
  v: error
human:
  v: Frames can only be used for a photo
expression:
  v: frames.empty() or type = 'photo'
xpath:
  v: (f:type/@value='photo') or not(f:frames)
source:
  v: http://hl7.org/fhir/StructureDefinition/Media
  l: Media

key:
  v: mda-4
severity:
  v: error
human:
  v: Duration can only be used for an audio or a video
expression:
  v: duration.empty() or type != 'photo'
xpath:
  v: not(f:type/@value='photo') or not(f:duration)
source:
  v: http://hl7.org/fhir/StructureDefinition/Media
  l: Media

identity:
  v: rim
map:
  v: Entity. Role, or Act

identity:
  v: rim
map:
  v: Act[classCode="DGIMG", moodCode="EVN"]

identity:
  v: w5
map:
  v: infrastructure.structure

id:
  v: Media.id
path:
  v: Media.id
short:
  v: Logical id of this artifact
definition:
  v: The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
comment:
  v: The only time that a resource does not have an id is when it is being submitted to the server using a create operation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: id
    l: id
is summary:
  v: true

id:
  v: Media.meta
path:
  v: Media.meta
short:
  v: Metadata about the resource
definition:
  v: The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.meta
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Meta
    l: Meta
is summary:
  v: true

id:
  v: Media.implicitRules
path:
  v: Media.implicitRules
short:
  v: A set of rules under which this content was created
definition:
  v: A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
comment:
  v: Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.implicitRules
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
is modifier:
  v: true
is summary:
  v: true

id:
  v: Media.language
path:
  v: Media.language
short:
  v: Language of the resource content
definition:
  v: The base language in which the resource is written.
comment:
  v: Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.language
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet
      l: elementdefinition-maxValueSet
    value: Reference
      l: 3.0
      l: .2
      reference:
        v: http://hl7.org/fhir/ValueSet/all-languages|3.0.2
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: Language
  strength:
    v: extensible
  description:
    v: A human language.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/languages|3.0.2

id:
  v: Media.text
path:
  v: Media.text
short:
  v: Text summary of the resource, for human interpretation
definition:
  v: A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
comment:
  v: Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.
alias:
  v: narrative
alias:
  v: html
alias:
  v: xhtml
alias:
  v: display
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.text
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Narrative
    l: Narrative
condition:
  v: dom-1
mapping:
  identity:
    v: rim
  map:
    v: Act.text?

id:
  v: Media.contained
path:
  v: Media.contained
short:
  v: Contained, inline Resources
definition:
  v: These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
comment:
  v: This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.
alias:
  v: inline resources
alias:
  v: anonymous resources
alias:
  v: contained resources
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.contained
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Resource
    l: Resource
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Media.extension
path:
  v: Media.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Media.extension:version
path:
  v: Media.extension
slice name:
  v: version
short:
  v: R5: An explicitly assigned identifer of a variation of the content in the DocumentReference (new)
definition:
  v: R5: `DocumentReference.version` (new:string)
comment:
  v: Element `DocumentReference.version` has a context of DocumentReference based on following the parent source element upwards and mapping to `DocumentReference`. Element `DocumentReference.version` has a context of Media based on following the parent source element upwards and mapping to `Media`. Element `DocumentReference.version` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). While each resource, including the DocumentReference itself, has its own version identifier, this is a formal identifier for the logical version of the DocumentReference as a whole. It would remain constant if the resources were moved to a new server, and all got new individual resource versions, for example.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.version|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.version
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: Media.extension:attester
path:
  v: Media.extension
slice name:
  v: attester
short:
  v: R5: Attests to accuracy of the document (new)
definition:
  v: R5: `DocumentReference.attester` (new:BackboneElement)
comment:
  v: Element `DocumentReference.attester` has a context of DocumentReference based on following the parent source element upwards and mapping to `DocumentReference`. Element `DocumentReference.attester` has a context of Media based on following the parent source element upwards and mapping to `Media`. Element `DocumentReference.attester` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Only list each attester once.
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: Media.modifierExtension
path:
  v: Media.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Media.identifier
path:
  v: Media.identifier
short:
  v: Identifier(s) for the image
definition:
  v: 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 identifiers.
comment:
  v: The identifier label and use can be used to determine what kind of identifier it is.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Media.identifier
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .id
mapping:
  identity:
    v: dicom
  map:
    v: 0008,0018 | ~0008,0050 | 0020,000D | 0020,000E
mapping:
  identity:
    v: w5
  map:
    v: id

id:
  v: Media.basedOn
path:
  v: Media.basedOn
short:
  v: Procedure that caused this media to be created
definition:
  v: A procedure that is fulfilled in whole or in part by the creation of this media.
requirements:
  v: Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.
alias:
  v: fulfills
min:
  v: 0
max:
  v: *
base:
  path:
    v: Media.basedOn
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/ProcedureRequest
    l: ProcedureRequest
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode=FLFS].target

id:
  v: Media.basedOn.id
path:
  v: Media.basedOn.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Media.basedOn.extension
path:
  v: Media.basedOn.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Media.basedOn.extension:basedOn
path:
  v: Media.basedOn.extension
slice name:
  v: basedOn
short:
  v: R5: basedOn
definition:
  v: R5: `DocumentReference.basedOn`
comment:
  v: Element `DocumentReference.basedOn` is mapped to FHIR STU3 element `Media.basedOn` as `SourceIsBroaderThanTarget`. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `DocumentReference.basedOn` with unmapped reference targets: Appointment, AppointmentResponse, CarePlan, Claim, CommunicationRequest, Contract, CoverageEligibilityRequest, DeviceRequest, EnrollmentRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, RequestOrchestration, ServiceRequest, SupplyRequest, VisionPrescription.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/alternate-reference
    l: alternate-reference

id:
  v: Media.basedOn.reference
path:
  v: Media.basedOn.reference
short:
  v: Literal reference, Relative, internal or absolute URL
definition:
  v: A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
comment:
  v: Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.reference
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: ref-1
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Media.basedOn.identifier
path:
  v: Media.basedOn.identifier
short:
  v: Logical reference, when literal reference is not known
definition:
  v: An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
comment:
  v: When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.identifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .identifier

id:
  v: Media.basedOn.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Media.basedOn.display
short:
  v: Text alternative for the resource
definition:
  v: Plain text narrative that identifies the resource in addition to the resource reference.
comment:
  v: This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.display
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Media.type
path:
  v: Media.type
short:
  v: photo | video | audio
definition:
  v: Whether the media is a photo (still image), an audio recording, or a video recording.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Media.type
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: DigitalMediaType
  strength:
    v: required
  description:
    v: Whether the media is a photo, video, or audio
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/digital-media-type|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: .code
mapping:
  identity:
    v: w5
  map:
    v: class

id:
  v: Media.subtype
path:
  v: Media.subtype
short:
  v: The type of acquisition equipment/process
definition:
  v: 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 modality.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Media.subtype
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: DigitalMediaSubtype
  strength:
    v: example
  description:
    v: Detailed information about the type of the image - its kind, purpose, or the kind of equipment used to generate it
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/digital-media-subtype|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
mapping:
  identity:
    v: dicom
  map:
    v: 0008,0060 | 0008,1032
mapping:
  identity:
    v: w5
  map:
    v: class

id:
  v: Media.view
path:
  v: Media.view
short:
  v: Imaging view, e.g. Lateral or Antero-posterior
definition:
  v: The name of the imaging view e.g. Lateral or Antero-posterior (AP).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Media.view
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: MediaView
  strength:
    v: example
  description:
    v: Imaging view (projection) used when collecting an image
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/media-view|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: DiagnosticImage.subjectOrientationCode
mapping:
  identity:
    v: w5
  map:
    v: class

id:
  v: Media.subject
path:
  v: Media.subject
short:
  v: Who/What this Media is a record of
definition:
  v: Who/What this Media is a record of.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Media.subject
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Patient
    l: Patient
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Practitioner
    l: Practitioner
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Group
    l: Group
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Device
    l: Device
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Specimen
    l: Specimen
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode="SUBJ"]???
mapping:
  identity:
    v: dicom
  map:
    v: ~0010,0020
mapping:
  identity:
    v: w5
  map:
    v: who.focus

id:
  v: Media.subject.id
path:
  v: Media.subject.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Media.subject.extension
path:
  v: Media.subject.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Media.subject.extension:subject
path:
  v: Media.subject.extension
slice name:
  v: subject
short:
  v: R5: Who/what is the subject of the document additional types
definition:
  v: R5: `DocumentReference.subject` additional types from child elements (display, identifier, reference, type)
comment:
  v: Element `DocumentReference.subject` is mapped to FHIR STU3 element `DocumentReference.subject` as `SourceIsBroaderThanTarget`. Element `DocumentReference.subject` is mapped to FHIR STU3 element `Media.subject` as `SourceIsBroaderThanTarget`. The mappings for `DocumentReference.subject` do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `DocumentReference.subject` with unmapped reference targets: Resource.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/alternate-reference
    l: alternate-reference

id:
  v: Media.subject.reference
path:
  v: Media.subject.reference
short:
  v: Literal reference, Relative, internal or absolute URL
definition:
  v: A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
comment:
  v: Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.reference
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: ref-1
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Media.subject.identifier
path:
  v: Media.subject.identifier
short:
  v: Logical reference, when literal reference is not known
definition:
  v: An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
comment:
  v: When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.identifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .identifier

id:
  v: Media.subject.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Media.subject.display
short:
  v: Text alternative for the resource
definition:
  v: Plain text narrative that identifies the resource in addition to the resource reference.
comment:
  v: This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.display
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Media.context
path:
  v: Media.context
short:
  v: Encounter / Episode associated with media
definition:
  v: The encounter or episode of care that establishes the context for this media.
comment:
  v: This will typically be the encounter the media occurred within.
requirements:
  v: Links the media to the Encounter context.
alias:
  v: encounter
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Media.context
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Encounter
    l: Encounter
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/EpisodeOfCare
    l: EpisodeOfCare
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .inboundRelationship(typeCode=COMP].source[classCode<=PCPR, moodCode=EVN]
mapping:
  identity:
    v: w5
  map:
    v: context

id:
  v: Media.occurrence[x]
path:
  v: Media.occurrence[x]
short:
  v: When Media was collected
definition:
  v: The date and time(s) at which the media was collected.
alias:
  v: timing
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Media.occurrence[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
type:
  code:
    v: Period
    l: Period
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .effectiveTime
mapping:
  identity:
    v: w5
  map:
    v: when.done

id:
  v: Media.operator
path:
  v: Media.operator
short:
  v: The person who generated the image
definition:
  v: The person who administered the collection of the image.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Media.operator
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Practitioner
    l: Practitioner
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode="PERF"]???
mapping:
  identity:
    v: dicom
  map:
    v: 0008,1060?
mapping:
  identity:
    v: w5
  map:
    v: who.actor

id:
  v: Media.reasonCode
path:
  v: Media.reasonCode
short:
  v: Why was event performed?
definition:
  v: Describes why the event occurred in coded or textual form.
comment:
  v: Textual reasons can be caprued using reasonCode.text.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Media.reasonCode
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: MediaReason
  strength:
    v: example
  description:
    v: The reason for the media
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/procedure-reason|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: .reasonCode
mapping:
  identity:
    v: w5
  map:
    v: why

id:
  v: Media.bodySite
path:
  v: Media.bodySite
short:
  v: Body part in media
definition:
  v: Indicates the site on the subject's body where the media was collected (i.e. the target site).
comment:
  v: If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use The standard extension[ body-site-instance](http://hl7.org/fhir/STU3/extension-body-site-instance.html).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Media.bodySite
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: BodySite
  strength:
    v: example
  description:
    v: Codes describing anatomical locations. May include laterality.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/body-site|3.0.2
mapping:
  identity:
    v: sct-concept
  map:
    v: < 123037004 |Body structure|
mapping:
  identity:
    v: rim
  map:
    v: targetSiteCode
mapping:
  identity:
    v: sct-attr
  map:
    v: 718497002 |Inherent location|

id:
  v: Media.bodySite.id
path:
  v: Media.bodySite.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Media.bodySite.extension
path:
  v: Media.bodySite.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Media.bodySite.extension:bodySite
path:
  v: Media.bodySite.extension
slice name:
  v: bodySite
short:
  v: R5: Body part included additional types
definition:
  v: R5: `DocumentReference.bodySite` additional types (CodeableReference(http://hl7.org/fhir/StructureDefinition/BodyStructure)) additional types from child elements (reference)
comment:
  v: Element `DocumentReference.bodySite` is mapped to FHIR STU3 element `Media.bodySite` as `SourceIsBroaderThanTarget`. The mappings for `DocumentReference.bodySite` do not cover the following types: CodeableReference. The mappings for `DocumentReference.bodySite` do not cover the following types based on type expansion: reference.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.bodySite|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.bodySite

id:
  v: Media.bodySite.coding
path:
  v: Media.bodySite.coding
short:
  v: Code defined by a terminology system
definition:
  v: A reference to a code defined by a terminology system.
comment:
  v: Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.
requirements:
  v: Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.
min:
  v: 0
max:
  v: *
base:
  path:
    v: CodeableConcept.coding
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Coding
    l: Coding
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: C*E.1-8, C*E.10-22
mapping:
  identity:
    v: rim
  map:
    v: union(., ./translation)
mapping:
  identity:
    v: orim
  map:
    v: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding

id:
  v: Media.bodySite.text
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Media.bodySite.text
short:
  v: Plain text representation of the concept
definition:
  v: A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
comment:
  v: Very often the text is the same as a displayName of one of the codings.
requirements:
  v: The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CodeableConcept.text
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: C*E.9. But note many systems use C*E.2 for this
mapping:
  identity:
    v: rim
  map:
    v: ./originalText[mediaType/code="text/plain"]/data
mapping:
  identity:
    v: orim
  map:
    v: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText

id:
  v: Media.device
path:
  v: Media.device
short:
  v: Observing Device
definition:
  v: The device used to collect the media.
comment:
  v: An extension should be used if further typing of the device is needed. Scondary devices used to support collecting a media can be represented using either extension or through the Observation.related element.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Media.device
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Device
    l: Device
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/DeviceMetric
    l: DeviceMetric
is summary:
  v: true
mapping:
  identity:
    v: sct-concept
  map:
    v: < 49062001 |Device|
mapping:
  identity:
    v: rim
  map:
    v: participation[typeCode=DEV]
mapping:
  identity:
    v: sct-attr
  map:
    v: 424226004 |Using device|

id:
  v: Media.height
path:
  v: Media.height
short:
  v: Height of the image in pixels (photo/video)
definition:
  v: Height of the image in pixels (photo/video).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Media.height
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: positiveInt
    l: positiveInt
condition:
  v: mda-1
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode="COMP].target[classCode="OBS", moodCode="EVN",code="<CODE>"].value
mapping:
  identity:
    v: dicom
  map:
    v: 0028,0010

id:
  v: Media.width
path:
  v: Media.width
short:
  v: Width of the image in pixels (photo/video)
definition:
  v: Width of the image in pixels (photo/video).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Media.width
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: positiveInt
    l: positiveInt
condition:
  v: mda-2
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode="COMP].target[classCode="OBS", moodCode="EVN",code="<CODE>"].value
mapping:
  identity:
    v: dicom
  map:
    v: 0028,0011

id:
  v: Media.frames
path:
  v: Media.frames
short:
  v: Number of frames if > 1 (photo)
definition:
  v: 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 required.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Media.frames
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: positiveInt
    l: positiveInt
default value: PositiveInt
  v: 1
condition:
  v: mda-3
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode="COMP].target[classCode="OBS", moodCode="EVN",code="<CODE>"].value

id:
  v: Media.duration
path:
  v: Media.duration
short:
  v: Length in seconds (audio / video)
definition:
  v: The duration of the recording in seconds - for audio and video.
comment:
  v: The duration might differ from occurrencePeriod if recording was paused.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Media.duration
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: unsignedInt
    l: unsignedInt
condition:
  v: mda-4
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode="COMP].target[classCode="OBS", moodCode="EVN",code="<CODE>"].value
mapping:
  identity:
    v: dicom
  map:
    v: ~0028,0002

id:
  v: Media.content
path:
  v: Media.content
short:
  v: Actual Media - reference or data
definition:
  v: The actual content of the media - inline or by direct reference to the media source file.
comment:
  v: Recommended content types: image/jpeg, image/png, image/tiff, video/mpeg, audio/mp4, application/dicom. Application/dicom can contain the transfer syntax as a parameter. For an media that covers a period of time (video/sound), the content.creationTime is the end time. Creation time is used for tracking, organizing versions and searching.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Media.content
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: Attachment
    l: Attachment
mapping:
  identity:
    v: rim
  map:
    v: .text

id:
  v: Media.content.id
path:
  v: Media.content.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Media.content.extension
path:
  v: Media.content.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Media.content.extension:profile
path:
  v: Media.content.extension
slice name:
  v: profile
short:
  v: R5: Content profile rules for the document (new)
definition:
  v: R5: `DocumentReference.content.profile` (new:BackboneElement)
comment:
  v: Element `DocumentReference.content.profile` has a context of DocumentReference.content based on following the parent source element upwards and mapping to `DocumentReference`. Element `DocumentReference.content.profile` has a context of Media.content based on following the parent source element upwards and mapping to `Media`. Element `DocumentReference.content.profile` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Note that IHE often issues URNs for formatCode codes, not all documents can be identified by a URI. For FHIR content, .profile should indicate the structureDefinition profile canonical URI(s) that the content complies with.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.content.profile|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.content.profile

id:
  v: Media.content.contentType
path:
  v: Media.content.contentType
short:
  v: Mime type of the content, with charset etc.
definition:
  v: Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate.
requirements:
  v: Processors of the data need to be able to know how to interpret the data.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Attachment.contentType
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
example:
  label:
    v: General
  value: Code
    v: text/plain; charset=UTF-8, image/png
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: MimeType
  strength:
    v: required
  description:
    v: The mime type of an attachment. Any valid mime type is allowed.
  value set: Uri
    v: http://www.rfc-editor.org/bcp/bcp13.txt
    l: bcp13.txt
mapping:
  identity:
    v: v2
  map:
    v: ED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used
mapping:
  identity:
    v: rim
  map:
    v: ./mediaType, ./charset

id:
  v: Media.content.language
path:
  v: Media.content.language
short:
  v: Human language of the content (BCP-47)
definition:
  v: The human language of the content. The value can be any valid value according to BCP 47.
requirements:
  v: Users need to be able to choose between the languages in a set of attachments.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Attachment.language
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
example:
  label:
    v: General
  value: Code
    v: en-AU
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet
      l: elementdefinition-maxValueSet
    value: Reference
      l: 3.0
      l: .2
      reference:
        v: http://hl7.org/fhir/ValueSet/all-languages|3.0.2
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: Language
  strength:
    v: extensible
  description:
    v: A human language.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/languages|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: ./language

id:
  v: Media.content.data
path:
  v: Media.content.data
short:
  v: Data inline, base64ed
definition:
  v: The actual data of the attachment - a sequence of bytes. In XML, represented using base64.
comment:
  v: The base64-encoded data SHALL be expressed in the same character set as the base resource XML or JSON.
requirements:
  v: The data needs to able to be transmitted inline.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Attachment.data
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: base64Binary
    l: base64Binary
mapping:
  identity:
    v: v2
  map:
    v: ED.5
mapping:
  identity:
    v: rim
  map:
    v: ./data

id:
  v: Media.content.url
path:
  v: Media.content.url
short:
  v: Uri where the data can be found
definition:
  v: An alternative location where the data can be accessed.
comment:
  v: If both data and url are provided, the url SHALL point to the same content as the data contains. Urls may be relative references or may reference transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. Relative URLs are interpreted relative to the service url, like a resource reference, rather than relative to the resource itself. If a URL is provided, it SHALL resolve to actual data.
requirements:
  v: The data needs to be transmitted by reference.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Attachment.url
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
example:
  label:
    v: General
  value: Uri
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: RP.1+RP.2 - if they refer to a URL (see v2.6)
mapping:
  identity:
    v: rim
  map:
    v: ./reference/literal

id:
  v: Media.content.size
path:
  v: Media.content.size
short:
  v: Number of bytes of content (if url provided)
definition:
  v: The number of bytes of data that make up this attachment (before base64 encoding, if that is done).
comment:
  v: The number of bytes is redundant if the data is provided as a base64binary, but is useful if the data is provided as a url reference.
requirements:
  v: Representing the size allows applications to determine whether they should fetch the content automatically in advance, or refuse to fetch it at all.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Attachment.size
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: unsignedInt
    l: unsignedInt
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A (needs data type R3 proposal)

id:
  v: Media.content.hash
path:
  v: Media.content.hash
short:
  v: Hash of the data (sha-1, base64ed)
definition:
  v: The calculated hash of the data using SHA-1. Represented using base64.
comment:
  v: The hash is calculated on the data prior to base64 encoding, if the data is based64 encoded.
requirements:
  v: Included so that applications can verify that the contents of a location have not changed and so that a signature of the content can implicitly sign the content of an image without having to include the data in the instance or reference the url in the signature.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Attachment.hash
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: base64Binary
    l: base64Binary
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .integrityCheck[parent::ED/integrityCheckAlgorithm="SHA-1"]

id:
  v: Media.content.title
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Media.content.title
short:
  v: Label to display in place of the data
definition:
  v: A label or set of text to display in place of the data.
requirements:
  v: Applications need a label to display to a human user in place of the actual data if the data cannot be rendered or perceived by the viewer.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Attachment.title
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
example:
  label:
    v: General
  value: String
    v: Official Corporate Logo
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: ./title/data

id:
  v: Media.content.creation
path:
  v: Media.content.creation
short:
  v: Date attachment was first created
definition:
  v: The date that the attachment was first created.
requirements:
  v: This is often tracked as an integrity issue for use of the attachment.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Attachment.creation
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A (needs data type R3 proposal)

id:
  v: Media.note
path:
  v: Media.note
short:
  v: Comments made about the media
definition:
  v: Comments made about the media by the performer, subject or other participants.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Media.note
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Annotation
    l: Annotation
mapping:
  identity:
    v: v2
  map:
    v: NTE
mapping:
  identity:
    v: rim
  map:
    v: .inboundRelationship(typeCode=SUBJ].source[classCode=ANNGEN, moodCode=EVN].value[xsi:type=ST]

element:
  id:
    v: Media
  path:
    v: Media
element:
  id:
    v: Media.extension
  path:
    v: Media.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Media.extension:version
  path:
    v: Media.extension
  slice name:
    v: version
  short:
    v: R5: An explicitly assigned identifer of a variation of the content in the DocumentReference (new)
  definition:
    v: R5: `DocumentReference.version` (new:string)
  comment:
    v: Element `DocumentReference.version` has a context of DocumentReference based on following the parent source element upwards and mapping to `DocumentReference`. Element `DocumentReference.version` has a context of Media based on following the parent source element upwards and mapping to `Media`. Element `DocumentReference.version` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). While each resource, including the DocumentReference itself, has its own version identifier, this is a formal identifier for the logical version of the DocumentReference as a whole. It would remain constant if the resources were moved to a new server, and all got new individual resource versions, for example.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.version|0.1.0
      l: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.version
element:
  id:
    v: Media.extension:attester
  path:
    v: Media.extension
  slice name:
    v: attester
  short:
    v: R5: Attests to accuracy of the document (new)
  definition:
    v: R5: `DocumentReference.attester` (new:BackboneElement)
  comment:
    v: Element `DocumentReference.attester` has a context of DocumentReference based on following the parent source element upwards and mapping to `DocumentReference`. Element `DocumentReference.attester` has a context of Media based on following the parent source element upwards and mapping to `Media`. Element `DocumentReference.attester` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Only list each attester once.
  min:
    v: 0
  max:
    v: *
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester|0.1.0
      l: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester
element:
  id:
    v: Media.basedOn.extension
  path:
    v: Media.basedOn.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Media.basedOn.extension:basedOn
  path:
    v: Media.basedOn.extension
  slice name:
    v: basedOn
  short:
    v: R5: basedOn
  definition:
    v: R5: `DocumentReference.basedOn`
  comment:
    v: Element `DocumentReference.basedOn` is mapped to FHIR STU3 element `Media.basedOn` as `SourceIsBroaderThanTarget`. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `DocumentReference.basedOn` with unmapped reference targets: Appointment, AppointmentResponse, CarePlan, Claim, CommunicationRequest, Contract, CoverageEligibilityRequest, DeviceRequest, EnrollmentRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, RequestOrchestration, ServiceRequest, SupplyRequest, VisionPrescription.
  min:
    v: 0
  max:
    v: *
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/StructureDefinition/alternate-reference
      l: alternate-reference
element:
  id:
    v: Media.subject.extension
  path:
    v: Media.subject.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Media.subject.extension:subject
  path:
    v: Media.subject.extension
  slice name:
    v: subject
  short:
    v: R5: Who/what is the subject of the document additional types
  definition:
    v: R5: `DocumentReference.subject` additional types from child elements (display, identifier, reference, type)
  comment:
    v: Element `DocumentReference.subject` is mapped to FHIR STU3 element `DocumentReference.subject` as `SourceIsBroaderThanTarget`. Element `DocumentReference.subject` is mapped to FHIR STU3 element `Media.subject` as `SourceIsBroaderThanTarget`. The mappings for `DocumentReference.subject` do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `DocumentReference.subject` with unmapped reference targets: Resource.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/StructureDefinition/alternate-reference
      l: alternate-reference
element:
  id:
    v: Media.bodySite.extension
  path:
    v: Media.bodySite.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open

v: 0

v: *

id:
  v: Media.bodySite.extension:bodySite
path:
  v: Media.bodySite.extension
slice name:
  v: bodySite
short:
  v: R5: Body part included additional types
definition:
  v: R5: `DocumentReference.bodySite` additional types (CodeableReference(http://hl7.org/fhir/StructureDefinition/BodyStructure)) additional types from child elements (reference)
comment:
  v: Element `DocumentReference.bodySite` is mapped to FHIR STU3 element `Media.bodySite` as `SourceIsBroaderThanTarget`. The mappings for `DocumentReference.bodySite` do not cover the following types: CodeableReference. The mappings for `DocumentReference.bodySite` do not cover the following types based on type expansion: reference.
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.bodySite|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.bodySite

id:
  v: Media.content.extension
path:
  v: Media.content.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 0
max:
  v: *

id:
  v: Media.content.extension:profile
path:
  v: Media.content.extension
slice name:
  v: profile
short:
  v: R5: Content profile rules for the document (new)
definition:
  v: R5: `DocumentReference.content.profile` (new:BackboneElement)
comment:
  v: Element `DocumentReference.content.profile` has a context of DocumentReference.content based on following the parent source element upwards and mapping to `DocumentReference`. Element `DocumentReference.content.profile` has a context of Media.content based on following the parent source element upwards and mapping to `Media`. Element `DocumentReference.content.profile` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Note that IHE often issues URNs for formatCode codes, not all documents can be identified by a URI. For FHIR content, .profile should indicate the structureDefinition profile canonical URI(s) that the content complies with.
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.content.profile|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.content.profile