<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="FirmwareReplaced" />
  <url value="http://simplifier.net/fhir/StructureDefinition/FirmwareReplaced" />
  <version value="1.0.0" />
  <name value="FirmwareReplaced" />
  <title value="Firmware Replaced" />
  <status value="draft" />
  <date value="2024-11-19" />
  <description value="A profile for firmware replacement activities using FHIR R5." />
  <fhirVersion value="5.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Bundle" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Bundle" />
  <derivation value="constraint" />
  <differential>
    <element id="Bundle.identifier">
      <path value="Bundle.identifier" />
      <short value="An identifier for the Bundle" />
      <min value="1" />
      <type>
        <code value="Identifier" />
      </type>
    </element>
    <element id="Bundle.identifier.type">
      <path value="Bundle.identifier.type" />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <fixedCodeableConcept>
        <text value="Firmware Replaced" />
      </fixedCodeableConcept>
    </element>
    <element id="Bundle.type">
      <path value="Bundle.type" />
      <short value="Must be of type 'collection'" />
      <min value="1" />
      <fixedCode value="collection" />
    </element>
    <element id="Bundle.entry">
      <path value="Bundle.entry" />
      <short value="Entries in the bundle" />
      <min value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
    </element>
    <element id="Bundle.entry.fullUrl">
      <path value="Bundle.entry.fullUrl" />
      <short value="Full URL for the entry" />
      <min value="1" />
      <type>
        <code value="uri" />
      </type>
    </element>
    <element id="Bundle.entry.resource">
      <path value="Bundle.entry.resource" />
      <min value="1" />
      <type>
        <code value="Resource" />
      </type>
    </element>
    <element id="Bundle.entry.resource.Procedure">
      <path value="Bundle.entry.resource" />
      <type>
        <code value="Procedure" />
      </type>
    </element>
    <element id="Bundle.entry.resource.Procedure.subject">
      <path value="Bundle.entry.resource.Procedure.subject" />
      <min value="1" />
      <type>
        <code value="Reference" />
      </type>
    </element>
    <element id="Bundle.entry.resource.Procedure.status">
      <path value="Bundle.entry.resource.Procedure.status" />
      <min value="1" />
      <fixedCode value="completed" />
    </element>
    <element id="Bundle.entry.resource.Procedure.outcome">
      <path value="Bundle.entry.resource.Procedure.outcome" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element id="Bundle.entry.resource.Device">
      <path value="Bundle.entry.resource" />
      <type>
        <code value="Device" />
      </type>
    </element>
    <element id="Bundle.entry.resource.Device.manufacturer">
      <path value="Bundle.entry.resource.Device.manufacturer" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Bundle.entry.resource.Device.serialNumber">
      <path value="Bundle.entry.resource.Device.serialNumber" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Bundle.entry.resource.Device.version">
      <path value="Bundle.entry.resource.Device.version" />
      <min value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
    </element>
    <element id="Bundle.entry.resource.Device.version.type">
      <path value="Bundle.entry.resource.Device.version.type" />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element id="Bundle.entry.resource.Device.version.value">
      <path value="Bundle.entry.resource.Device.version.value" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
  </differential>
</StructureDefinition>