Guía de Implementación Core de Costa Rica
0.1.0 - ci-build Costa Rica bandera

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.

Perfil de los recursos: Rol del profesional

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

Vistas formales del contenido del perfil

Descripción de perfiles, diferenciales, instantáneas y sus representaciones.

NombreMarcasCard.TipoDescripción y restricciones    Filter: Filtersdoco
.. PractitionerRole 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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... use ?!Σ 0..1 code official (valor fijo)
Vinculación: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Required Pattern: official
.... system SΣ 1..1 uri https://hl7.or.cr/fhir/sid/rol/{código del establecimiento}
Example General: http://www.acme.com/identifiers/patient
.... value 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
... active SΣ 1..1 boolean Si el rol está vigente
... period SΣ 0..1 Period Periodo en que el profesional cumple el rol
.... start SΣC 0..1 dateTime Desde cuándo
.... end SΣC 0..1 dateTime Hasta cuándo
... practitioner SΣ 1..1 Reference(Profesional de salud) Profesional que cumple el rol
... organization SΣ 1..1 Reference(Organización) Organización donde trabaja (la unidad más específica)
... Slices for code 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.
.... code:profesion SΣ 1..1 CodeableConcept Profesión con la que el profesional cumple el rol
Vinculación: Profesiones de salud (required)
.... code:programaCcss 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)
... specialty SΣ 0..* CodeableConcept Especialidades que ejerce en este rol
Vinculación: Especialidades en salud (extensible)
... location SΣ 0..* Reference(Ubicación) Ubicaciones donde atiende
... contact S 0..* ExtendedContactDetail Contacto de trabajo del profesional en esta organización
.... telecom SΣC 0..* ContactPoint Teléfono (+506 y 8 dígitos; extensión interna con ;ext=) o correo electrónico
Constraints: cr-telefono
..... use ?!Σ 0..1 code work (valor fijo)
Vinculación: ContactPointUse (required): Use of contact point.
Required Pattern: work

doco Documentación de este formato

Vinculaciones terminológicas

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

Restricciones

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 .

NombreMarcasCard.TipoDescripción y restricciones    Filter: Filtersdoco
.. PractitionerRole 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
... identifier SC 0..* Identifier Código interno del profesional en la organización (código de funcionario)
Constraints: cr-rol-system
.... use 0..1 code official (valor fijo)
Required Pattern: official
.... system S 1..1 uri https://hl7.or.cr/fhir/sid/rol/{código del establecimiento}
.... value SC 1..1 string Código del profesional en el sistema de la organización
Constraints: cr-codigo-interno-value
Max Length:64
... active S 1..1 boolean Si el rol está vigente
... period S 0..1 Period Periodo en que el profesional cumple el rol
.... start S 0..1 dateTime Desde cuándo
.... end S 0..1 dateTime Hasta cuándo
... organization S 1..1 Reference(Organización) Organización donde trabaja (la unidad más específica)
... Slices for code 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
.... code:profesion S 1..1 CodeableConcept Profesión con la que el profesional cumple el rol
Vinculación: Profesiones de salud (required)
..... coding
...... system 1..1 uri Sistema de códigos del slice (valor fijo)
Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud
.... code:programaCcss 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)
..... coding
...... system 1..1 uri Sistema de códigos del slice (valor fijo)
Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss
... specialty S 0..* CodeableConcept Especialidades que ejerce en este rol
Vinculación: Especialidades en salud (extensible)
... location S 0..* Reference(Ubicación) Ubicaciones donde atiende
... contact S 0..* ExtendedContactDetail Contacto de trabajo del profesional en esta organización
.... telecom SC 0..* ContactPoint Teléfono (+506 y 8 dígitos; extensión interna con ;ext=) o correo electrónico
Constraints: cr-telefono
..... use 0..1 code work (valor fijo)
Required Pattern: work

doco Documentación de este formato

Vinculaciones terminológicas (diferencial)

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

