Guía de Implementación Core de Costa Rica
0.1.0 - ci-build
Guía de Implementación Core de Costa Rica - Versión en desarrollo (v0.1.0): borrador de trabajo de la Iniciativa HL7® Costa Rica, que puede cambiar sin aviso.
| URL oficial: https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role | Versión: 0.1.0 | ||||
| Standards status: Draft | Nombre computable: CRPractitionerRole | ||||
Relación entre un profesional de salud y una organización en la que trabaja en Costa Rica: la profesión con que actúa, sus especialidades, las ubicaciones donde atiende, el periodo y su contacto de trabajo. Implementa el modelo lógico del rol del profesional.
Usos:
También puede consultar los usos en las estadísticas de IG de FHIR
Descripción de perfiles, diferenciales, instantáneas y sus representaciones.
| Nombre | Marcas | Card. | Tipo | Descripción y restricciones Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | PractitionerRole | Rol del profesional: en qué organización trabaja, con qué profesión y dónde Constraints: cr-rol-programa-ccss, cr-identificador-unico |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣC | 0..* | Identifier | Código interno del profesional en la organización (código de funcionario) Constraints: cr-rol-system |
![]() ![]() ![]() |
?!Σ | 0..1 | code | official (valor fijo) Vinculación: IdentifierUse (required): Identifies the purpose for this identifier, if known . Required Pattern: official |
![]() ![]() ![]() |
SΣ | 1..1 | uri | https://hl7.or.cr/fhir/sid/rol/{código del establecimiento} Example General: http://www.acme.com/identifiers/patient |
![]() ![]() ![]() |
SΣC | 1..1 | string | Código del profesional en el sistema de la organización Constraints: cr-codigo-interno-value Example General: 123456 Max Length:64 |
![]() ![]() |
SΣ | 1..1 | boolean | Si el rol está vigente |
![]() ![]() |
SΣ | 0..1 | Period | Periodo en que el profesional cumple el rol |
![]() ![]() ![]() |
SΣC | 0..1 | dateTime | Desde cuándo |
![]() ![]() ![]() |
SΣC | 0..1 | dateTime | Hasta cuándo |
![]() ![]() |
SΣ | 1..1 | Reference(Profesional de salud) | Profesional que cumple el rol |
![]() ![]() |
SΣ | 1..1 | Reference(Organización) | Organización donde trabaja (la unidad más específica) |
![]() ![]() |
SΣ | 1..* | CodeableConcept | Profesión con que actúa y, en un rol de la CCSS, el programa del sistema mixto Slice: Sin orden, Abierto by value:coding.system Vinculación: PractitionerRole (example): The role a person plays representing an organization. |
![]() ![]() ![]() |
SΣ | 1..1 | CodeableConcept | Profesión con la que el profesional cumple el rol Vinculación: Profesiones de salud (required) |
![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | Programa del sistema mixto de atención de la CCSS (medicina mixta, medicina de empresa) Vinculación: Programas de la CCSS (required) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Especialidades que ejerce en este rol Vinculación: Especialidades en salud (extensible) |
![]() ![]() |
SΣ | 0..* | Reference(Ubicación) | Ubicaciones donde atiende |
![]() ![]() |
S | 0..* | ExtendedContactDetail | Contacto de trabajo del profesional en esta organización |
![]() ![]() ![]() |
SΣC | 0..* | ContactPoint | Teléfono (+506 y 8 dígitos; extensión interna con ;ext=) o correo electrónico Constraints: cr-telefono |
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | work (valor fijo) Vinculación: ContactPointUse (required): Use of contact point. Required Pattern: work |
Documentación de este formato | ||||
| Ruta | Estado | Uso | ValueSet | Versión | Fuente |
| PractitionerRole.identifier.use | Base | required | IdentifierUse | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.code | Base | example | Practitioner Role | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.code:profesion | Base | required | Profesiones de salud | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.code:programaCcss | Base | required | Programas de la CCSS | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.specialty | Base | extensible | Especialidades en salud | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.contact.telecom.use | Base | required | ContactPointUse | 📍5.0.0 | Estándar FHIR |
| Id | Nivel | Ruta(s) | Descripción | Expression |
| cr-codigo-interno-value | error | PractitionerRole.identifier.value | Un código interno tiene de 1 a 64 caracteres, sin espacios. |
matches('^\\S{1,64}$')
|
| cr-identificador-unico | error | PractitionerRole | No hay dos identificadores con el mismo system y el mismo valor. |
identifier.select(system & '|' & value).isDistinct()
|
| cr-rol-programa-ccss | error | PractitionerRole | Un rol con un programa de la CCSS tiene como organización a la CCSS (cédula jurídica 4000042147). |
code.coding.where(system = 'https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss').exists() implies (organization.reference.exists() or organization.identifier.where(system = 'https://hl7.or.cr/fhir/sid/cedula-juridica' and value = '4000042147').exists())
|
| cr-rol-system | error | PractitionerRole.identifier | El system del identificador es https://hl7.or.cr/fhir/sid/rol/ seguido del código del establecimiento (cj-, cn- o dimex- y el identificador del titular). |
system.matches('^https://hl7\\.or\\.cr/fhir/sid/rol/(cj-[1-9][0-9]{9}|cn-[1-9][0-9]{8}|dimex-[1-9][0-9]{10,11})$')
|
| cr-telefono | error | PractitionerRole.contact.telecom | Un teléfono está en formato E.164 (+ y de 8 a 15 dígitos, sin espacios ni guiones), con una extensión interna opcional después de ;ext=. En Costa Rica (+506) tiene 8 dígitos que empiezan de 2 a 8, o es un número 800 o 900 de 10 dígitos. |
(system = 'phone' or system = 'fax' or system = 'sms') implies (value.matches('^\\+[1-9][0-9]{7,14}(;ext=[0-9]{1,6})?$') and (value.startsWith('+506') implies value.matches('^\\+506([2-8][0-9]{7}|[89]00[0-9]{7})(;ext=[0-9]{1,6})?$')))
|
| dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | PractitionerRole | If 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | PractitionerRole | If 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-5 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | PractitionerRole | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **TODOS** los elementos | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **TODAS** las extensiones | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Esta estructura se deriva de PractitionerRole .
| Nombre | Marcas | Card. | Tipo | Descripción y restricciones Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | PractitionerRole | Rol del profesional: en qué organización trabaja, con qué profesión y dónde Constraints: cr-rol-programa-ccss, cr-identificador-unico |
![]() ![]() |
SC | 0..* | Identifier | Código interno del profesional en la organización (código de funcionario) Constraints: cr-rol-system |
![]() ![]() ![]() |
0..1 | code | official (valor fijo) Required Pattern: official | |
![]() ![]() ![]() |
S | 1..1 | uri | https://hl7.or.cr/fhir/sid/rol/{código del establecimiento} |
![]() ![]() ![]() |
SC | 1..1 | string | Código del profesional en el sistema de la organización Constraints: cr-codigo-interno-value Max Length:64 |
![]() ![]() |
S | 1..1 | boolean | Si el rol está vigente |
![]() ![]() |
S | 0..1 | Period | Periodo en que el profesional cumple el rol |
![]() ![]() ![]() |
S | 0..1 | dateTime | Desde cuándo |
![]() ![]() ![]() |
S | 0..1 | dateTime | Hasta cuándo |
![]() ![]() |
S | 1..1 | Reference(Profesional de salud) | Profesional que cumple el rol |
![]() ![]() |
S | 1..1 | Reference(Organización) | Organización donde trabaja (la unidad más específica) |
![]() ![]() |
S | 1..* | CodeableConcept | Profesión con que actúa y, en un rol de la CCSS, el programa del sistema mixto Slice: Sin orden, Abierto by value:coding.system |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Profesión con la que el profesional cumple el rol Vinculación: Profesiones de salud (required) |
![]() ![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Sistema de códigos del slice (valor fijo) Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud | |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Programa del sistema mixto de atención de la CCSS (medicina mixta, medicina de empresa) Vinculación: Programas de la CCSS (required) |
![]() ![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Sistema de códigos del slice (valor fijo) Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss | |
![]() ![]() |
S | 0..* | CodeableConcept | Especialidades que ejerce en este rol Vinculación: Especialidades en salud (extensible) |
![]() ![]() |
S | 0..* | Reference(Ubicación) | Ubicaciones donde atiende |
![]() ![]() |
S | 0..* | ExtendedContactDetail | Contacto de trabajo del profesional en esta organización |
![]() ![]() ![]() |
SC | 0..* | ContactPoint | Teléfono (+506 y 8 dígitos; extensión interna con ;ext=) o correo electrónico Constraints: cr-telefono |
![]() ![]() ![]() ![]() |
0..1 | code | work (valor fijo) Required Pattern: work | |
Documentación de este formato | ||||
| Ruta | Estado | Uso | ValueSet | Versión | Fuente |
| PractitionerRole.code:profesion | Base | required | Profesiones de salud | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.code:programaCcss | Base | required | Programas de la CCSS | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.specialty | Base | extensible | Especialidades en salud | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| Id | Nivel | Ruta(s) | Descripción | Expression |
| cr-codigo-interno-value | error | PractitionerRole.identifier.value | Un código interno tiene de 1 a 64 caracteres, sin espacios. |
matches('^\\S{1,64}$')
|
| cr-identificador-unico | error | PractitionerRole | No hay dos identificadores con el mismo system y el mismo valor. |
identifier.select(system & '|' & value).isDistinct()
|
| cr-rol-programa-ccss | error | PractitionerRole | Un rol con un programa de la CCSS tiene como organización a la CCSS (cédula jurídica 4000042147). |
code.coding.where(system = 'https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss').exists() implies (organization.reference.exists() or organization.identifier.where(system = 'https://hl7.or.cr/fhir/sid/cedula-juridica' and value = '4000042147').exists())
|
| cr-rol-system | error | PractitionerRole.identifier | El system del identificador es https://hl7.or.cr/fhir/sid/rol/ seguido del código del establecimiento (cj-, cn- o dimex- y el identificador del titular). |
system.matches('^https://hl7\\.or\\.cr/fhir/sid/rol/(cj-[1-9][0-9]{9}|cn-[1-9][0-9]{8}|dimex-[1-9][0-9]{10,11})$')
|
| cr-telefono | error | PractitionerRole.contact.telecom | Un teléfono está en formato E.164 (+ y de 8 a 15 dígitos, sin espacios ni guiones), con una extensión interna opcional después de ;ext=. En Costa Rica (+506) tiene 8 dígitos que empiezan de 2 a 8, o es un número 800 o 900 de 10 dígitos. |
(system = 'phone' or system = 'fax' or system = 'sms') implies (value.matches('^\\+[1-9][0-9]{7,14}(;ext=[0-9]{1,6})?$') and (value.startsWith('+506') implies value.matches('^\\+506([2-8][0-9]{7}|[89]00[0-9]{7})(;ext=[0-9]{1,6})?$')))
|
| Nombre | Marcas | Card. | Tipo | Descripción y restricciones Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | PractitionerRole | Rol del profesional: en qué organización trabaja, con qué profesión y dónde Constraints: cr-rol-programa-ccss, cr-identificador-unico | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Vinculación: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣC | 0..* | Identifier | Código interno del profesional en la organización (código de funcionario) Constraints: cr-rol-system | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | official (valor fijo) Vinculación: IdentifierUse (required): Identifies the purpose for this identifier, if known . Required Pattern: official | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Vinculación: IdentifierTypeCodes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
![]() ![]() ![]() |
SΣ | 1..1 | uri | https://hl7.or.cr/fhir/sid/rol/{código del establecimiento} Example General: http://www.acme.com/identifiers/patient | ||||
![]() ![]() ![]() |
SΣC | 1..1 | string | Código del profesional en el sistema de la organización Constraints: cr-codigo-interno-value Example General: 123456 Max Length:64 | ||||
![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
SΣ | 1..1 | boolean | Si el rol está vigente | ||||
![]() ![]() |
SΣ | 0..1 | Period | Periodo en que el profesional cumple el rol | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() |
SΣC | 0..1 | dateTime | Desde cuándo | ||||
![]() ![]() ![]() |
SΣC | 0..1 | dateTime | Hasta cuándo | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Profesional de salud) | Profesional que cumple el rol | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Organización) | Organización donde trabaja (la unidad más específica) | ||||
![]() ![]() |
SΣ | 1..* | CodeableConcept | Profesión con que actúa y, en un rol de la CCSS, el programa del sistema mixto Slice: Sin orden, Abierto by value:coding.system Vinculación: PractitionerRole (example): The role a person plays representing an organization. | ||||
![]() ![]() ![]() |
SΣ | 1..1 | CodeableConcept | Profesión con la que el profesional cumple el rol Vinculación: Profesiones de salud (required) | ||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Sistema de códigos del slice (valor fijo) Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | Programa del sistema mixto de atención de la CCSS (medicina mixta, medicina de empresa) Vinculación: Programas de la CCSS (required) | ||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Sistema de códigos del slice (valor fijo) Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Especialidades que ejerce en este rol Vinculación: Especialidades en salud (extensible) | ||||
![]() ![]() |
SΣ | 0..* | Reference(Ubicación) | Ubicaciones donde atiende | ||||
![]() ![]() |
0..* | Reference(HealthcareService) | Healthcare services provided for this role's Organization/Location(s) | |||||
![]() ![]() |
S | 0..* | ExtendedContactDetail | Contacto de trabajo del profesional en esta organización | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The type of contact Vinculación: Contact entity type (preferred): The purpose for which an extended contact detail should be used. | ||||
![]() ![]() ![]() |
Σ | 0..* | HumanName | Name of an individual to contact | ||||
![]() ![]() ![]() |
SΣC | 0..* | ContactPoint | Teléfono (+506 y 8 dígitos; extensión interna con ;ext=) o correo electrónico Constraints: cr-telefono | ||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | code | phone | fax | email | pager | url | sms | other Vinculación: ContactPointSystem (required): Telecommunications form for contact point. | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | The actual contact point details | ||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | work (valor fijo) Vinculación: ContactPointUse (required): Use of contact point. Required Pattern: work | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when the contact point was/is in use | ||||
![]() ![]() ![]() |
Σ | 0..1 | Address | Address for the contact | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | This contact detail is handled/monitored by a specific organization | ||||
![]() ![]() ![]() |
Σ | 0..1 | Period | Period that this contact was valid for usage | ||||
![]() ![]() |
0..* | CodeableConcept | Collection of characteristics (attributes) Vinculación: ServiceMode (example): A custom attribute that could be provided at a service (e.g. Wheelchair accessibility). | |||||
![]() ![]() |
0..* | CodeableConcept | A language the practitioner (in this role) can use in patient communication Vinculación: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..* | Availability | Times the Practitioner is available at this location and/or healthcare service (including exceptions) | |||||
![]() ![]() |
0..* | Reference(Endpoint) | Endpoints for interacting with the practitioner in this role | |||||
Documentación de este formato | ||||||||
| Ruta | Estado | Uso | ValueSet | Versión | Fuente |
| PractitionerRole.language | Base | required | All Languages | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.identifier.use | Base | required | IdentifierUse | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.identifier.type | Base | extensible | Identifier Type Codes | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.code | Base | example | Practitioner Role | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.code:profesion | Base | required | Profesiones de salud | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.code:programaCcss | Base | required | Programas de la CCSS | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.specialty | Base | extensible | Especialidades en salud | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.contact.purpose | Base | preferred | Contact entity type | 📦2.0.0 | THO v7.4 |
| PractitionerRole.contact.telecom.system | Base | required | ContactPointSystem | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.contact.telecom.use | Base | required | ContactPointUse | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.characteristic | Base | example | Service Mode | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.communication | Base | required | All Languages | 📍5.0.0 | Estándar FHIR |
| Id | Nivel | Ruta(s) | Descripción | Expression |
| cr-codigo-interno-value | error | PractitionerRole.identifier.value | Un código interno tiene de 1 a 64 caracteres, sin espacios. |
matches('^\\S{1,64}$')
|
| cr-identificador-unico | error | PractitionerRole | No hay dos identificadores con el mismo system y el mismo valor. |
identifier.select(system & '|' & value).isDistinct()
|
| cr-rol-programa-ccss | error | PractitionerRole | Un rol con un programa de la CCSS tiene como organización a la CCSS (cédula jurídica 4000042147). |
code.coding.where(system = 'https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss').exists() implies (organization.reference.exists() or organization.identifier.where(system = 'https://hl7.or.cr/fhir/sid/cedula-juridica' and value = '4000042147').exists())
|
| cr-rol-system | error | PractitionerRole.identifier | El system del identificador es https://hl7.or.cr/fhir/sid/rol/ seguido del código del establecimiento (cj-, cn- o dimex- y el identificador del titular). |
system.matches('^https://hl7\\.or\\.cr/fhir/sid/rol/(cj-[1-9][0-9]{9}|cn-[1-9][0-9]{8}|dimex-[1-9][0-9]{10,11})$')
|
| cr-telefono | error | PractitionerRole.contact.telecom | Un teléfono está en formato E.164 (+ y de 8 a 15 dígitos, sin espacios ni guiones), con una extensión interna opcional después de ;ext=. En Costa Rica (+506) tiene 8 dígitos que empiezan de 2 a 8, o es un número 800 o 900 de 10 dígitos. |
(system = 'phone' or system = 'fax' or system = 'sms') implies (value.matches('^\\+[1-9][0-9]{7,14}(;ext=[0-9]{1,6})?$') and (value.startsWith('+506') implies value.matches('^\\+506([2-8][0-9]{7}|[89]00[0-9]{7})(;ext=[0-9]{1,6})?$')))
|
| dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | PractitionerRole | If 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | PractitionerRole | If 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-5 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | PractitionerRole | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **TODOS** los elementos | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **TODAS** las extensiones | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Esta estructura se deriva de PractitionerRole .
Resumen
Obligatorios: 5 elementos(4 nested mandatory elementos)
Must-Support: 16 elementos
Estructuras
Esta estructura hace referencia a estas otras estructuras:
Slices
This structure defines the following Slices:
Vista de elementos clave
| Nombre | Marcas | Card. | Tipo | Descripción y restricciones Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | PractitionerRole | Rol del profesional: en qué organización trabaja, con qué profesión y dónde Constraints: cr-rol-programa-ccss, cr-identificador-unico |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣC | 0..* | Identifier | Código interno del profesional en la organización (código de funcionario) Constraints: cr-rol-system |
![]() ![]() ![]() |
?!Σ | 0..1 | code | official (valor fijo) Vinculación: IdentifierUse (required): Identifies the purpose for this identifier, if known . Required Pattern: official |
![]() ![]() ![]() |
SΣ | 1..1 | uri | https://hl7.or.cr/fhir/sid/rol/{código del establecimiento} Example General: http://www.acme.com/identifiers/patient |
![]() ![]() ![]() |
SΣC | 1..1 | string | Código del profesional en el sistema de la organización Constraints: cr-codigo-interno-value Example General: 123456 Max Length:64 |
![]() ![]() |
SΣ | 1..1 | boolean | Si el rol está vigente |
![]() ![]() |
SΣ | 0..1 | Period | Periodo en que el profesional cumple el rol |
![]() ![]() ![]() |
SΣC | 0..1 | dateTime | Desde cuándo |
![]() ![]() ![]() |
SΣC | 0..1 | dateTime | Hasta cuándo |
![]() ![]() |
SΣ | 1..1 | Reference(Profesional de salud) | Profesional que cumple el rol |
![]() ![]() |
SΣ | 1..1 | Reference(Organización) | Organización donde trabaja (la unidad más específica) |
![]() ![]() |
SΣ | 1..* | CodeableConcept | Profesión con que actúa y, en un rol de la CCSS, el programa del sistema mixto Slice: Sin orden, Abierto by value:coding.system Vinculación: PractitionerRole (example): The role a person plays representing an organization. |
![]() ![]() ![]() |
SΣ | 1..1 | CodeableConcept | Profesión con la que el profesional cumple el rol Vinculación: Profesiones de salud (required) |
![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | Programa del sistema mixto de atención de la CCSS (medicina mixta, medicina de empresa) Vinculación: Programas de la CCSS (required) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Especialidades que ejerce en este rol Vinculación: Especialidades en salud (extensible) |
![]() ![]() |
SΣ | 0..* | Reference(Ubicación) | Ubicaciones donde atiende |
![]() ![]() |
S | 0..* | ExtendedContactDetail | Contacto de trabajo del profesional en esta organización |
![]() ![]() ![]() |
SΣC | 0..* | ContactPoint | Teléfono (+506 y 8 dígitos; extensión interna con ;ext=) o correo electrónico Constraints: cr-telefono |
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | work (valor fijo) Vinculación: ContactPointUse (required): Use of contact point. Required Pattern: work |
Documentación de este formato | ||||
| Ruta | Estado | Uso | ValueSet | Versión | Fuente |
| PractitionerRole.identifier.use | Base | required | IdentifierUse | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.code | Base | example | Practitioner Role | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.code:profesion | Base | required | Profesiones de salud | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.code:programaCcss | Base | required | Programas de la CCSS | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.specialty | Base | extensible | Especialidades en salud | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.contact.telecom.use | Base | required | ContactPointUse | 📍5.0.0 | Estándar FHIR |
| Id | Nivel | Ruta(s) | Descripción | Expression |
| cr-codigo-interno-value | error | PractitionerRole.identifier.value | Un código interno tiene de 1 a 64 caracteres, sin espacios. |
matches('^\\S{1,64}$')
|
| cr-identificador-unico | error | PractitionerRole | No hay dos identificadores con el mismo system y el mismo valor. |
identifier.select(system & '|' & value).isDistinct()
|
| cr-rol-programa-ccss | error | PractitionerRole | Un rol con un programa de la CCSS tiene como organización a la CCSS (cédula jurídica 4000042147). |
code.coding.where(system = 'https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss').exists() implies (organization.reference.exists() or organization.identifier.where(system = 'https://hl7.or.cr/fhir/sid/cedula-juridica' and value = '4000042147').exists())
|
| cr-rol-system | error | PractitionerRole.identifier | El system del identificador es https://hl7.or.cr/fhir/sid/rol/ seguido del código del establecimiento (cj-, cn- o dimex- y el identificador del titular). |
system.matches('^https://hl7\\.or\\.cr/fhir/sid/rol/(cj-[1-9][0-9]{9}|cn-[1-9][0-9]{8}|dimex-[1-9][0-9]{10,11})$')
|
| cr-telefono | error | PractitionerRole.contact.telecom | Un teléfono está en formato E.164 (+ y de 8 a 15 dígitos, sin espacios ni guiones), con una extensión interna opcional después de ;ext=. En Costa Rica (+506) tiene 8 dígitos que empiezan de 2 a 8, o es un número 800 o 900 de 10 dígitos. |
(system = 'phone' or system = 'fax' or system = 'sms') implies (value.matches('^\\+[1-9][0-9]{7,14}(;ext=[0-9]{1,6})?$') and (value.startsWith('+506') implies value.matches('^\\+506([2-8][0-9]{7}|[89]00[0-9]{7})(;ext=[0-9]{1,6})?$')))
|
| dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | PractitionerRole | If 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | PractitionerRole | If 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-5 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | PractitionerRole | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **TODOS** los elementos | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **TODAS** las extensiones | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Vista diferencial
Esta estructura se deriva de PractitionerRole .
| Nombre | Marcas | Card. | Tipo | Descripción y restricciones Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | PractitionerRole | Rol del profesional: en qué organización trabaja, con qué profesión y dónde Constraints: cr-rol-programa-ccss, cr-identificador-unico |
![]() ![]() |
SC | 0..* | Identifier | Código interno del profesional en la organización (código de funcionario) Constraints: cr-rol-system |
![]() ![]() ![]() |
0..1 | code | official (valor fijo) Required Pattern: official | |
![]() ![]() ![]() |
S | 1..1 | uri | https://hl7.or.cr/fhir/sid/rol/{código del establecimiento} |
![]() ![]() ![]() |
SC | 1..1 | string | Código del profesional en el sistema de la organización Constraints: cr-codigo-interno-value Max Length:64 |
![]() ![]() |
S | 1..1 | boolean | Si el rol está vigente |
![]() ![]() |
S | 0..1 | Period | Periodo en que el profesional cumple el rol |
![]() ![]() ![]() |
S | 0..1 | dateTime | Desde cuándo |
![]() ![]() ![]() |
S | 0..1 | dateTime | Hasta cuándo |
![]() ![]() |
S | 1..1 | Reference(Profesional de salud) | Profesional que cumple el rol |
![]() ![]() |
S | 1..1 | Reference(Organización) | Organización donde trabaja (la unidad más específica) |
![]() ![]() |
S | 1..* | CodeableConcept | Profesión con que actúa y, en un rol de la CCSS, el programa del sistema mixto Slice: Sin orden, Abierto by value:coding.system |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Profesión con la que el profesional cumple el rol Vinculación: Profesiones de salud (required) |
![]() ![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Sistema de códigos del slice (valor fijo) Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud | |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Programa del sistema mixto de atención de la CCSS (medicina mixta, medicina de empresa) Vinculación: Programas de la CCSS (required) |
![]() ![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Sistema de códigos del slice (valor fijo) Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss | |
![]() ![]() |
S | 0..* | CodeableConcept | Especialidades que ejerce en este rol Vinculación: Especialidades en salud (extensible) |
![]() ![]() |
S | 0..* | Reference(Ubicación) | Ubicaciones donde atiende |
![]() ![]() |
S | 0..* | ExtendedContactDetail | Contacto de trabajo del profesional en esta organización |
![]() ![]() ![]() |
SC | 0..* | ContactPoint | Teléfono (+506 y 8 dígitos; extensión interna con ;ext=) o correo electrónico Constraints: cr-telefono |
![]() ![]() ![]() ![]() |
0..1 | code | work (valor fijo) Required Pattern: work | |
Documentación de este formato | ||||
| Ruta | Estado | Uso | ValueSet | Versión | Fuente |
| PractitionerRole.code:profesion | Base | required | Profesiones de salud | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.code:programaCcss | Base | required | Programas de la CCSS | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.specialty | Base | extensible | Especialidades en salud | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| Id | Nivel | Ruta(s) | Descripción | Expression |
| cr-codigo-interno-value | error | PractitionerRole.identifier.value | Un código interno tiene de 1 a 64 caracteres, sin espacios. |
matches('^\\S{1,64}$')
|
| cr-identificador-unico | error | PractitionerRole | No hay dos identificadores con el mismo system y el mismo valor. |
identifier.select(system & '|' & value).isDistinct()
|
| cr-rol-programa-ccss | error | PractitionerRole | Un rol con un programa de la CCSS tiene como organización a la CCSS (cédula jurídica 4000042147). |
code.coding.where(system = 'https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss').exists() implies (organization.reference.exists() or organization.identifier.where(system = 'https://hl7.or.cr/fhir/sid/cedula-juridica' and value = '4000042147').exists())
|
| cr-rol-system | error | PractitionerRole.identifier | El system del identificador es https://hl7.or.cr/fhir/sid/rol/ seguido del código del establecimiento (cj-, cn- o dimex- y el identificador del titular). |
system.matches('^https://hl7\\.or\\.cr/fhir/sid/rol/(cj-[1-9][0-9]{9}|cn-[1-9][0-9]{8}|dimex-[1-9][0-9]{10,11})$')
|
| cr-telefono | error | PractitionerRole.contact.telecom | Un teléfono está en formato E.164 (+ y de 8 a 15 dígitos, sin espacios ni guiones), con una extensión interna opcional después de ;ext=. En Costa Rica (+506) tiene 8 dígitos que empiezan de 2 a 8, o es un número 800 o 900 de 10 dígitos. |
(system = 'phone' or system = 'fax' or system = 'sms') implies (value.matches('^\\+[1-9][0-9]{7,14}(;ext=[0-9]{1,6})?$') and (value.startsWith('+506') implies value.matches('^\\+506([2-8][0-9]{7}|[89]00[0-9]{7})(;ext=[0-9]{1,6})?$')))
|
Vista instantáneaView
| Nombre | Marcas | Card. | Tipo | Descripción y restricciones Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | PractitionerRole | Rol del profesional: en qué organización trabaja, con qué profesión y dónde Constraints: cr-rol-programa-ccss, cr-identificador-unico | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Vinculación: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣC | 0..* | Identifier | Código interno del profesional en la organización (código de funcionario) Constraints: cr-rol-system | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | official (valor fijo) Vinculación: IdentifierUse (required): Identifies the purpose for this identifier, if known . Required Pattern: official | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Vinculación: IdentifierTypeCodes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
![]() ![]() ![]() |
SΣ | 1..1 | uri | https://hl7.or.cr/fhir/sid/rol/{código del establecimiento} Example General: http://www.acme.com/identifiers/patient | ||||
![]() ![]() ![]() |
SΣC | 1..1 | string | Código del profesional en el sistema de la organización Constraints: cr-codigo-interno-value Example General: 123456 Max Length:64 | ||||
![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
SΣ | 1..1 | boolean | Si el rol está vigente | ||||
![]() ![]() |
SΣ | 0..1 | Period | Periodo en que el profesional cumple el rol | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() |
SΣC | 0..1 | dateTime | Desde cuándo | ||||
![]() ![]() ![]() |
SΣC | 0..1 | dateTime | Hasta cuándo | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Profesional de salud) | Profesional que cumple el rol | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Organización) | Organización donde trabaja (la unidad más específica) | ||||
![]() ![]() |
SΣ | 1..* | CodeableConcept | Profesión con que actúa y, en un rol de la CCSS, el programa del sistema mixto Slice: Sin orden, Abierto by value:coding.system Vinculación: PractitionerRole (example): The role a person plays representing an organization. | ||||
![]() ![]() ![]() |
SΣ | 1..1 | CodeableConcept | Profesión con la que el profesional cumple el rol Vinculación: Profesiones de salud (required) | ||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Sistema de códigos del slice (valor fijo) Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | Programa del sistema mixto de atención de la CCSS (medicina mixta, medicina de empresa) Vinculación: Programas de la CCSS (required) | ||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Sistema de códigos del slice (valor fijo) Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Especialidades que ejerce en este rol Vinculación: Especialidades en salud (extensible) | ||||
![]() ![]() |
SΣ | 0..* | Reference(Ubicación) | Ubicaciones donde atiende | ||||
![]() ![]() |
0..* | Reference(HealthcareService) | Healthcare services provided for this role's Organization/Location(s) | |||||
![]() ![]() |
S | 0..* | ExtendedContactDetail | Contacto de trabajo del profesional en esta organización | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The type of contact Vinculación: Contact entity type (preferred): The purpose for which an extended contact detail should be used. | ||||
![]() ![]() ![]() |
Σ | 0..* | HumanName | Name of an individual to contact | ||||
![]() ![]() ![]() |
SΣC | 0..* | ContactPoint | Teléfono (+506 y 8 dígitos; extensión interna con ;ext=) o correo electrónico Constraints: cr-telefono | ||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Sin orden, Abierto by value:url | |||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | code | phone | fax | email | pager | url | sms | other Vinculación: ContactPointSystem (required): Telecommunications form for contact point. | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | The actual contact point details | ||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | work (valor fijo) Vinculación: ContactPointUse (required): Use of contact point. Required Pattern: work | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when the contact point was/is in use | ||||
![]() ![]() ![]() |
Σ | 0..1 | Address | Address for the contact | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | This contact detail is handled/monitored by a specific organization | ||||
![]() ![]() ![]() |
Σ | 0..1 | Period | Period that this contact was valid for usage | ||||
![]() ![]() |
0..* | CodeableConcept | Collection of characteristics (attributes) Vinculación: ServiceMode (example): A custom attribute that could be provided at a service (e.g. Wheelchair accessibility). | |||||
![]() ![]() |
0..* | CodeableConcept | A language the practitioner (in this role) can use in patient communication Vinculación: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..* | Availability | Times the Practitioner is available at this location and/or healthcare service (including exceptions) | |||||
![]() ![]() |
0..* | Reference(Endpoint) | Endpoints for interacting with the practitioner in this role | |||||
Documentación de este formato | ||||||||
| Ruta | Estado | Uso | ValueSet | Versión | Fuente |
| PractitionerRole.language | Base | required | All Languages | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.identifier.use | Base | required | IdentifierUse | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.identifier.type | Base | extensible | Identifier Type Codes | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.code | Base | example | Practitioner Role | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.code:profesion | Base | required | Profesiones de salud | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.code:programaCcss | Base | required | Programas de la CCSS | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.specialty | Base | extensible | Especialidades en salud | 📦0.1.0 | Guía de Implementación de Terminología de Costa Rica vnull |
| PractitionerRole.contact.purpose | Base | preferred | Contact entity type | 📦2.0.0 | THO v7.4 |
| PractitionerRole.contact.telecom.system | Base | required | ContactPointSystem | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.contact.telecom.use | Base | required | ContactPointUse | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.characteristic | Base | example | Service Mode | 📍5.0.0 | Estándar FHIR |
| PractitionerRole.communication | Base | required | All Languages | 📍5.0.0 | Estándar FHIR |
| Id | Nivel | Ruta(s) | Descripción | Expression |
| cr-codigo-interno-value | error | PractitionerRole.identifier.value | Un código interno tiene de 1 a 64 caracteres, sin espacios. |
matches('^\\S{1,64}$')
|
| cr-identificador-unico | error | PractitionerRole | No hay dos identificadores con el mismo system y el mismo valor. |
identifier.select(system & '|' & value).isDistinct()
|
| cr-rol-programa-ccss | error | PractitionerRole | Un rol con un programa de la CCSS tiene como organización a la CCSS (cédula jurídica 4000042147). |
code.coding.where(system = 'https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss').exists() implies (organization.reference.exists() or organization.identifier.where(system = 'https://hl7.or.cr/fhir/sid/cedula-juridica' and value = '4000042147').exists())
|
| cr-rol-system | error | PractitionerRole.identifier | El system del identificador es https://hl7.or.cr/fhir/sid/rol/ seguido del código del establecimiento (cj-, cn- o dimex- y el identificador del titular). |
system.matches('^https://hl7\\.or\\.cr/fhir/sid/rol/(cj-[1-9][0-9]{9}|cn-[1-9][0-9]{8}|dimex-[1-9][0-9]{10,11})$')
|
| cr-telefono | error | PractitionerRole.contact.telecom | Un teléfono está en formato E.164 (+ y de 8 a 15 dígitos, sin espacios ni guiones), con una extensión interna opcional después de ;ext=. En Costa Rica (+506) tiene 8 dígitos que empiezan de 2 a 8, o es un número 800 o 900 de 10 dígitos. |
(system = 'phone' or system = 'fax' or system = 'sms') implies (value.matches('^\\+[1-9][0-9]{7,14}(;ext=[0-9]{1,6})?$') and (value.startsWith('+506') implies value.matches('^\\+506([2-8][0-9]{7}|[89]00[0-9]{7})(;ext=[0-9]{1,6})?$')))
|
| dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | PractitionerRole | If 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | PractitionerRole | If 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-5 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | PractitionerRole | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **TODOS** los elementos | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **TODAS** las extensiones | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Esta estructura se deriva de PractitionerRole .
Resumen
Obligatorios: 5 elementos(4 nested mandatory elementos)
Must-Support: 16 elementos
Estructuras
Esta estructura hace referencia a estas otras estructuras:
Slices
This structure defines the following Slices:
Otras representaciones de perfil: CSV, Excel, Schematron
Registro de profesionales. Roles de los profesionales: en qué organización trabajan, con qué profesión y especialidad, y dónde.
Ver también Servicios del HIE.
Lo que el servidor debe responder para este perfil. En la forma, [base] es la URL base del servidor del servicio y lo que va entre llaves se reemplaza por un valor. Cada solicitud usa valores reales de los ejemplos de esta guía, y la respuesta trae los que coinciden; los cuerpos JSON se expanden al hacer clic. Todas las solicitudes llevan el token de acceso al HIE (Authorization: Bearer [token]). Las búsquedas de texto encuentran los valores que empiezan con el texto, sin distinguir mayúsculas ni tildes; las de fecha admiten los prefijos ge, gt, le y lt. En la URL los valores van codificados (| como %7C, + como %2B, un espacio como %20); aquí se muestran sin codificar para que se lean mejor.
Ir a: Leer · Buscar · Crear · Actualizar · Historial
Leer
Forma: GET [base]/PractitionerRole/{id}
Lee un rol de un profesional del registro de profesionales por su id, la parte final de su URL. Se usa para resolver una referencia que otro recurso hace a un rol de un profesional. En el ejemplo se lee «Médica general en un EBAIS de la CCSS (R1)»; la segunda respuesta es la de un id que no existe.
Solicitud
GET [base]/PractitionerRole/ejemplo-rol-ebais HTTP/1.1
Accept: application/fhir+json
Authorization: Bearer [token]
Respuesta si el recurso existe
HTTP/1.1 200 OK
ETag: W/"1"
Last-Modified: 2026-10-01T10:00:00-06:00
Content-Type: application/fhir+json
{
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-ebais",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
}
Respuesta si no existe
HTTP/1.1 404 Not Found
Content-Type: application/fhir+json
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "not-found",
"diagnostics": "No existe el recurso PractitionerRole/no-existe."
}
]
}
Buscar por profesional
Forma: GET [base]/PractitionerRole?practitioner=Practitioner/{id}
Trae los roles de un profesional: en qué organizaciones y ubicaciones trabaja y con qué profesión. En el ejemplo se usa el dato de «Médica general en un EBAIS de la CCSS (R1)»: practitioner=Practitioner/ejemplo-profesional-medicina.
Solicitud
GET [base]/PractitionerRole?practitioner=Practitioner/ejemplo-profesional-medicina HTTP/1.1
Accept: application/fhir+json
Authorization: Bearer [token]
Respuesta: 2 resultados: Médica general en un EBAIS de la CCSS (R1); Médica general en su consultorio privado (R2)
HTTP/1.1 200 OK
Content-Type: application/fhir+json
{
"resourceType": "Bundle",
"type": "searchset",
"total": 2,
"link": [
{
"relation": "self",
"url": "[base]/PractitionerRole?practitioner=Practitioner/ejemplo-profesional-medicina"
}
],
"entry": [
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-ebais",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-ebais",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
},
"search": {
"mode": "match"
}
},
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-consultorio",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-consultorio",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"period": {
"start": "2018-06-01"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-consultorio",
"display": "Consultorio Médico Dra. Ana Mora Rojas"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"contact": [
{
"telecom": [
{
"system": "phone",
"value": "+50622600000"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-consultorio",
"display": "Consultorio Médico Dra. Ana Mora Rojas"
}
},
"search": {
"mode": "match"
}
}
]
}
Buscar por organización
Forma: GET [base]/PractitionerRole?organization=Organization/{id}
Trae los profesionales que trabajan en una organización. En el ejemplo se usa el dato de «Médica general en un EBAIS de la CCSS (R1)»: organization=Organization/ejemplo-organizacion-ebais.
Solicitud
GET [base]/PractitionerRole?organization=Organization/ejemplo-organizacion-ebais HTTP/1.1
Accept: application/fhir+json
Authorization: Bearer [token]
Respuesta: 1 resultado: Médica general en un EBAIS de la CCSS (R1)
HTTP/1.1 200 OK
Content-Type: application/fhir+json
{
"resourceType": "Bundle",
"type": "searchset",
"total": 1,
"link": [
{
"relation": "self",
"url": "[base]/PractitionerRole?organization=Organization/ejemplo-organizacion-ebais"
}
],
"entry": [
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-ebais",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-ebais",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
},
"search": {
"mode": "match"
}
}
]
}
Buscar por ubicación
Forma: GET [base]/PractitionerRole?location=Location/{id}
Trae los profesionales que atienden en una ubicación. En el ejemplo se usa el dato de «Médica general en un EBAIS de la CCSS (R1)»: location=Location/ejemplo-ubicacion-ebais.
Solicitud
GET [base]/PractitionerRole?location=Location/ejemplo-ubicacion-ebais HTTP/1.1
Accept: application/fhir+json
Authorization: Bearer [token]
Respuesta: 1 resultado: Médica general en un EBAIS de la CCSS (R1)
HTTP/1.1 200 OK
Content-Type: application/fhir+json
{
"resourceType": "Bundle",
"type": "searchset",
"total": 1,
"link": [
{
"relation": "self",
"url": "[base]/PractitionerRole?location=Location/ejemplo-ubicacion-ebais"
}
],
"entry": [
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-ebais",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-ebais",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
},
"search": {
"mode": "match"
}
}
]
}
Buscar por especialidad
Forma: GET [base]/PractitionerRole?specialty={sistema}|{código}
Busca profesionales por especialidad; por ejemplo, los radiólogos. En el ejemplo se usa el dato de «Radiólogo en un hospital privado (R3)»: specialty=https://hl7.or.cr/fhir/terminology/CodeSystem/cr-especialidad-salud|06.05.01.
Solicitud
GET [base]/PractitionerRole?specialty=https://hl7.or.cr/fhir/terminology/CodeSystem/cr-especialidad-salud|06.05.01 HTTP/1.1
Accept: application/fhir+json
Authorization: Bearer [token]
Respuesta: 1 resultado: Radiólogo en un hospital privado (R3)
HTTP/1.1 200 OK
Content-Type: application/fhir+json
{
"resourceType": "Bundle",
"type": "searchset",
"total": 1,
"link": [
{
"relation": "self",
"url": "[base]/PractitionerRole?specialty=https://hl7.or.cr/fhir/terminology/CodeSystem/cr-especialidad-salud|06.05.01"
}
],
"entry": [
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-radiologia",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-radiologia",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-3101123456",
"value": "MED-0345"
}
],
"period": {
"start": "2024-02-01"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-radiologia",
"display": "Servicio de Radiología"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"specialty": [
{
"coding": [
{
"code": "06.05.01",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-especialidad-salud",
"display": "Medicina con especialidad en Radiología e Imágenes Médicas"
}
]
}
],
"contact": [
{
"telecom": [
{
"system": "phone",
"value": "+50622220000;ext=2110"
},
{
"system": "email",
"value": "radiologia@hospital-ejemplo.cr"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-radiologia",
"display": "Carlos Jiménez Solano"
},
"organization": {
"reference": "Organization/ejemplo-establecimiento",
"display": "Hospital Privado de Ejemplo"
}
},
"search": {
"mode": "match"
}
}
]
}
Buscar por profesión
Forma: GET [base]/PractitionerRole?role={sistema}|{código}
Busca por profesión; por ejemplo, todos los médicos de un establecimiento si se combina con organization. En el ejemplo se usa el dato de «Médica general en un EBAIS de la CCSS (R1)»: role=https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud|medicina.
Solicitud
GET [base]/PractitionerRole?role=https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud|medicina&_count=2 HTTP/1.1
Accept: application/fhir+json
Authorization: Bearer [token]
Respuesta: 5 resultados, de 2 en 2 con _count; la primera página trae Médica general en un EBAIS de la CCSS (R1); Médica general en su consultorio privado (R2)
HTTP/1.1 200 OK
Content-Type: application/fhir+json
{
"resourceType": "Bundle",
"type": "searchset",
"total": 5,
"link": [
{
"relation": "self",
"url": "[base]/PractitionerRole?role=https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud|medicina&_count=2"
},
{
"relation": "next",
"url": "[base]/PractitionerRole?role=https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud|medicina&_count=2&_offset=2"
}
],
"entry": [
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-ebais",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-ebais",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
},
"search": {
"mode": "match"
}
},
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-consultorio",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-consultorio",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"period": {
"start": "2018-06-01"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-consultorio",
"display": "Consultorio Médico Dra. Ana Mora Rojas"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"contact": [
{
"telecom": [
{
"system": "phone",
"value": "+50622600000"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-consultorio",
"display": "Consultorio Médico Dra. Ana Mora Rojas"
}
},
"search": {
"mode": "match"
}
}
]
}
Buscar por registro activo
Forma: GET [base]/PractitionerRole?active={true o false}
Trae solo los registros activos, que son los que un sistema debe ofrecer al usuario; los inactivos se conservan porque otros datos los siguen citando. En el ejemplo se usa el dato de «Médica general en un EBAIS de la CCSS (R1)»: active=true.
Solicitud
GET [base]/PractitionerRole?active=true&_count=2 HTTP/1.1
Accept: application/fhir+json
Authorization: Bearer [token]
Respuesta: 6 resultados, de 2 en 2 con _count; la primera página trae Médica general en un EBAIS de la CCSS (R1); Médica general en su consultorio privado (R2)
HTTP/1.1 200 OK
Content-Type: application/fhir+json
{
"resourceType": "Bundle",
"type": "searchset",
"total": 6,
"link": [
{
"relation": "self",
"url": "[base]/PractitionerRole?active=true&_count=2"
},
{
"relation": "next",
"url": "[base]/PractitionerRole?active=true&_count=2&_offset=2"
}
],
"entry": [
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-ebais",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-ebais",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
},
"search": {
"mode": "match"
}
},
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-consultorio",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-consultorio",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"period": {
"start": "2018-06-01"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-consultorio",
"display": "Consultorio Médico Dra. Ana Mora Rojas"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"contact": [
{
"telecom": [
{
"system": "phone",
"value": "+50622600000"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-consultorio",
"display": "Consultorio Médico Dra. Ana Mora Rojas"
}
},
"search": {
"mode": "match"
}
}
]
}
Buscar por identificador
Forma: GET [base]/PractitionerRole?identifier={sistema}|{valor}
Encuentra un rol por el código del funcionario en su institución. En el ejemplo se usa el dato de «Médica general en un EBAIS de la CCSS (R1)»: identifier=https://hl7.or.cr/fhir/sid/rol/cj-4000042147|FUN-0123456.
Solicitud
GET [base]/PractitionerRole?identifier=https://hl7.or.cr/fhir/sid/rol/cj-4000042147|FUN-0123456 HTTP/1.1
Accept: application/fhir+json
Authorization: Bearer [token]
Respuesta: 1 resultado: Médica general en un EBAIS de la CCSS (R1)
HTTP/1.1 200 OK
Content-Type: application/fhir+json
{
"resourceType": "Bundle",
"type": "searchset",
"total": 1,
"link": [
{
"relation": "self",
"url": "[base]/PractitionerRole?identifier=https://hl7.or.cr/fhir/sid/rol/cj-4000042147|FUN-0123456"
}
],
"entry": [
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-ebais",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-ebais",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
},
"search": {
"mode": "match"
}
}
]
}
Buscar por fecha de actualización
Forma: GET [base]/PractitionerRole?_lastUpdated={prefijo}{fecha}
Trae los roles de profesionales que cambiaron desde una fecha. La usa un sistema que guarda una copia del registro para traer solo lo nuevo, en lugar de descargarlo todo. En el ejemplo se piden los cambios desde el 2026-10-01 (prefijo ge: en esa fecha o después).
Solicitud
GET [base]/PractitionerRole?_lastUpdated=ge2026-10-01&_count=2 HTTP/1.1
Accept: application/fhir+json
Authorization: Bearer [token]
Respuesta: 6 resultados, de 2 en 2 con _count; la primera página trae Médica general en un EBAIS de la CCSS (R1); Médica general en su consultorio privado (R2)
HTTP/1.1 200 OK
Content-Type: application/fhir+json
{
"resourceType": "Bundle",
"type": "searchset",
"total": 6,
"link": [
{
"relation": "self",
"url": "[base]/PractitionerRole?_lastUpdated=ge2026-10-01&_count=2"
},
{
"relation": "next",
"url": "[base]/PractitionerRole?_lastUpdated=ge2026-10-01&_count=2&_offset=2"
}
],
"entry": [
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-ebais",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-ebais",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
},
"search": {
"mode": "match"
}
},
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-consultorio",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-consultorio",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"period": {
"start": "2018-06-01"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-consultorio",
"display": "Consultorio Médico Dra. Ana Mora Rojas"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"contact": [
{
"telecom": [
{
"system": "phone",
"value": "+50622600000"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-consultorio",
"display": "Consultorio Médico Dra. Ana Mora Rojas"
}
},
"search": {
"mode": "match"
}
}
]
}
Buscar por profesional, con POST
Forma: POST [base]/PractitionerRole/_searchcuerpo: practitioner=Practitioner/{id}
Hace cualquier búsqueda con POST: los parámetros van en el cuerpo, como un formulario, en lugar de la URL. Se usa cuando los valores son datos personales, como una cédula, para que no queden en los registros de los servidores ni en el historial; la respuesta es la misma que con GET. En el ejemplo se repite la búsqueda por profesional.
Solicitud
POST [base]/PractitionerRole/_search HTTP/1.1
Accept: application/fhir+json
Authorization: Bearer [token]
Content-Type: application/x-www-form-urlencoded
practitioner=Practitioner/ejemplo-profesional-medicina
Respuesta: 2 resultados: Médica general en un EBAIS de la CCSS (R1); Médica general en su consultorio privado (R2), igual que con GET
HTTP/1.1 200 OK
Content-Type: application/fhir+json
{
"resourceType": "Bundle",
"type": "searchset",
"total": 2,
"link": [
{
"relation": "self",
"url": "[base]/PractitionerRole?practitioner=Practitioner/ejemplo-profesional-medicina"
}
],
"entry": [
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-ebais",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-ebais",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
},
"search": {
"mode": "match"
}
},
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-consultorio",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-consultorio",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"period": {
"start": "2018-06-01"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-consultorio",
"display": "Consultorio Médico Dra. Ana Mora Rojas"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"contact": [
{
"telecom": [
{
"system": "phone",
"value": "+50622600000"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-consultorio",
"display": "Consultorio Médico Dra. Ana Mora Rojas"
}
},
"search": {
"mode": "match"
}
}
]
}
Crear
Forma: POST [base]/PractitionerRole
Registra un rol de un profesional en el registro de profesionales. El servidor valida el recurso contra el perfil, le asigna su id y devuelve su dirección. Lo hace la organización donde trabaja el profesional (IHE mCSD ITI-130). En el ejemplo se registra «Médica general en un EBAIS de la CCSS (R1)»; la segunda respuesta es el rechazo de un recurso que no cumple la invariante cr-rol-programa-ccss (Un rol con un programa de la CCSS tiene como organización a la CCSS (cédula jurídica 4000042147)).
Solicitud
POST [base]/PractitionerRole HTTP/1.1
Accept: application/fhir+json
Authorization: Bearer [token]
Content-Type: application/fhir+json
{
"resourceType": "PractitionerRole",
"meta": {
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
}
Respuesta si se crea
HTTP/1.1 201 Created
Location: [base]/PractitionerRole/ejemplo-rol-ebais/_history/1
ETag: W/"1"
Last-Modified: 2026-10-01T10:00:00-06:00
Content-Type: application/fhir+json
{
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-ebais",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
}
Respuesta si no cumple el perfil (invariante cr-rol-programa-ccss)
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/fhir+json
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "invariant",
"diagnostics": "cr-rol-programa-ccss: Un rol con un programa de la CCSS tiene como organización a la CCSS (cédula jurídica 4000042147).",
"expression": [
"PractitionerRole"
]
}
]
}
Actualizar
Forma: PUT [base]/PractitionerRole/{id}If-Match: W/"{versión}"
Reemplaza un rol de un profesional con una versión nueva completa, por ejemplo para corregir un dato. If-Match lleva la versión que se leyó: si otro sistema hizo un cambio mientras tanto, el servidor rechaza este, y así nadie pisa el trabajo de otro sin darse cuenta. En el ejemplo se actualiza «Médica general en un EBAIS de la CCSS (R1)» sobre su versión 1; la segunda respuesta es el rechazo cuando otra persona ya la había cambiado.
Solicitud
PUT [base]/PractitionerRole/ejemplo-rol-ebais HTTP/1.1
Accept: application/fhir+json
Authorization: Bearer [token]
If-Match: W/"1"
Content-Type: application/fhir+json
{
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-ebais",
"meta": {
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
}
Respuesta si se actualiza
HTTP/1.1 200 OK
ETag: W/"2"
Last-Modified: 2026-10-02T08:15:00-06:00
Content-Type: application/fhir+json
{
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-ebais",
"meta": {
"versionId": "2",
"lastUpdated": "2026-10-02T08:15:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
}
Respuesta si otra persona lo modificó antes (la versión ya no es la 1)
HTTP/1.1 412 Precondition Failed
Content-Type: application/fhir+json
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "conflict",
"diagnostics": "La versión actual de PractitionerRole/ejemplo-rol-ebais no es la 1: léalo de nuevo y repita el cambio."
}
]
}
Cambios desde una fecha (IHE mCSD ITI-91)
Forma: GET [base]/PractitionerRole/_history?_since={fecha y hora}
Trae los roles de profesionales que se crearon o cambiaron en el registro de profesionales desde una fecha y hora. La usa un sistema que guarda una copia del registro para mantenerla al día (IHE mCSD ITI-91). En el ejemplo se piden los cambios desde el 2026-10-01, de 2 en 2.
Solicitud
GET [base]/PractitionerRole/_history?_since=2026-10-01T00:00:00-06:00&_count=2 HTTP/1.1
Accept: application/fhir+json
Authorization: Bearer [token]
Respuesta: 6 cambios, de 2 en 2 con _count
HTTP/1.1 200 OK
Content-Type: application/fhir+json
{
"resourceType": "Bundle",
"type": "history",
"total": 6,
"link": [
{
"relation": "self",
"url": "[base]/PractitionerRole/_history?_since=2026-10-01T00:00:00-06:00&_count=2"
}
],
"entry": [
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-ebais",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-ebais",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"identifier": [
{
"system": "https://hl7.or.cr/fhir/sid/rol/cj-4000042147",
"value": "FUN-0123456"
}
],
"period": {
"start": "2015-01-05"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-ebais",
"display": "Sede del EBAIS de Ejemplo"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-ebais",
"display": "EBAIS de Ejemplo"
}
},
"request": {
"method": "POST",
"url": "PractitionerRole"
},
"response": {
"status": "201 Created",
"etag": "W/\"1\""
}
},
{
"fullUrl": "[base]/PractitionerRole/ejemplo-rol-consultorio",
"resource": {
"resourceType": "PractitionerRole",
"id": "ejemplo-rol-consultorio",
"meta": {
"versionId": "1",
"lastUpdated": "2026-10-01T10:00:00-06:00",
"profile": [
"https://hl7.or.cr/fhir/core/StructureDefinition/cr-practitioner-role"
]
},
"period": {
"start": "2018-06-01"
},
"location": [
{
"reference": "Location/ejemplo-ubicacion-consultorio",
"display": "Consultorio Médico Dra. Ana Mora Rojas"
}
],
"code": [
{
"coding": [
{
"code": "medicina",
"system": "https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud",
"display": "Medicina"
}
]
}
],
"contact": [
{
"telecom": [
{
"system": "phone",
"value": "+50622600000"
}
]
}
],
"active": true,
"practitioner": {
"reference": "Practitioner/ejemplo-profesional-medicina",
"display": "Ana Mora Rojas"
},
"organization": {
"reference": "Organization/ejemplo-organizacion-consultorio",
"display": "Consultorio Médico Dra. Ana Mora Rojas"
}
},
"request": {
"method": "POST",
"url": "PractitionerRole"
},
"response": {
"status": "201 Created",
"etag": "W/\"1\""
}
}
]
}