<StructureDefinition xmlns="http://hl7.org/fhir">
  <language value="pt-BR" />
  <url value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-consent-1.0" />
  <version value="1.0" />
  <name value="RNDSConsent" />
  <title value="RNDS Consent" />
  <status value="draft" />
  <publisher value="Datasus" />
  <description value="Referência à um documento de consentimento, como definido para o projeto RNDS (Rede Nacional de Dados em Saúde) no Brasil." />
  <fhirVersion value="4.0.0" />
  <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" />
      <short value="Identificador para este registro (referências externas)" />
      <definition value="Identificador exclusivo para esta cópia da Declaração de Consentimento." />
    </element>
    <element id="Consent.status">
      <path value="Consent.status" />
      <definition value="Indica o estado atual deste consentimento." />
      <mustSupport value="true" />
    </element>
    <element id="Consent.scope">
      <path value="Consent.scope" />
      <short value="Qual das quatro áreas cobertas por este recurso (extensível)" />
      <definition value="Um seletor do tipo de consentimento que está sendo apresentado: ADR, Privacidade, Tratamento, Pesquisa." />
      <mustSupport value="true" />
    </element>
    <element id="Consent.category">
      <path value="Consent.category" />
      <short value="Classificação da declaração de consentimento - para indexação / recuperação" />
      <definition value="Uma classificação do tipo de consentimento encontrado na declaração. Este elemento suporta a indexação e recuperação de declarações de consentimento." />
      <max value="1" />
      <fixedCodeableConcept>
        <coding>
          <system value="http://loinc.org" />
          <code value="59284-0" />
        </coding>
      </fixedCodeableConcept>
      <mustSupport value="true" />
    </element>
    <element id="Consent.patient">
      <path value="Consent.patient" />
      <short value="A quem o consentimento se aplica" />
      <definition value="O paciente / consumidor de saúde a quem esse consentimento se aplica." />
      <mustSupport value="true" />
    </element>
    <element id="Consent.dateTime">
      <path value="Consent.dateTime" />
      <short value="Quando este consentimento foi criado ou indexado" />
      <definition value="Quando este consentimento foi emitido / criado / indexado." />
      <mustSupport value="true" />
    </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.policy">
      <path value="Consent.policy" />
      <max value="0" />
    </element>
    <element id="Consent.policyRule">
      <path value="Consent.policyRule" />
      <short value="Qual política esse termo de consentimento se refere" />
      <definition value="Qual política esse termo de consentimento se refere, indicando qual é a nova opção de consentimento." />
      <mustSupport value="true" />
    </element>
    <element id="Consent.verification">
      <path value="Consent.verification" />
      <max value="0" />
    </element>
    <element id="Consent.provision">
      <path value="Consent.provision" />
      <short value="Restrições à base Consent.policyRule" />
      <definition value="Uma exceção à política básica deste consentimento. Uma exceção pode ser uma adição ou remoção de permissões de acesso." />
      <mustSupport value="true" />
    </element>
    <element id="Consent.provision.type">
      <path value="Consent.provision.type" />
      <definition value="Ação a ser tomada - permita ou negue - quando as condições da regra forem atendidas. Não permitido na regra raiz, necessário em todas as regras aninhadas." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Consent.provision.period">
      <path value="Consent.provision.period" />
      <short value="Prazo para esta regra" />
      <definition value="Prazo para esta regra" />
      <mustSupport value="true" />
    </element>
    <element id="Consent.provision.actor">
      <path value="Consent.provision.actor" />
      <short value="Quem | o que é controlado por esta regra (ou grupo, por função)" />
      <definition value="Quem ou o que é controlado por esta regra. Use o grupo para identificar um conjunto de atores por alguma propriedade que eles compartilham (por exemplo, 'oficiais de admissão')." />
      <mustSupport value="true" />
    </element>
    <element id="Consent.provision.actor.role">
      <path value="Consent.provision.actor.role" />
      <short value="Como o ator está envolvido" />
      <definition value="Como o indivíduo está envolvido no conteúdo dos recursos descrito na exceção." />
    </element>
    <element id="Consent.provision.actor.reference">
      <path value="Consent.provision.actor.reference" />
      <definition value="Recurso para o ator (ou grupo, por função)" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
      </type>
    </element>
    <element id="Consent.provision.action">
      <path value="Consent.provision.action" />
      <short value="Ações controladas por esta regra" />
      <definition value="Ações controladas por esta regra" />
      <max value="0" />
    </element>
    <element id="Consent.provision.securityLabel">
      <path value="Consent.provision.securityLabel" />
      <short value="Etiquetas de segurança que definem os recursos afetados" />
      <max value="0" />
    </element>
    <element id="Consent.provision.purpose">
      <path value="Consent.provision.purpose" />
      <max value="0" />
    </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" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>