Restricciones

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})?$')))
NombreMarcasCard.TipoDescripción y restricciones    Filter: Filtersdoco
.. PractitionerRole 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
... 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier SΣC 0..* Identifier Código interno del profesional en la organización (código de funcionario)
Constraints: cr-rol-system
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
.... use ?!Σ 0..1 code official (valor fijo)
Vinculación: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Required Pattern: official
.... type Σ 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.
.... system SΣ 1..1 uri https://hl7.or.cr/fhir/sid/rol/{código del establecimiento}
Example General: http://www.acme.com/identifiers/patient
.... value 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
.... 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)
... active SΣ 1..1 boolean Si el rol está vigente
... period SΣ 0..1 Period Periodo en que el profesional cumple el rol
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
.... start SΣC 0..1 dateTime Desde cuándo
.... end SΣC 0..1 dateTime Hasta cuándo
... practitioner SΣ 1..1 Reference(Profesional de salud) Profesional que cumple el rol
... organization SΣ 1..1 Reference(Organización) Organización donde trabaja (la unidad más específica)
... Slices for code 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.
.... code:profesion SΣ 1..1 CodeableConcept Profesión con la que el profesional cumple el rol
Vinculación: Profesiones de salud (required)
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
..... coding Σ 0..* Coding Code defined by a terminology system
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
...... system Σ 1..1 uri Sistema de códigos del slice (valor fijo)
Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud
...... version Σ 0..1 string Version of the system - if relevant
...... code ΣC 0..1 code Symbol in syntax defined by the system
...... display ΣC 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... text Σ 0..1 string Plain text representation of the concept
.... code:programaCcss 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)
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
..... coding Σ 0..* Coding Code defined by a terminology system
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
...... system Σ 1..1 uri Sistema de códigos del slice (valor fijo)
Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss
...... version Σ 0..1 string Version of the system - if relevant
...... code ΣC 0..1 code Symbol in syntax defined by the system
...... display ΣC 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... text Σ 0..1 string Plain text representation of the concept
... specialty SΣ 0..* CodeableConcept Especialidades que ejerce en este rol
Vinculación: Especialidades en salud (extensible)
... location SΣ 0..* Reference(Ubicación) Ubicaciones donde atiende
... healthcareService 0..* Reference(HealthcareService) Healthcare services provided for this role's Organization/Location(s)
... contact S 0..* ExtendedContactDetail Contacto de trabajo del profesional en esta organización
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
.... purpose Σ 0..1 CodeableConcept The type of contact
Vinculación: Contact entity type (preferred): The purpose for which an extended contact detail should be used.
.... name Σ 0..* HumanName Name of an individual to contact
.... telecom SΣC 0..* ContactPoint Teléfono (+506 y 8 dígitos; extensión interna con ;ext=) o correo electrónico
Constraints: cr-telefono
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
..... system ΣC 0..1 code phone | fax | email | pager | url | sms | other
Vinculación: ContactPointSystem (required): Telecommunications form for contact point.
..... value ΣC 0..1 string The actual contact point details
..... use ?!Σ 0..1 code work (valor fijo)
Vinculación: ContactPointUse (required): Use of contact point.
Required Pattern: work
..... rank Σ 0..1 positiveInt Specify preferred order of use (1 = highest)
..... period Σ 0..1 Period Time period when the contact point was/is in use
.... address Σ 0..1 Address Address for the contact
.... organization Σ 0..1 Reference(Organization) This contact detail is handled/monitored by a specific organization
.... period Σ 0..1 Period Period that this contact was valid for usage
... characteristic 0..* CodeableConcept Collection of characteristics (attributes)
Vinculación: ServiceMode (example): A custom attribute that could be provided at a service (e.g. Wheelchair accessibility).
... communication 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
Additional BindingsPurpose
CommonLanguages Starter

... availability 0..* Availability Times the Practitioner is available at this location and/or healthcare service (including exceptions)
... endpoint 0..* Reference(Endpoint) Endpoints for interacting with the practitioner in this role

doco Documentación de este formato

Vinculaciones terminológicas

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

Restricciones

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:

  • The element 1 is sliced based on the value of PractitionerRole.code

Vista de elementos clave

