Guía de Implementación de Homologación Regional (PH4H) de Costa Rica
0.1.0 - ci-build Costa Rica bandera

Guía de Implementación de Homologación Regional (PH4H) de Costa Rica - Versión en desarrollo (v0.1.0): borrador de trabajo de la Iniciativa HL7® Costa Rica, que puede cambiar sin aviso.

StructureMap: CRPractitionerToIPS

URL oficial: https://hl7.or.cr/fhir/ph4h/StructureMap/CRPractitionerToIPS Versión: 0.1.0
Standards status: Draft Nombre computable: CRPractitionerToIPS

Idioma: es

map "https://hl7.or.cr/fhir/ph4h/StructureMap/CRPractitionerToIPS" = "CRPractitionerToIPS"

uses "http://hl7.org/fhir/5.0/StructureDefinition/Practitioner" alias Practitioner as source
uses "http://hl7.org/fhir/4.0/StructureDefinition/Practitioner" alias PractitionerR4 as target

imports "https://hl7.or.cr/fhir/ph4h/StructureMap/CRComun"

group CRPractitionerToIPS(source src : Practitioner, target tgt : PractitionerR4) {
  src.id as v -> tgt.id = v;
  src -> tgt.meta as m then {
    src -> m.profile = 'http://hl7.org/fhir/uv/ips/StructureDefinition/Practitioner-uv-ips' "perfil";
  } "meta";
  src.identifier as id where (use = 'official') -> tgt.identifier as ti then {
    id then Identificador(id, ti) "datos";
    id where (system.startsWith('https://hl7.or.cr/fhir/sid/colegiado/')) -> ti.assigner as a then Colegio(id, a) "colegio";
  } "identificador";
  src.active as v -> tgt.active = v "activo";
  src.name as n -> tgt.name as tn then Nombre(n, tn) "nombre";
  src.telecom as t -> tgt.telecom as tt then Telecom(t, tt);
  src.address as a -> tgt.address as ta then Direccion(a, ta) "direccion";
  src.gender as v -> tgt.gender = v "sexo";
  src.birthDate as v -> tgt.birthDate = v "nacimiento";
  src.qualification as q -> tgt.qualification as tq then {
    q.identifier as id -> tq.identifier as ti then Identificador(id, ti) "numero";
    q.code as c -> tq.code as tc then Concepto(c, tc) "codigo";
    q.period as p -> tq.period as tp then Periodo(p, tp) "vigencia";
    q.issuer as i -> tq.issuer as ti then Referencia(i, ti) "emisor";
  } "colegiaturaEspecialidad";
  src.communication as c then {
    c.language as l -> tgt.communication as tc then Concepto(l, tc) "codigo";
  } "idioma";
}

// Nombre del colegio según el sufijo del system del código de colegiado (cr-colegio-profesional).
group Colegio(source id : Identifier, target a : Reference) {
  id where (system = 'https://hl7.or.cr/fhir/sid/colegiado/cmc') -> a.display = 'Colegio de Médicos y Cirujanos de Costa Rica' "cmc";
  id where (system = 'https://hl7.or.cr/fhir/sid/colegiado/ccd') -> a.display = 'Colegio de Cirujanos Dentistas de Costa Rica' "ccd";
  id where (system = 'https://hl7.or.cr/fhir/sid/colegiado/cfc') -> a.display = 'Colegio de Farmacéuticos de Costa Rica' "cfc";
  id where (system = 'https://hl7.or.cr/fhir/sid/colegiado/cmqc') -> a.display = 'Colegio de Microbiólogos y Químicos Clínicos de Costa Rica' "cmqc";
  id where (system = 'https://hl7.or.cr/fhir/sid/colegiado/cecr') -> a.display = 'Colegio de Enfermeras de Costa Rica' "cecr";
  id where (system = 'https://hl7.or.cr/fhir/sid/colegiado/cpp') -> a.display = 'Colegio de Profesionales en Psicología de Costa Rica' "cpp";
  id where (system = 'https://hl7.or.cr/fhir/sid/colegiado/cpn') -> a.display = 'Colegio de Profesionales en Nutrición de Costa Rica' "cpn";
  id where (system = 'https://hl7.or.cr/fhir/sid/colegiado/ctcr') -> a.display = 'Colegio de Terapeutas de Costa Rica' "ctcr";
}