profile-Device
type: StructureDefinition
node role: treeRoot
id:
  v: profile-Device
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition profile-Device Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> Device 0..* Device Item used in healthcare #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:definition 0..1 (Complex) R5: The reference to the definition for the device (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.definition #xD; extension:availabilityStatus 0..1 CodeableConcept R5: lost | damaged | destroyed | available (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.availabilityStatus Binding: R5DeviceAvailabilityStatusForR3 (0.1.0) (extensible): The availability status reason of the device. #xD; extension:biologicalSourceEvent 0..1 Identifier R5: An identifier that supports traceability to the event during which material in this product from one or more biological entities was obtained or pooled (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.biologicalSourceEvent #xD; extension:serialNumber 0..1 string R5: Serial number assigned by the manufacturer (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.serialNumber #xD; extension:partNumber 0..1 string R5: The part number or catalog number of the device (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.partNumber #xD; extension:category 0..* CodeableConcept R5: Indicates a high-level grouping of the device (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.category Binding: R5DeviceCategoryForR3 (0.1.0) (example): Categories of medical devices. #xD; extension:conformsTo 0..* ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/device-conformsTo]] R5: Identifies the standards, specifications, or formal guidances for the capabilities supported by the device (new) URL: http://hl7.org/fhir/StructureDefinition/device-conformsTo #xD; extension:property 0..…
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-Device
  l: profile-Device
version:
  v: 0.1.0
name:
  v: Profile_R5_Device_R3
title:
  v: Cross-version Profile for R5.Device for use in FHIR STU3
status:
  v: active
experimental:
  v: false
date:
  v: 2026-03-17T16:05:12.9357832-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 Device content to be represented via FHIR STU3 Device 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: udi
  uri:
    v: http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htm
    l: default.htm
  name:
    v: UDI Mapping
kind:
  v: resource
abstract:
  v: false
type:
  v: Device
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Device
  l: Device
derivation:
  v: constraint
snapshot:
  element:
    id:
      v: Device
    path:
      v: Device
    short:
      v: Item used in healthcare
    definition:
      v: This resource identifies an instance or a type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device. Medical devices include durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health. Non-medical devices may include items such as a machine, cellphone, computer, application, etc.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Device
      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
    constraint:
      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
    constraint:
      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))]))

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

identity:
  v: rim
map:
  v: Device

identity:
  v: w5
map:
  v: administrative.device

id:
  v: Device.id
path:
  v: Device.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: Device.meta
path:
  v: Device.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: Device.implicitRules
path:
  v: Device.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: Device.language
path:
  v: Device.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: Device.text
path:
  v: Device.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: Device.contained
path:
  v: Device.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: Device.extension
path:
  v: Device.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: Device.extension:definition
path:
  v: Device.extension
slice name:
  v: definition
short:
  v: R5: The reference to the definition for the device (new)
definition:
  v: R5: `Device.definition` (new:CodeableReference(DeviceDefinition))
comment:
  v: Element `Device.definition` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.definition` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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-Device.definition|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.definition
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: Device.extension:availabilityStatus
path:
  v: Device.extension
slice name:
  v: availabilityStatus
short:
  v: R5: lost | damaged | destroyed | available (new)
definition:
  v: R5: `Device.availabilityStatus` (new:CodeableConcept)
comment:
  v: Element `Device.availabilityStatus` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.availabilityStatus` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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-Device.availabilityStatus|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.availabilityStatus
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: Device.extension:biologicalSourceEvent
path:
  v: Device.extension
slice name:
  v: biologicalSourceEvent
short:
  v: R5: An identifier that supports traceability to the event during which material in this product from one or more biological entities was obtained or pooled (new)
definition:
  v: R5: `Device.biologicalSourceEvent` (new:Identifier)
comment:
  v: Element `Device.biologicalSourceEvent` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.biologicalSourceEvent` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Necessary to support mandatory requirements for traceability from donor/source to recipient and vice versa, while also satisfying donor anonymity requirements. The element is defined consistently across BiologicallyDerivedProduct, NutritionProduct, and Device. The identifier references an event that links to a single biological entity such as a blood donor, or to multiple biological entities (e.g. when the product is an embryo or a pooled platelet product). A single biologicalSourceEvent identifier may appear on multiple products of many types derived from a single donation event or source extraction. As an example, a single donation event may provide 2 kidneys and a liver for organ transplantation, 2 corneas for eye surgery, heart valves and arterial tissue for cardiovascular surgery, multiple skin grafts, tendons, multiple shaped bone grafts and a large number of bone putty/paste products; and each of them may be assigned to the same biological source event identifier.
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-Device.biologicalSourceEvent|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.biologicalSourceEvent
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: Device.extension:serialNumber
path:
  v: Device.extension
slice name:
  v: serialNumber
short:
  v: R5: Serial number assigned by the manufacturer (new)
definition:
  v: R5: `Device.serialNumber` (new:string)
comment:
  v: Element `Device.serialNumber` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.serialNumber` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Alphanumeric Maximum 20. While a serial number is a type of identifier, in the context of devices for which a UDI is required, thus a serial number may be part of the production identifier, it is more informative to have the serial number as a dedicated attribute together with the other UDI production identifier. When the device is not subject to including the UDI (e.g., its presence and exchange is not mandated by local regulatory requirements or specific use case at hand), thus the concept of production identifiers is not relevant as a set, it remains helpful for consistency to still use Device.serialNumber rather than using Device.identifier with an appropriate type. Systems that do not realize an identifier is a serial number may place it in Device.identifier or if the identifier.system is known for the serial number, it may also be populated in the Device.identifier as a globally unique id_.
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-Device.serialNumber|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.serialNumber
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: Device.extension:partNumber
path:
  v: Device.extension
