Guia de Implementação da SES GO - CORE
0.0.1 - draft Brazil flag

Guia de Implementação da SES GO - CORE - Local Development build (v0.0.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Profissional

Official URL: https://fhir.saude.go.gov.br/r4/core/StructureDefinition/profissional Version: 0.0.1
Active as of 2024-09-03 Computable Name: Profissional

Dados do Profissional de Saúde

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Practitioner

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* Practitioner Dados do Profissional de Saúde
... Slices for identifier 1..2 Identifier An identifier for the person as this agent
Slice: Ordered, Closed by pattern:system
.... identifier:All Slices Content/Rules for all slices
..... value 1..1 string The value that is unique
.... identifier:cpf 0..1 Identifier An identifier for the person as this agent
..... extension 0..0
..... use 0..0
..... type 0..0
..... system 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.saude.go.gov.br/sid/cpf
..... value 1..1 string The value that is unique
..... period 0..0
..... assigner 0..0
.... identifier:cns 0..1 Identifier An identifier for the person as this agent
..... extension 0..0
..... use 0..0
..... type 0..0
..... system 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.saude.go.gov.br/sid/cns
..... value 1..1 string The value that is unique
..... period 0..0
..... assigner 0..0
... name C 1..* HumanName The name(s) associated with the practitioner
RN04: O text deve possuir pelo menos dois nomes separados por espaço.
.... extension 0..0
.... use 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Required Pattern: official
.... text 1..1 string Text representation of the full name
.... family 0..0
.... given 0..0
.... prefix 0..0
.... suffix 0..0
.... period 0..0
... Slices for telecom C 1..* ContactPoint A contact detail for the practitioner (that apply to all roles)
Slice: Unordered, Closed by pattern:system
NumeroTelefoneValido: 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.
EmailValido: Máscara de email xxx@xxx.xx
.... telecom:phone 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
..... extension 0..0
..... system 1..1 code phone | fax | email | pager | url | sms | other
Required Pattern: phone
..... value 1..1 string The actual contact point details
..... use 0..0
..... rank 0..0
..... period 0..0
.... telecom:email 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
..... extension 0..0
..... system 1..1 code phone | fax | email | pager | url | sms | other
Required Pattern: email
..... value 1..1 string The actual contact point details
..... use 0..0
..... rank 0..0
..... period 0..0
... birthDate C 1..1 date The date on which the practitioner was born
DataNascimentoComPrecisaoDeDia: Data de nascimento deve ter a precisão de dia

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
DataNascimentoComPrecisaoDeDiaerrorPractitioner.birthDateData de nascimento deve ter a precisão de dia
: $this.toString().length() = 10
EmailValidoerrorPractitioner.telecomMáscara de email xxx@xxx.xx
: $this.where(system = 'email').select(value).all(matches('^([\\w-\\.]+){1,64}@([\\w&&[^_]]+){2,255}(.[a-z]{2,}){1,}$'))
NumeroTelefoneValidoerrorPractitioner.telecomMá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.
: $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}$'))
RN04errorPractitioner.nameO text deve possuir pelo menos dois nomes separados por espaço.
: text.split(' ').count() > 1
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* Practitioner Dados do Profissional de Saúde
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 1..2 Identifier An identifier for the person as this agent
Slice: Ordered, Closed by pattern:system
.... identifier:All Slices Content/Rules for all slices
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:cpf Σ 0..1 Identifier An identifier for the person as this agent
..... extension 0..0
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.saude.go.gov.br/sid/cpf
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:cns Σ 0..1 Identifier An identifier for the person as this agent
..... extension 0..0
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.saude.go.gov.br/sid/cns
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... extension 0..0
.... use ?!Σ 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Required Pattern: official
.... text Σ 1..1 string Text representation of the full name
... Slices for telecom ΣC 1..* ContactPoint A contact detail for the practitioner (that apply to all roles)
Slice: Unordered, Closed by pattern:system
NumeroTelefoneValido: 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.
EmailValido: Máscara de email xxx@xxx.xx
.... telecom:phone Σ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
..... extension 0..0
..... system ΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Required Pattern: phone
..... value Σ 1..1 string The actual contact point details
.... telecom:email Σ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
..... extension 0..0
..... system ΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Required Pattern: email
..... value Σ 1..1 string The actual contact point details
... gender Σ 1..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate ΣC 1..1 date The date on which the practitioner was born
DataNascimentoComPrecisaoDeDia: Data de nascimento deve ter a precisão de dia

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Practitioner.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Practitioner.name.userequiredPattern: official
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Practitioner.telecom:phone.systemrequiredPattern: phone
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Practitioner.telecom:email.systemrequiredPattern: email
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Practitioner.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
DataNascimentoComPrecisaoDeDiaerrorPractitioner.birthDateData de nascimento deve ter a precisão de dia
: $this.toString().length() = 10
EmailValidoerrorPractitioner.telecomMáscara de email xxx@xxx.xx
: $this.where(system = 'email').select(value).all(matches('^([\\w-\\.]+){1,64}@([\\w&&[^_]]+){2,255}(.[a-z]{2,}){1,}$'))
NumeroTelefoneValidoerrorPractitioner.telecomMá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.
: $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}$'))
RN04errorPractitioner.nameO text deve possuir pelo menos dois nomes separados por espaço.
: text.split(' ').count() > 1
dom-2errorPractitionerIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorPractitionerIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorPractitionerIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* Practitioner Dados do Profissional de Saúde
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 1..2 Identifier An identifier for the person as this agent
Slice: Ordered, Closed by pattern:system
.... identifier:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ 0..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
.... identifier:cpf Σ 0..1 Identifier An identifier for the person as this agent
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.saude.go.gov.br/sid/cpf
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:cns Σ 0..1 Identifier An identifier for the person as this agent
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.saude.go.gov.br/sid/cns
..... value Σ 1..1 string The value that is unique
Example General: 123456
... active Σ 0..1 boolean Whether this practitioner's record is in active use
... name ΣC 1..* HumanName The name(s) associated with the practitioner
RN04: O text deve possuir pelo menos dois nomes separados por espaço.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..0
.... use ?!Σ 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Required Pattern: official
.... text Σ 1..1 string Text representation of the full name
... Slices for telecom ΣC 1..* ContactPoint A contact detail for the practitioner (that apply to all roles)
Slice: Unordered, Closed by pattern:system
NumeroTelefoneValido: 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.
EmailValido: Máscara de email xxx@xxx.xx
.... telecom:phone Σ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... system ΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Required Pattern: phone
..... value Σ 1..1 string The actual contact point details
.... telecom:email Σ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... system ΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Required Pattern: email
..... value Σ 1..1 string The actual contact point details
... address Σ 0..* Address Address(es) of the practitioner that are not role specific (typically home address)
... gender Σ 1..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate ΣC 1..1 date The date on which the practitioner was born
DataNascimentoComPrecisaoDeDia: Data de nascimento deve ter a precisão de dia
... photo 0..* Attachment Image of the person
... qualification 0..* BackboneElement Certification, licenses, or training pertaining to the provision of care
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier 0..* Identifier An identifier for this qualification for the practitioner
.... code 1..1 CodeableConcept Coded representation of the qualification
Binding: v2 table 0360, Version 2.7 (example): Specific qualification the practitioner has to provide a service.

