<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="nl-vzvz-Device" />
  <language value="nl-NL" />
  <url value="http://vzvz.nl/fhir/StructureDefinition/nl-vzvz-Device" />
  <version value="1.0.0" />
  <name value="NLVZVZDevice" />
  <status value="active" />
  <publisher value="VZVZ" />
  <contact>
    <name value="VZVZ" />
    <telecom>
      <system value="email" />
      <value value="standaardisatie@vzvz.nl" />
      <use value="work" />
    </telecom>
  </contact>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166" />
      <code value="NL" />
      <display value="Netherlands" />
    </coding>
  </jurisdiction>
  <copyright value="VZVZ" />
  <fhirVersion value="3.0.2" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Device" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Device" />
  <derivation value="constraint" />
  <differential>
    <element id="Device">
      <path value="Device" />
      <definition value="Device profile as used in AORTA and outside the AORTA infra (FHIR STU3)" />
    </element>
    <element id="Device.identifier">
      <path value="Device.identifier" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <definition value="AORTA application ID of the requester of the Task" />
      <comment value="If this identifier defines a Device the AORTA infrastructure the identifier represents the applicationid,  &#xA;otherwise the identifier conforms to the system/value defined by the relevant infrastructure" />
      <min value="1" />
      <max value="1" />
      <example>
        <label value="AORTA application ID" />
        <valueIdentifier>
          <system value="http://fhir.nl/fhir/NamingSystem/aorta-app-id" />
          <value value="12345678" />
        </valueIdentifier>
      </example>
      <example>
        <label value="App-ID with OID root" />
        <valueIdentifier>
          <system value="urn:oid:2.16.840.1.113883.2.4.6.6" />
          <value value="12345678" />
        </valueIdentifier>
      </example>
      <example>
        <label value="OID based identifier of a non-AORTA device" />
        <valueIdentifier>
          <system value="urn:ietf:rfc:3986" />
          <value value="urn:oid:2.16.840.1.113883.1.2.3.45678" />
        </valueIdentifier>
      </example>
    </element>
    <element id="Device.identifier:AortaAppID">
      <path value="Device.identifier" />
      <sliceName value="AortaAppID" />
      <max value="1" />
      <constraint>
        <key value="aai-01" />
        <severity value="error" />
        <human value="OID root should be separated from extension for AORTA app-id" />
        <expression value="Device.identifier.where((system = 'http://fhir.nl/fhir/NamingSystem/aorta-app-id' or system = '2.16.840.1.113883.2.4.6.6' or system = '2.16.840.1.113883.2.4.3.111.3.16').value.contains('2.16.840.1.113883.2.4.6.6') and (system = 'http://fhir.nl/fhir/NamingSystem/aorta-app-id' or system = '2.16.840.1.113883.2.4.6.6' or system = '2.16.840.1.113883.2.4.3.111.3.16').value.contains('2.16.840.1.113883.2.4.3.111.3.16')).empty()" />
      </constraint>
    </element>
    <element id="Device.identifier:AortaAppID.system">
      <path value="Device.identifier.system" />
      <short value="applicationID" />
      <definition value="This identifier identifies the Device in the AORTA infrastructure" />
      <comment value="Use this slice to identify a device with its AORTA application-ID. Note: the system element can contain either an OID root or a FHIR NamingSystem.&#xD;&#xA;If the OID variant is uses the system element MUST contain the OID root and the value element MUST contain the OID extension, aka the AORTA application-ID." />
      <example>
        <label value="App-ID with FHIR NamingSystem" />
        <valueUri value="http://fhir.nl/fhir/NamingSystem/AortaAppID" />
      </example>
      <example>
        <label value="App-ID with OID root" />
        <valueUri value="urn:oid:2.16.840.1.113883.2.4.6.6" />
      </example>
      <binding>
        <strength value="required" />
        <valueSetUri value="http://vzvz.nl/fhir/ValueSet/aorta-device" />
      </binding>
    </element>
    <element id="Device.owner.identifier.system">
      <path value="Device.owner.identifier.system" />
      <fixedUri value="http://fhir.nl/fhir/NamingSystem/ura" />
    </element>
  </differential>
</StructureDefinition>