slice name:
  v: partNumber
short:
  v: R5: The part number or catalog number of the device (new)
definition:
  v: R5: `Device.partNumber` (new:string)
comment:
  v: Element `Device.partNumber` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.partNumber` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Alphanumeric Maximum 20.
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-Device.partNumber|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.partNumber
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: Device.extension:category
path:
  v: Device.extension
slice name:
  v: category
short:
  v: R5: Indicates a high-level grouping of the device (new)
definition:
  v: R5: `Device.category` (new:CodeableConcept)
comment:
  v: Element `Device.category` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.category` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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-Device.category|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.category
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: Device.extension:conformsTo
path:
  v: Device.extension
slice name:
  v: conformsTo
short:
  v: R5: Identifies the standards, specifications, or formal guidances for the capabilities supported by the device (new)
definition:
  v: R5: `Device.conformsTo` (new:BackboneElement)
comment:
  v: Element `Device.conformsTo` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.conformsTo` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element `Device.conformsTo`: `http://hl7.org/fhir/StructureDefinition/device-conformsTo`.
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/device-conformsTo
    l: device-conformsTo

id:
  v: Device.extension:property
path:
  v: Device.extension
slice name:
  v: property
short:
  v: R5: Inherent, essentially fixed, characteristics of the device. e.g., time properties, size, material, etc. (new)
definition:
  v: R5: `Device.property` (new:BackboneElement)
comment:
  v: Element `Device.property` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.property` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Dynamic or current properties, such as settings, of an individual device are described using a Device instance-specific [DeviceMetric] and recorded using [Observation]. Static characteristics of a device could also be documented in an associated [DeviceDefinition] instance. The Device instance's properties, and their values, could be, but need not be, the same as those described in an associated DeviceDefinition.
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-Device.property|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.property
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: Device.extension:mode
path:
  v: Device.extension
slice name:
  v: mode
short:
  v: R5: The designated condition for performing a task (new)
definition:
  v: R5: `Device.mode` (new:CodeableConcept)
comment:
  v: Element `Device.mode` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.mode` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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-Device.mode|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.mode
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: Device.extension:cycle
path:
  v: Device.extension
slice name:
  v: cycle
short:
  v: R5: The series of occurrences that repeats during the operation of the device (new)
definition:
  v: R5: `Device.cycle` (new:Count)
comment:
  v: Element `Device.cycle` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.cycle` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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-Device.cycle|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.cycle
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: Device.extension:duration
path:
  v: Device.extension
slice name:
  v: duration
short:
  v: R5: A measurement of time during the device's operation (e.g., days, hours, mins, etc.) (new)
definition:
  v: R5: `Device.duration` (new:Duration)
comment:
  v: Element `Device.duration` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.duration` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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-Device.duration|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.duration
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: Device.extension:endpoint
path:
  v: Device.extension
slice name:
  v: endpoint
short:
  v: R5: Technical endpoints providing access to electronic services provided by the device (new)
definition:
  v: R5: `Device.endpoint` (new:Reference(Endpoint))
comment:
  v: Element `Device.endpoint` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.endpoint` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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-Device.endpoint|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.endpoint
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: Device.extension:gateway
path:
  v: Device.extension
slice name:
  v: gateway
short:
  v: R5: Linked device acting as a communication/data collector, translator or controller (new)
definition:
  v: R5: `Device.gateway` (new:CodeableReference(Device))
comment:
  v: Element `Device.gateway` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.gateway` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). The Device.gateway may be used when the Device being referenced has a gateway and/or to capture one or more gateways associated with the device. If the Gateway is included in the Observation resource, the Observation.gatewayDevice should be used instead.
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-Device.gateway|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.gateway
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: Device.extension:parent
path:
  v: Device.extension
slice name:
  v: parent
short:
  v: R5: The higher level or encompassing device that this device is a logical part of (new)
definition:
  v: R5: `Device.parent` (new:Reference(Device))
