Release 4

Devicedefinition.profile.json

Orders and Observations Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: Not linked to any defined compartments

Raw JSON (canonical form + also see JSON Format Specification)

StructureDefinition for devicedefinition

{
  "resourceType" : "StructureDefinition",
  "id" : "DeviceDefinition",
  "meta" : {
    "lastUpdated" : "2020-04-06T20:35:24.098+00:00"
  },
  "text" : {
    "status" : "generated",
    "div" : "<div>!-- Snipped for Brevity --></div>"
  },
  "extension" : [{
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
    "valueCode" : "trial-use"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
    "valueInteger" : 0
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category",
    "valueCode" : "anonymous"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
    "valueCode" : "oo"
  }],
  "url" : "http://hl7.org/fhir/StructureDefinition/DeviceDefinition",
  "version" : "4.2.0",
  "name" : "DeviceDefinition",
  "status" : "draft",
  "date" : "2020-04-06T20:35:24+00:00",
  "publisher" : "Health Level Seven International (Orders and Observations)",
  "contact" : [{
    "telecom" : [{
      "system" : "url",
      "value" : "http://hl7.org/fhir"
    }]
  },
  {
    "telecom" : [{
      "system" : "url",
      "value" : "http://www.hl7.org/Special/committees/orders/index.cfm"
    }]
  }],
  "description" : "The characteristics, operational status and capabilities of a medical-related component of a medical device.",
  "fhirVersion" : "4.2.0",
  "mapping" : [{
    "identity" : "w5",
    "uri" : "http://hl7.org/fhir/fivews",
    "name" : "FiveWs Pattern Mapping"
  },
  {
    "identity" : "rim",
    "uri" : "http://hl7.org/v3",
    "name" : "RIM Mapping"
  }],
  "kind" : "resource",
  "abstract" : false,
  "type" : "DeviceDefinition",
  "baseDefinition" : "http://hl7.org/fhir/StructureDefinition/DomainResource",
  "derivation" : "specialization",
  "snapshot" : {
    "element" : [{
      "id" : "DeviceDefinition",
      "path" : "DeviceDefinition",
      "short" : "An instance of a medical-related component of a medical device",
      "definition" : "The characteristics, operational status and capabilities of a medical-related component of a medical device.",
      "comment" : "For the initial scope, this DeviceDefinition resource is only applicable to describe a single node in the containment tree that is produced by the context scanner in any medical device that implements or derives from the ISO/IEEE 11073 standard and that does not represent a metric. Examples for such a node are MDS, VMD, or Channel.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition",
        "min" : 0,
        "max" : "*"
      },
      "constraint" : [{
        "key" : "dom-2",
        "severity" : "error",
        "human" : "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
        "expression" : "contained.contained.empty()",
        "xpath" : "not(parent::f:contained and f:contained)",
        "source" : "DomainResource"
      },
      {
        "key" : "dom-3",
        "severity" : "error",
        "human" : "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource",
        "expression" : "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()",
        "xpath" : "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))",
        "source" : "DomainResource"
      },
      {
        "key" : "dom-4",
        "severity" : "error",
        "human" : "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
        "expression" : "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
        "xpath" : "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
        "source" : "DomainResource"
      },
      {
        "key" : "dom-5",
        "severity" : "error",
        "human" : "If a resource is contained in another resource, it SHALL NOT have a security label",
        "expression" : "contained.meta.security.empty()",
        "xpath" : "not(exists(f:contained/*/f:meta/f:security))",
        "source" : "DomainResource"
      },
      {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice",
          "valueBoolean" : true
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation",
          "valueMarkdown" : "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time."
        }],
        "key" : "dom-6",
        "severity" : "warning",
        "human" : "A resource should have narrative for robust management",
        "expression" : "text.`div`.exists()",
        "xpath" : "exists(f:text/h:div)",
        "source" : "DomainResource"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "Entity. Role, or Act"
      }]
    },
    {
      "id" : "DeviceDefinition.id",
      "path" : "DeviceDefinition.id",
      "short" : "Logical id of this artifact",
      "definition" : "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
      "comment" : "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" : 0,
      "max" : "1",
      "base" : {
        "path" : "Resource.id",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
          "valueUri" : "id"
        }],
        "code" : "http://hl7.org/fhirpath/System.String"
      }],
      "isModifier" : false,
      "isSummary" : true
    },
    {
      "id" : "DeviceDefinition.meta",
      "path" : "DeviceDefinition.meta",
      "short" : "Metadata about the resource",
      "definition" : "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "Resource.meta",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "Meta"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : true
    },
    {
      "id" : "DeviceDefinition.implicitRules",
      "path" : "DeviceDefinition.implicitRules",
      "short" : "A set of rules under which this content was created",
      "definition" : "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
      "comment" : "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. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "Resource.implicitRules",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "uri"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : true,
      "isModifierReason" : "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation",
      "isSummary" : true
    },
    {
      "id" : "DeviceDefinition.language",
      "path" : "DeviceDefinition.language",
      "short" : "Language of the resource content",
      "definition" : "The base language in which the resource is written.",
      "comment" : "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" : 0,
      "max" : "1",
      "base" : {
        "path" : "Resource.language",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "code"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
          "valueCanonical" : "http://hl7.org/fhir/ValueSet/all-languages"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "Language"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
          "valueBoolean" : true
        }],
        "strength" : "preferred",
        "description" : "A human language.",
        "valueSet" : "http://hl7.org/fhir/ValueSet/languages"
      }
    },
    {
      "id" : "DeviceDefinition.text",
      "path" : "DeviceDefinition.text",
      "short" : "Text summary of the resource, for human interpretation",
      "definition" : "A human-readable narrative that contains a summary of the resource and can 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" : "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 information is added later.",
      "alias" : ["narrative",
      "html",
      "xhtml",
      "display"],
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "DomainResource.text",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "Narrative"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "Act.text?"
      }]
    },
    {
      "id" : "DeviceDefinition.contained",
      "path" : "DeviceDefinition.contained",
      "short" : "Contained, inline Resources",
      "definition" : "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" : "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. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.",
      "alias" : ["inline resources",
      "anonymous resources",
      "contained resources"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DomainResource.contained",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Resource"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "N/A"
      }]
    },
    {
      "id" : "DeviceDefinition.extension",
      "path" : "DeviceDefinition.extension",
      "short" : "Additional content defined by implementations",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the resource. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "comment" : "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" : ["extensions",
      "user content"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DomainResource.extension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "N/A"
      }]
    },
    {
      "id" : "DeviceDefinition.modifierExtension",
      "path" : "DeviceDefinition.modifierExtension",
      "short" : "Extensions that cannot be ignored",
      "definition" : "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 and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
      "comment" : "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.",
      "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
      "alias" : ["extensions",
      "user content"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DomainResource.modifierExtension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : true,
      "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them",
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "N/A"
      }]
    },
    {
      "id" : "DeviceDefinition.identifier",
      "path" : "DeviceDefinition.identifier",
      "short" : "Instance identifier",
      "definition" : "Unique instance identifiers assigned to a device by the software, manufacturers, other organizations or owners. For example: handle ID.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.identifier",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Identifier"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.identifier"
      }]
    },
    {
      "id" : "DeviceDefinition.udiDeviceIdentifier",
      "path" : "DeviceDefinition.udiDeviceIdentifier",
      "short" : "Unique Device Identifier (UDI) Barcode string",
      "definition" : "Unique device identifier (UDI) assigned to device label or package.  Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.udiDeviceIdentifier",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "BackboneElement"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.udiDeviceIdentifier.id",
      "path" : "DeviceDefinition.udiDeviceIdentifier.id",
      "representation" : ["xmlAttr"],
      "short" : "Unique id for inter-element referencing",
      "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "Element.id",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
          "valueUri" : "id"
        }],
        "code" : "http://hl7.org/fhirpath/System.String"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "DeviceDefinition.udiDeviceIdentifier.extension",
      "path" : "DeviceDefinition.udiDeviceIdentifier.extension",
      "short" : "Additional content defined by implementations",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "comment" : "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" : ["extensions",
      "user content"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "Element.extension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "DeviceDefinition.udiDeviceIdentifier.modifierExtension",
      "path" : "DeviceDefinition.udiDeviceIdentifier.modifierExtension",
      "short" : "Extensions that cannot be ignored even if unrecognized",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
      "comment" : "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.",
      "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
      "alias" : ["extensions",
      "user content",
      "modifiers"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "BackboneElement.modifierExtension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : true,
      "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
      "isSummary" : true,
      "mapping" : [{
        "identity" : "rim",
        "map" : "N/A"
      }]
    },
    {
      "id" : "DeviceDefinition.udiDeviceIdentifier.deviceIdentifier",
      "path" : "DeviceDefinition.udiDeviceIdentifier.deviceIdentifier",
      "short" : "The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdication porvided in the DeviceDefinition.udiDeviceIdentifier",
      "definition" : "The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdication porvided in the DeviceDefinition.udiDeviceIdentifier.",
      "min" : 1,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.udiDeviceIdentifier.deviceIdentifier",
        "min" : 1,
        "max" : "1"
      },
      "type" : [{
        "code" : "string"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.udiDeviceIdentifier.issuer",
      "path" : "DeviceDefinition.udiDeviceIdentifier.issuer",
      "short" : "The organization that assigns the identifier algorithm",
      "definition" : "The organization that assigns the identifier algorithm.",
      "min" : 1,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.udiDeviceIdentifier.issuer",
        "min" : 1,
        "max" : "1"
      },
      "type" : [{
        "code" : "uri"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.udiDeviceIdentifier.jurisdiction",
      "path" : "DeviceDefinition.udiDeviceIdentifier.jurisdiction",
      "short" : "The jurisdiction to which the deviceIdentifier applies",
      "definition" : "The jurisdiction to which the deviceIdentifier applies.",
      "min" : 1,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.udiDeviceIdentifier.jurisdiction",
        "min" : 1,
        "max" : "1"
      },
      "type" : [{
        "code" : "uri"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.manufacturer[x]",
      "path" : "DeviceDefinition.manufacturer[x]",
      "short" : "Name of device manufacturer",
      "definition" : "A name of the manufacturer.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.manufacturer[x]",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "string"
      },
      {
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Organization"]
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.what[x]"
      },
      {
        "identity" : "rim",
        "map" : ".playedRole[typeCode=MANU].scoper.name"
      }]
    },
    {
      "id" : "DeviceDefinition.deviceName",
      "path" : "DeviceDefinition.deviceName",
      "short" : "A name given to the device to identify it",
      "definition" : "A name given to the device to identify it.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.deviceName",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "BackboneElement"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.deviceName.id",
      "path" : "DeviceDefinition.deviceName.id",
      "representation" : ["xmlAttr"],
      "short" : "Unique id for inter-element referencing",
      "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "Element.id",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
          "valueUri" : "id"
        }],
        "code" : "http://hl7.org/fhirpath/System.String"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "DeviceDefinition.deviceName.extension",
      "path" : "DeviceDefinition.deviceName.extension",
      "short" : "Additional content defined by implementations",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "comment" : "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" : ["extensions",
      "user content"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "Element.extension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "DeviceDefinition.deviceName.modifierExtension",
      "path" : "DeviceDefinition.deviceName.modifierExtension",
      "short" : "Extensions that cannot be ignored even if unrecognized",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
      "comment" : "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.",
      "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
      "alias" : ["extensions",
      "user content",
      "modifiers"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "BackboneElement.modifierExtension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : true,
      "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
      "isSummary" : true,
      "mapping" : [{
        "identity" : "rim",
        "map" : "N/A"
      }]
    },
    {
      "id" : "DeviceDefinition.deviceName.name",
      "path" : "DeviceDefinition.deviceName.name",
      "short" : "The name of the device",
      "definition" : "The name of the device.",
      "alias" : ["Σ"],
      "min" : 1,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.deviceName.name",
        "min" : 1,
        "max" : "1"
      },
      "type" : [{
        "code" : "string"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.deviceName.type",
      "path" : "DeviceDefinition.deviceName.type",
      "short" : "udi-label-name | user-friendly-name | patient-reported-name | manufacturer-name | model-name | other",
      "definition" : "The type of deviceName.\nUDILabelName | UserFriendlyName | PatientReportedName | ManufactureDeviceName | ModelName.",
      "min" : 1,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.deviceName.type",
        "min" : 1,
        "max" : "1"
      },
      "type" : [{
        "code" : "code"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "DeviceNameType"
        }],
        "strength" : "required",
        "description" : "The type of name the device is referred by.",
        "valueSet" : "http://hl7.org/fhir/ValueSet/device-nametype|4.2.0"
      },
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.what[x]"
      },
      {
        "identity" : "rim",
        "map" : ".playedRole[typeCode=MANU].code"
      }]
    },
    {
      "id" : "DeviceDefinition.modelNumber",
      "path" : "DeviceDefinition.modelNumber",
      "short" : "The model number for the device",
      "definition" : "The model number for the device.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.modelNumber",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "string"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.what[x]"
      },
      {
        "identity" : "rim",
        "map" : ".softwareName (included as part)"
      }]
    },
    {
      "id" : "DeviceDefinition.type",
      "path" : "DeviceDefinition.type",
      "short" : "What kind of device or device system this is",
      "definition" : "What kind of device or device system this is.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.type",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "DeviceKind"
        }],
        "strength" : "example",
        "description" : "Type of device e.g. according to official classification.",
        "valueSet" : "http://hl7.org/fhir/ValueSet/device-kind"
      }
    },
    {
      "id" : "DeviceDefinition.specialization",
      "path" : "DeviceDefinition.specialization",
      "short" : "The capabilities supported on a  device, the standards to which the device conforms for a particular purpose, and used for the communication",
      "definition" : "The capabilities supported on a  device, the standards to which the device conforms for a particular purpose, and used for the communication.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.specialization",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "BackboneElement"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.specialization.id",
      "path" : "DeviceDefinition.specialization.id",
      "representation" : ["xmlAttr"],
      "short" : "Unique id for inter-element referencing",
      "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "Element.id",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
          "valueUri" : "id"
        }],
        "code" : "http://hl7.org/fhirpath/System.String"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "DeviceDefinition.specialization.extension",
      "path" : "DeviceDefinition.specialization.extension",
      "short" : "Additional content defined by implementations",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "comment" : "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" : ["extensions",
      "user content"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "Element.extension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "DeviceDefinition.specialization.modifierExtension",
      "path" : "DeviceDefinition.specialization.modifierExtension",
      "short" : "Extensions that cannot be ignored even if unrecognized",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
      "comment" : "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.",
      "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
      "alias" : ["extensions",
      "user content",
      "modifiers"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "BackboneElement.modifierExtension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : true,
      "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
      "isSummary" : true,
      "mapping" : [{
        "identity" : "rim",
        "map" : "N/A"
      }]
    },
    {
      "id" : "DeviceDefinition.specialization.systemType",
      "path" : "DeviceDefinition.specialization.systemType",
      "short" : "The standard that is used to operate and communicate",
      "definition" : "The standard that is used to operate and communicate.",
      "alias" : ["Σ"],
      "min" : 1,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.specialization.systemType",
        "min" : 1,
        "max" : "1"
      },
      "type" : [{
        "code" : "string"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.specialization.version",
      "path" : "DeviceDefinition.specialization.version",
      "short" : "The version of the standard that is used to operate and communicate",
      "definition" : "The version of the standard that is used to operate and communicate.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.specialization.version",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "string"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.what[x]"
      }]
    },
    {
      "id" : "DeviceDefinition.version",
      "path" : "DeviceDefinition.version",
      "short" : "Available versions",
      "definition" : "The available versions of the device, e.g., software versions.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.version",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "string"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.safety",
      "path" : "DeviceDefinition.safety",
      "short" : "Safety characteristics of the device",
      "definition" : "Safety characteristics of the device.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.safety",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : true,
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "Safety"
        }],
        "strength" : "example",
        "valueSet" : "http://hl7.org/fhir/ValueSet/device-safety"
      }
    },
    {
      "id" : "DeviceDefinition.shelfLifeStorage",
      "path" : "DeviceDefinition.shelfLifeStorage",
      "short" : "Shelf Life and storage information",
      "definition" : "Shelf Life and storage information.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.shelfLifeStorage",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "ProductShelfLife"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.physicalCharacteristics",
      "path" : "DeviceDefinition.physicalCharacteristics",
      "short" : "Dimensions, color etc.",
      "definition" : "Dimensions, color etc.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.physicalCharacteristics",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "ProdCharacteristic"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.languageCode",
      "path" : "DeviceDefinition.languageCode",
      "short" : "Language code for the human-readable text strings produced by the device (all supported)",
      "definition" : "Language code for the human-readable text strings produced by the device (all supported).",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.languageCode",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.capability",
      "path" : "DeviceDefinition.capability",
      "short" : "Device capabilities",
      "definition" : "Device capabilities.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.capability",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "BackboneElement"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.capability.id",
      "path" : "DeviceDefinition.capability.id",
      "representation" : ["xmlAttr"],
      "short" : "Unique id for inter-element referencing",
      "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "Element.id",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
          "valueUri" : "id"
        }],
        "code" : "http://hl7.org/fhirpath/System.String"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "DeviceDefinition.capability.extension",
      "path" : "DeviceDefinition.capability.extension",
      "short" : "Additional content defined by implementations",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "comment" : "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" : ["extensions",
      "user content"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "Element.extension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "DeviceDefinition.capability.modifierExtension",
      "path" : "DeviceDefinition.capability.modifierExtension",
      "short" : "Extensions that cannot be ignored even if unrecognized",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
      "comment" : "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.",
      "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
      "alias" : ["extensions",
      "user content",
      "modifiers"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "BackboneElement.modifierExtension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : true,
      "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
      "isSummary" : true,
      "mapping" : [{
        "identity" : "rim",
        "map" : "N/A"
      }]
    },
    {
      "id" : "DeviceDefinition.capability.type",
      "path" : "DeviceDefinition.capability.type",
      "short" : "Type of capability",
      "definition" : "Type of capability.",
      "min" : 1,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.capability.type",
        "min" : 1,
        "max" : "1"
      },
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.capability.description",
      "path" : "DeviceDefinition.capability.description",
      "short" : "Description of capability",
      "definition" : "Description of capability.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.capability.description",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.property",
      "path" : "DeviceDefinition.property",
      "short" : "The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties",
      "definition" : "The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.property",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "BackboneElement"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.property.id",
      "path" : "DeviceDefinition.property.id",
      "representation" : ["xmlAttr"],
      "short" : "Unique id for inter-element referencing",
      "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "Element.id",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
          "valueUri" : "id"
        }],
        "code" : "http://hl7.org/fhirpath/System.String"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "DeviceDefinition.property.extension",
      "path" : "DeviceDefinition.property.extension",
      "short" : "Additional content defined by implementations",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "comment" : "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" : ["extensions",
      "user content"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "Element.extension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "DeviceDefinition.property.modifierExtension",
      "path" : "DeviceDefinition.property.modifierExtension",
      "short" : "Extensions that cannot be ignored even if unrecognized",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
      "comment" : "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.",
      "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
      "alias" : ["extensions",
      "user content",
      "modifiers"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "BackboneElement.modifierExtension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : true,
      "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
      "isSummary" : true,
      "mapping" : [{
        "identity" : "rim",
        "map" : "N/A"
      }]
    },
    {
      "id" : "DeviceDefinition.property.type",
      "path" : "DeviceDefinition.property.type",
      "short" : "Code that specifies the property DeviceDefinitionPropetyCode (Extensible)",
      "definition" : "Code that specifies the property DeviceDefinitionPropetyCode (Extensible).",
      "min" : 1,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.property.type",
        "min" : 1,
        "max" : "1"
      },
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.property.valueQuantity",
      "path" : "DeviceDefinition.property.valueQuantity",
      "short" : "Property value as a quantity",
      "definition" : "Property value as a quantity.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.property.valueQuantity",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Quantity"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.property.valueCode",
      "path" : "DeviceDefinition.property.valueCode",
      "short" : "Property value as a code, e.g., NTP4 (synced to NTP)",
      "definition" : "Property value as a code, e.g., NTP4 (synced to NTP).",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.property.valueCode",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.owner",
      "path" : "DeviceDefinition.owner",
      "short" : "Organization responsible for device",
      "definition" : "An organization that is responsible for the provision and ongoing maintenance of the device.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.owner",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Organization"]
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.source"
      },
      {
        "identity" : "rim",
        "map" : ".playedRole[typeCode=OWN].scoper"
      }]
    },
    {
      "id" : "DeviceDefinition.contact",
      "path" : "DeviceDefinition.contact",
      "short" : "Details for human/organization for support",
      "definition" : "Contact details for an organization or a particular human that is responsible for the device.",
      "comment" : "used for troubleshooting etc.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.contact",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "ContactPoint"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.source"
      },
      {
        "identity" : "rim",
        "map" : ".scopedRole[typeCode=CON].player"
      }]
    },
    {
      "id" : "DeviceDefinition.url",
      "path" : "DeviceDefinition.url",
      "short" : "Network address to contact device",
      "definition" : "A network address on which the device may be contacted directly.",
      "comment" : "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" : 0,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.url",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "uri"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.where[x]"
      },
      {
        "identity" : "rim",
        "map" : ".telecom"
      }]
    },
    {
      "id" : "DeviceDefinition.onlineInformation",
      "path" : "DeviceDefinition.onlineInformation",
      "short" : "Access to on-line information",
      "definition" : "Access to on-line information about the device.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.onlineInformation",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "uri"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.note",
      "path" : "DeviceDefinition.note",
      "short" : "Device notes and comments",
      "definition" : "Descriptive information, usage information or implantation information that is not captured in an existing element.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.note",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Annotation"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : ".text"
      }]
    },
    {
      "id" : "DeviceDefinition.quantity",
      "path" : "DeviceDefinition.quantity",
      "short" : "The quantity of the device present in the packaging (e.g. the number of devices present in a pack, or the number of devices in the same package of the medicinal product)",
      "definition" : "The quantity of the device present in the packaging (e.g. the number of devices present in a pack, or the number of devices in the same package of the medicinal product).",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.quantity",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "Quantity"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.parentDevice",
      "path" : "DeviceDefinition.parentDevice",
      "short" : "The parent device it can be part of",
      "definition" : "The parent device it can be part of.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.parentDevice",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/DeviceDefinition"]
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : true
    },
    {
      "id" : "DeviceDefinition.material",
      "path" : "DeviceDefinition.material",
      "short" : "A substance used to create the material(s) of which the device is made",
      "definition" : "A substance used to create the material(s) of which the device is made.",
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "DeviceDefinition.material",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "BackboneElement"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.material.id",
      "path" : "DeviceDefinition.material.id",
      "representation" : ["xmlAttr"],
      "short" : "Unique id for inter-element referencing",
      "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "Element.id",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
          "valueUri" : "id"
        }],
        "code" : "http://hl7.org/fhirpath/System.String"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "DeviceDefinition.material.extension",
      "path" : "DeviceDefinition.material.extension",
      "short" : "Additional content defined by implementations",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "comment" : "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" : ["extensions",
      "user content"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "Element.extension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : false,
      "isSummary" : false,
      "mapping" : [{
        "identity" : "rim",
        "map" : "n/a"
      }]
    },
    {
      "id" : "DeviceDefinition.material.modifierExtension",
      "path" : "DeviceDefinition.material.modifierExtension",
      "short" : "Extensions that cannot be ignored even if unrecognized",
      "definition" : "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
      "comment" : "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.",
      "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
      "alias" : ["extensions",
      "user content",
      "modifiers"],
      "min" : 0,
      "max" : "*",
      "base" : {
        "path" : "BackboneElement.modifierExtension",
        "min" : 0,
        "max" : "*"
      },
      "type" : [{
        "code" : "Extension"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      },
      {
        "key" : "ext-1",
        "severity" : "error",
        "human" : "Must have either extensions or value[x], not both",
        "expression" : "extension.exists() != value.exists()",
        "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
        "source" : "Extension"
      }],
      "isModifier" : true,
      "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
      "isSummary" : true,
      "mapping" : [{
        "identity" : "rim",
        "map" : "N/A"
      }]
    },
    {
      "id" : "DeviceDefinition.material.substance",
      "path" : "DeviceDefinition.material.substance",
      "short" : "The substance",
      "definition" : "The substance.",
      "min" : 1,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.material.substance",
        "min" : 1,
        "max" : "1"
      },
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.material.alternate",
      "path" : "DeviceDefinition.material.alternate",
      "short" : "Indicates an alternative material of the device",
      "definition" : "Indicates an alternative material of the device.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.material.alternate",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "boolean"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    },
    {
      "id" : "DeviceDefinition.material.allergenicIndicator",
      "path" : "DeviceDefinition.material.allergenicIndicator",
      "short" : "Whether the substance is a known or suspected allergen",
      "definition" : "Whether the substance is a known or suspected allergen.",
      "min" : 0,
      "max" : "1",
      "base" : {
        "path" : "DeviceDefinition.material.allergenicIndicator",
        "min" : 0,
        "max" : "1"
      },
      "type" : [{
        "code" : "boolean"
      }],
      "constraint" : [{
        "key" : "ele-1",
        "severity" : "error",
        "human" : "All FHIR elements must have a @value or children",
        "expression" : "hasValue() or (children().count() > id.count())",
        "xpath" : "@value|f:*|h:div",
        "source" : "Element"
      }],
      "isModifier" : false,
      "isSummary" : false
    }]
  },
  "differential" : {
    "element" : [{
      "id" : "DeviceDefinition",
      "path" : "DeviceDefinition",
      "short" : "An instance of a medical-related component of a medical device",
      "definition" : "The characteristics, operational status and capabilities of a medical-related component of a medical device.",
      "comment" : "For the initial scope, this DeviceDefinition resource is only applicable to describe a single node in the containment tree that is produced by the context scanner in any medical device that implements or derives from the ISO/IEEE 11073 standard and that does not represent a metric. Examples for such a node are MDS, VMD, or Channel.",
      "min" : 0,
      "max" : "*"
    },
    {
      "id" : "DeviceDefinition.identifier",
      "path" : "DeviceDefinition.identifier",
      "short" : "Instance identifier",
      "definition" : "Unique instance identifiers assigned to a device by the software, manufacturers, other organizations or owners. For example: handle ID.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "Identifier"
      }],
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.identifier"
      }]
    },
    {
      "id" : "DeviceDefinition.udiDeviceIdentifier",
      "path" : "DeviceDefinition.udiDeviceIdentifier",
      "short" : "Unique Device Identifier (UDI) Barcode string",
      "definition" : "Unique device identifier (UDI) assigned to device label or package.  Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "BackboneElement"
      }]
    },
    {
      "id" : "DeviceDefinition.udiDeviceIdentifier.deviceIdentifier",
      "path" : "DeviceDefinition.udiDeviceIdentifier.deviceIdentifier",
      "short" : "The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdication porvided in the DeviceDefinition.udiDeviceIdentifier",
      "definition" : "The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdication porvided in the DeviceDefinition.udiDeviceIdentifier.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "string"
      }]
    },
    {
      "id" : "DeviceDefinition.udiDeviceIdentifier.issuer",
      "path" : "DeviceDefinition.udiDeviceIdentifier.issuer",
      "short" : "The organization that assigns the identifier algorithm",
      "definition" : "The organization that assigns the identifier algorithm.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "uri"
      }]
    },
    {
      "id" : "DeviceDefinition.udiDeviceIdentifier.jurisdiction",
      "path" : "DeviceDefinition.udiDeviceIdentifier.jurisdiction",
      "short" : "The jurisdiction to which the deviceIdentifier applies",
      "definition" : "The jurisdiction to which the deviceIdentifier applies.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "uri"
      }]
    },
    {
      "id" : "DeviceDefinition.manufacturer[x]",
      "path" : "DeviceDefinition.manufacturer[x]",
      "short" : "Name of device manufacturer",
      "definition" : "A name of the manufacturer.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "string"
      },
      {
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Organization"]
      }],
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.what[x]"
      },
      {
        "identity" : "rim",
        "map" : ".playedRole[typeCode=MANU].scoper.name"
      }]
    },
    {
      "id" : "DeviceDefinition.deviceName",
      "path" : "DeviceDefinition.deviceName",
      "short" : "A name given to the device to identify it",
      "definition" : "A name given to the device to identify it.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "BackboneElement"
      }]
    },
    {
      "id" : "DeviceDefinition.deviceName.name",
      "path" : "DeviceDefinition.deviceName.name",
      "short" : "The name of the device",
      "definition" : "The name of the device.",
      "alias" : ["Σ"],
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "string"
      }]
    },
    {
      "id" : "DeviceDefinition.deviceName.type",
      "path" : "DeviceDefinition.deviceName.type",
      "short" : "udi-label-name | user-friendly-name | patient-reported-name | manufacturer-name | model-name | other",
      "definition" : "The type of deviceName.\nUDILabelName | UserFriendlyName | PatientReportedName | ManufactureDeviceName | ModelName.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "code"
      }],
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "DeviceNameType"
        }],
        "strength" : "required",
        "description" : "The type of name the device is referred by.",
        "valueSet" : "http://hl7.org/fhir/ValueSet/device-nametype|4.2.0"
      },
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.what[x]"
      },
      {
        "identity" : "rim",
        "map" : ".playedRole[typeCode=MANU].code"
      }]
    },
    {
      "id" : "DeviceDefinition.modelNumber",
      "path" : "DeviceDefinition.modelNumber",
      "short" : "The model number for the device",
      "definition" : "The model number for the device.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "string"
      }],
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.what[x]"
      },
      {
        "identity" : "rim",
        "map" : ".softwareName (included as part)"
      }]
    },
    {
      "id" : "DeviceDefinition.type",
      "path" : "DeviceDefinition.type",
      "short" : "What kind of device or device system this is",
      "definition" : "What kind of device or device system this is.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "DeviceKind"
        }],
        "strength" : "example",
        "description" : "Type of device e.g. according to official classification.",
        "valueSet" : "http://hl7.org/fhir/ValueSet/device-kind"
      }
    },
    {
      "id" : "DeviceDefinition.specialization",
      "path" : "DeviceDefinition.specialization",
      "short" : "The capabilities supported on a  device, the standards to which the device conforms for a particular purpose, and used for the communication",
      "definition" : "The capabilities supported on a  device, the standards to which the device conforms for a particular purpose, and used for the communication.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "BackboneElement"
      }]
    },
    {
      "id" : "DeviceDefinition.specialization.systemType",
      "path" : "DeviceDefinition.specialization.systemType",
      "short" : "The standard that is used to operate and communicate",
      "definition" : "The standard that is used to operate and communicate.",
      "alias" : ["Σ"],
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "string"
      }]
    },
    {
      "id" : "DeviceDefinition.specialization.version",
      "path" : "DeviceDefinition.specialization.version",
      "short" : "The version of the standard that is used to operate and communicate",
      "definition" : "The version of the standard that is used to operate and communicate.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "string"
      }],
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.what[x]"
      }]
    },
    {
      "id" : "DeviceDefinition.version",
      "path" : "DeviceDefinition.version",
      "short" : "Available versions",
      "definition" : "The available versions of the device, e.g., software versions.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "string"
      }]
    },
    {
      "id" : "DeviceDefinition.safety",
      "path" : "DeviceDefinition.safety",
      "short" : "Safety characteristics of the device",
      "definition" : "Safety characteristics of the device.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "CodeableConcept"
      }],
      "isSummary" : true,
      "binding" : {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString" : "Safety"
        }],
        "strength" : "example",
        "valueSet" : "http://hl7.org/fhir/ValueSet/device-safety"
      }
    },
    {
      "id" : "DeviceDefinition.shelfLifeStorage",
      "path" : "DeviceDefinition.shelfLifeStorage",
      "short" : "Shelf Life and storage information",
      "definition" : "Shelf Life and storage information.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "ProductShelfLife"
      }]
    },
    {
      "id" : "DeviceDefinition.physicalCharacteristics",
      "path" : "DeviceDefinition.physicalCharacteristics",
      "short" : "Dimensions, color etc.",
      "definition" : "Dimensions, color etc.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "ProdCharacteristic"
      }]
    },
    {
      "id" : "DeviceDefinition.languageCode",
      "path" : "DeviceDefinition.languageCode",
      "short" : "Language code for the human-readable text strings produced by the device (all supported)",
      "definition" : "Language code for the human-readable text strings produced by the device (all supported).",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "CodeableConcept"
      }]
    },
    {
      "id" : "DeviceDefinition.capability",
      "path" : "DeviceDefinition.capability",
      "short" : "Device capabilities",
      "definition" : "Device capabilities.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "BackboneElement"
      }]
    },
    {
      "id" : "DeviceDefinition.capability.type",
      "path" : "DeviceDefinition.capability.type",
      "short" : "Type of capability",
      "definition" : "Type of capability.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "CodeableConcept"
      }]
    },
    {
      "id" : "DeviceDefinition.capability.description",
      "path" : "DeviceDefinition.capability.description",
      "short" : "Description of capability",
      "definition" : "Description of capability.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "CodeableConcept"
      }]
    },
    {
      "id" : "DeviceDefinition.property",
      "path" : "DeviceDefinition.property",
      "short" : "The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties",
      "definition" : "The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "BackboneElement"
      }]
    },
    {
      "id" : "DeviceDefinition.property.type",
      "path" : "DeviceDefinition.property.type",
      "short" : "Code that specifies the property DeviceDefinitionPropetyCode (Extensible)",
      "definition" : "Code that specifies the property DeviceDefinitionPropetyCode (Extensible).",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "CodeableConcept"
      }]
    },
    {
      "id" : "DeviceDefinition.property.valueQuantity",
      "path" : "DeviceDefinition.property.valueQuantity",
      "short" : "Property value as a quantity",
      "definition" : "Property value as a quantity.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "Quantity"
      }]
    },
    {
      "id" : "DeviceDefinition.property.valueCode",
      "path" : "DeviceDefinition.property.valueCode",
      "short" : "Property value as a code, e.g., NTP4 (synced to NTP)",
      "definition" : "Property value as a code, e.g., NTP4 (synced to NTP).",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "CodeableConcept"
      }]
    },
    {
      "id" : "DeviceDefinition.owner",
      "path" : "DeviceDefinition.owner",
      "short" : "Organization responsible for device",
      "definition" : "An organization that is responsible for the provision and ongoing maintenance of the device.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Organization"]
      }],
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.source"
      },
      {
        "identity" : "rim",
        "map" : ".playedRole[typeCode=OWN].scoper"
      }]
    },
    {
      "id" : "DeviceDefinition.contact",
      "path" : "DeviceDefinition.contact",
      "short" : "Details for human/organization for support",
      "definition" : "Contact details for an organization or a particular human that is responsible for the device.",
      "comment" : "used for troubleshooting etc.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "ContactPoint"
      }],
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.source"
      },
      {
        "identity" : "rim",
        "map" : ".scopedRole[typeCode=CON].player"
      }]
    },
    {
      "id" : "DeviceDefinition.url",
      "path" : "DeviceDefinition.url",
      "short" : "Network address to contact device",
      "definition" : "A network address on which the device may be contacted directly.",
      "comment" : "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" : 0,
      "max" : "1",
      "type" : [{
        "code" : "uri"
      }],
      "mapping" : [{
        "identity" : "w5",
        "map" : "FiveWs.where[x]"
      },
      {
        "identity" : "rim",
        "map" : ".telecom"
      }]
    },
    {
      "id" : "DeviceDefinition.onlineInformation",
      "path" : "DeviceDefinition.onlineInformation",
      "short" : "Access to on-line information",
      "definition" : "Access to on-line information about the device.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "uri"
      }]
    },
    {
      "id" : "DeviceDefinition.note",
      "path" : "DeviceDefinition.note",
      "short" : "Device notes and comments",
      "definition" : "Descriptive information, usage information or implantation information that is not captured in an existing element.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "Annotation"
      }],
      "mapping" : [{
        "identity" : "rim",
        "map" : ".text"
      }]
    },
    {
      "id" : "DeviceDefinition.quantity",
      "path" : "DeviceDefinition.quantity",
      "short" : "The quantity of the device present in the packaging (e.g. the number of devices present in a pack, or the number of devices in the same package of the medicinal product)",
      "definition" : "The quantity of the device present in the packaging (e.g. the number of devices present in a pack, or the number of devices in the same package of the medicinal product).",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Quantity"
      }]
    },
    {
      "id" : "DeviceDefinition.parentDevice",
      "path" : "DeviceDefinition.parentDevice",
      "short" : "The parent device it can be part of",
      "definition" : "The parent device it can be part of.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/DeviceDefinition"]
      }],
      "isSummary" : true
    },
    {
      "id" : "DeviceDefinition.material",
      "path" : "DeviceDefinition.material",
      "short" : "A substance used to create the material(s) of which the device is made",
      "definition" : "A substance used to create the material(s) of which the device is made.",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "BackboneElement"
      }]
    },
    {
      "id" : "DeviceDefinition.material.substance",
      "path" : "DeviceDefinition.material.substance",
      "short" : "The substance",
      "definition" : "The substance.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "CodeableConcept"
      }]
    },
    {
      "id" : "DeviceDefinition.material.alternate",
      "path" : "DeviceDefinition.material.alternate",
      "short" : "Indicates an alternative material of the device",
      "definition" : "Indicates an alternative material of the device.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "boolean"
      }]
    },
    {
      "id" : "DeviceDefinition.material.allergenicIndicator",
      "path" : "DeviceDefinition.material.allergenicIndicator",
      "short" : "Whether the substance is a known or suspected allergen",
      "definition" : "Whether the substance is a known or suspected allergen.",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "boolean"
      }]
    }]
  }
}

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.