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.

Modelo lógico: Modelo Lógico de la Atención - Descripciones detalladas

Estado de las normas de la página: Draft

Definiciones del cr-lm-atencion modelo lógico.

Las indicaciones para interpretar el contenido de esta tabla estánaquí

0. CRLMAtencion
Definición

Contacto entre un paciente y un establecimiento de salud, en el que se le presta uno o varios servicios: una consulta externa en un EBAIS, una atención en emergencias, una hospitalización, un estudio de resonancia magnética o una teleconsulta. Se modela con el recurso Encounter de FHIR R5.


Base definition for all types defined in FHIR type system.

ResumenModelo Lógico de la AtenciónBase for all types and resources
Control0..*
Es modificadorfalse
Modelo lógicoLas instancias de este modelo lógico no están marcadas como destino de una referencia
2. CRLMAtencion.identificacion
Definición

Número con que el establecimiento identifica la atención en sus sistemas: el número de episodio, de admisión o de la consulta.

ResumenNúmero con que el establecimiento identifica la atención en sus sistemas
Comentarios

Regla de negocio: Opcional: no hay un número nacional de atención. Si el establecimiento lo tiene, debe enviarlo, porque es la forma en que otros sistemas referencian la atención sin conocer el id del recurso (por ejemplo, un informe de imágenes que llega antes que la atención).

Regla de validación: No puede haber dos ocurrencias con el mismo establecimiento y número (invariante común cr-identificador-unico).

Comentarios: Para la CCSS, falta confirmar qué número identifica la atención en el EDUS y si es único en toda la institución (pregunta 1).

Control0..*
TipoBackboneElement
Requisitos

Permite que otro sistema cite la atención sin conocer el id del recurso, por ejemplo un informe de imágenes que llega al HIE antes que la atención. Es opcional porque no hay un número nacional de atención.

Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. CRLMAtencion.identificacion.id
Definición

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