comment:
  v: Element `Device.parent` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.parent` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). For example a vital signs monitor (parent) where three separate modules can be plugged into such as interchangeable blood pressure, oximeter, temperature modules. These modules are represented as devices with the .parent valued to the vital signs monitor when plugged in.
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-Device.parent|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.parent
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: Device.modifierExtension
path:
  v: Device.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: Device.identifier
path:
  v: Device.identifier
short:
  v: Instance identifier
definition:
  v: Unique instance identifiers assigned to a device by manufacturers other organizations or owners.
comment:
  v: The barcode string from a barcode present on a device label or package may identify the instance, include names given to the device in local usage, or may identify the type of device. If the identifier identifies the type of device, Device.type element should be used. For [UDI](http://hl7.org/fhir/STU3/device.html#5.11.3.2.2), this element corresponds to the variable portion of the UDI that identifies the serial number of a specific device. See [UDI mappings](http://hl7.org/fhir/STU3/device-mappings.html#udi) for a complete mapping of UDI parts to Device.
alias:
  v: Serial Number
min:
  v: 0
max:
  v: *
base:
  path:
    v: Device.identifier
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Identifier
    l: Identifier
mapping:
  identity:
    v: udi
  map:
    v: The serial number which is a component of the production identifier (PI), a conditional, variable portion of a UDI. The identifier.type code should be set to “SNO”(Serial Number) and the system left empty.
mapping:
  identity:
    v: rim
  map:
    v: .id
mapping:
  identity:
    v: w5
  map:
    v: id

id:
  v: Device.udi
path:
  v: Device.udi
short:
  v: Unique Device Identifier (UDI) Barcode string
definition:
  v: [Unique device identifier (UDI)](http://hl7.org/fhir/STU3/device.html#5.11.3.2.2) assigned to device label or package.
comment:
  v: UDI may identify an unique instance of a device, or it may only identify the type of the device. See [UDI mappings](http://hl7.org/fhir/STU3/device-mappings.html#udi) for a complete mapping of UDI parts to Device.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.udi
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement
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
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .id and .code
mapping:
  identity:
    v: w5
  map:
    v: id

id:
  v: Device.udi.id
path:
  v: Device.udi.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: Device.udi.extension
path:
  v: Device.udi.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 2
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Device.udi.extension:displayName
path:
  v: Device.udi.extension
slice name:
  v: displayName
short:
  v: R5: The name used to display by default when the device is referenced additional types
definition:
  v: R5: `Device.displayName` additional types (string) additional types from child elements (value)
comment:
  v: Element `Device.displayName` is mapped to FHIR STU3 element `Device.udi` as `RelatedTo`. The mappings for `Device.displayName` do not cover the following types: string. The mappings for `Device.displayName` do not cover the following types based on type expansion: value.
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/5.0/StructureDefinition/extension-Device.displayName|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.displayName
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: Device.udi.extension:value
path:
  v: Device.udi.extension
slice name:
  v: value
short:
  v: R5: The term that names the device additional types
definition:
  v: R5: `Device.name.value` additional types (string) additional types from child elements (value)
comment:
  v: Element `Device.name.value` is mapped to FHIR STU3 element `Device.udi` as `RelatedTo`. The mappings for `Device.name.value` do not cover the following types: string. The mappings for `Device.name.value` do not cover the following types based on type expansion: value.
min:
  v: 1
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/5.0/StructureDefinition/extension-Device.name.value|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.name.value
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: Device.udi.extension:type
path:
  v: Device.udi.extension
slice name:
  v: type
short:
  v: R5: registered-name | user-friendly-name | patient-reported-name (new)
definition:
  v: R5: `Device.name.type` (new:code)
comment:
  v: Element `Device.name.type` has a context of Device.udi based on following the parent source element upwards and mapping to `Device`. Element `Device.name.type` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 1
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/5.0/StructureDefinition/extension-Device.name.type|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.name.type
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: Device.udi.modifierExtension
path:
  v: Device.udi.modifierExtension
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: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true

id:
  v: Device.udi.modifierExtension:display
path:
  v: Device.udi.modifierExtension
slice name:
  v: display
short:
  v: R5: The preferred device name additional types
definition:
  v: R5: `Device.name.display` additional types (boolean) additional types from child elements (value)
comment:
  v: Element `Device.name.display` is mapped to FHIR STU3 element `Device.udi` as `RelatedTo`. The mappings for `Device.name.display` do not cover the following types: boolean. The mappings for `Device.name.display` do not cover the following types based on type expansion: value.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.name.display|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.name.display
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: true
is summary:
  v: true

id:
  v: Device.udi.deviceIdentifier
path:
  v: Device.udi.deviceIdentifier
short:
  v: Mandatory fixed portion of UDI
definition:
  v: The device identifier (DI) is a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a device.
alias:
  v: DI
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.udi.deviceIdentifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: udi
  map:
    v: The device identifier (DI), a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a device.
mapping:
  identity:
    v: rim
  map:
    v: Role.id.extension
mapping:
  identity:
    v: w5
  map:
    v: what

id:
  v: Device.udi.name
path:
  v: Device.udi.name
short:
  v: Device Name as appears on UDI label
definition:
  v: Name of device as used in labeling or catalog.
comment:
  v: Use the `Device.type` for a generic type or kind of device name. Note the [GUDID](http://www.fda.gov/medicaldevices/deviceregulationandguidance/uniquedeviceidentification/globaludidatabasegudid/default.htm) lists the name as the 'Brand Name'.
alias:
  v: Brand Name
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.udi.name
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: udi
  map:
    v: Propietary/Trade Name of the medical Device as used in the labeling or catalog
mapping:
  identity:
    v: rim
  map:
    v: .displayName
mapping:
  identity:
    v: w5
  map:
    v: what

id:
  v: Device.udi.jurisdiction
path:
  v: Device.udi.jurisdiction
short:
  v: Regional UDI authority
definition:
  v: The identity of the authoritative source for UDI generation within a jurisdiction. All UDIs are globally unique within a single namespace. with the appropriate repository uri as the system. For example, UDIs of devices managed in the U.S. by the FDA, the value is http://hl7.org/fhir/NamingSystem/fda-udi.
requirements:
  v: Allows a recipient of a UDI to know which database will contain the UDI-associated metadata.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.udi.jurisdiction
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
mapping:
  identity:
    v: rim
  map:
    v: Role.scoper

id:
  v: Device.udi.carrierHRF
path:
  v: Device.udi.carrierHRF
short:
  v: UDI Human Readable Barcode String
definition:
  v: The full UDI carrier as the human readable form (HRF) representation of the barcode string as printed on the packaging of the device.
comment:
  v: If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label.
alias:
  v: Human Readable Form
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.udi.carrierHRF
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: udi
  map:
    v: A unique device identifier (UDI) on a device label in plain text
mapping:
  identity:
    v: rim
  map:
    v: Role.id.extension

id:
  v: Device.udi.carrierAIDC
path:
  v: Device.udi.carrierAIDC
short:
  v: UDI Machine Readable Barcode String
definition:
  v: The full UDI carrier of the Automatic Identification and Data Capture (AIDC) technology representation of the barcode string as printed on the packaging of the device - E.g a barcode or RFID. Because of limitations on character sets in XML and the need to round-trip JSON data through XML, AIDC Formats *SHALL* be base64 encoded.
comment:
  v: The AIDC form of UDIs should be scanned or otherwise used for the identification of the device whenever possible to minimize errors in records resulting from manual transcriptions. If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label.
alias:
  v: Automatic Identification and Data Capture
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.udi.carrierAIDC
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: base64Binary
    l: base64Binary
is summary:
  v: true
mapping:
  identity:
    v: udi
  map:
    v: A unique device identifier (UDI) on a device label a form that uses automatic identification and data capture (AIDC) technology.
mapping:
  identity:
    v: rim
  map:
    v: Role.id.extension

id:
  v: Device.udi.issuer
path:
  v: Device.udi.issuer
short:
  v: UDI Issuing Organization
definition:
  v: Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include : 1) GS1: http://hl7.org/fhir/NamingSystem/gs1-di, 2) HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-dI, 3) ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di, 4) ICCBA for other devices: http://hl7.org/fhir/NamingSystem/iccbba-other-di.
alias:
  v: Barcode System
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.udi.issuer
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
mapping:
  identity:
    v: udi
  map:
    v: All UDIs are to be issued under a system operated by an Jurisdiction-accredited issuing agency. GS1 DIs: http://hl7.org/fhir/NamingSystem/gs1 HIBCC DIs: http://hl7.org/fhir/NamingSystem/hibcc ICCBBA DIs for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood ICCBA DIs for other devices: http://hl7.org/fhir/NamingSystem/iccbba-other
mapping:
  identity:
    v: rim
  map:
    v: Role.id.root

id:
  v: Device.udi.entryType
path:
  v: Device.udi.entryType
short:
  v: barcode | rfid | manual +
definition:
  v: A coded entry to indicate how the data was entered.
requirements:
  v: Supports a way to distinguish hand entered from machine read data.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.udi.entryType
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: UDIEntryType
  strength:
    v: required
  description:
    v: Codes to identify how UDI data was entered
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/udi-entry-type|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: NA

id:
  v: Device.udi.entryType.id
path:
  v: Device.udi.entryType.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)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: Device.udi.entryType.extension
path:
  v: Device.udi.entryType.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: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Device.udi.entryType.extension:entryType
path:
  v: Device.udi.entryType.extension
slice name:
  v: entryType
short:
  v: R5: barcode | rfid | manual | card | self-reported | electronic-transmission | unknown additional codes
definition:
  v: R5: `Device.udiCarrier.entryType` additional codes
comment:
  v: Element `Device.udiCarrier.entryType` is mapped to FHIR STU3 element `Device.udi.entryType` as `RelatedTo`. The mappings for `Device.udiCarrier.entryType` do not allow expression of the necessary codes, per the bindings on the source and target.
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/5.0/StructureDefinition/extension-Device.udiCarrier.entryType|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.udiCarrier.entryType
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: Device.udi.entryType.value
path:
  v: Device.udi.entryType.value
representation:
  v: xmlAttr
short:
  v: Primitive value for code
definition:
  v: Primitive value for code
min:
  v: 0
max:
  v: 1
base:
  path:
    v: string.value
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-regex
      l: structuredefinition-regex
    value: String
      v: [^\s]+([\s]?[^\s]+)*
  code:
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type
        l: structuredefinition-json-type
      value: String
        v: string
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-type
        l: structuredefinition-xml-type
      value: String
        v: xsd:token
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-rdf-type
        l: structuredefinition-rdf-type
      value: String
        v: xsd:token

id:
  v: Device.status
path:
  v: Device.status
short:
  v: active | inactive | entered-in-error | unknown
definition:
  v: Status of the Device availability.
comment:
  v: This element is labeled as a modifier because the status contains the codes inactive and entered-in-error that mark the device (record)as not currently valid.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.status
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
is modifier:
  v: true
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: FHIRDeviceStatus
  strength:
    v: required
  description:
    v: The availability status of the device.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/device-status|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: .statusCode
mapping:
  identity:
    v: w5
  map:
    v: status

id:
  v: Device.type
path:
  v: Device.type
short:
  v: What kind of device this is
definition:
  v: Code or identifier to identify a kind of device.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.type
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: DeviceKind
  strength:
    v: example
  description:
    v: Codes to identify medical devices
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/device-kind|3.0.2
mapping:
  identity:
    v: udi
  map:
    v: Type description using GMDN or other code system
mapping:
  identity:
    v: rim
  map:
    v: .code
mapping:
  identity:
    v: w5
  map:
    v: what

id:
  v: Device.lotNumber
path:
  v: Device.lotNumber
short:
  v: Lot number of manufacture
definition:
  v: Lot number assigned by the manufacturer.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.lotNumber
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: udi
  map:
    v: The lot or batch number within which a device was manufactured - which is a component of the production identifier (PI), a conditional, variable portion of a UDI.
mapping:
  identity:
    v: rim
  map:
    v: .lotNumberText
mapping:
  identity:
    v: w5
  map:
    v: what

id:
  v: Device.manufacturer
path:
  v: Device.manufacturer
short:
  v: Name of device manufacturer
definition:
  v: A name of the manufacturer.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.manufacturer
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: udi
  map:
    v: N/A
mapping:
  identity:
    v: rim
  map:
    v: .playedRole[typeCode=MANU].scoper.name
mapping:
  identity:
    v: w5
  map:
    v: what

id:
  v: Device.manufactureDate
path:
  v: Device.manufactureDate
short:
  v: Date when the device was made
definition:
  v: The date and time when the device was manufactured.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.manufactureDate
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
mapping:
  identity:
    v: udi
  map:
    v: The date a specific device was manufactured - which is a component of the production identifier (PI), a conditional, variable portion of a UDI. For FHIR, The datetime syntax must converted to YYYY-MM-DD[THH:MM:SS]. If hour is present, the minutes and seconds should both be set to “00”.
mapping:
  identity:
    v: rim
  map:
    v: .existenceTime.low
mapping:
  identity:
    v: w5
  map:
    v: what

id:
  v: Device.expirationDate
path:
  v: Device.expirationDate
short:
  v: Date and time of expiry of this device (if applicable)
definition:
  v: The date and time beyond which this device is no longer valid or should not be used (if applicable).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.expirationDate
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
mapping:
  identity:
    v: udi
  map:
    v: the expiration date of a specific device - which is a component of the production identifier (PI), a conditional, variable portion of a UDI. For FHIR, The datetime syntax must converted to YYYY-MM-DD[THH:MM:SS]. If hour is present, the minutes and seconds should both be set to “00”.
mapping:
  identity:
    v: rim
  map:
    v: .expirationTime
mapping:
  identity:
    v: w5
  map:
    v: what

id:
  v: Device.model
path:
  v: Device.model
short:
  v: Model id assigned by the manufacturer
definition:
  v: The "model" is an identifier assigned by the manufacturer to identify the product by its type. This number is shared by the all devices sold as the same type.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.model
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: .playedRole[typeCode=MANU].code
mapping:
  identity:
    v: w5
  map:
    v: what

id:
  v: Device.version
path:
  v: Device.version
short:
  v: Version number (i.e. software)
definition:
  v: The version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmware.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.version
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: .softwareName (included as part)
mapping:
  identity:
    v: w5
  map:
    v: what

id:
  v: Device.version.id
path:
  v: Device.version.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)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

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

id:
  v: Device.version.extension:type
path:
  v: Device.version.extension
slice name:
  v: type
short:
  v: R5: The type of the device version, e.g. manufacturer, approved, internal (new)
definition:
  v: R5: `Device.version.type` (new:CodeableConcept)
comment:
  v: Element `Device.version.type` has a context of Device.version based on following the parent source element upwards and mapping to `Device`. Element `Device.version.type` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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/5.0/StructureDefinition/extension-Device.version.type|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.version.type
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: Device.version.extension:component
path:
  v: Device.version.extension
slice name:
  v: component
short:
  v: R5: The hardware or software module of the device to which the version applies (new)
definition:
  v: R5: `Device.version.component` (new:Identifier)
comment:
  v: Element `Device.version.component` has a context of Device.version based on following the parent source element upwards and mapping to `Device`. Element `Device.version.component` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Note that the module of the device would not need to be tracked as a separate device, e.g., using different UDI, thus would typically involve one or more software modules. For example, a device may involve two software modules each on a different version.
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/5.0/StructureDefinition/extension-Device.version.component|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.version.component
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: Device.version.extension:installDate
path:
  v: Device.version.extension
slice name:
  v: installDate
short:
  v: R5: The date the version was installed on the device (new)
definition:
  v: R5: `Device.version.installDate` (new:dateTime)
comment:
  v: Element `Device.version.installDate` has a context of Device.version based on following the parent source element upwards and mapping to `Device`. Element `Device.version.installDate` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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/5.0/StructureDefinition/extension-Device.version.installDate|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.version.installDate
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: Device.version.extension:value
path:
  v: Device.version.extension
slice name:
  v: value
short:
  v: R5: The version text (new)
definition:
  v: R5: `Device.version.value` (new:string)
comment:
  v: Element `Device.version.value` has a context of Device.version based on following the parent source element upwards and mapping to `Device`. Element `Device.version.value` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 1
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/5.0/StructureDefinition/extension-Device.version.value|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.version.value
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: Device.version.value
path:
  v: Device.version.value
representation:
  v: xmlAttr
short:
  v: Primitive value for string
definition:
  v: The actual value
min:
  v: 0
max:
  v: 1
base:
  path:
    v: string.value
  min:
    v: 0
  max:
    v: 1
type:
  code:
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type
        l: structuredefinition-json-type
      value: String
        v: string
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-type
        l: structuredefinition-xml-type
      value: String
        v: xsd:string
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-rdf-type
        l: structuredefinition-rdf-type
      value: String
        v: xsd:string
max length:
  v: 1048576

id:
  v: Device.patient
path:
  v: Device.patient
short:
  v: Patient to whom Device is affixed
definition:
  v: Patient information, If the device is affixed to a person.
requirements:
  v: If the device is implanted in a patient, then need to associate the device to the patient.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.patient
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Patient
    l: Patient
mapping:
  identity:
    v: rim
  map:
    v: .playedRole[typeCode=USED].scoper.playedRole[typeCode=PAT]
mapping:
  identity:
    v: w5
  map:
    v: who.focus

id:
  v: Device.owner
path:
  v: Device.owner
short:
  v: Organization responsible for device
definition:
  v: An organization that is responsible for the provision and ongoing maintenance of the device.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.owner
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Organization
    l: Organization
mapping:
  identity:
    v: rim
  map:
    v: .playedRole[typeCode=OWN].scoper
mapping:
  identity:
    v: w5
  map:
    v: who.source

id:
  v: Device.owner.id
path:
  v: Device.owner.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: Device.owner.extension
path:
  v: Device.owner.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: Device.owner.extension:owner
path:
  v: Device.owner.extension
slice name:
  v: owner
short:
  v: R5: owner additional types
definition:
  v: R5: `Device.owner` additional types from child elements (display, identifier, reference, type)
comment:
  v: Element `Device.owner` is mapped to FHIR STU3 element `Device.owner` as `SourceIsBroaderThanTarget`. The mappings for `Device.owner` 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 `Device.owner` with unmapped reference targets: Organization.
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: Device.owner.reference
path:
  v: Device.owner.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: Device.owner.identifier
path:
  v: Device.owner.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: Device.owner.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Device.owner.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: Device.contact
path:
  v: Device.contact
short:
  v: Details for human/organization for support
definition:
  v: Contact details for an organization or a particular human that is responsible for the device.
comment:
  v: used for troubleshooting etc.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Device.contact
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: ContactPoint
    l: ContactPoint
mapping:
  identity:
    v: rim
  map:
    v: .scopedRole[typeCode=CON].player
mapping:
  identity:
    v: w5
  map:
    v: who.source

id:
  v: Device.location
path:
  v: Device.location
short:
  v: Where the resource is found
definition:
  v: The place where the device can be found.
requirements:
  v: Device.location can be used to track device location.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.location
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Location
    l: Location
mapping:
  identity:
    v: rim
  map:
    v: .playedRole[typeCode=LOCE].scoper
mapping:
  identity:
    v: w5
  map:
    v: where

id:
  v: Device.location.id
path:
  v: Device.location.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: Device.location.extension
path:
  v: Device.location.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: Device.location.extension:location
path:
  v: Device.location.extension
slice name:
  v: location
short:
  v: R5: Where the device is found additional types
definition:
  v: R5: `Device.location` additional types from child elements (display, identifier, reference, type)
comment:
  v: Element `Device.location` is mapped to FHIR STU3 element `Device.location` as `SourceIsBroaderThanTarget`. The mappings for `Device.location` 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 `Device.location` with unmapped reference targets: Location.
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: Device.location.reference
path:
  v: Device.location.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: Device.location.identifier
path:
  v: Device.location.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: Device.location.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Device.location.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: Device.url
path:
  v: Device.url
short:
  v: Network address to contact device
definition:
  v: A network address on which the device may be contacted directly.
comment:
  v: If the device is running a FHIR server, the network address should be the Base URL from which a conformance statement may be retrieved.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Device.url
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
mapping:
  identity:
    v: rim
  map:
    v: .telecom
mapping:
  identity:
    v: w5
  map:
    v: where

id:
  v: Device.note
path:
  v: Device.note
short:
  v: Device notes and comments
definition:
  v: Descriptive information, usage information or implantation information that is not captured in an existing element.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Device.note
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Annotation
    l: Annotation
mapping:
  identity:
    v: rim
  map:
    v: .text

id:
  v: Device.safety
path:
  v: Device.safety
short:
  v: Safety Characteristics of Device
definition:
  v: Provides additional safety characteristics about a medical device. For example devices containing latex.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Device.safety
  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: DeviceSafety
  strength:
    v: example
  description:
    v: Codes used to identify medical devices safety characterics. These codes are derived in part from the [United States Food and Drug Administration recommendations](http://www.fda.gov/downloads/medicaldevices/deviceregulationandguidance/guidancedocuments/ucm107708.pdf) and are provided here as a suggestive example.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/device-safety|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: NA

element:
  id:
    v: Device
  path:
    v: Device
element:
  id:
    v: Device.extension
  path:
    v: Device.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Device.extension:definition
  path:
    v: Device.extension
  slice name:
    v: definition
  short:
    v: R5: The reference to the definition for the device (new)
  definition:
    v: R5: `Device.definition` (new:CodeableReference(DeviceDefinition))
  comment:
    v: Element `Device.definition` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.definition` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
  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-Device.definition|0.1.0
      l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.definition
