PackagesCanonicalsLogsProblems
    Packages
    br.go.ses.core@1.0.0
    https://fhir.saude.go.gov.br/r4/core/StructureDefinition/individuo
description: Dados demográficos de um indivíduo
package_name: br.go.ses.core
derivation: constraint
name: Individuo
type: Patient
elements:
  address:
    short: Endereço de residência do indivíduo
    index: 61
    elements:
      use:
        short: Código que identifica o tipo de endereço informado
        pattern: {type: code, value: home}
        type: code
        index: 64
      city:
        short: Município de residência do indivíduo
        binding: {strength: required, valueSet: 'http://www.saude.gov.br/fhir/r4/ValueSet/BRMunicipio-1.0'}
        index: 109
      type: {index: 65}
      state: {index: 111}
      extension: {index: 63}
      line:
        short: Elementos necessários ao endereçamento brasileiro
        array: true
        max: 5
        index: 67
        extensions: {}
        elements:
          extension:
            elements:
              url:
                pattern: {type: uri, value: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/tipo-informacao-endereco'}
                type: uri
                index: 68
        slicing:
          rules: closed
          discriminator:
          - {path: extension.value, type: value}
          min: null
          max: 5
          slices:
            bairro:
              match:
                extension: {value: bairro}
              schema:
                short: Bairro da residência do indivíduo
                index: 69
                extensions: {}
                elements:
                  extension:
                    extensions: {}
                    elements:
                      extension: {index: 70}
                      value:
                        pattern: {type: code, value: bairro}
                        choices: [valueCode]
                        type: code
                        index: 75
                        slicing:
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                pattern: {type: code, value: bairro}
                                choices: [valueCode]
                                type: code
                                index: 75
                              min: 0
                              max: 1
                      valueCode:
                        type: code
                        pattern: {type: code, value: bairro}
                        choiceOf: value
                        index: 76
                        slicing:
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                type: code
                                pattern: {type: code, value: bairro}
                                choiceOf: value
                                index: 76
                              min: 0
                              max: 1
            logradouro:
              match:
                extension: {value: logradouro}
              schema:
                short: Nome do logradouro da residência do indivíduo
                index: 77
                extensions: {}
                elements:
                  extension:
                    extensions: {}
                    elements:
                      extension: {index: 78}
                      value:
                        pattern: {type: code, value: logradouro}
                        choices: [valueCode]
                        type: code
                        index: 83
                        slicing:
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                pattern: {type: code, value: logradouro}
                                choices: [valueCode]
                                type: code
                                index: 83
                              min: 0
                              max: 1
                      valueCode:
                        type: code
                        pattern: {type: code, value: logradouro}
                        choiceOf: value
                        index: 84
                        slicing:
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                type: code
                                pattern: {type: code, value: logradouro}
                                choiceOf: value
                                index: 84
                              min: 0
                              max: 1
            numero:
              match:
                extension: {value: numero}
              schema:
                short: Número da residência do indivíduo
                index: 85
                extensions: {}
                elements:
                  extension:
                    extensions: {}
                    elements:
                      extension: {index: 86}
                      value:
                        pattern: {type: code, value: numero}
                        choices: [valueCode]
                        type: code
                        index: 91
                        slicing:
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                pattern: {type: code, value: numero}
                                choices: [valueCode]
                                type: code
                                index: 91
                              min: 0
                              max: 1
                      valueCode:
                        type: code
                        pattern: {type: code, value: numero}
                        choiceOf: value
                        index: 92
                        slicing:
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                type: code
                                pattern: {type: code, value: numero}
                                choiceOf: value
                                index: 92
                              min: 0
                              max: 1
            complemento:
              match:
                extension: {value: complemento}
              schema:
                short: Complemento do endereço da residência do indivíduo
                index: 93
                extensions: {}
                elements:
                  extension:
                    extensions: {}
                    elements:
                      extension: {index: 94}
                      value:
                        pattern: {type: code, value: complemento}
                        choices: [valueCode]
                        type: code
                        index: 99
                        slicing:
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                pattern: {type: code, value: complemento}
                                choices: [valueCode]
                                type: code
                                index: 99
                              min: 0
                              max: 1
                      valueCode:
                        type: code
                        pattern: {type: code, value: complemento}
                        choiceOf: value
                        index: 100
                        slicing:
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                type: code
                                pattern: {type: code, value: complemento}
                                choiceOf: value
                                index: 100
                              min: 0
                              max: 1
            tipologradouro:
              match:
                extension: {value: tipologradouro}
              schema:
                short: Tipo de logradouro da residência do indivíduo
                binding: {strength: required, valueSet: 'https://fhir.saude.go.gov.br/r4/core/ValueSet/tipo-logradouro'}
                index: 101
                extensions: {}
                elements:
                  extension:
                    extensions: {}
                    elements:
                      extension: {index: 102}
                      value:
                        pattern: {type: code, value: tipologradouro}
                        choices: [valueCode]
                        type: code
                        index: 107
                        slicing:
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                pattern: {type: code, value: tipologradouro}
                                choices: [valueCode]
                                type: code
                                index: 107
                              min: 0
                              max: 1
                      valueCode:
                        type: code
                        pattern: {type: code, value: tipologradouro}
                        choiceOf: value
                        index: 108
                        slicing:
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                type: code
                                pattern: {type: code, value: tipologradouro}
                                choiceOf: value
                                index: 108
                              min: 0
                              max: 1
      id: {index: 62}
      postalCode: {short: Código de Endereçamento Postal da residência do indivíduo, index: 112}
      period: {index: 114}
      country: {index: 113}
      district: {index: 110}
      text: {index: 66}
    extensions: {}
    required: [city, use]
  managingOrganization: {index: 152}
  name:
    type: HumanName
    short: Nome(s) utilizado(s) pelo indivíduo
    array: true
    min: 1
    max: 2
    index: 35
    slicing:
      rules: closed
      description: O tipo de nome official (nome de registro) é obrigatório.
      discriminator:
      - {path: use, type: pattern}
      min: 1
      max: 2
      slices:
        official:
          match: {use: official}
          schema:
            type: HumanName
            short: Nome oficial do indivíduo
            _required: true
            index: 36
            elements:
              use:
                short: Código que identifica o tipo de nome informado
                pattern: {type: code, value: official}
                type: code
                index: 37
              text: {short: Representação de texto do nome completo do indivíduo, index: 38}
            required: [use]
        usual:
          match: {use: usual}
          schema:
            type: HumanName
            short: Nome social do indivíduo
            index: 39
            elements:
              use:
                short: Código que identifica o tipo de nome informado
                pattern: {type: code, value: usual}
                type: code
                index: 40
              text: {short: Representação de texto do nome completo do indivíduo, index: 41}
            required: [use]
  birthDate:
    short: Data em que o indivíduo nasceu, conforme documento oficial
    constraint:
      DataComPrecisaoDeDia: {human: Data deve ter a precisão de dia, source: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/individuo', severity: error, expression: $this.toString().length() = 10}
    index: 58
  multipleBirth:
    choices: []
    index: 120
  deceased:
    choices: []
    index: 60
  extension:
    array: true
    min: 4
    index: 0
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 4
      slices:
        biometria:
          match: {url: null}
          schema: {type: Extension, url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/biometria', index: 13}
          min: 0
        filiacao:
          match: {url: null}
          schema: {type: Extension, url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/filiacao', index: 3}
          min: 1
          max: 4
        situacaoMercadoTrabalho:
          match: {url: null}
          schema: {type: Extension, url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/patient-situacao-mercado-trabalho', index: 16}
          min: 0
          max: 1
        raca:
          match: {url: null}
          schema: {type: Extension, url: 'http://www.saude.gov.br/fhir/r4/StructureDefinition/BRRacaCorEtnia-1.0', index: 1}
          min: 1
          max: 1
        orientacaoSexual:
          match: {url: null}
          schema: {type: Extension, url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/orientacao-sexual', index: 2}
          min: 0
          max: 1
        nacionalidade:
          match: {url: null}
          schema: {type: Extension, url: 'http://www.saude.gov.br/fhir/r4/StructureDefinition/BRNacionalidade', index: 5}
          min: 1
          max: 1
        povosComunidadesTradicionais:
          match: {url: null}
          schema: {type: Extension, url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/povos-comunidades-tradicionais', index: 4}
          min: 0
        localNascimento:
          match: {url: null}
          schema:
            type: Extension
            url: http://hl7.org/fhir/StructureDefinition/patient-birthPlace
            index: 6
            elements:
              value:
                choices: [valueAddress]
                index: 8
              valueAddress: {type: Address, choiceOf: value, index: 9}
        ocupacao:
          match: {url: null}
          schema: {type: Extension, url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/patient-ocupacao', index: 14}
          min: 0
        escolaridade:
          match: {url: null}
          schema: {type: Extension, url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/patient-escolaridade', index: 15}
          min: 0
          max: 1
        identidadeGenero:
          match: {url: null}
          schema:
            type: Extension
            url: http://hl7.org/fhir/StructureDefinition/patient-genderIdentity
            index: 10
            elements:
              value:
                choices: []
                index: 12
  photo:
    short: Fotografia do indivíduo
    index: 121
    elements:
      contentType:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/mimetypes'}
        index: 122
      language: {index: 123}
      data: {index: 124}
      url: {index: 125}
      size: {index: 126}
      hash: {index: 127}
      title: {index: 128}
      creation: {index: 129}
    required: [contentType, data]
  link: {index: 153}
  active: {index: 34}
  communication: {index: 150}
  identifier:
    short: Número de documento que identifica o cidadão
    array: true
    min: 2
    max: 2
    index: 17
    slicing:
      rules: closed
      ordered: true
      description: Deve conter dois identificadores, sendo um o CPF o outro o CNS
      discriminator:
      - {path: system, type: pattern}
      min: 2
      max: 2
      slices:
        cpf:
          match: {system: 'https://fhir.saude.go.gov.br/sid/cpf'}
          schema:
            short: Identificação pelo Cadastro de Pessoas Físicas
            _required: true
            index: 18
            extensions: {}
            elements:
              extension: {index: 19}
              use: {index: 20}
              type: {index: 21}
              system:
                short: O identificador do sistema de identificação
                pattern: {type: uri, value: 'https://fhir.saude.go.gov.br/sid/cpf'}
                type: uri
                index: 22
              value: {short: Número do Cadastro de Pessoas Físicas do indivíduo, index: 23}
              period: {index: 24}
              assigner: {index: 25}
            required: [system, value]
        cns:
          match: {system: 'https://fhir.saude.go.gov.br/sid/cns'}
          schema:
            short: Identificação pelo Cartão Nacional de Saúde
            _required: true
            index: 26
            extensions: {}
            elements:
              extension: {index: 27}
              use: {index: 28}
              type: {index: 29}
              system:
                short: O identificador do sistema de identificação
                pattern: {type: uri, value: 'https://fhir.saude.go.gov.br/sid/cns'}
                type: uri
                index: 30
              value: {short: Número do Cartão Nacional de Saúde do indivíduo, index: 31}
              period: {index: 32}
              assigner: {index: 33}
            required: [system, value]
  telecom:
    short: Meio(s) para entrar em contato com o indivíduo
    constraint:
      NumeroTelefoneValido: {human: 'Máscara de telefone para números nacionais (xx) xxxx-xxxx ou (xx) xxxxx-xxxx. Para números internacionais, o + significa que será utilizado o código do país, a lógica é de 1 a 3 dígitos de código do país (+X, +XX ou +XXX), na sequência uma quantidade de dígitos entre o código de área e o número propriamente dito que, somados ao código do país, não podem exceder 15 dígitos.', source: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/individuo', severity: warning, expression: '$this.where(system = ''phone'').select(value).all(matches(''^((\\(([0-9]{2})\\)) ([0-9]{4,5})\\-([0-9]{4}))|^((\\+\\d{1,3}) (\\d{2,3})) \\d{3,5}\\-\\d{4}$''))'}
      EmailValido: {human: Máscara de email xxx@xxx.xx, source: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/individuo', severity: error, expression: '$this.where(system = ''email'').select(value).all(matches(''^([\\w-\\.]+){1,64}@([\\w&&[^_]]+){2,255}(.[a-z]{2,}){1,}$''))'}
    index: 42
    slicing:
      rules: closed
      description: Número de telefone ou e-mail do cidadão.
      discriminator:
      - {path: system, type: pattern}
      min: 1
      slices:
        phone:
          match: {system: phone}
          schema:
            short: Telefone do indivíduo
            array: true
            index: 43
            extensions: {}
            elements:
              extension: {index: 44}
              system:
                short: Sistema de códigos que define o tipo de meio de contato
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1', bindingName: ContactPointSystem}
                pattern: {type: code, value: phone}
                type: code
                index: 45
              value: {short: Valor do meio de contato, index: 46}
              use: {index: 47}
              rank: {index: 48}
              period: {index: 49}
            required: [system, value]
        email:
          match: {system: email}
          schema:
            short: Email do indivíduo
            array: true
            index: 50
            extensions: {}
            elements:
              extension: {index: 51}
              system:
                short: Sistema de códigos que define o tipo de meio de contato
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1', bindingName: ContactPointSystem}
                pattern: {type: code, value: email}
                type: code
                index: 52
              value: {short: Valor do meio de contato, index: 53}
              use: {index: 54}
              rank: {index: 55}
              period: {index: 56}
            required: [system, value]
  generalPractitioner: {index: 151}
  gender:
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1', bindingName: AdministrativeGender}
    index: 57
  maritalStatus:
    short: Estado civil do indivíduo
    binding: {strength: required, valueSet: 'https://fhir.saude.go.gov.br/r4/core/ValueSet/estado-civil'}
    index: 115
    elements:
      coding:
        short: Codificação que representa o estado civil de um indivíduo
        index: 116
        elements:
          system: {short: Sistema de códigos que define o estado civil de um indivíduo, index: 117}
          code: {short: Código que identifica o estado civil do indivíduo, index: 118}
  contact:
    short: Pessoa(s) de referência do indivíduo a ser(em) contactada(s) em caso de necessidade
    index: 130
    elements:
      relationship:
        short: Tipo de relacionamento do indivíduo com a pessoa de referência
        index: 131
        elements:
          coding:
            short: Codificação que representa o tipo de relacionamento do indivíduo com a pessoa de referência
            binding: {strength: required, valueSet: 'https://fhir.saude.go.gov.br/r4/core/ValueSet/relacao-contato'}
            index: 132
            elements:
              system: {short: Sistema de códigos que define o tipo de relacionamento do indivíduo com a pessoa de referência, index: 133}
              code: {short: Código que identifica o tipo de relacionamento do indivíduo com a pessoa de referência, index: 134}
        required: [coding]
      name:
        short: Nome utilizado pela pessoa de referência
        index: 135
        elements:
          use: {index: 136}
          text: {short: Representação de texto do nome completo da pessoa de referêcia, index: 137}
          family: {index: 138}
          given: {index: 139}
          prefix: {index: 140}
          suffix: {index: 141}
          period: {index: 142}
        required: [text]
      telecom:
        short: Meio(s) para entrar em contato com a pessoa de referência
        constraint:
          NumeroTelefoneValido: {human: 'Máscara de telefone para números nacionais (xx) xxxx-xxxx ou (xx) xxxxx-xxxx. Para números internacionais, o + significa que será utilizado o código do país, a lógica é de 1 a 3 dígitos de código do país (+X, +XX ou +XXX), na sequência uma quantidade de dígitos entre o código de área e o número propriamente dito que, somados ao código do país, não podem exceder 15 dígitos.', source: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/individuo', severity: warning, expression: '$this.where(system = ''phone'').select(value).all(matches(''^((\\(([0-9]{2})\\)) ([0-9]{4,5})\\-([0-9]{4}))|^((\\+\\d{1,3}) (\\d{2,3})) \\d{3,5}\\-\\d{4}$''))'}
        index: 143
        elements:
          system:
            short: Código que identifica o tipo de meio de contato utilizado para entrar em contato com a pessoa de referência
            pattern: {type: code, value: phone}
            type: code
            index: 144
          value: {short: Valor do meio de contato da pessoa de referência, index: 145}
        required: [system, value]
      address: {index: 146}
      gender: {index: 147}
      organization: {index: 148}
      period: {index: 149}
    required: [name, relationship]
package_version: 1.0.0
extensions:
  biometria: {url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/biometria', min: 0, type: Extension, index: 13}
  filiacao: {url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/filiacao', min: 1, max: 4, type: Extension, index: 3}
  situacaoMercadoTrabalho: {url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/patient-situacao-mercado-trabalho', min: 0, max: 1, type: Extension, index: 16}
  raca: {url: 'http://www.saude.gov.br/fhir/r4/StructureDefinition/BRRacaCorEtnia-1.0', min: 1, max: 1, type: Extension, index: 1}
  orientacaoSexual: {url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/orientacao-sexual', min: 0, max: 1, type: Extension, index: 2}
  nacionalidade: {url: 'http://www.saude.gov.br/fhir/r4/StructureDefinition/BRNacionalidade', min: 1, max: 1, type: Extension, index: 5}
  povosComunidadesTradicionais: {url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/povos-comunidades-tradicionais', min: 0, type: Extension, index: 4}
  localNascimento:
    url: http://hl7.org/fhir/StructureDefinition/patient-birthPlace
    type: Extension
    index: 6
    elements:
      value:
        choices: [valueAddress]
        index: 8
      valueAddress: {type: Address, choiceOf: value, index: 9}
  ocupacao: {url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/patient-ocupacao', min: 0, type: Extension, index: 14}
  escolaridade: {url: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/patient-escolaridade', min: 0, max: 1, type: Extension, index: 15}
  identidadeGenero:
    url: http://hl7.org/fhir/StructureDefinition/patient-genderIdentity
    type: Extension
    index: 10
    elements:
      value:
        choices: []
        index: 12
class: profile
kind: resource
url: https://fhir.saude.go.gov.br/r4/core/StructureDefinition/individuo
base: http://hl7.org/fhir/StructureDefinition/Patient
version: 1.0.0
required: [address, birthDate, gender, name, telecom]