ResumenUnique id for inter-element referencing
Control0..1
Este elemento está afectado por las siguientes invariantes: ele-1
Tipoidstring
Es modificadorfalse
Formato XMLEn el formato XML, esta propiedad se representa como un atributo.
Resumenfalse
6. CRLMAtencion.identificacion.extension
Definición

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ResumenAdditional content defined by implementations
Comentarios

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TipoExtension
Es modificadorfalse
Resumenfalse
Nombres alternativosextensions, user content
Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingEste elemento introduce un conjunto de slices en CRLMAtencion.identificacion.extension. Los slices sonSin orden y Open, y se distinguen con los siguientes discriminadores:
  • value @ url
  • 8. CRLMAtencion.identificacion.modifierExtension
    Definición

    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ResumenExtensions that cannot be ignored even if unrecognized
    Comentarios

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TipoExtension
    Es modificadortrue porque Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Resumentrue
    Requisitos

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Nombres alternativosextensions, user content, modifiers
    Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    10. CRLMAtencion.identificacion.numero
    Definición

    Número de la atención en el sistema del establecimiento.

    ResumenNúmero de la atención en el sistema del establecimiento
    Comentarios

    Regla de negocio: Lo define cada establecimiento.

    Regla de validación: De 1 a 64 caracteres, sin espacios (invariante común cr-codigo-interno-value).

    Control1..1
    Tipostring
    Valor primitivoEste elemento primitivo puede estar presente, ausente o reemplazado por una extensión
    Requisitos

    Es el número de episodio, admisión o consulta con que el sistema del establecimiento reconoce la atención.

    12. CRLMAtencion.identificacion.establecimiento
    Definición

    Código del establecimiento que asignó el número.

    ResumenCódigo del establecimiento que asignó el número
    Comentarios

    Regla de negocio: Es el codigo-establecimiento de la organización o, si es una unidad sin identificador propio, el de su organización superior.

    Regla de validación: Invariante cr-atencion-system: system.matches('^https://hl7\\.or\\.cr/fhir/sid/atencion/(cj-[1-9][0-9]{9}|cn-[1-9][0-9]{8}|dimex-[1-9][0-9]{10,11})$').

    Control1..1
    Tipostring
    Valor primitivoEste elemento primitivo puede estar presente, ausente o reemplazado por una extensión
    Requisitos

    Cada establecimiento numera sus atenciones por su cuenta. El establecimiento hace único el número, igual que en el expediente del paciente.

    14. CRLMAtencion.modalidad
    Definición

    Modalidad de la atención: 1. Ambulatoria (AMB): consulta externa, procedimientos y estudios sin internamiento, incluidas las atenciones extramuros (jornadas comunitarias, visitas a escuelas o centros de trabajo), que se distinguen por la ubicación o el servicio 2. Emergencias (EMER) 3. Hospitalización (IMP) 4. Observación (OBSENC) 5. Virtual: teleconsulta (VR) 6. Domiciliar (HH): está en el ValueSet estándar, pero la visita domiciliar no se interopera en esta versión.

    ResumenModalidad de la atención
    Comentarios

    Regla de negocio: Obligatoria y una sola. Una atención de emergencias que termina en hospitalización se registra como dos atenciones: la de emergencias y la de hospitalización.

    Regla de validación: Debe pertenecer al catálogo modalidad de la atención.

    Comentarios: Las atenciones extramuros van como AMB porque el ValueSet estándar no tiene un código propio (pregunta 3).

    Control1..1
    VinculaciónLos códigos DEBEN tomarse de Encounter class
    (required to http://terminology.hl7.org/ValueSet/encounter-class)
    TipoCodeableConcept
    Requisitos

    Distingue una consulta ambulatoria de una emergencia o una hospitalización, que tienen reglas, estadísticas y documentos distintos (por ejemplo, la epicrisis solo existe en una hospitalización).

    16. CRLMAtencion.paciente
    Definición

    Paciente atendido.

    ResumenPaciente atendido
    Comentarios

    Regla de negocio: Obligatorio. Una atención es siempre de un solo paciente; las actividades grupales (por ejemplo, una charla educativa) no son atenciones en este modelo.

    Regla de validación: Referencia a un Patient que cumpla el modelo de paciente. Se admite la referencia lógica por identificador (cédula, DIMEX, pasaporte o expediente).

    Control1..1
    TipoReference(Modelo Lógico del Paciente)
    Requisitos

    Toda la información clínica de la atención es de un paciente. Sin él no se puede ubicar la atención en su historia.

    18. CRLMAtencion.organizacion
    Definición

    Establecimiento que presta la atención y responde por ella.

    ResumenEstablecimiento que presta la atención y responde por ella
    Comentarios

    Regla de negocio: Obligatoria. Es la organización más específica: el EBAIS o el hospital, no la CCSS. Si la atención la presta otra organización por contrato (una relación entre organizaciones de compra de servicios), la organización es la que la presta.

    Regla de validación: Referencia a un Organization que cumpla el modelo de organización. Se admite la referencia lógica por codigo-establecimiento o cédula jurídica.

    Control1..1
    TipoReference(Modelo Lógico de la Organización)
    Requisitos

    Dice qué establecimiento prestó la atención y responde por ella, también cuando la presta por contrato para otra organización.

    20. CRLMAtencion.servicio
    Definición

    Servicio de salud en que se prestó la atención: por ejemplo, consulta especializada, imágenes médicas, laboratorio clínico o vacunación.

    ResumenServicio de salud en que se prestó la atención
    Comentarios

    Regla de negocio: Se registra el tipo de servicio y, si existe en el directorio, la referencia al servicio de salud concreto.

    Regla de validación: El tipo debe pertenecer al catálogo tipo de servicio de salud. Si hay referencia, debe apuntar a un HealthcareService de la misma organización.

    Control0..*
    VinculaciónSalvo que no sean adecuados, estos códigos DEBEN tomarse de Tipos de servicio de salud
    (extensible to https://hl7.or.cr/fhir/terminology/ValueSet/cr-tipo-servicio-salud)
    TipoCodeableConcept
    Requisitos

    Dice en qué servicio se atendió al paciente, por ejemplo imágenes médicas o consulta especializada, para clasificar la atención y relacionarla con el directorio de servicios.

    22. CRLMAtencion.periodo
    Definición

    Fecha y hora reales de inicio y fin de la atención.

    ResumenFecha y hora reales de inicio y fin de la atención
    Comentarios

    Regla de negocio: El inicio es obligatorio desde que la atención empieza; el fin, cuando termina (ver las invariantes). Para una hospitalización, el inicio es el ingreso y el fin es el egreso.

    Regla de validación: Invariantes cr-atencion-inicio y cr-atencion-fin (ver abajo). El fin no puede ser anterior al inicio (regla per-1 de FHIR).

    Comentarios: Hora local de Costa Rica (UTC−6, sin horario de verano), con zona horaria explícita, como en el horario del servicio de salud.

    Control0..1
    TipoBackboneElement
    Requisitos

    Ubica la atención en el tiempo. Ordena la historia del paciente y permite calcular estancias y tiempos de espera.

    Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    24. CRLMAtencion.periodo.id
    Definición

    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

    ResumenUnique id for inter-element referencing
    Control0..1
    Este elemento está afectado por las siguientes invariantes: ele-1
    Tipoidstring
    Es modificadorfalse
    Formato XMLEn el formato XML, esta propiedad se representa como un atributo.
    Resumenfalse
    26. CRLMAtencion.periodo.extension
    Definición

    May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

    ResumenAdditional content defined by implementations
    Comentarios

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TipoExtension
    Es modificadorfalse
    Resumenfalse
    Nombres alternativosextensions, user content
    Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    SlicingEste elemento introduce un conjunto de slices en CRLMAtencion.periodo.extension. Los slices sonSin orden y Open, y se distinguen con los siguientes discriminadores:
    • value @ url
    • 28. CRLMAtencion.periodo.modifierExtension
      Definición

      May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

      ResumenExtensions that cannot be ignored even if unrecognized
      Comentarios

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TipoExtension
      Es modificadortrue porque Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
      Resumentrue
      Requisitos

      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

      Nombres alternativosextensions, user content, modifiers
      Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      30. CRLMAtencion.periodo.inicio
      Definición

      Momento en que empezó la atención: la hora de la consulta, de la admisión en emergencias o del ingreso a hospitalización.

      ResumenMomento en que empezó la atención
      Comentarios

      Regla de negocio: Obligatorio según cr-atencion-inicio. No puede ser futuro (invariante cr-atencion-inicio-no-futuro: $this <= now()).

      Regla de validación: Fecha y hora con zona horaria (dateTime, por ejemplo 2026-09-30T08:15:00-06:00). Invariante cr-atencion-fecha-hora sobre cada periodo de la atención: (start.empty() or start.toString().contains('T')) and (end.empty() or end.toString().contains('T')); en FHIR, un dateTime con hora lleva siempre la zona horaria.

      Control0..1
      TipodateTime
      Valor primitivoEste elemento primitivo puede estar presente, ausente o reemplazado por una extensión
      Requisitos

      Marca cuándo empezó la atención: la consulta, la admisión en emergencias o el ingreso a hospitalización.

      32. CRLMAtencion.periodo.fin
      Definición

      Momento en que terminó la atención: el fin de la consulta o el egreso.

      ResumenMomento en que terminó la atención
      Comentarios

      Regla de negocio: Obligatorio según cr-atencion-fin. No puede ser anterior al inicio.

      Regla de validación: Fecha y hora con zona horaria.

      Control0..1
      TipodateTime
      Valor primitivoEste elemento primitivo puede estar presente, ausente o reemplazado por una extensión
      Requisitos

      Marca cuándo terminó la atención o cuándo egresó el paciente.

      34. CRLMAtencion.profesional
      Definición

      Profesionales que participan en la atención y su función.

      ResumenProfesionales que participan en la atención y su función
      Comentarios

      Regla de negocio: Se registra al menos al profesional responsable (ATND) cuando la atención la presta un profesional de salud. En una hospitalización pueden registrarse además quien ingresa (ADM) y quien da el egreso (DIS), y los interconsultantes (CON).

      Regla de validación: Invariante cr-atencion-responsable (warning): status in ('completed' | 'discharged') implies participant.where(type.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code = 'ATND').exists()).exists().

      Comentarios: Solo se referencian profesionales colegiados. Las atenciones de personal no colegiado, como la visita domiciliar del ATAP (asistente técnico de atención primaria), no se interoperan en esta versión (pregunta 4).

      Control0..*
      TipoBackboneElement
      Requisitos

      Dice quién atendió al paciente y con qué función, para saber a quién preguntar por la atención y quién responde por ella.

      Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      36. CRLMAtencion.profesional.id
      Definición

      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

      ResumenUnique id for inter-element referencing
      Control0..1
      Este elemento está afectado por las siguientes invariantes: ele-1
      Tipoidstring
      Es modificadorfalse
      Formato XMLEn el formato XML, esta propiedad se representa como un atributo.
      Resumenfalse
      38. CRLMAtencion.profesional.extension
      Definición

      May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

      ResumenAdditional content defined by implementations
      Comentarios

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TipoExtension
      Es modificadorfalse
      Resumenfalse
      Nombres alternativosextensions, user content
      Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      SlicingEste elemento introduce un conjunto de slices en CRLMAtencion.profesional.extension. Los slices sonSin orden y Open, y se distinguen con los siguientes discriminadores:
      • value @ url
      • 40. CRLMAtencion.profesional.modifierExtension
        Definición

        May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

        Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

        ResumenExtensions that cannot be ignored even if unrecognized
        Comentarios

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TipoExtension
        Es modificadortrue porque Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
        Resumentrue
        Requisitos

        Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

        Nombres alternativosextensions, user content, modifiers
        Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        42. CRLMAtencion.profesional.funcion
        Definición

        Función del profesional en la atención: 1. Responsable (ATND) 2. Ingresa al paciente (ADM) 3. Da el egreso (DIS) 4. Interconsultante (CON).

        ResumenFunción del profesional en la atención
        Comentarios

        Regla de negocio: Un profesional puede tener varias funciones en la misma atención; se registra una ocurrencia por función.

        Regla de validación: Debe pertenecer al catálogo función del profesional en la atención.

        Control1..1
        VinculaciónLos códigos DEBEN tomarse de Función del profesional en la atención
        (required to https://hl7.or.cr/fhir/terminology/ValueSet/cr-funcion-participante-atencion)
        TipoCodeableConcept
        Requisitos

        Distingue al responsable de la atención de quien ingresó, dio el egreso o fue interconsultado.

        44. CRLMAtencion.profesional.rol
        Definición

        Profesional que participa, en el rol con que lo hace.

        ResumenProfesional que participa, en el rol con que lo hace
        Comentarios

        Regla de negocio: Se referencia el rol del profesional y no al profesional solo: el rol dice en qué organización trabaja, con qué profesión y especialidad. Si el rol no está en el registro, se admite la referencia lógica al profesional por su código de colegiado.

        Regla de validación: Referencia a un PractitionerRole que cumpla el modelo de rol del profesional, o a un Practitioner que cumpla el de profesional de salud.

        Control1..1
        TipoReference(Modelo Lógico del Rol del Profesional, Modelo Lógico del Profesional de Salud)
        Requisitos

        Al citar el rol, y no solo a la persona, se sabe en qué organización y con qué profesión y especialidad participó el profesional.

        46. CRLMAtencion.profesional.periodo
        Definición

        Periodo en que el profesional participó, si no es toda la atención (por ejemplo, un cambio de médico tratante durante una hospitalización).

        ResumenPeriodo en que el profesional participó, si no es toda la atención
        Comentarios

        Regla de negocio: Debe estar dentro del periodo de la atención (invariante cr-atencion-periodos).

        Regla de validación: start y end con fecha, hora y zona horaria (invariante cr-atencion-fecha-hora).

        Control0..1
        TipoPeriod
        Requisitos

        Permite registrar un cambio de médico tratante durante una hospitalización.

        48. CRLMAtencion.ubicacion
        Definición

        Lugares del establecimiento donde estuvo el paciente durante la atención: el consultorio, la sala de resonancia, el salón de hospitalización.

        ResumenLugares del establecimiento donde estuvo el paciente durante la atención
        Comentarios

        Regla de negocio: Opcional. En una hospitalización, cada traslado de salón o de cama es una ocurrencia con su periodo.

        Control0..*
        TipoBackboneElement
        Requisitos

        Dice dónde estuvo el paciente durante la atención: el consultorio, la sala de resonancia o la cama. Lo necesitan los traslados, el control de infecciones y los estudios que se hacen en una sala concreta.

        Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        50. CRLMAtencion.ubicacion.id
        Definición

        Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

        ResumenUnique id for inter-element referencing
        Control0..1
        Este elemento está afectado por las siguientes invariantes: ele-1
        Tipoidstring
        Es modificadorfalse
        Formato XMLEn el formato XML, esta propiedad se representa como un atributo.
        Resumenfalse
        52. CRLMAtencion.ubicacion.extension
        Definición

        May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

        ResumenAdditional content defined by implementations
        Comentarios

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TipoExtension
        Es modificadorfalse
        Resumenfalse
        Nombres alternativosextensions, user content
        Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        SlicingEste elemento introduce un conjunto de slices en CRLMAtencion.ubicacion.extension. Los slices sonSin orden y Open, y se distinguen con los siguientes discriminadores:
        • value @ url
        • 54. CRLMAtencion.ubicacion.modifierExtension
          Definición

          May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

          Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

          ResumenExtensions that cannot be ignored even if unrecognized
          Comentarios

          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

          Control0..*
          TipoExtension
          Es modificadortrue porque Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
          Resumentrue
          Requisitos

          Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

          Nombres alternativosextensions, user content, modifiers
          Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          56. CRLMAtencion.ubicacion.ubicacion
          Definición

          Ubicación donde estuvo el paciente.

          ResumenUbicación donde estuvo el paciente
          Comentarios

          Regla de negocio: Debe ser una ubicación de la organización que presta la atención o de una organización con la que tiene una relación (por ejemplo, un servicio comprado que se presta en otro establecimiento).

          Regla de validación: Referencia a un Location que cumpla el modelo de ubicación.

          Control1..1
          TipoReference(Modelo Lógico de la Ubicación)
          Requisitos

          Es el lugar concreto donde estuvo el paciente.

          58. CRLMAtencion.ubicacion.periodo
          Definición

          Periodo en que el paciente estuvo en esa ubicación.

          ResumenPeriodo en que el paciente estuvo en esa ubicación
          Comentarios

          Regla de negocio: Debe estar dentro del periodo de la atención (invariante cr-atencion-periodos).

          Regla de validación: start y end con fecha, hora y zona horaria (invariante cr-atencion-fecha-hora).

          Control0..1
          TipoPeriod
          Requisitos

          Ordena los traslados de salón o de cama durante una hospitalización.

          60. CRLMAtencion.atencionSuperior
          Definición

          Atención de la que esta forma parte: por ejemplo, un estudio de imágenes o una interconsulta que se hace durante una hospitalización.

          ResumenAtención de la que esta forma parte
          Comentarios

          Regla de negocio: Solo para componentes de una atención mayor, del mismo paciente. No se usa para encadenar emergencias y hospitalización: son atenciones distintas y la relación entre ellas se modelará con el ingreso (sección Previsto).

          Regla de validación: Referencia a un Encounter que cumpla este modelo, con el mismo subject.

          Control0..1
          TipoReference(Modelo Lógico de la Atención)
          Requisitos

          Enlaza un componente, como un estudio de imágenes o una interconsulta durante una hospitalización, con la atención mayor de la que forma parte.

          Las indicaciones para interpretar el contenido de esta tabla estánaquí

          0. CRLMAtencion
          Definición

          Contacto entre un paciente y un establecimiento de salud, en el que se le presta uno o varios servicios: una consulta externa en un EBAIS, una atención en emergencias, una hospitalización, un estudio de resonancia magnética o una teleconsulta. Se modela con el recurso Encounter de FHIR R5.

          ResumenModelo Lógico de la Atención
          Modelo lógicoLas instancias de este modelo lógico no están marcadas como destino de una referencia
          2. CRLMAtencion.identificacion
          Definición

          Número con que el establecimiento identifica la atención en sus sistemas: el número de episodio, de admisión o de la consulta.

          ResumenNúmero con que el establecimiento identifica la atención en sus sistemas
          Comentarios

          Regla de negocio: Opcional: no hay un número nacional de atención. Si el establecimiento lo tiene, debe enviarlo, porque es la forma en que otros sistemas referencian la atención sin conocer el id del recurso (por ejemplo, un informe de imágenes que llega antes que la atención).

          Regla de validación: No puede haber dos ocurrencias con el mismo establecimiento y número (invariante común cr-identificador-unico).

          Comentarios: Para la CCSS, falta confirmar qué número identifica la atención en el EDUS y si es único en toda la institución (pregunta 1).

          Control0..*
          TipoBackboneElement
          Requisitos

          Permite que otro sistema cite la atención sin conocer el id del recurso, por ejemplo un informe de imágenes que llega al HIE antes que la atención. Es opcional porque no hay un número nacional de atención.

          4. CRLMAtencion.identificacion.numero
          Definición

          Número de la atención en el sistema del establecimiento.

          ResumenNúmero de la atención en el sistema del establecimiento
          Comentarios

          Regla de negocio: Lo define cada establecimiento.

          Regla de validación: De 1 a 64 caracteres, sin espacios (invariante común cr-codigo-interno-value).

          Control1..1
          Tipostring
          Valor primitivoEste elemento primitivo puede estar presente, ausente o reemplazado por una extensión
          Requisitos

          Es el número de episodio, admisión o consulta con que el sistema del establecimiento reconoce la atención.

          6. CRLMAtencion.identificacion.establecimiento
          Definición

          Código del establecimiento que asignó el número.

          ResumenCódigo del establecimiento que asignó el número
          Comentarios

          Regla de negocio: Es el codigo-establecimiento de la organización o, si es una unidad sin identificador propio, el de su organización superior.

          Regla de validación: Invariante cr-atencion-system: system.matches('^https://hl7\\.or\\.cr/fhir/sid/atencion/(cj-[1-9][0-9]{9}|cn-[1-9][0-9]{8}|dimex-[1-9][0-9]{10,11})$').

          Control1..1
          Tipostring
          Valor primitivoEste elemento primitivo puede estar presente, ausente o reemplazado por una extensión
          Requisitos

          Cada establecimiento numera sus atenciones por su cuenta. El establecimiento hace único el número, igual que en el expediente del paciente.

          8. CRLMAtencion.modalidad
          Definición

          Modalidad de la atención: 1. Ambulatoria (AMB): consulta externa, procedimientos y estudios sin internamiento, incluidas las atenciones extramuros (jornadas comunitarias, visitas a escuelas o centros de trabajo), que se distinguen por la ubicación o el servicio 2. Emergencias (EMER) 3. Hospitalización (IMP) 4. Observación (OBSENC) 5. Virtual: teleconsulta (VR) 6. Domiciliar (HH): está en el ValueSet estándar, pero la visita domiciliar no se interopera en esta versión.

          ResumenModalidad de la atención
          Comentarios

          Regla de negocio: Obligatoria y una sola. Una atención de emergencias que termina en hospitalización se registra como dos atenciones: la de emergencias y la de hospitalización.

          Regla de validación: Debe pertenecer al catálogo modalidad de la atención.

          Comentarios: Las atenciones extramuros van como AMB porque el ValueSet estándar no tiene un código propio (pregunta 3).

          Control1..1
          VinculaciónLos códigos DEBEN tomarse de Encounter class
          (required to http://terminology.hl7.org/ValueSet/encounter-class)
          TipoCodeableConcept
          Requisitos

          Distingue una consulta ambulatoria de una emergencia o una hospitalización, que tienen reglas, estadísticas y documentos distintos (por ejemplo, la epicrisis solo existe en una hospitalización).

          10. CRLMAtencion.paciente
          Definición

          Paciente atendido.

          ResumenPaciente atendido
          Comentarios

          Regla de negocio: Obligatorio. Una atención es siempre de un solo paciente; las actividades grupales (por ejemplo, una charla educativa) no son atenciones en este modelo.

          Regla de validación: Referencia a un Patient que cumpla el modelo de paciente. Se admite la referencia lógica por identificador (cédula, DIMEX, pasaporte o expediente).

          Control1..1
          TipoReference(Modelo Lógico del Paciente)
          Requisitos

          Toda la información clínica de la atención es de un paciente. Sin él no se puede ubicar la atención en su historia.

          12. CRLMAtencion.organizacion
          Definición

          Establecimiento que presta la atención y responde por ella.

          ResumenEstablecimiento que presta la atención y responde por ella
          Comentarios

          Regla de negocio: Obligatoria. Es la organización más específica: el EBAIS o el hospital, no la CCSS. Si la atención la presta otra organización por contrato (una relación entre organizaciones de compra de servicios), la organización es la que la presta.

          Regla de validación: Referencia a un Organization que cumpla el modelo de organización. Se admite la referencia lógica por codigo-establecimiento o cédula jurídica.

          Control1..1
          TipoReference(Modelo Lógico de la Organización)
          Requisitos

          Dice qué establecimiento prestó la atención y responde por ella, también cuando la presta por contrato para otra organización.

          14. CRLMAtencion.servicio
          Definición

          Servicio de salud en que se prestó la atención: por ejemplo, consulta especializada, imágenes médicas, laboratorio clínico o vacunación.

          ResumenServicio de salud en que se prestó la atención
          Comentarios

          Regla de negocio: Se registra el tipo de servicio y, si existe en el directorio, la referencia al servicio de salud concreto.

          Regla de validación: El tipo debe pertenecer al catálogo tipo de servicio de salud. Si hay referencia, debe apuntar a un HealthcareService de la misma organización.

          Control0..*
          VinculaciónSalvo que no sean adecuados, estos códigos DEBEN tomarse de Tipos de servicio de salud
          (extensible to https://hl7.or.cr/fhir/terminology/ValueSet/cr-tipo-servicio-salud)
          TipoCodeableConcept
          Requisitos

          Dice en qué servicio se atendió al paciente, por ejemplo imágenes médicas o consulta especializada, para clasificar la atención y relacionarla con el directorio de servicios.

          16. CRLMAtencion.periodo
          Definición

          Fecha y hora reales de inicio y fin de la atención.

          ResumenFecha y hora reales de inicio y fin de la atención
          Comentarios

          Regla de negocio: El inicio es obligatorio desde que la atención empieza; el fin, cuando termina (ver las invariantes). Para una hospitalización, el inicio es el ingreso y el fin es el egreso.

          Regla de validación: Invariantes cr-atencion-inicio y cr-atencion-fin (ver abajo). El fin no puede ser anterior al inicio (regla per-1 de FHIR).

          Comentarios: Hora local de Costa Rica (UTC−6, sin horario de verano), con zona horaria explícita, como en el horario del servicio de salud.

          Control0..1
          TipoBackboneElement
          Requisitos

          Ubica la atención en el tiempo. Ordena la historia del paciente y permite calcular estancias y tiempos de espera.

          18. CRLMAtencion.periodo.inicio
          Definición

          Momento en que empezó la atención: la hora de la consulta, de la admisión en emergencias o del ingreso a hospitalización.

          ResumenMomento en que empezó la atención
          Comentarios

          Regla de negocio: Obligatorio según cr-atencion-inicio. No puede ser futuro (invariante cr-atencion-inicio-no-futuro: $this <= now()).

          Regla de validación: Fecha y hora con zona horaria (dateTime, por ejemplo 2026-09-30T08:15:00-06:00). Invariante cr-atencion-fecha-hora sobre cada periodo de la atención: (start.empty() or start.toString().contains('T')) and (end.empty() or end.toString().contains('T')); en FHIR, un dateTime con hora lleva siempre la zona horaria.

          Control0..1
          TipodateTime
          Valor primitivoEste elemento primitivo puede estar presente, ausente o reemplazado por una extensión
          Requisitos

          Marca cuándo empezó la atención: la consulta, la admisión en emergencias o el ingreso a hospitalización.

          20. CRLMAtencion.periodo.fin
          Definición

          Momento en que terminó la atención: el fin de la consulta o el egreso.

          ResumenMomento en que terminó la atención
          Comentarios

          Regla de negocio: Obligatorio según cr-atencion-fin. No puede ser anterior al inicio.

          Regla de validación: Fecha y hora con zona horaria.

          Control0..1
          TipodateTime
          Valor primitivoEste elemento primitivo puede estar presente, ausente o reemplazado por una extensión
          Requisitos

          Marca cuándo terminó la atención o cuándo egresó el paciente.

          22. CRLMAtencion.profesional
          Definición

          Profesionales que participan en la atención y su función.

          ResumenProfesionales que participan en la atención y su función
          Comentarios

          Regla de negocio: Se registra al menos al profesional responsable (ATND) cuando la atención la presta un profesional de salud. En una hospitalización pueden registrarse además quien ingresa (ADM) y quien da el egreso (DIS), y los interconsultantes (CON).

          Regla de validación: Invariante cr-atencion-responsable (warning): status in ('completed' | 'discharged') implies participant.where(type.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code = 'ATND').exists()).exists().

          Comentarios: Solo se referencian profesionales colegiados. Las atenciones de personal no colegiado, como la visita domiciliar del ATAP (asistente técnico de atención primaria), no se interoperan en esta versión (pregunta 4).

          Control0..*
          TipoBackboneElement
          Requisitos

          Dice quién atendió al paciente y con qué función, para saber a quién preguntar por la atención y quién responde por ella.

          24. CRLMAtencion.profesional.funcion
          Definición

          Función del profesional en la atención: 1. Responsable (ATND) 2. Ingresa al paciente (ADM) 3. Da el egreso (DIS) 4. Interconsultante (CON).

          ResumenFunción del profesional en la atención
          Comentarios

          Regla de negocio: Un profesional puede tener varias funciones en la misma atención; se registra una ocurrencia por función.

          Regla de validación: Debe pertenecer al catálogo función del profesional en la atención.

          Control1..1
          VinculaciónLos códigos DEBEN tomarse de Función del profesional en la atención
          (required to https://hl7.or.cr/fhir/terminology/ValueSet/cr-funcion-participante-atencion)
          TipoCodeableConcept
          Requisitos

          Distingue al responsable de la atención de quien ingresó, dio el egreso o fue interconsultado.

          26. CRLMAtencion.profesional.rol
          Definición

          Profesional que participa, en el rol con que lo hace.

          ResumenProfesional que participa, en el rol con que lo hace
          Comentarios

          Regla de negocio: Se referencia el rol del profesional y no al profesional solo: el rol dice en qué organización trabaja, con qué profesión y especialidad. Si el rol no está en el registro, se admite la referencia lógica al profesional por su código de colegiado.

          Regla de validación: Referencia a un PractitionerRole que cumpla el modelo de rol del profesional, o a un Practitioner que cumpla el de profesional de salud.

          Control1..1
          TipoReference(Modelo Lógico del Rol del Profesional, Modelo Lógico del Profesional de Salud)
          Requisitos

          Al citar el rol, y no solo a la persona, se sabe en qué organización y con qué profesión y especialidad participó el profesional.

          28. CRLMAtencion.profesional.periodo
          Definición

          Periodo en que el profesional participó, si no es toda la atención (por ejemplo, un cambio de médico tratante durante una hospitalización).

          ResumenPeriodo en que el profesional participó, si no es toda la atención
          Comentarios

          Regla de negocio: Debe estar dentro del periodo de la atención (invariante cr-atencion-periodos).

          Regla de validación: start y end con fecha, hora y zona horaria (invariante cr-atencion-fecha-hora).

          Control0..1
          TipoPeriod
          Requisitos

          Permite registrar un cambio de médico tratante durante una hospitalización.

          30. CRLMAtencion.ubicacion
          Definición

          Lugares del establecimiento donde estuvo el paciente durante la atención: el consultorio, la sala de resonancia, el salón de hospitalización.

          ResumenLugares del establecimiento donde estuvo el paciente durante la atención
          Comentarios

          Regla de negocio: Opcional. En una hospitalización, cada traslado de salón o de cama es una ocurrencia con su periodo.

          Control0..*
          TipoBackboneElement
          Requisitos

          Dice dónde estuvo el paciente durante la atención: el consultorio, la sala de resonancia o la cama. Lo necesitan los traslados, el control de infecciones y los estudios que se hacen en una sala concreta.

          32. CRLMAtencion.ubicacion.ubicacion
          Definición

          Ubicación donde estuvo el paciente.

          ResumenUbicación donde estuvo el paciente
          Comentarios

          Regla de negocio: Debe ser una ubicación de la organización que presta la atención o de una organización con la que tiene una relación (por ejemplo, un servicio comprado que se presta en otro establecimiento).

          Regla de validación: Referencia a un Location que cumpla el modelo de ubicación.

          Control1..1
          TipoReference(Modelo Lógico de la Ubicación)
          Requisitos

          Es el lugar concreto donde estuvo el paciente.

          34. CRLMAtencion.ubicacion.periodo
          Definición

          Periodo en que el paciente estuvo en esa ubicación.

          ResumenPeriodo en que el paciente estuvo en esa ubicación
          Comentarios

          Regla de negocio: Debe estar dentro del periodo de la atención (invariante cr-atencion-periodos).

          Regla de validación: start y end con fecha, hora y zona horaria (invariante cr-atencion-fecha-hora).

          Control0..1
          TipoPeriod
          Requisitos

          Ordena los traslados de salón o de cama durante una hospitalización.

          36. CRLMAtencion.atencionSuperior
          Definición

          Atención de la que esta forma parte: por ejemplo, un estudio de imágenes o una interconsulta que se hace durante una hospitalización.

          ResumenAtención de la que esta forma parte
          Comentarios

          Regla de negocio: Solo para componentes de una atención mayor, del mismo paciente. No se usa para encadenar emergencias y hospitalización: son atenciones distintas y la relación entre ellas se modelará con el ingreso (sección Previsto).

          Regla de validación: Referencia a un Encounter que cumpla este modelo, con el mismo subject.

          Control0..1
          TipoReference(Modelo Lógico de la Atención)
          Requisitos

          Enlaza un componente, como un estudio de imágenes o una interconsulta durante una hospitalización, con la atención mayor de la que forma parte.

          Las indicaciones para interpretar el contenido de esta tabla estánaquí

          0. CRLMAtencion
          Definición

          Contacto entre un paciente y un establecimiento de salud, en el que se le presta uno o varios servicios: una consulta externa en un EBAIS, una atención en emergencias, una hospitalización, un estudio de resonancia magnética o una teleconsulta. Se modela con el recurso Encounter de FHIR R5.

          ResumenModelo Lógico de la Atención
          Control0..*
          Es modificadorfalse
          Modelo lógicoLas instancias de este modelo lógico no están marcadas como destino de una referencia
          2. CRLMAtencion.identificacion
          Definición

          Número con que el establecimiento identifica la atención en sus sistemas: el número de episodio, de admisión o de la consulta.

          ResumenNúmero con que el establecimiento identifica la atención en sus sistemas
          Comentarios

          Regla de negocio: Opcional: no hay un número nacional de atención. Si el establecimiento lo tiene, debe enviarlo, porque es la forma en que otros sistemas referencian la atención sin conocer el id del recurso (por ejemplo, un informe de imágenes que llega antes que la atención).

          Regla de validación: No puede haber dos ocurrencias con el mismo establecimiento y número (invariante común cr-identificador-unico).

          Comentarios: Para la CCSS, falta confirmar qué número identifica la atención en el EDUS y si es único en toda la institución (pregunta 1).

          Control0..*
          TipoBackboneElement
          Requisitos

          Permite que otro sistema cite la atención sin conocer el id del recurso, por ejemplo un informe de imágenes que llega al HIE antes que la atención. Es opcional porque no hay un número nacional de atención.

          Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          4. CRLMAtencion.identificacion.id
          Definición

          Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

          ResumenUnique id for inter-element referencing
          Control0..1
          Este elemento está afectado por las siguientes invariantes: ele-1
          Tipoid
          Es modificadorfalse
          Formato XMLEn el formato XML, esta propiedad se representa como un atributo.
          Resumenfalse
          6. CRLMAtencion.identificacion.extension
          Definición

          May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

          ResumenAdditional content defined by implementations
          Comentarios

          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

          Control0..*
          TipoExtension
          Es modificadorfalse
          Resumenfalse
          Nombres alternativosextensions, user content
          Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          SlicingEste elemento introduce un conjunto de slices en CRLMAtencion.identificacion.extension. Los slices sonSin orden y Open, y se distinguen con los siguientes discriminadores:
          • value @ url
          • 8. CRLMAtencion.identificacion.modifierExtension
            Definición

            May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

            Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

            ResumenExtensions that cannot be ignored even if unrecognized
            Comentarios

            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

            Control0..*
            TipoExtension
            Es modificadortrue porque Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
            Resumentrue
            Requisitos

            Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

            Nombres alternativosextensions, user content, modifiers
            Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            10. CRLMAtencion.identificacion.numero
            Definición

            Número de la atención en el sistema del establecimiento.

            ResumenNúmero de la atención en el sistema del establecimiento
            Comentarios

            Regla de negocio: Lo define cada establecimiento.

            Regla de validación: De 1 a 64 caracteres, sin espacios (invariante común cr-codigo-interno-value).

            Control1..1
            Tipostring
            Valor primitivoEste elemento primitivo puede estar presente, ausente o reemplazado por una extensión
            Requisitos

            Es el número de episodio, admisión o consulta con que el sistema del establecimiento reconoce la atención.

            12. CRLMAtencion.identificacion.establecimiento
            Definición

            Código del establecimiento que asignó el número.

            ResumenCódigo del establecimiento que asignó el número
            Comentarios

            Regla de negocio: Es el codigo-establecimiento de la organización o, si es una unidad sin identificador propio, el de su organización superior.

            Regla de validación: Invariante cr-atencion-system: system.matches('^https://hl7\\.or\\.cr/fhir/sid/atencion/(cj-[1-9][0-9]{9}|cn-[1-9][0-9]{8}|dimex-[1-9][0-9]{10,11})$').

            Control1..1
            Tipostring
            Valor primitivoEste elemento primitivo puede estar presente, ausente o reemplazado por una extensión
            Requisitos

            Cada establecimiento numera sus atenciones por su cuenta. El establecimiento hace único el número, igual que en el expediente del paciente.

            14. CRLMAtencion.modalidad
            Definición

            Modalidad de la atención: 1. Ambulatoria (AMB): consulta externa, procedimientos y estudios sin internamiento, incluidas las atenciones extramuros (jornadas comunitarias, visitas a escuelas o centros de trabajo), que se distinguen por la ubicación o el servicio 2. Emergencias (EMER) 3. Hospitalización (IMP) 4. Observación (OBSENC) 5. Virtual: teleconsulta (VR) 6. Domiciliar (HH): está en el ValueSet estándar, pero la visita domiciliar no se interopera en esta versión.

            ResumenModalidad de la atención
            Comentarios

            Regla de negocio: Obligatoria y una sola. Una atención de emergencias que termina en hospitalización se registra como dos atenciones: la de emergencias y la de hospitalización.

            Regla de validación: Debe pertenecer al catálogo modalidad de la atención.

            Comentarios: Las atenciones extramuros van como AMB porque el ValueSet estándar no tiene un código propio (pregunta 3).

            Control1..1
            VinculaciónLos códigos DEBEN tomarse de Encounter class
            (required to http://terminology.hl7.org/ValueSet/encounter-class)
            TipoCodeableConcept
            Requisitos

            Distingue una consulta ambulatoria de una emergencia o una hospitalización, que tienen reglas, estadísticas y documentos distintos (por ejemplo, la epicrisis solo existe en una hospitalización).

            16. CRLMAtencion.paciente
            Definición

            Paciente atendido.

            ResumenPaciente atendido
            Comentarios

            Regla de negocio: Obligatorio. Una atención es siempre de un solo paciente; las actividades grupales (por ejemplo, una charla educativa) no son atenciones en este modelo.

            Regla de validación: Referencia a un Patient que cumpla el modelo de paciente. Se admite la referencia lógica por identificador (cédula, DIMEX, pasaporte o expediente).

            Control1..1
            TipoReference(Modelo Lógico del Paciente)
            Requisitos

            Toda la información clínica de la atención es de un paciente. Sin él no se puede ubicar la atención en su historia.

            18. CRLMAtencion.organizacion
            Definición

            Establecimiento que presta la atención y responde por ella.

            ResumenEstablecimiento que presta la atención y responde por ella
            Comentarios

            Regla de negocio: Obligatoria. Es la organización más específica: el EBAIS o el hospital, no la CCSS. Si la atención la presta otra organización por contrato (una relación entre organizaciones de compra de servicios), la organización es la que la presta.

            Regla de validación: Referencia a un Organization que cumpla el modelo de organización. Se admite la referencia lógica por codigo-establecimiento o cédula jurídica.

            Control1..1
            TipoReference(Modelo Lógico de la Organización)
            Requisitos

            Dice qué establecimiento prestó la atención y responde por ella, también cuando la presta por contrato para otra organización.

            20. CRLMAtencion.servicio
            Definición

            Servicio de salud en que se prestó la atención: por ejemplo, consulta especializada, imágenes médicas, laboratorio clínico o vacunación.

            ResumenServicio de salud en que se prestó la atención
            Comentarios

            Regla de negocio: Se registra el tipo de servicio y, si existe en el directorio, la referencia al servicio de salud concreto.

            Regla de validación: El tipo debe pertenecer al catálogo tipo de servicio de salud. Si hay referencia, debe apuntar a un HealthcareService de la misma organización.

            Control0..*
            VinculaciónSalvo que no sean adecuados, estos códigos DEBEN tomarse de Tipos de servicio de salud
            (extensible to https://hl7.or.cr/fhir/terminology/ValueSet/cr-tipo-servicio-salud)
            TipoCodeableConcept
            Requisitos

            Dice en qué servicio se atendió al paciente, por ejemplo imágenes médicas o consulta especializada, para clasificar la atención y relacionarla con el directorio de servicios.

            22. CRLMAtencion.periodo
            Definición

            Fecha y hora reales de inicio y fin de la atención.

            ResumenFecha y hora reales de inicio y fin de la atención
            Comentarios

            Regla de negocio: El inicio es obligatorio desde que la atención empieza; el fin, cuando termina (ver las invariantes). Para una hospitalización, el inicio es el ingreso y el fin es el egreso.

            Regla de validación: Invariantes cr-atencion-inicio y cr-atencion-fin (ver abajo). El fin no puede ser anterior al inicio (regla per-1 de FHIR).

            Comentarios: Hora local de Costa Rica (UTC−6, sin horario de verano), con zona horaria explícita, como en el horario del servicio de salud.

            Control0..1
            TipoBackboneElement
            Requisitos

            Ubica la atención en el tiempo. Ordena la historia del paciente y permite calcular estancias y tiempos de espera.

            Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            24. CRLMAtencion.periodo.id
            Definición

            Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

            ResumenUnique id for inter-element referencing
            Control0..1
            Este elemento está afectado por las siguientes invariantes: ele-1
            Tipoid
            Es modificadorfalse
            Formato XMLEn el formato XML, esta propiedad se representa como un atributo.
            Resumenfalse
            26. CRLMAtencion.periodo.extension
            Definición

            May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

            ResumenAdditional content defined by implementations
            Comentarios

            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

            Control0..*
            TipoExtension
            Es modificadorfalse
            Resumenfalse
            Nombres alternativosextensions, user content
            Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            SlicingEste elemento introduce un conjunto de slices en CRLMAtencion.periodo.extension. Los slices sonSin orden y Open, y se distinguen con los siguientes discriminadores:
            • value @ url
            • 28. CRLMAtencion.periodo.modifierExtension
              Definición

              May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

              Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

              ResumenExtensions that cannot be ignored even if unrecognized
              Comentarios

              There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

              Control0..*
              TipoExtension
              Es modificadortrue porque Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
              Resumentrue
              Requisitos

              Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

              Nombres alternativosextensions, user content, modifiers
              Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
              30. CRLMAtencion.periodo.inicio
              Definición

              Momento en que empezó la atención: la hora de la consulta, de la admisión en emergencias o del ingreso a hospitalización.

              ResumenMomento en que empezó la atención
              Comentarios

              Regla de negocio: Obligatorio según cr-atencion-inicio. No puede ser futuro (invariante cr-atencion-inicio-no-futuro: $this <= now()).

              Regla de validación: Fecha y hora con zona horaria (dateTime, por ejemplo 2026-09-30T08:15:00-06:00). Invariante cr-atencion-fecha-hora sobre cada periodo de la atención: (start.empty() or start.toString().contains('T')) and (end.empty() or end.toString().contains('T')); en FHIR, un dateTime con hora lleva siempre la zona horaria.

              Control0..1
              TipodateTime
              Valor primitivoEste elemento primitivo puede estar presente, ausente o reemplazado por una extensión
              Requisitos

              Marca cuándo empezó la atención: la consulta, la admisión en emergencias o el ingreso a hospitalización.

              32. CRLMAtencion.periodo.fin
              Definición

              Momento en que terminó la atención: el fin de la consulta o el egreso.

              ResumenMomento en que terminó la atención
              Comentarios

              Regla de negocio: Obligatorio según cr-atencion-fin. No puede ser anterior al inicio.

              Regla de validación: Fecha y hora con zona horaria.

              Control0..1
              TipodateTime
              Valor primitivoEste elemento primitivo puede estar presente, ausente o reemplazado por una extensión
              Requisitos

              Marca cuándo terminó la atención o cuándo egresó el paciente.

              34. CRLMAtencion.profesional
              Definición

              Profesionales que participan en la atención y su función.

              ResumenProfesionales que participan en la atención y su función
              Comentarios

              Regla de negocio: Se registra al menos al profesional responsable (ATND) cuando la atención la presta un profesional de salud. En una hospitalización pueden registrarse además quien ingresa (ADM) y quien da el egreso (DIS), y los interconsultantes (CON).

              Regla de validación: Invariante cr-atencion-responsable (warning): status in ('completed' | 'discharged') implies participant.where(type.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code = 'ATND').exists()).exists().

              Comentarios: Solo se referencian profesionales colegiados. Las atenciones de personal no colegiado, como la visita domiciliar del ATAP (asistente técnico de atención primaria), no se interoperan en esta versión (pregunta 4).

              Control0..*
              TipoBackboneElement
              Requisitos

              Dice quién atendió al paciente y con qué función, para saber a quién preguntar por la atención y quién responde por ella.

              Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              36. CRLMAtencion.profesional.id
              Definición

              Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

              ResumenUnique id for inter-element referencing
              Control0..1
              Este elemento está afectado por las siguientes invariantes: ele-1
              Tipoid
              Es modificadorfalse
              Formato XMLEn el formato XML, esta propiedad se representa como un atributo.
              Resumenfalse
              38. CRLMAtencion.profesional.extension
              Definición

              May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

              ResumenAdditional content defined by implementations
              Comentarios

              There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

              Control0..*
              TipoExtension
              Es modificadorfalse
              Resumenfalse
              Nombres alternativosextensions, user content
              Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
              SlicingEste elemento introduce un conjunto de slices en CRLMAtencion.profesional.extension. Los slices sonSin orden y Open, y se distinguen con los siguientes discriminadores:
              • value @ url
              • 40. CRLMAtencion.profesional.modifierExtension
                Definición

                May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                ResumenExtensions that cannot be ignored even if unrecognized
                Comentarios

                There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                Control0..*
                TipoExtension
                Es modificadortrue porque Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                Resumentrue
                Requisitos

                Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                Nombres alternativosextensions, user content, modifiers
                Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                42. CRLMAtencion.profesional.funcion
                Definición

                Función del profesional en la atención: 1. Responsable (ATND) 2. Ingresa al paciente (ADM) 3. Da el egreso (DIS) 4. Interconsultante (CON).

                ResumenFunción del profesional en la atención
                Comentarios

                Regla de negocio: Un profesional puede tener varias funciones en la misma atención; se registra una ocurrencia por función.

                Regla de validación: Debe pertenecer al catálogo función del profesional en la atención.

                Control1..1
                VinculaciónLos códigos DEBEN tomarse de Función del profesional en la atención
                (required to https://hl7.or.cr/fhir/terminology/ValueSet/cr-funcion-participante-atencion)
                TipoCodeableConcept
                Requisitos

                Distingue al responsable de la atención de quien ingresó, dio el egreso o fue interconsultado.

                44. CRLMAtencion.profesional.rol
                Definición

                Profesional que participa, en el rol con que lo hace.

                ResumenProfesional que participa, en el rol con que lo hace
                Comentarios

                Regla de negocio: Se referencia el rol del profesional y no al profesional solo: el rol dice en qué organización trabaja, con qué profesión y especialidad. Si el rol no está en el registro, se admite la referencia lógica al profesional por su código de colegiado.

                Regla de validación: Referencia a un PractitionerRole que cumpla el modelo de rol del profesional, o a un Practitioner que cumpla el de profesional de salud.

                Control1..1
                TipoReference(Modelo Lógico del Rol del Profesional, Modelo Lógico del Profesional de Salud)
                Requisitos

                Al citar el rol, y no solo a la persona, se sabe en qué organización y con qué profesión y especialidad participó el profesional.

                46. CRLMAtencion.profesional.periodo
                Definición

                Periodo en que el profesional participó, si no es toda la atención (por ejemplo, un cambio de médico tratante durante una hospitalización).

                ResumenPeriodo en que el profesional participó, si no es toda la atención
                Comentarios

                Regla de negocio: Debe estar dentro del periodo de la atención (invariante cr-atencion-periodos).

                Regla de validación: start y end con fecha, hora y zona horaria (invariante cr-atencion-fecha-hora).

                Control0..1
                TipoPeriod
                Requisitos

                Permite registrar un cambio de médico tratante durante una hospitalización.

                48. CRLMAtencion.ubicacion
                Definición

                Lugares del establecimiento donde estuvo el paciente durante la atención: el consultorio, la sala de resonancia, el salón de hospitalización.

                ResumenLugares del establecimiento donde estuvo el paciente durante la atención
                Comentarios

                Regla de negocio: Opcional. En una hospitalización, cada traslado de salón o de cama es una ocurrencia con su periodo.

                Control0..*
                TipoBackboneElement
                Requisitos

                Dice dónde estuvo el paciente durante la atención: el consultorio, la sala de resonancia o la cama. Lo necesitan los traslados, el control de infecciones y los estudios que se hacen en una sala concreta.

                Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                50. CRLMAtencion.ubicacion.id
                Definición

                Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                ResumenUnique id for inter-element referencing
                Control0..1
                Este elemento está afectado por las siguientes invariantes: ele-1
                Tipoid
                Es modificadorfalse
                Formato XMLEn el formato XML, esta propiedad se representa como un atributo.
                Resumenfalse
                52. CRLMAtencion.ubicacion.extension
                Definición

                May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                ResumenAdditional content defined by implementations
                Comentarios

                There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                Control0..*
                TipoExtension
                Es modificadorfalse
                Resumenfalse
                Nombres alternativosextensions, user content
                Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                SlicingEste elemento introduce un conjunto de slices en CRLMAtencion.ubicacion.extension. Los slices sonSin orden y Open, y se distinguen con los siguientes discriminadores:
                • value @ url
                • 54. CRLMAtencion.ubicacion.modifierExtension
                  Definición

                  May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                  Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                  ResumenExtensions that cannot be ignored even if unrecognized
                  Comentarios

                  There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                  Control0..*
                  TipoExtension
                  Es modificadortrue porque Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                  Resumentrue
                  Requisitos

                  Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                  Nombres alternativosextensions, user content, modifiers
                  Invariantesele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  56. CRLMAtencion.ubicacion.ubicacion
                  Definición

                  Ubicación donde estuvo el paciente.

                  ResumenUbicación donde estuvo el paciente
                  Comentarios

                  Regla de negocio: Debe ser una ubicación de la organización que presta la atención o de una organización con la que tiene una relación (por ejemplo, un servicio comprado que se presta en otro establecimiento).

                  Regla de validación: Referencia a un Location que cumpla el modelo de ubicación.

                  Control1..1
                  TipoReference(Modelo Lógico de la Ubicación)
                  Requisitos

                  Es el lugar concreto donde estuvo el paciente.

                  58. CRLMAtencion.ubicacion.periodo
                  Definición

                  Periodo en que el paciente estuvo en esa ubicación.

                  ResumenPeriodo en que el paciente estuvo en esa ubicación
                  Comentarios

                  Regla de negocio: Debe estar dentro del periodo de la atención (invariante cr-atencion-periodos).

                  Regla de validación: start y end con fecha, hora y zona horaria (invariante cr-atencion-fecha-hora).

                  Control0..1
                  TipoPeriod
                  Requisitos

                  Ordena los traslados de salón o de cama durante una hospitalización.

                  60. CRLMAtencion.atencionSuperior
                  Definición

                  Atención de la que esta forma parte: por ejemplo, un estudio de imágenes o una interconsulta que se hace durante una hospitalización.

                  ResumenAtención de la que esta forma parte
                  Comentarios

                  Regla de negocio: Solo para componentes de una atención mayor, del mismo paciente. No se usa para encadenar emergencias y hospitalización: son atenciones distintas y la relación entre ellas se modelará con el ingreso (sección Previsto).

                  Regla de validación: Referencia a un Encounter que cumpla este modelo, con el mismo subject.

                  Control0..1
                  TipoReference(Modelo Lógico de la Atención)
                  Requisitos

                  Enlaza un componente, como un estudio de imágenes o una interconsulta durante una hospitalización, con la atención mayor de la que forma parte.