element:
  id:
    v: Device.extension:availabilityStatus
  path:
    v: Device.extension
  slice name:
    v: availabilityStatus
  short:
    v: R5: lost | damaged | destroyed | available (new)
  definition:
    v: R5: `Device.availabilityStatus` (new:CodeableConcept)
  comment:
    v: Element `Device.availabilityStatus` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.availabilityStatus` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
  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-Device.availabilityStatus|0.1.0
      l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.availabilityStatus
element:
  id:
    v: Device.extension:biologicalSourceEvent
  path:
    v: Device.extension
  slice name:
    v: biologicalSourceEvent
  short:
    v: R5: An identifier that supports traceability to the event during which material in this product from one or more biological entities was obtained or pooled (new)
  definition:
    v: R5: `Device.biologicalSourceEvent` (new:Identifier)
  comment:
    v: Element `Device.biologicalSourceEvent` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.biologicalSourceEvent` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Necessary to support mandatory requirements for traceability from donor/source to recipient and vice versa, while also satisfying donor anonymity requirements. The element is defined consistently across BiologicallyDerivedProduct, NutritionProduct, and Device. The identifier references an event that links to a single biological entity such as a blood donor, or to multiple biological entities (e.g. when the product is an embryo or a pooled platelet product). A single biologicalSourceEvent identifier may appear on multiple products of many types derived from a single donation event or source extraction. As an example, a single donation event may provide 2 kidneys and a liver for organ transplantation, 2 corneas for eye surgery, heart valves and arterial tissue for cardiovascular surgery, multiple skin grafts, tendons, multiple shaped bone grafts and a large number of bone putty/paste products; and each of them may be assigned to the same biological source event identifier.
  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-Device.biologicalSourceEvent|0.1.0
      l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.biologicalSourceEvent
