<StructureDefinition xmlns="http://hl7.org/fhir">
  <language value="pt-BR" />
  <url value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-patient-1.0" />
  <version value="1.0" />
  <name value="RNDSPatient" />
  <title value="RNDS Patient" />
  <status value="draft" />
  <publisher value="Datasus" />
  <description value="Um resource representativo para pacientes, como definido para o projeto RNDS (Rede Nacional de Dados em Saúde) no Brasil." />
  <purpose value="O paciente é o sujeito central para os processos informativos de dados em saúde, por isso é necessário a criação de um profile para esse recurso, que se adpate à realidade brasileira." />
  <fhirVersion value="4.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Patient" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Patient" />
  <derivation value="constraint" />
  <differential>
    <element id="Patient">
      <path value="Patient" />
      <short value="Informações sobre um indivíduo recebendo serviços de saúde." />
      <definition value="Dados demográficos sobre um indivíduo que recebeu serviços de saúde." />
      <alias value="Paciente" />
      <mustSupport value="false" />
    </element>
    <element id="Patient.extension">
      <path value="Patient.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Patient.extension:genderIdentity">
      <path value="Patient.extension" />
      <sliceName value="genderIdentity" />
      <short value="O gênero que o paciente se identifica com" />
      <definition value="O gênero com o qual o paciente se identifica. A identidade de gênero do paciente é usada como orientação (por exemplo, para a equipe) sobre como interagir com o paciente." />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/patient-genderIdentity" />
      </type>
    </element>
    <element id="Patient.extension:genderIdentity.value[x]:valueCodeableConcept">
      <path value="Patient.extension.valueCodeableConcept" />
      <sliceName value="valueCodeableConcept" />
      <min value="1" />
      <binding>
        <strength value="required" />
        <description value="O gênero que o paciente se identifica com" />
      </binding>
    </element>
    <element id="Patient.extension:qualityScore">
      <path value="Patient.extension" />
      <sliceName value="qualityScore" />
      <short value="Grau de qualidade" />
      <definition value="Grau de qualidade de um registro de paciente, vai de 0 até 100." />
      <min value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-recordqualityscore-1.0" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension:parent">
      <path value="Patient.extension" />
      <sliceName value="parent" />
      <type>
        <code value="Extension" />
        <profile value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-parent-1.0" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension:bloodType">
      <path value="Patient.extension" />
      <sliceName value="bloodType" />
      <short value="Tipo sanguíneo do paciente." />
      <definition value="Tipo sanguíneo do paciente." />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-bloodtype-1.0" />
      </type>
    </element>
    <element id="Patient.extension:raceEthnicity">
      <path value="Patient.extension" />
      <sliceName value="raceEthnicity" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-race-1.0" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension:birthPlace">
      <path value="Patient.extension" />
      <sliceName value="birthPlace" />
      <short value="Lugar de nascimento do paciente" />
      <definition value="Lugar de nascimento do paciente" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/patient-birthPlace" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension:birthPlace.value[x]:valueAddress">
      <path value="Patient.extension.valueAddress" />
      <sliceName value="valueAddress" />
      <max value="1" />
      <type>
        <code value="Address" />
        <profile value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-address-1.0" />
      </type>
    </element>
    <element id="Patient.extension:birthPlace.value[x]:valueAddress.use">
      <path value="Patient.extension.valueAddress.use" />
      <max value="0" />
    </element>
    <element id="Patient.extension:birthPlace.value[x]:valueAddress.type">
      <path value="Patient.extension.valueAddress.type" />
      <max value="0" />
    </element>
    <element id="Patient.extension:birthPlace.value[x]:valueAddress.text">
      <path value="Patient.extension.valueAddress.text" />
      <max value="0" />
    </element>
    <element id="Patient.extension:birthPlace.value[x]:valueAddress.line">
      <path value="Patient.extension.valueAddress.line" />
      <max value="0" />
    </element>
    <element id="Patient.extension:birthPlace.value[x]:valueAddress.district">
      <path value="Patient.extension.valueAddress.district" />
      <max value="0" />
    </element>
    <element id="Patient.extension:birthPlace.value[x]:valueAddress.postalCode">
      <path value="Patient.extension.valueAddress.postalCode" />
      <max value="0" />
    </element>
    <element id="Patient.extension:birthPlace.value[x]:valueAddress.country">
      <path value="Patient.extension.valueAddress.country" />
      <comment value="Representação de um país, para identificar origem, nacionalidade, região, etc." />
    </element>
    <element id="Patient.extension:birthPlace.value[x]:valueAddress.period">
      <path value="Patient.extension.valueAddress.period" />
      <max value="0" />
    </element>
    <element id="Patient.extension:nationality">
      <path value="Patient.extension" />
      <sliceName value="nationality" />
      <short value="Dados sobre a nacionalidade do paciente" />
      <definition value="Dados sobre a nacionalidade do paciente" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-nationality-1.0" />
      </type>
      <meaningWhenMissing value="Não há informação." />
    </element>
    <element id="Patient.extension:vip">
      <path value="Patient.extension" />
      <sliceName value="vip" />
      <short value="Se o paciente é vip." />
      <definition value="Indica se o paciente é vip, ou seja, tem importancia nacional ou internacional e seus dados devem ter acesso restrito. Por exemplo pessoas famosas, autoridades públicas, etc." />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/patient-importance" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension:vip.value[x]">
      <path value="Patient.extension.value[x]" />
      <type>
        <code value="boolean" />
      </type>
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Patient.extension:vip.value[x]:valueString">
      <path value="Patient.extension.valueString" />
      <sliceName value="valueString" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Patient.extension:vip.value[x]:valueBoolean">
      <path value="Patient.extension.valueBoolean" />
      <sliceName value="valueBoolean" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="Patient.identifier">
      <path value="Patient.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <short value="Um identificador para este paciente" />
      <definition value="Um identificador para este paciente" />
      <requirements value="Os pacientes são quase sempre atribuídos a identificadores numéricos específicos." />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:cns">
      <path value="Patient.identifier" />
      <sliceName value="cns" />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-cns-1.0" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:cpf">
      <path value="Patient.identifier" />
      <sliceName value="cpf" />
      <max value="1" />
      <type>
        <code value="Identifier" />
        <profile value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-cpf-1.0" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.active">
      <path value="Patient.active" />
      <short value="Indica se o registro desse paciente está ativo ou inativo" />
      <definition value="Indica se o registro desse paciente está ativo ou inativo.&#xD;&#xA;&#xD;&#xA;Pacientes falecidos podem também ser marcados como inativos pelos mesmos motivos, mas podem também estar ativos durante algum tempo após o falecimento." />
      <comment value="Valor padrão é true." />
      <requirements value="Necesidade de marcar registros que foram inativados e não devem ser considerados." />
      <alias value="ativo" />
      <min value="1" />
      <mustSupport value="true" />
      <isModifierReason value="É modificador por que é um elemento que pode indicar que o registro não deve ser tratado como válido." />
    </element>
    <element id="Patient.name">
      <path value="Patient.name" />
      <min value="1" />
      <type>
        <code value="HumanName" />
        <profile value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-humanname-1.0" />
      </type>
    </element>
    <element id="Patient.name.use">
      <path value="Patient.name.use" />
      <min value="1" />
    </element>
    <element id="Patient.telecom">
      <path value="Patient.telecom" />
      <short value="Um detalhe de contato para o indivíduo" />
      <definition value="Um detalhe de contato (por exemplo, um número de telefone ou um endereço de e-mail) pelo qual o indivíduo pode ser contatado." />
      <alias value="contato" />
      <alias value="telefone" />
      <alias value="email" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.telecom.system">
      <path value="Patient.telecom.system" />
      <short value="phone | fax | email | pager | other" />
      <definition value="Tipagem para o tipo de telecomunicação para o ponto de contato." />
      <min value="1" />
    </element>
    <element id="Patient.telecom.use">
      <path value="Patient.telecom.use" />
      <short value="home | work | temp | mobile" />
      <definition value="Identifica o objetivo do ponto de contato." />
      <comment value="Os aplicativos podem assumir que um contato é atual, a menos que ele diga explicitamente que é temporário ou antigo." />
      <requirements value="Precisa rastrear a maneira como uma pessoa usa esse contato, para que um usuário possa escolher o que é apropriado para sua finalidade." />
    </element>
    <element id="Patient.telecom.rank">
      <path value="Patient.telecom.rank" />
      <short value="Especifica a ordem preferida de uso (1 = maior)" />
      <definition value="Especifica uma ordem preferencial entre vários contatos do mesmo tipo." />
    </element>
    <element id="Patient.telecom.period">
      <path value="Patient.telecom.period" />
      <max value="0" />
    </element>
    <element id="Patient.gender">
      <path value="Patient.gender" />
      <definition value="Gênero Administrativo - o gênero que o paciente é considerado para fins administrativos e de manutenção de registros. Para identidade de gênero, veja extensão 'genderIdentity'." />
      <comment value="O gênero pode não corresponder ao sexo biológico, conforme determinado pela genética ou pela identificação preferida do indivíduo. Note que, tanto para os humanos quanto para os animais, existem outras possibilidades legítimas do que os machos e as fêmeas, embora a grande maioria dos sistemas e contextos apenas apoie homens e mulheres. Os sistemas que fornecem suporte à decisão ou que impõem regras de negócios devem, idealmente, fazer isso com base em observações que tratam do sexo específico ou gênero de interesse (anatômico, cromossômico, social, etc.) Entretanto, porque essas observações são raramente registradas, deixando de gênero é prática comum. Onde tal falha ocorre, a aplicação de regras deve permitir a variação entre aspectos administrativos e biológicos, cromossômicos e outros aspectos de gênero. Por exemplo, um alerta sobre uma histerectomia em um homem deve ser tratado como um aviso ou erro superável, e não um erro &quot;sério&quot;." />
      <alias value="sexo" />
      <alias value="gênero" />
      <min value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <description value="O sexo de uma pessoa usado para fins administrativos." />
      </binding>
    </element>
    <element id="Patient.birthDate">
      <path value="Patient.birthDate" />
      <short value="A data de nascimento do indivíduo." />
      <definition value="A data de nascimento do indivíduo." />
      <comment value="Caso a data de nascimento, pelo menos uma estimativa de ano deve ser fornecida, utilizando 1º de janeiro como dia e mês." />
      <requirements value="A idade do paciente pode determinar diferentes procedimentos médicos." />
      <alias value="dataNascimento" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.deceased[x]">
      <path value="Patient.deceased[x]" />
      <short value="Indica se o indivíduo está morto ou não" />
      <definition value="Indica se o indivíduo está morto ou não." />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address">
      <path value="Patient.address" />
      <short value="Endereços de moradia do paciente" />
      <definition value="Endereços de moradia do paciente" />
      <requirements value="Pode ser necessário acompanhar os endereços dos pacientes para os requisitos de contato, cobrança ou emissão de relatórios e também para ajudar na identificação." />
      <type>
        <code value="Address" />
        <profile value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-address-1.0" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.maritalStatus">
      <path value="Patient.maritalStatus" />
      <max value="0" />
    </element>
    <element id="Patient.photo">
      <path value="Patient.photo" />
      <max value="0" />
    </element>
    <element id="Patient.contact">
      <path value="Patient.contact" />
      <max value="0" />
    </element>
    <element id="Patient.communication">
      <path value="Patient.communication" />
      <max value="0" />
    </element>
    <element id="Patient.generalPractitioner">
      <path value="Patient.generalPractitioner" />
      <max value="0" />
    </element>
    <element id="Patient.managingOrganization">
      <path value="Patient.managingOrganization" />
      <max value="0" />
    </element>
    <element id="Patient.link">
      <path value="Patient.link" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>