.... period 0..1 Period Period during which the qualification is valid
.... issuer 0..1 Reference(Organization) Organization that regulates and issues the qualification
... communication 0..* CodeableConcept A language the practitioner can use in patient communication
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Practitioner.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Practitioner.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Practitioner.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Practitioner.name.userequiredPattern: official
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Practitioner.telecom:phone.systemrequiredPattern: phone
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Practitioner.telecom:email.systemrequiredPattern: email
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Practitioner.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Practitioner.qualification.codeexamplev2.0360.2.7 (a valid code from http://terminology.hl7.org/CodeSystem/v2-0360|2.7)
http://terminology.hl7.org/ValueSet/v2-2.7-0360
from the FHIR Standard
Practitioner.communicationpreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
DataNascimentoComPrecisaoDeDiaerrorPractitioner.birthDateData de nascimento deve ter a precisão de dia
: $this.toString().length() = 10
EmailValidoerrorPractitioner.telecomMáscara de email xxx@xxx.xx
: $this.where(system = 'email').select(value).all(matches('^([\\w-\\.]+){1,64}@([\\w&&[^_]]+){2,255}(.[a-z]{2,}){1,}$'))
NumeroTelefoneValidoerrorPractitioner.telecomMá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.
: $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}$'))
RN04errorPractitioner.nameO text deve possuir pelo menos dois nomes separados por espaço.
: text.split(' ').count() > 1
dom-2errorPractitionerIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorPractitionerIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorPractitionerIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Practitioner

Summary