element:
  id:
    v: Device.extension:serialNumber
  path:
    v: Device.extension
  slice name:
    v: serialNumber
  short:
    v: R5: Serial number assigned by the manufacturer (new)
  definition:
    v: R5: `Device.serialNumber` (new:string)
  comment:
    v: Element `Device.serialNumber` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.serialNumber` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Alphanumeric Maximum 20. While a serial number is a type of identifier, in the context of devices for which a UDI is required, thus a serial number may be part of the production identifier, it is more informative to have the serial number as a dedicated attribute together with the other UDI production identifier. When the device is not subject to including the UDI (e.g., its presence and exchange is not mandated by local regulatory requirements or specific use case at hand), thus the concept of production identifiers is not relevant as a set, it remains helpful for consistency to still use Device.serialNumber rather than using Device.identifier with an appropriate type. Systems that do not realize an identifier is a serial number may place it in Device.identifier or if the identifier.system is known for the serial number, it may also be populated in the Device.identifier as a globally unique id_.
  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-Device.serialNumber|0.1.0
      l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.serialNumber
element:
  id:
    v: Device.extension:partNumber
  path:
    v: Device.extension
  slice name:
    v: partNumber
  short:
    v: R5: The part number or catalog number of the device (new)
  definition:
    v: R5: `Device.partNumber` (new:string)
  comment:
    v: Element `Device.partNumber` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.partNumber` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Alphanumeric Maximum 20.
  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-Device.partNumber|0.1.0
      l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.partNumber
