<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.cambio.se/StructureDefinition/ConsentBlockSe/v1" />
  <name value="ConsentBlockSe" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Consent" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Consent" />
  <derivation value="constraint" />
  <differential>
    <element id="Consent.identifier">
      <path value="Consent.identifier" />
      <max value="1" />
    </element>
    <element id="Consent.scope.coding.system">
      <path value="Consent.scope.coding.system" />
      <fixedUri value="http://hl7.org/fhir/ValueSet/consent-scope" />
    </element>
    <element id="Consent.scope.coding.code">
      <path value="Consent.scope.coding.code" />
      <fixedCode value="patient-privacy" />
    </element>
    <element id="Consent.category">
      <path value="Consent.category" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <max value="1" />
    </element>
    <element id="Consent.category:innerBlock">
      <path value="Consent.category" />
      <sliceName value="innerBlock" />
      <max value="1" />
    </element>
    <element id="Consent.category:innerBlock.coding.system">
      <path value="Consent.category.coding.system" />
      <fixedUri value="http://snomed.info/sct" />
    </element>
    <element id="Consent.category:innerBlock.coding.version">
      <path value="Consent.category.coding.version" />
      <fixedString value="http://snomed.info/sct/45991000052106" />
    </element>
    <element id="Consent.category:innerBlock.coding.code">
      <path value="Consent.category.coding.code" />
      <fixedCode value="416409005" />
    </element>
    <element id="Consent.category:outerblock">
      <path value="Consent.category" />
      <sliceName value="outerblock" />
      <max value="1" />
    </element>
    <element id="Consent.category:outerblock.coding.system">
      <path value="Consent.category.coding.system" />
      <fixedUri value="http://snomed.info/sct" />
    </element>
    <element id="Consent.category:outerblock.coding.version">
      <path value="Consent.category.coding.version" />
      <fixedString value="http://snomed.info/sct/45991000052106" />
    </element>
    <element id="Consent.category:outerblock.coding.code">
      <path value="Consent.category.coding.code" />
      <fixedCode value="416308001" />
    </element>
    <element id="Consent.patient">
      <path value="Consent.patient" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://commonprofiles.care/StructureDefinition/PatientSEVendorLite" />
      </type>
    </element>
    <element id="Consent.performer">
      <path value="Consent.performer" />
      <max value="0" />
    </element>
    <element id="Consent.organization">
      <path value="Consent.organization" />
      <max value="0" />
    </element>
    <element id="Consent.source[x]">
      <path value="Consent.source[x]" />
      <max value="0" />
    </element>
    <element id="Consent.policy">
      <path value="Consent.policy" />
      <max value="1" />
    </element>
    <element id="Consent.policy.uri">
      <path value="Consent.policy.uri" />
      <fixedUri value="https://www.riksdagen.se/sv/dokument-lagar/dokument/svensk-forfattningssamling/patientdatalag-2008355_sfs-2008-355" />
    </element>
    <element id="Consent.policyRule">
      <path value="Consent.policyRule" />
      <max value="0" />
    </element>
    <element id="Consent.verification">
      <path value="Consent.verification" />
      <max value="0" />
    </element>
    <element id="Consent.provision">
      <path value="Consent.provision" />
      <min value="1" />
    </element>
    <element id="Consent.provision.type">
      <path value="Consent.provision.type" />
      <fixedCode value="deny" />
    </element>
    <element id="Consent.provision.actor">
      <path value="Consent.provision.actor" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="role.coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Consent.provision.actor:grantor">
      <path value="Consent.provision.actor" />
      <sliceName value="grantor" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Consent.provision.actor:grantor.role.coding.system">
      <path value="Consent.provision.actor.role.coding.system" />
      <fixedUri value="http://hl7.org/fhir/ValueSet/security-role-type" />
    </element>
    <element id="Consent.provision.actor:grantor.role.coding.code">
      <path value="Consent.provision.actor.role.coding.code" />
      <fixedCode value="GRANTOR" />
    </element>
    <element id="Consent.provision.actor:grantor.reference">
      <path value="Consent.provision.actor.reference" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://commonprofiles.care/StructureDefinition/PatientSEVendorLite" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
      </type>
    </element>
    <element id="Consent.provision.actor:primaryauthor">
      <path value="Consent.provision.actor" />
      <sliceName value="primaryauthor" />
      <max value="1" />
    </element>
    <element id="Consent.provision.actor:primaryauthor.role.coding.system">
      <path value="Consent.provision.actor.role.coding.system" />
      <fixedUri value="http://hl7.org/fhir/ValueSet/security-role-type" />
    </element>
    <element id="Consent.provision.actor:primaryauthor.role.coding.code">
      <path value="Consent.provision.actor.role.coding.code" />
      <fixedCode value="PRIMARYAUTHOR" />
    </element>
    <element id="Consent.provision.action">
      <path value="Consent.provision.action" />
      <max value="0" />
    </element>
    <element id="Consent.provision.securityLabel">
      <path value="Consent.provision.securityLabel" />
      <max value="0" />
    </element>
    <element id="Consent.provision.purpose">
      <path value="Consent.provision.purpose" />
      <max value="1" />
    </element>
    <element id="Consent.provision.class">
      <path value="Consent.provision.class" />
      <max value="0" />
    </element>
    <element id="Consent.provision.code">
      <path value="Consent.provision.code" />
      <max value="0" />
    </element>
    <element id="Consent.provision.dataPeriod">
      <path value="Consent.provision.dataPeriod" />
      <max value="0" />
    </element>
    <element id="Consent.provision.data">
      <path value="Consent.provision.data" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision">
      <path value="Consent.provision.provision" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <max value="1" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Consent#Consent.provision" />
    </element>
    <element id="Consent.provision.provision:permitOrganization">
      <path value="Consent.provision.provision" />
      <sliceName value="permitOrganization" />
      <min value="1" />
      <max value="1" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Consent#Consent.provision" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.type">
      <path value="Consent.provision.provision.type" />
      <fixedCode value="permit" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.actor">
      <path value="Consent.provision.provision.actor" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="role.coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Consent.provision.provision:permitOrganization.actor:grantor">
      <path value="Consent.provision.provision.actor" />
      <sliceName value="grantor" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.actor:grantor.role.coding.system">
      <path value="Consent.provision.provision.actor.role.coding.system" />
      <fixedUri value="http://hl7.org/fhir/ValueSet/security-role-type" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.actor:grantor.role.coding.code">
      <path value="Consent.provision.provision.actor.role.coding.code" />
      <fixedCode value="GRANTOR" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.actor:grantor.reference">
      <path value="Consent.provision.provision.actor.reference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <targetProfile value="https://commonprofiles.care/StructureDefinition/PatientSEVendorLite" />
      </type>
    </element>
    <element id="Consent.provision.provision:permitOrganization.actor:grantee">
      <path value="Consent.provision.provision.actor" />
      <sliceName value="grantee" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.actor:grantee.role.coding.system">
      <path value="Consent.provision.provision.actor.role.coding.system" />
      <fixedUri value="http://hl7.org/fhir/ValueSet/security-role-type" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.actor:grantee.role.coding.code">
      <path value="Consent.provision.provision.actor.role.coding.code" />
      <fixedCode value="GRANTEE" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.actor:grantee.reference">
      <path value="Consent.provision.provision.actor.reference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
      </type>
    </element>
    <element id="Consent.provision.provision:permitOrganization.actor:primaryauthor">
      <path value="Consent.provision.provision.actor" />
      <sliceName value="primaryauthor" />
      <max value="1" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.actor:primaryauthor.role.coding.system">
      <path value="Consent.provision.provision.actor.role.coding.system" />
      <fixedUri value="http://hl7.org/fhir/ValueSet/security-role-type" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.actor:primaryauthor.role.coding.code">
      <path value="Consent.provision.provision.actor.role.coding.code" />
      <fixedCode value="PRIMARYAUTHOR" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.actor:primaryauthor.reference">
      <path value="Consent.provision.provision.actor.reference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
      </type>
    </element>
    <element id="Consent.provision.provision:permitOrganization.action">
      <path value="Consent.provision.provision.action" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.securityLabel">
      <path value="Consent.provision.provision.securityLabel" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.class">
      <path value="Consent.provision.provision.class" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.code">
      <path value="Consent.provision.provision.code" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.dataPeriod">
      <path value="Consent.provision.provision.dataPeriod" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.data">
      <path value="Consent.provision.provision.data" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:permitOrganization.provision">
      <path value="Consent.provision.provision.provision" />
      <max value="0" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Consent#Consent.provision" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation">
      <path value="Consent.provision.provision" />
      <sliceName value="temporaryRevocation" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Consent#Consent.provision" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.type">
      <path value="Consent.provision.provision.type" />
      <fixedCode value="permit" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.period.end">
      <path value="Consent.provision.provision.period.end" />
      <min value="1" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor">
      <path value="Consent.provision.provision.actor" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="role.coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:grantor">
      <path value="Consent.provision.provision.actor" />
      <sliceName value="grantor" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:grantor.role.coding.system">
      <path value="Consent.provision.provision.actor.role.coding.system" />
      <fixedUri value="http://hl7.org/fhir/ValueSet/security-role-type" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:grantor.role.coding.code">
      <path value="Consent.provision.provision.actor.role.coding.code" />
      <fixedCode value="GRANTOR" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:grantor.reference">
      <path value="Consent.provision.provision.actor.reference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <targetProfile value="https://commonprofiles.care/StructureDefinition/PatientSEVendorLite" />
      </type>
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:grantee">
      <path value="Consent.provision.provision.actor" />
      <sliceName value="grantee" />
      <min value="1" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:grantee.role.coding.system">
      <path value="Consent.provision.provision.actor.role.coding.system" />
      <fixedUri value="http://hl7.org/fhir/ValueSet/security-role-type" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:grantee.role.coding.code">
      <path value="Consent.provision.provision.actor.role.coding.code" />
      <fixedCode value="GRANTEE" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:grantee.reference">
      <path value="Consent.provision.provision.actor.reference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:primaryauthor">
      <path value="Consent.provision.provision.actor" />
      <sliceName value="primaryauthor" />
      <max value="1" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:primaryauthor.role.coding.system">
      <path value="Consent.provision.provision.actor.role.coding.system" />
      <fixedUri value="http://hl7.org/fhir/ValueSet/security-role-type" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:primaryauthor.role.coding.code">
      <path value="Consent.provision.provision.actor.role.coding.code" />
      <fixedCode value="PRIMARYAUTHOR" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:primaryauthor.reference">
      <path value="Consent.provision.provision.actor.reference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
      </type>
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:overrider">
      <path value="Consent.provision.provision.actor" />
      <sliceName value="overrider" />
      <max value="1" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:overrider.role.coding.system">
      <path value="Consent.provision.provision.actor.role.coding.system" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/v3-ParticipationFunction" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:overrider.role.coding.code">
      <path value="Consent.provision.provision.actor.role.coding.code" />
      <fixedCode value="AUEMROV" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.actor:overrider.reference">
      <path value="Consent.provision.provision.actor.reference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
      </type>
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.action">
      <path value="Consent.provision.provision.action" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.securityLabel">
      <path value="Consent.provision.provision.securityLabel" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.class">
      <path value="Consent.provision.provision.class" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.code">
      <path value="Consent.provision.provision.code" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.dataPeriod">
      <path value="Consent.provision.provision.dataPeriod" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.data">
      <path value="Consent.provision.provision.data" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:temporaryRevocation.provision">
      <path value="Consent.provision.provision.provision" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Consent#Consent.provision" />
    </element>
    <element id="Consent.provision.provision:permitData">
      <path value="Consent.provision.provision" />
      <sliceName value="permitData" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Consent#Consent.provision" />
    </element>
    <element id="Consent.provision.provision:permitData.type">
      <path value="Consent.provision.provision.type" />
      <fixedCode value="permit" />
    </element>
    <element id="Consent.provision.provision:permitData.actor">
      <path value="Consent.provision.provision.actor" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="role.coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Consent.provision.provision:permitData.actor:grantor">
      <path value="Consent.provision.provision.actor" />
      <sliceName value="grantor" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Consent.provision.provision:permitData.actor:grantor.role.coding.system">
      <path value="Consent.provision.provision.actor.role.coding.system" />
      <fixedUri value="http://hl7.org/fhir/ValueSet/security-role-type" />
    </element>
    <element id="Consent.provision.provision:permitData.actor:grantor.role.coding.code">
      <path value="Consent.provision.provision.actor.role.coding.code" />
      <fixedCode value="GRANTOR" />
    </element>
    <element id="Consent.provision.provision:permitData.actor:grantor.reference">
      <path value="Consent.provision.provision.actor.reference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <targetProfile value="https://commonprofiles.care/StructureDefinition/PatientSEVendorLite" />
      </type>
    </element>
    <element id="Consent.provision.provision:permitData.actor:primaryauthor">
      <path value="Consent.provision.provision.actor" />
      <sliceName value="primaryauthor" />
      <max value="1" />
    </element>
    <element id="Consent.provision.provision:permitData.actor:primaryauthor.role.coding.system">
      <path value="Consent.provision.provision.actor.role.coding.system" />
      <fixedUri value="http://hl7.org/fhir/ValueSet/security-role-type" />
    </element>
    <element id="Consent.provision.provision:permitData.actor:primaryauthor.role.coding.code">
      <path value="Consent.provision.provision.actor.role.coding.code" />
      <fixedCode value="PRIMARYAUTHOR" />
    </element>
    <element id="Consent.provision.provision:permitData.actor:primaryauthor.reference">
      <path value="Consent.provision.provision.actor.reference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
      </type>
    </element>
    <element id="Consent.provision.provision:permitData.action">
      <path value="Consent.provision.provision.action" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:permitData.securityLabel">
      <path value="Consent.provision.provision.securityLabel" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:permitData.class">
      <path value="Consent.provision.provision.class" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="code" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Consent.provision.provision:permitData.class:medication">
      <path value="Consent.provision.provision.class" />
      <sliceName value="medication" />
      <max value="1" />
    </element>
    <element id="Consent.provision.provision:permitData.class:medication.system">
      <path value="Consent.provision.provision.class.system" />
      <fixedUri value="urn:riv:informationsecurity:authorization:blocking:4:informationtypeidvalue" />
    </element>
    <element id="Consent.provision.provision:permitData.class:medication.code">
      <path value="Consent.provision.provision.class.code" />
      <fixedCode value="lak" />
    </element>
    <element id="Consent.provision.provision:permitData.class:warning">
      <path value="Consent.provision.provision.class" />
      <sliceName value="warning" />
      <max value="1" />
    </element>
    <element id="Consent.provision.provision:permitData.class:warning.system">
      <path value="Consent.provision.provision.class.system" />
      <fixedUri value="urn:riv:informationsecurity:authorization:blocking:4:informationtypeidvalue" />
    </element>
    <element id="Consent.provision.provision:permitData.class:warning.code">
      <path value="Consent.provision.provision.class.code" />
      <fixedCode value="upp" />
    </element>
    <element id="Consent.provision.provision:permitData.code">
      <path value="Consent.provision.provision.code" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:permitData.dataPeriod">
      <path value="Consent.provision.provision.dataPeriod" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:permitData.data">
      <path value="Consent.provision.provision.data" />
      <max value="0" />
    </element>
    <element id="Consent.provision.provision:permitData.provision">
      <path value="Consent.provision.provision.provision" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Consent#Consent.provision" />
    </element>
  </differential>
</StructureDefinition>