Mandatory: 8 elements(8 nested mandatory elements)
Prohibited: 24 elements

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Practitioner.identifier (ordered, Closed)
  • The element 1 is sliced based on the value of Practitioner.telecom (Closed)

Differential View

This structure is derived from Practitioner

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* Practitioner Dados do Profissional de Saúde
... Slices for identifier 1..2 Identifier An identifier for the person as this agent
Slice: Ordered, Closed by pattern:system
.... identifier:All Slices Content/Rules for all slices
..... value 1..1 string The value that is unique
.... identifier:cpf 0..1 Identifier An identifier for the person as this agent
..... extension 0..0
..... use 0..0
..... type 0..0
..... system 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.saude.go.gov.br/sid/cpf
..... value 1..1 string The value that is unique
..... period 0..0
..... assigner 0..0
.... identifier:cns 0..1 Identifier An identifier for the person as this agent
..... extension 0..0
..... use 0..0
..... type 0..0
..... system 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.saude.go.gov.br/sid/cns
..... value 1..1 string The value that is unique
..... period 0..0
..... assigner 0..0
... name C 1..* HumanName The name(s) associated with the practitioner
RN04: O text deve possuir pelo menos dois nomes separados por espaço.
.... extension 0..0
.... use 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Required Pattern: official
.... text 1..1 string Text representation of the full name
.... family 0..0
.... given 0..0
.... prefix 0..0
.... suffix 0..0
.... period 0..0
... Slices for telecom C 1..* ContactPoint A contact detail for the practitioner (that apply to all roles)
Slice: Unordered, Closed by pattern:system
NumeroTelefoneValido: 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.
EmailValido: Máscara de email xxx@xxx.xx
.... telecom:phone 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
..... extension 0..0
..... system 1..1 code phone | fax | email | pager | url | sms | other
Required Pattern: phone
..... value 1..1 string The actual contact point details
..... use 0..0
..... rank 0..0
..... period 0..0
.... telecom:email 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
..... extension 0..0
..... system 1..1 code phone | fax | email | pager | url | sms | other
Required Pattern: email
..... value 1..1 string The actual contact point details
..... use 0..0
..... rank 0..0
..... period 0..0
... birthDate C 1..1 date The date on which the practitioner was born
DataNascimentoComPrecisaoDeDia: Data de nascimento deve ter a precisão de dia

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
DataNascimentoComPrecisaoDeDiaerrorPractitioner.birthDateData de nascimento deve ter a precisão de dia
: $this.toString().length() = 10
EmailValidoerrorPractitioner.telecomMáscara de email xxx@xxx.xx
: $this.where(system = 'email').select(value).all(matches('^([\\w-\\.]+){1,64}@([\\w&&[^_]]+){2,255}(.[a-z]{2,}){1,}$'))
NumeroTelefoneValidoerrorPractitioner.telecomMá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.
: $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}$'))
RN04errorPractitioner.nameO text deve possuir pelo menos dois nomes separados por espaço.
: text.split(' ').count() > 1

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* Practitioner Dados do Profissional de Saúde
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 1..2 Identifier An identifier for the person as this agent
Slice: Ordered, Closed by pattern:system
.... identifier:All Slices Content/Rules for all slices
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:cpf Σ 0..1 Identifier An identifier for the person as this agent
..... extension 0..0
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.saude.go.gov.br/sid/cpf
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:cns Σ 0..1 Identifier An identifier for the person as this agent
..... extension 0..0
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.saude.go.gov.br/sid/cns
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... extension 0..0
.... use ?!Σ 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Required Pattern: official
.... text Σ 1..1 string Text representation of the full name
... Slices for telecom ΣC 1..* ContactPoint A contact detail for the practitioner (that apply to all roles)
Slice: Unordered, Closed by pattern:system
NumeroTelefoneValido: 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.
EmailValido: Máscara de email xxx@xxx.xx
.... telecom:phone Σ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
..... extension 0..0
..... system ΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Required Pattern: phone
..... value Σ 1..1 string The actual contact point details
.... telecom:email Σ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
..... extension 0..0
..... system ΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Required Pattern: email
..... value Σ 1..1 string The actual contact point details
... gender Σ 1..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate ΣC 1..1 date The date on which the practitioner was born
DataNascimentoComPrecisaoDeDia: Data de nascimento deve ter a precisão de dia

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Practitioner.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Practitioner.name.userequiredPattern: official
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Practitioner.telecom:phone.systemrequiredPattern: phone
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Practitioner.telecom:email.systemrequiredPattern: email
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Practitioner.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
DataNascimentoComPrecisaoDeDiaerrorPractitioner.birthDateData de nascimento deve ter a precisão de dia
: $this.toString().length() = 10
EmailValidoerrorPractitioner.telecomMáscara de email xxx@xxx.xx
: $this.where(system = 'email').select(value).all(matches('^([\\w-\\.]+){1,64}@([\\w&&[^_]]+){2,255}(.[a-z]{2,}){1,}$'))
NumeroTelefoneValidoerrorPractitioner.telecomMá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.
: $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}$'))
RN04errorPractitioner.nameO text deve possuir pelo menos dois nomes separados por espaço.
: text.split(' ').count() > 1
dom-2errorPractitionerIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorPractitionerIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorPractitionerIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* Practitioner Dados do Profissional de Saúde
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 1..2 Identifier An identifier for the person as this agent
Slice: Ordered, Closed by pattern:system
.... identifier:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ 0..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
.... identifier:cpf Σ 0..1 Identifier An identifier for the person as this agent
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.saude.go.gov.br/sid/cpf
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:cns Σ 0..1 Identifier An identifier for the person as this agent
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.saude.go.gov.br/sid/cns
..... value Σ 1..1 string The value that is unique
Example General: 123456
... active Σ 0..1 boolean Whether this practitioner's record is in active use
... name ΣC 1..* HumanName The name(s) associated with the practitioner
RN04: O text deve possuir pelo menos dois nomes separados por espaço.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..0
.... use ?!Σ 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Required Pattern: official
.... text Σ 1..1 string Text representation of the full name
... Slices for telecom ΣC 1..* ContactPoint A contact detail for the practitioner (that apply to all roles)
Slice: Unordered, Closed by pattern:system
NumeroTelefoneValido: 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.
EmailValido: Máscara de email xxx@xxx.xx
.... telecom:phone Σ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... system ΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Required Pattern: phone
..... value Σ 1..1 string The actual contact point details
.... telecom:email Σ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... system ΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