element:
  id:
    v: Device.extension:category
  path:
    v: Device.extension
  slice name:
    v: category
  short:
    v: R5: Indicates a high-level grouping of the device (new)
  definition:
    v: R5: `Device.category` (new:CodeableConcept)
  comment:
    v: Element `Device.category` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.category` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
  min:
    v: 0
  max:
    v: *
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *

code:
  v: Extension
  l: Extension
profile:
  v: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.category|0.1.0
  l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.category

id:
  v: Device.extension:conformsTo
path:
  v: Device.extension
slice name:
  v: conformsTo
short:
  v: R5: Identifies the standards, specifications, or formal guidances for the capabilities supported by the device (new)
definition:
  v: R5: `Device.conformsTo` (new:BackboneElement)
comment:
  v: Element `Device.conformsTo` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.conformsTo` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element `Device.conformsTo`: `http://hl7.org/fhir/StructureDefinition/device-conformsTo`.
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/device-conformsTo
    l: device-conformsTo

id:
  v: Device.extension:property
path:
  v: Device.extension
slice name:
  v: property
short:
  v: R5: Inherent, essentially fixed, characteristics of the device. e.g., time properties, size, material, etc. (new)
definition:
  v: R5: `Device.property` (new:BackboneElement)
comment:
  v: Element `Device.property` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.property` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Dynamic or current properties, such as settings, of an individual device are described using a Device instance-specific [DeviceMetric] and recorded using [Observation]. Static characteristics of a device could also be documented in an associated [DeviceDefinition] instance. The Device instance's properties, and their values, could be, but need not be, the same as those described in an associated DeviceDefinition.
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-Device.property|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.property

id:
  v: Device.extension:mode
path:
  v: Device.extension
slice name:
  v: mode
short:
  v: R5: The designated condition for performing a task (new)
definition:
  v: R5: `Device.mode` (new:CodeableConcept)
comment:
  v: Element `Device.mode` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.mode` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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-Device.mode|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.mode