NombreMarcasCard.TipoDescripción y restricciones    Filter: Filtersdoco
.. PractitionerRole 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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... use ?!Σ 0..1 code official (valor fijo)
Vinculación: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Required Pattern: official
.... system SΣ 1..1 uri https://hl7.or.cr/fhir/sid/rol/{código del establecimiento}
Example General: http://www.acme.com/identifiers/patient
.... value 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
... active SΣ 1..1 boolean Si el rol está vigente
... period SΣ 0..1 Period Periodo en que el profesional cumple el rol
.... start SΣC 0..1 dateTime Desde cuándo
.... end SΣC 0..1 dateTime Hasta cuándo
... practitioner SΣ 1..1 Reference(Profesional de salud) Profesional que cumple el rol
... organization SΣ 1..1 Reference(Organización) Organización donde trabaja (la unidad más específica)
... Slices for code 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.
.... code:profesion SΣ 1..1 CodeableConcept Profesión con la que el profesional cumple el rol
Vinculación: Profesiones de salud (required)
.... code:programaCcss 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)
... specialty SΣ 0..* CodeableConcept Especialidades que ejerce en este rol
Vinculación: Especialidades en salud (extensible)
... location SΣ 0..* Reference(Ubicación) Ubicaciones donde atiende
... contact S 0..* ExtendedContactDetail Contacto de trabajo del profesional en esta organización
.... telecom SΣC 0..* ContactPoint Teléfono (+506 y 8 dígitos; extensión interna con ;ext=) o correo electrónico
Constraints: cr-telefono
..... use ?!Σ 0..1 code work (valor fijo)
Vinculación: ContactPointUse (required): Use of contact point.
Required Pattern: work

doco Documentación de este formato

Vinculaciones terminológicas

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

Restricciones

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 .

NombreMarcasCard.TipoDescripción y restricciones    Filter: Filtersdoco
.. PractitionerRole 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
... identifier SC 0..* Identifier Código interno del profesional en la organización (código de funcionario)
Constraints: cr-rol-system
.... use 0..1 code official (valor fijo)
Required Pattern: official
.... system S 1..1 uri https://hl7.or.cr/fhir/sid/rol/{código del establecimiento}
.... value SC 1..1 string Código del profesional en el sistema de la organización
Constraints: cr-codigo-interno-value
Max Length:64
... active S 1..1 boolean Si el rol está vigente
... period S 0..1 Period Periodo en que el profesional cumple el rol
.... start S 0..1 dateTime Desde cuándo
.... end S 0..1 dateTime Hasta cuándo
... organization S 1..1 Reference(Organización) Organización donde trabaja (la unidad más específica)
... Slices for code 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
.... code:profesion S 1..1 CodeableConcept Profesión con la que el profesional cumple el rol
Vinculación: Profesiones de salud (required)
..... coding
...... system 1..1 uri Sistema de códigos del slice (valor fijo)
Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud
.... code:programaCcss 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)
..... coding
...... system 1..1 uri Sistema de códigos del slice (valor fijo)
Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss
... specialty S 0..* CodeableConcept Especialidades que ejerce en este rol
Vinculación: Especialidades en salud (extensible)
... location S 0..* Reference(Ubicación) Ubicaciones donde atiende
... contact S 0..* ExtendedContactDetail Contacto de trabajo del profesional en esta organización
.... telecom SC 0..* ContactPoint Teléfono (+506 y 8 dígitos; extensión interna con ;ext=) o correo electrónico
Constraints: cr-telefono
..... use 0..1 code work (valor fijo)
Required Pattern: work

doco Documentación de este formato

Vinculaciones terminológicas (diferencial)

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

Restricciones

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