Required Pattern: email
..... value Σ 1..1 string The actual contact point details
... address Σ 0..* Address Address(es) of the practitioner that are not role specific (typically home address)
... gender Σ 1..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate ΣC 1..1 date The date on which the practitioner was born
DataNascimentoComPrecisaoDeDia: Data de nascimento deve ter a precisão de dia
... photo 0..* Attachment Image of the person
... qualification 0..* BackboneElement Certification, licenses, or training pertaining to the provision of care
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier 0..* Identifier An identifier for this qualification for the practitioner
.... code 1..1 CodeableConcept Coded representation of the qualification
Binding: v2 table 0360, Version 2.7 (example): Specific qualification the practitioner has to provide a service.

.... period 0..1 Period Period during which the qualification is valid
.... issuer 0..1 Reference(Organization) Organization that regulates and issues the qualification
... communication 0..* CodeableConcept A language the practitioner can use in patient communication
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Practitioner.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Practitioner.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Practitioner.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Practitioner.name.userequiredPattern: official
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Practitioner.telecom:phone.systemrequiredPattern: phone
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Practitioner.telecom:email.systemrequiredPattern: email
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Practitioner.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Practitioner.qualification.codeexamplev2.0360.2.7 (a valid code from http://terminology.hl7.org/CodeSystem/v2-0360|2.7)
http://terminology.hl7.org/ValueSet/v2-2.7-0360
from the FHIR Standard
Practitioner.communicationpreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
DataNascimentoComPrecisaoDeDiaerrorPractitioner.birthDateData de nascimento deve ter a precisão de dia
: $this.toString().length() = 10
EmailValidoerrorPractitioner.telecomMáscara de email xxx@xxx.xx
: $this.where(system = 'email').select(value).all(matches('^([\\w-\\.]+){1,64}@([\\w&&[^_]]+){2,255}(.[a-z]{2,}){1,}$'))
NumeroTelefoneValidoerrorPractitioner.telecomMá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.
: $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}$'))
RN04errorPractitioner.nameO text deve possuir pelo menos dois nomes separados por espaço.
: text.split(' ').count() > 1
dom-2errorPractitionerIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorPractitionerIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorPractitionerIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Practitioner

Summary

Mandatory: 8 elements(8 nested mandatory elements)
Prohibited: 24 elements

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Practitioner.identifier (ordered, Closed)
  • The element 1 is sliced based on the value of Practitioner.telecom (Closed)

 

Other representations of profile: CSV, Excel, Schematron