id:
  v: Device.extension:cycle
path:
  v: Device.extension
slice name:
  v: cycle
short:
  v: R5: The series of occurrences that repeats during the operation of the device (new)
definition:
  v: R5: `Device.cycle` (new:Count)
comment:
  v: Element `Device.cycle` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.cycle` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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-Device.cycle|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.cycle

id:
  v: Device.extension:duration
path:
  v: Device.extension
slice name:
  v: duration
short:
  v: R5: A measurement of time during the device's operation (e.g., days, hours, mins, etc.) (new)
definition:
  v: R5: `Device.duration` (new:Duration)
comment:
  v: Element `Device.duration` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.duration` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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-Device.duration|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.duration

id:
  v: Device.extension:endpoint
path:
  v: Device.extension
slice name:
  v: endpoint
short:
  v: R5: Technical endpoints providing access to electronic services provided by the device (new)
definition:
  v: R5: `Device.endpoint` (new:Reference(Endpoint))
comment:
  v: Element `Device.endpoint` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.endpoint` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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-Device.endpoint|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.endpoint

id:
  v: Device.extension:gateway
path:
  v: Device.extension
slice name:
  v: gateway
short:
  v: R5: Linked device acting as a communication/data collector, translator or controller (new)
definition:
  v: R5: `Device.gateway` (new:CodeableReference(Device))
comment:
  v: Element `Device.gateway` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.gateway` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). The Device.gateway may be used when the Device being referenced has a gateway and/or to capture one or more gateways associated with the device. If the Gateway is included in the Observation resource, the Observation.gatewayDevice should be used instead.
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-Device.gateway|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.gateway

id:
  v: Device.extension:parent
path:
  v: Device.extension
slice name:
  v: parent
short:
  v: R5: The higher level or encompassing device that this device is a logical part of (new)
definition:
  v: R5: `Device.parent` (new:Reference(Device))
comment:
  v: Element `Device.parent` has a context of Device based on following the parent source element upwards and mapping to `Device`. Element `Device.parent` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). For example a vital signs monitor (parent) where three separate modules can be plugged into such as interchangeable blood pressure, oximeter, temperature modules. These modules are represented as devices with the .parent valued to the vital signs monitor when plugged in.
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-Device.parent|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.parent

id:
  v: Device.udi.extension
path:
  v: Device.udi.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 2
max:
  v: *

id:
  v: Device.udi.extension:displayName
path:
  v: Device.udi.extension
slice name:
  v: displayName
short:
  v: R5: The name used to display by default when the device is referenced additional types
definition:
  v: R5: `Device.displayName` additional types (string) additional types from child elements (value)
