<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ContractPtPatient" />
  <meta>
    <versionId value="1" />
    <lastUpdated value="2019-05-28T16:46:51.547+01:00" />
  </meta>
  <url value="http://spms.min-saude.pt/fhir/StructureDefinition/ContractPtPatient" />
  <name value="ContractPtPatient" />
  <status value="draft" />
  <fhirVersion value="3.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Contract" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Contract" />
  <derivation value="constraint" />
  <snapshot />
  <differential>
    <element id="Contract">
      <path value="Contract" />
      <constraint>
        <key value="subtype-1" />
        <requirements value="SubType must be mandatory" />
        <severity value="error" />
        <human value="SubType must be mandatory" />
        <expression value="type.coding.code='BU' implies subtype.exists()" />
        <xpath value="(f:type/f:coding/f:code='BU') or exists(subtype)" />
      </constraint>
      <constraint>
        <key value="subtype-2" />
        <requirements value="Code must be 'RECM' or 'IsencaoTaxa' or 'Outros'" />
        <severity value="error" />
        <human value="Code must be 'RECM' or 'IsencaoTaxa' or 'Outros'" />
        <expression value="(subtype.coding.code='RECM') or (subtype.coding.code='IsencaoTaxa')  or (subtype.coding.code='Outros')" />
      </constraint>
      <constraint>
        <key value="subtype-3" />
        <requirements value="Display must be 'Regime especial de comparticipação de medicamentos' or 'Isenção de pagamento de taxa moderadora' or 'Outro tipo de medicação especial'" />
        <severity value="error" />
        <human value="Display must be 'Regime especial de comparticipação de medicamentos' or 'Isenção de pagamento de taxa moderadora' or 'Outro tipo de medicação especial'" />
        <expression value="(subtype.coding.code='Regime especial de comparticipação de medicamentos') or (subtype.coding.code='Isenção de pagamento de taxa moderadora') or (subtype.coding.code='Outro tipo de medicação especial')" />
        <xpath value="(f:subtype/f:coding/f:code='Regime especial de comparticipação de medicamentos') or (f:subtype/f:coding/f:code='Isenção de pagamento de taxa moderadora') or (f:subtype/f:coding/f:code='Outro tipo de medicação especial')" />
      </constraint>
    </element>
    <element id="Contract.extension">
      <path value="Contract.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Contract.extension:country-entity">
      <path value="Contract.extension" />
      <sliceName value="country-entity" />
      <type>
        <code value="Extension" />
        <profile value="http://spms.min-saude.pt/rnu/systemcodes/country-entity/v0100" />
      </type>
    </element>
    <element id="Contract.identifier">
      <path value="Contract.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="type.coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Contract.identifier:sliceIdentifierNBU">
      <path value="Contract.identifier" />
      <sliceName value="sliceIdentifierNBU" />
    </element>
    <element id="Contract.identifier:sliceIdentifierNBU.type.coding.system">
      <path value="Contract.identifier.type.coding.system" />
      <fixedUri value="http://spms.min-saude.pt/rnu/systemcodes/identifier-types/v0100" />
    </element>
    <element id="Contract.identifier:sliceIdentifierNBU.type.coding.code">
      <path value="Contract.identifier.type.coding.code" />
      <fixedCode value="NBU" />
    </element>
    <element id="Contract.identifier:sliceIdentifierNBU.type.coding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Contract.identifier.type.coding.display" />
      <fixedString value="Número de Beneficiário" />
    </element>
    <element id="Contract.identifier:sliceIdentifierNBU.type.text">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Contract.identifier.type.text" />
      <fixedString value="Número de Beneficiário do Utente na Entidade" />
    </element>
    <element id="Contract.identifier:sliceIdentifierUUID">
      <path value="Contract.identifier" />
      <sliceName value="sliceIdentifierUUID" />
    </element>
    <element id="Contract.identifier:sliceIdentifierUUID.type.coding.system">
      <path value="Contract.identifier.type.coding.system" />
      <fixedUri value="http://spms.min-saude.pt/rnu/systemcodes/identifier-types/v0100" />
    </element>
    <element id="Contract.identifier:sliceIdentifierUUID.type.coding.code">
      <path value="Contract.identifier.type.coding.code" />
      <fixedCode value="UUID" />
    </element>
    <element id="Contract.identifier:sliceIdentifierUUID.type.coding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Contract.identifier.type.coding.display" />
      <fixedString value="Número Sequencial / UUID do Utente na Entidade" />
    </element>
    <element id="Contract.identifier:sliceIdentifierUUID.system">
      <path value="Contract.identifier.system" />
      <fixedUri value="http://spms.min-saude.pt/rnu/identifiers/uuid" />
    </element>
    <element id="Contract.identifier:sliceIdentifierNPROCESSO">
      <path value="Contract.identifier" />
      <sliceName value="sliceIdentifierNPROCESSO" />
    </element>
    <element id="Contract.identifier:sliceIdentifierNPROCESSO.type.coding.system">
      <path value="Contract.identifier.type.coding.system" />
      <fixedUri value="http://spms.min-saude.pt/rnu/systemcodes/identifier-types/v0100" />
    </element>
    <element id="Contract.identifier:sliceIdentifierNPROCESSO.type.coding.code">
      <path value="Contract.identifier.type.coding.code" />
      <fixedCode value="NPROCESSO" />
    </element>
    <element id="Contract.identifier:sliceIdentifierNPROCESSO.type.coding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Contract.identifier.type.coding.display" />
      <fixedString value="Número do Processo" />
    </element>
    <element id="Contract.identifier:sliceIdentifierNPROCESSO.type.text">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Contract.identifier.type.text" />
      <fixedString value="Número do Porcesso do Utente na Entidade" />
    </element>
    <element id="Contract.identifier:sliceIdentifierNPROCESSO.system">
      <path value="Contract.identifier.system" />
      <fixedUri value="http://spms.min-saude.pt/rnu/identifiers/nprocesso" />
    </element>
    <element id="Contract.subject">
      <path value="Contract.subject" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://spms.min-saude.pt/fhir/StructureDefinition/PatientPORTUGAL" />
        <aggregation value="referenced" />
        <aggregation value="bundled" />
      </type>
    </element>
    <element id="Contract.authority">
      <path value="Contract.authority" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://spms.min-saude.pt/fhir/StructureDefinition/OrganizationPatient" />
        <aggregation value="referenced" />
        <aggregation value="bundled" />
      </type>
    </element>
    <element id="Contract.type.coding">
      <path value="Contract.type.coding" />
      <constraint>
        <key value="code-1" />
        <requirements value="Code must be 'ERU' or 'BU'" />
        <severity value="error" />
        <human value="(f:code='ERU') or (f:code='BU')" />
        <expression value="(code='ERU') or (code='BU')" />
      </constraint>
      <constraint>
        <key value="display-1" />
        <requirements value="Display must be 'Entidade Responsável' or 'Benefício do Utente'" />
        <severity value="error" />
        <human value="(f:display='Benefício do Utente') or (f:display='Entidade Responsável')" />
        <expression value="(display='Benefício do Utente') or (display='Entidade Responsável')" />
      </constraint>
    </element>
    <element id="Contract.type.coding.code">
      <path value="Contract.type.coding.code" />
      <condition value="code-1" />
    </element>
    <element id="Contract.type.coding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Contract.type.coding.display" />
      <condition value="display-1" />
    </element>
    <element id="Contract.subType">
      <path value="Contract.subType" />
      <condition value="subtype-1" />
    </element>
    <element id="Contract.subType.coding.code">
      <path value="Contract.subType.coding.code" />
      <condition value="subtype-2" />
    </element>
    <element id="Contract.subType.coding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Contract.subType.coding.display" />
      <condition value="subtype-3" />
    </element>
    <element id="Contract.actionReason.coding.system">
      <path value="Contract.actionReason.coding.system" />
      <fixedUri value="http://spms.min-saude.pt/rnu/systemcodes/contract-action-reason" />
    </element>
    <element id="Contract.term.identifier.type.coding.system">
      <path value="Contract.term.identifier.type.coding.system" />
      <fixedUri value="http://spms.min-saude.pt/rnu/systemcodes/identifier-types/v0100" />
    </element>
    <element id="Contract.term.identifier.type.coding.code">
      <path value="Contract.term.identifier.type.coding.code" />
      <fixedCode value="NCBE" />
    </element>
    <element id="Contract.term.identifier.type.coding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Contract.term.identifier.type.coding.display" />
      <fixedString value="Número do cartão do benificiário na entidade" />
    </element>
    <element id="Contract.term.identifier.type.text">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Contract.term.identifier.type.text" />
      <fixedString value="Número do cartão do benificiário na entidade" />
    </element>
  </differential>
</StructureDefinition>