NombreMarcasCard.TipoDescripción y restricciones    Filter: Filtersdoco
.. PractitionerRole 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
... 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier SΣC 0..* Identifier Código interno del profesional en la organización (código de funcionario)
Constraints: cr-rol-system
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
.... use ?!Σ 0..1 code official (valor fijo)
Vinculación: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Required Pattern: official
.... type Σ 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.
.... system SΣ 1..1 uri https://hl7.or.cr/fhir/sid/rol/{código del establecimiento}
Example General: http://www.acme.com/identifiers/patient
.... value 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
.... 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)
... active SΣ 1..1 boolean Si el rol está vigente
... period SΣ 0..1 Period Periodo en que el profesional cumple el rol
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
.... start SΣC 0..1 dateTime Desde cuándo
.... end SΣC 0..1 dateTime Hasta cuándo
... practitioner SΣ 1..1 Reference(Profesional de salud) Profesional que cumple el rol
... organization SΣ 1..1 Reference(Organización) Organización donde trabaja (la unidad más específica)
... Slices for code 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.
.... code:profesion SΣ 1..1 CodeableConcept Profesión con la que el profesional cumple el rol
Vinculación: Profesiones de salud (required)
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
..... coding Σ 0..* Coding Code defined by a terminology system
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
...... system Σ 1..1 uri Sistema de códigos del slice (valor fijo)
Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-profesion-salud
...... version Σ 0..1 string Version of the system - if relevant
...... code ΣC 0..1 code Symbol in syntax defined by the system
...... display ΣC 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... text Σ 0..1 string Plain text representation of the concept
.... code:programaCcss 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)
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
..... coding Σ 0..* Coding Code defined by a terminology system
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
...... system Σ 1..1 uri Sistema de códigos del slice (valor fijo)
Required Pattern: https://hl7.or.cr/fhir/terminology/CodeSystem/cr-programa-ccss
...... version Σ 0..1 string Version of the system - if relevant
...... code ΣC 0..1 code Symbol in syntax defined by the system
...... display ΣC 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... text Σ 0..1 string Plain text representation of the concept
... specialty SΣ 0..* CodeableConcept Especialidades que ejerce en este rol
Vinculación: Especialidades en salud (extensible)
... location SΣ 0..* Reference(Ubicación) Ubicaciones donde atiende
... healthcareService 0..* Reference(HealthcareService) Healthcare services provided for this role's Organization/Location(s)
... contact S 0..* ExtendedContactDetail Contacto de trabajo del profesional en esta organización
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
.... purpose Σ 0..1 CodeableConcept The type of contact
Vinculación: Contact entity type (preferred): The purpose for which an extended contact detail should be used.
.... name Σ 0..* HumanName Name of an individual to contact
.... telecom SΣC 0..* ContactPoint Teléfono (+506 y 8 dígitos; extensión interna con ;ext=) o correo electrónico
Constraints: cr-telefono
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Sin orden, Abierto by value:url
..... system ΣC 0..1 code phone | fax | email | pager | url | sms | other
Vinculación: ContactPointSystem (required): Telecommunications form for contact point.
..... value ΣC 0..1 string The actual contact point details
..... use ?!Σ 0..1 code work (valor fijo)
Vinculación: ContactPointUse (required): Use of contact point.
Required Pattern: work
..... rank Σ 0..1 positiveInt Specify preferred order of use (1 = highest)
..... period Σ 0..1 Period Time period when the contact point was/is in use
.... address Σ 0..1 Address Address for the contact
.... organization Σ 0..1 Reference(Organization) This contact detail is handled/monitored by a specific organization
.... period Σ 0..1 Period Period that this contact was valid for usage
... characteristic 0..* CodeableConcept Collection of characteristics (attributes)
Vinculación: ServiceMode (example): A custom attribute that could be provided at a service (e.g. Wheelchair accessibility).
... communication 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
Additional BindingsPurpose
CommonLanguages Starter

... availability 0..* Availability Times the Practitioner is available at this location and/or healthcare service (including exceptions)
... endpoint 0..* Reference(Endpoint) Endpoints for interacting with the practitioner in this role

doco Documentación de este formato

Vinculaciones terminológicas

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

Restricciones

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:

  • The element 1 is sliced based on the value of PractitionerRole.code

 

Otras representaciones de perfil: CSV, Excel, Schematron

Notas:

Uso en el HIE

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.

Consultas

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

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

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/_search
cuerpo: 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

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

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."
    }
  ]
}
Historial

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\""
      }
    }
  ]
}