comment:
  v: Element `Device.displayName` is mapped to FHIR STU3 element `Device.udi` as `RelatedTo`. The mappings for `Device.displayName` do not cover the following types: string. The mappings for `Device.displayName` do not cover the following types based on type expansion: value.
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-Device.displayName|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.displayName

id:
  v: Device.udi.extension:value
path:
  v: Device.udi.extension
slice name:
  v: value
short:
  v: R5: The term that names the device additional types
definition:
  v: R5: `Device.name.value` additional types (string) additional types from child elements (value)
comment:
  v: Element `Device.name.value` is mapped to FHIR STU3 element `Device.udi` as `RelatedTo`. The mappings for `Device.name.value` do not cover the following types: string. The mappings for `Device.name.value` do not cover the following types based on type expansion: value.
min:
  v: 1
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-Device.name.value|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.name.value

id:
  v: Device.udi.extension:type
path:
  v: Device.udi.extension
slice name:
  v: type
short:
  v: R5: registered-name | user-friendly-name | patient-reported-name (new)
definition:
  v: R5: `Device.name.type` (new:code)
comment:
  v: Element `Device.name.type` has a context of Device.udi based on following the parent source element upwards and mapping to `Device`. Element `Device.name.type` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 1
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-Device.name.type|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.name.type

id:
  v: Device.udi.modifierExtension
path:
  v: Device.udi.modifierExtension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 0
max:
  v: *

id:
  v: Device.udi.modifierExtension:display
path:
  v: Device.udi.modifierExtension
slice name:
  v: display
short:
  v: R5: The preferred device name additional types
definition:
  v: R5: `Device.name.display` additional types (boolean) additional types from child elements (value)
comment:
  v: Element `Device.name.display` is mapped to FHIR STU3 element `Device.udi` as `RelatedTo`. The mappings for `Device.name.display` do not cover the following types: boolean. The mappings for `Device.name.display` do not cover the following types based on type expansion: value.
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-Device.name.display|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.name.display

id:
  v: Device.udi.entryType.extension
path:
  v: Device.udi.entryType.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 0
max:
  v: *

id:
  v: Device.udi.entryType.extension:entryType
path:
  v: Device.udi.entryType.extension
slice name:
  v: entryType
short:
  v: R5: barcode | rfid | manual | card | self-reported | electronic-transmission | unknown additional codes
definition:
  v: R5: `Device.udiCarrier.entryType` additional codes
comment:
  v: Element `Device.udiCarrier.entryType` is mapped to FHIR STU3 element `Device.udi.entryType` as `RelatedTo`. The mappings for `Device.udiCarrier.entryType` do not allow expression of the necessary codes, per the bindings on the source and target.
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-Device.udiCarrier.entryType|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.udiCarrier.entryType

id:
  v: Device.version.extension
path:
  v: Device.version.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 1
max:
  v: *

id:
  v: Device.version.extension:type
path:
  v: Device.version.extension
slice name:
  v: type
short:
  v: R5: The type of the device version, e.g. manufacturer, approved, internal (new)
definition:
  v: R5: `Device.version.type` (new:CodeableConcept)
comment:
  v: Element `Device.version.type` has a context of Device.version based on following the parent source element upwards and mapping to `Device`. Element `Device.version.type` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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-Device.version.type|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.version.type

id:
  v: Device.version.extension:component
path:
  v: Device.version.extension
slice name:
  v: component
short:
  v: R5: The hardware or software module of the device to which the version applies (new)
definition:
  v: R5: `Device.version.component` (new:Identifier)
comment:
  v: Element `Device.version.component` has a context of Device.version based on following the parent source element upwards and mapping to `Device`. Element `Device.version.component` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). Note that the module of the device would not need to be tracked as a separate device, e.g., using different UDI, thus would typically involve one or more software modules. For example, a device may involve two software modules each on a different version.
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-Device.version.component|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.version.component

id:
  v: Device.version.extension:installDate
path:
  v: Device.version.extension
slice name:
  v: installDate
short:
  v: R5: The date the version was installed on the device (new)
definition:
  v: R5: `Device.version.installDate` (new:dateTime)
comment:
  v: Element `Device.version.installDate` has a context of Device.version based on following the parent source element upwards and mapping to `Device`. Element `Device.version.installDate` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
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-Device.version.installDate|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.version.installDate

id:
  v: Device.version.extension:value
path:
  v: Device.version.extension
slice name:
  v: value
short:
  v: R5: The version text (new)
definition:
  v: R5: `Device.version.value` (new:string)
comment:
  v: Element `Device.version.value` has a context of Device.version based on following the parent source element upwards and mapping to `Device`. Element `Device.version.value` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 1
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-Device.version.value|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Device.version.value

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

id:
  v: Device.owner.extension:owner
path:
  v: Device.owner.extension
slice name:
  v: owner
short:
  v: R5: owner additional types
definition:
  v: R5: `Device.owner` additional types from child elements (display, identifier, reference, type)
comment:
  v: Element `Device.owner` is mapped to FHIR STU3 element `Device.owner` as `SourceIsBroaderThanTarget`. The mappings for `Device.owner` 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 `Device.owner` with unmapped reference targets: Organization.
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

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

id:
  v: Device.location.extension:location
path:
  v: Device.location.extension
slice name:
  v: location
short:
  v: R5: Where the device is found additional types
definition:
  v: R5: `Device.location` additional types from child elements (display, identifier, reference, type)
comment:
  v: Element `Device.location` is mapped to FHIR STU3 element `Device.location` as `SourceIsBroaderThanTarget`. The mappings for `Device.location` 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 `Device.location` with unmapped reference targets: Location.
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