description: Dados do Profissional de Saúde package_name: br.go.ses.core derivation: constraint name: Profissional type: Practitioner elements: identifier: array: true min: 1 max: 2 index: 0 elements: value: {index: 1} required: [value] slicing: rules: closed ordered: true description: Deve conter um ou dois identificadores, podendo ser CPF ou CNS ou ambos. discriminator: - {path: system, type: pattern} min: 1 max: 2 slices: cpf: match: {system: 'https://fhir.saude.go.gov.br/sid/cpf'} schema: index: 2 extensions: {} elements: extension: {index: 3} use: {index: 4} type: {index: 5} system: pattern: {type: uri, value: 'https://fhir.saude.go.gov.br/sid/cpf'} type: uri index: 6 value: {index: 7} period: {index: 8} assigner: {index: 9} required: [system, value] cns: match: {system: 'https://fhir.saude.go.gov.br/sid/cns'} schema: index: 10 extensions: {} elements: extension: {index: 11} use: {index: 12} type: {index: 13} system: pattern: {type: uri, value: 'https://fhir.saude.go.gov.br/sid/cns'} type: uri index: 14 value: {index: 15} period: {index: 16} assigner: {index: 17} required: [system, value] name: constraint: RN04: {human: O text deve possuir pelo menos dois nomes separados por espaço., source: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/profissional', severity: error, expression: text.split(' ').count() > 1} index: 18 extensions: {} elements: extension: {index: 19} use: pattern: {type: code, value: official} type: code index: 20 text: {index: 21} family: {index: 22} given: {index: 23} prefix: {index: 24} suffix: {index: 25} period: {index: 26} required: [text, use] telecom: 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/profissional', 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/profissional', severity: error, expression: '$this.where(system = ''email'').select(value).all(matches(''^([\\w-\\.]+){1,64}@([\\w&&[^_]]+){2,255}(.[a-z]{2,}){1,}$''))'} index: 27 slicing: rules: closed description: Número de telefone ou e-mail do profissional. discriminator: - {path: system, type: pattern} min: 1 slices: phone: match: {system: phone} schema: array: true index: 28 extensions: {} elements: extension: {index: 29} system: pattern: {type: code, value: phone} type: code index: 30 value: {index: 31} use: {index: 32} rank: {index: 33} period: {index: 34} required: [system, value] email: match: {system: email} schema: array: true index: 35 extensions: {} elements: extension: {index: 36} system: pattern: {type: code, value: email} type: code index: 37 value: {index: 38} use: {index: 39} rank: {index: 40} period: {index: 41} required: [system, value] gender: {index: 42} birthDate: constraint: DataComPrecisaoDeDia: {human: Data deve ter a precisão de dia, source: 'https://fhir.saude.go.gov.br/r4/core/StructureDefinition/profissional', severity: error, expression: $this.toString().length() = 10} index: 43 package_version: 1.0.0 class: profile kind: resource url: https://fhir.saude.go.gov.br/r4/core/StructureDefinition/profissional base: http://hl7.org/fhir/StructureDefinition/Practitioner version: 1.0.0 required: [birthDate, gender, identifier, name, telecom]