CIMA · La Cueva

Simulación gráfica de planeación — integración de bases de datos

Capítulo 2 · Migración de Arteaga → DB Nueva

Cómo el sistema viejo (Arteaga, columnas planas) se reordena hacia el esquema HIS-ready de DB Nueva (relacional, normalizado). Esto es un plano: no migra nada, lo dibuja.

Inventario completo de Arteaga, no solo paciente/consulta. Cada fila muestra: tabla origen · nº de filas → tabla(s) destino · acción.

split — un campo/fila se reparte en varios tabla nueva — no existía en CIMA join — varias tablas se fusionan en una descartar — metadata, no se migra

Núcleo clínico

Catálogos

Financiero

Endoscopia

No migrar (metadata)

Una sola fila clínica real recorriendo las tres capas. Mira los splits: lo plano de Arteaga se descompone en estructuras normalizadas.

ARTEAGA (origen)
Sistema viejo · columnas planas
pacientes.nombre
PEREZ GOMEZ, JUAN CARLOS
pacientes.cedula
V-6543210
consultas — 1 fila × 27 columnas
col4 motivo · col15 tratamiento · col17 orofaringe · col18 nariz · col19 oídos (sin lado)
consultas.col19
CAE Y MT DE ASPECTO NORMAL
consultas.col25 / col26
cavidad_oral: PROTESIS TOTAL · vestibular: DIFERIDO
cols 5-14 / 16 / 20 / 24
flags / vacías → descartar
CIMA (actual)
SPA · D1 · datos reales
patient p00000001
Miguel David Daza Suniaga · V-16613888 · +584248119014
consultation
C-1777409225456 · #3 · service s001 (ORL)
interview.motivo_chips
Vértigo, Acúfenos, Hipoacusia
interview.enfermedad_actual
Paciente masculino de 40 años con otalgia bilateral, fiebre, odinofagia…
exam (4 regiones)
oído der · oído izq · nariz · orofaringe
diagnosis.dx_chips
5 diagnósticos (Parálisis CV bilateral, Rinosinusitis, OE der, OMC colesteatomatosa, OMS bilateral)
treatment.txt_tratamiento
Loratadina · Claricort · Quinotic HC · Amoxicilina (texto plano)
DB NUEVA (destino)
HIS-ready · normalizado · party model
person
given_name: Juan · middle_name: Carlos · family_name: Perez · second_family: Gomez
patient → person_id
referencia a person (sin duplicar demografía)
encounter
1 fila · service s001 · vincula todo
encounter_interview
motivo_chips + enfermedad_actual
encounter_exam (N filas)
region='oido_derecho' · region='oido_izquierdo' · region='nariz' · region='orofaringe'
encounter_diagnosis
5 → encounter_diagnosis + diagnosis_catalog
encounter_medication (4 filas)
Loratadina · Claricort · Quinotic HC · Amoxicilina

Los splits que ocurren en este recorrido

Nombre único → 4 campos. "PEREZ GOMEZ, JUAN CARLOS" se separa en given_name / middle_name / family_name / second_family dentro de person.
1 fila de 27 columnas → varias tablas. La fila de consultas se reparte en encounter + encounter_interview + N×encounter_exam (una por región) + encounter_study + encounter_treatment.
Oído sin lateralidad → dos regiones. col19 "CAE Y MT DE ASPECTO NORMAL" se desdobla en region='oido_derecho' + region='oido_izquierdo'.
Tratamiento en texto → N filas normalizadas. "1. Loratadina 2. Claricort 3. Quinotic 4. Amoxicilina" → 4 filas en encounter_medication (recetas normalizadas, tabla nueva).

Capítulo 3 · Multiespecialidad ★

La joya conceptual: una sola estructura sirve a todas las especialidades sin tocar el esquema.

Tesis: En DB Nueva el examen NO son columnas (oído, nariz). Es una tabla genérica encounter_exam(region, chips, nota) donde region es un VALOR de fila.

Qué regiones/secciones existen por especialidad lo define el CATÁLOGO del modelo (consultation_model → model_chip_category). Así una sola estructura sirve a TODAS las especialidades sin tocar el esquema — patrón tipo FHIR Questionnaire.

NO se necesita una tabla por modelo. Elige una especialidad: verás que la columna izquierda (esquema) nunca cambia, y solo cambia el catálogo y el formulario resultante.

Esquema (FIJO)
Tablas genéricas · inmutables · iguales para toda especialidad.
encounter 🔒1 fila por consulta
encounter_interview 🔒motivo + enfermedad
encounter_exam(region, chips, nota) 🔒region = VALOR de fila
encounter_study 🔒estudios solicitados
encounter_diagnosis 🔒dx codificados
encounter_treatment 🔒plan + indicaciones
Catálogo del modelo (CAMBIA)
model_chip_category · section='exam' · code=region · de la especialidad elegida.
Resultado: formulario de examen
Regiones renderizadas como acordeón — lo que ve el médico.
Estudios de la especialidad (encounter_study / study_type)
Principio clave — party model. person es la identidad compartida; patient y practitioner la referencian → no se duplica demografía. Esto corrige la deuda actual de CIMA, donde user y patient repiten nombre, cédula y teléfono.