Síntesis de expedientes médicos
Para resumir un historial médico con un LLM local, extrae los hechos mediante código (un lote FHIR o un documento CDA R2), numéralos, haz que se redacte la síntesis únicamente a partir de ellos, citando la referencia de cada línea, comprueba mediante un programa que cada referencia y cada número existan en la fuente y, después, haz que un médico valide la síntesis. La ejecución en local protege la confidencialidad, pero no protege frente a las alucinaciones: un estudio de 2025 detecta una tasa del 1,47 % por frase.
Una historia clínica es exacta pero está fragmentada, y los modelos de lenguaje redactan síntesis fluidas que pueden contener errores graves. Esta guía describe un pipeline local en el que el código extrae los hechos, el modelo los redacta citando sus fuentes y el resultado se valida primero mediante una comprobación automatizada y después por un médico. También recuerda el marco que hay que verificar: secreto médico, alojamiento de datos de salud y finalidad de la herramienta.
#El problema: expedientes precisos pero ilegibles
Un profesional sanitario que se hace cargo de un paciente debe revisar informes, resultados de laboratorio, recetas y correspondencia, a menudo generados por varios programas. Un modelo local puede preparar un resumen de la historia clínica en una página para retomar la atención del paciente. El método que funciona en contextos médicos siempre es el mismo: extraer los datos estructurados mediante código determinista, hacer que el modelo redacte el resumen únicamente a partir de esos hechos, hacer que cada línea cite el identificador del hecho original, verificar el resumen mediante un programa y luego hacer que un médico lo valide.
Una aclaración terminológica evita una confusión frecuente. En Francia, los documentos de salud intercambiados y compartidos, especialmente a través del Dossier Médical Partagé, siguen el marco de interoperabilidad de los sistemas de información de salud (CI-SIS) de la Agence du numérique en santé, cuyos apartados describen documentos en formato CDA R2, un estándar HL7 basado en XML. HL7 versión 2 es otro estándar, basado en mensajes de texto delimitados por barras verticales, que sirve para el transporte. Por último, FHIR, en JSON, es la norma de intercambio más reciente y más sencilla de procesar, que se encuentra sobre todo en los intercambios entre aplicaciones. Por tanto, tu primera tarea es saber qué te proporciona tu software.
#Marco: secreto médico, alojamiento y responsabilidad
Tu ChatGPT privado y gratuito en tu máquina en 1 hora — LM Studio, Ollama, Open WebUI, tus documentos, sin nube.
- Espacio en línea de por vida
- PDF + archivos
- Reembolsado 30 j
Hay tres cuestiones que abordar antes de escribir código. La primera es el secreto médico y la protección de los datos de salud, que exigen tratar estos datos en una infraestructura controlada: el procesamiento local es su aplicación práctica, pero también hay que cifrar los discos, restringir los accesos y mantener registros. La segunda es el alojamiento de datos de salud. El artículo L. 1111-8 del Código de Salud Pública establece que toda persona que aloje datos de salud de carácter personal en soporte digital debe estar certificada para ello cuando lo haga por cuenta de un responsable del tratamiento o del paciente.
Esta obligación no siempre se aplica como se suele creer. Según la Agence du numérique en santé, citada por una aseguradora especializada, la certificación como proveedor de alojamiento no es una obligación reglamentaria cuando todos los sistemas de una entidad almacenan únicamente datos de sus propios pacientes, salvo que esa entidad preste servicios de alojamiento por cuenta de terceros. En otras palabras, un consultorio que ejecuta la herramienta en sus propias instalaciones, para sus pacientes, no se encuentra en la misma situación que un proveedor de software que ofrece este servicio a otros consultorios. Haz que tu asesor o tu delegado de protección de datos confirme tu situación.
La tercera cuestión es la finalidad. Un software que produce información destinada a orientar una decisión médica puede estar sujeto a la normativa sobre dispositivos médicos, según la finalidad declarada. Un resumen para retomar un expediente, presentado como una ayuda a la lectura y validado por el médico, no tiene el mismo alcance que una herramienta que sugiere un tratamiento. Esta guía se limita a la primera formulación.
#Pila local
Bastan tres componentes. Python para leer los documentos: el módulo json para un lote FHIR, lxml para un documento CDA y la biblioteca hl7 para posibles mensajes de la versión 2, que se presenta como un analizador de mensajes HL7 v2.x. Ollama para servir el modelo: Qwen 3.5, con 9 mil millones de parámetros, pesa 6,6 GB y anuncia un contexto de 256 000 tokens; Mistral Small 24B pesa 14 GB y anuncia 32 000 tokens. Por último, el esquema JSON de Ollama, para obligar al modelo a responder en un formato que se pueda comprobar.
Ninguno de estos modelos ha sido validado para uso clínico por sus editores. Su capacidad en francés médico se mide con tus propios expedientes, siguiendo el protocolo que aparece más abajo. Una tarjeta de 8 GB basta para el primero; el segundo requiere más memoria de vídeo, especialmente si el contexto es largo.
#Leer los documentos: lote FHIR y documento CDA
Para un lote FHIR, que es un contenedor de una colección de recursos, lo más sencillo es leer el JSON tal como está y buscar los recursos por tipo. Esto evita depender de una biblioteca cuyas versiones de FHIR varían. Cada hecho seleccionado recibe un identificador corto (F1, F2...) y un texto legible: esto permitirá luego recuperar la fuente de cada frase de la síntesis.
Para un documento CDA, el texto útil se encuentra en las secciones del cuerpo estructurado: cada sección tiene un título, un código y un bloque de texto narrativo. El código a continuación extrae esas secciones con sus títulos, sin incluir la cabecera del documento, que contiene la identidad del paciente. Los espacios de nombres de CDA son los de HL7 versión 3.
#Qué hechos conservar y con qué cautela
| Recurso | Lo que se lee allí | Error frecuente |
|---|---|---|
| Condition | Diagnóstico, fecha de inicio, estado | Un diagnóstico resuelto o erróneo puede quedar en el historial |
| MedicationStatement | Medicamento, pauta posológica, periodo | Un tratamiento interrumpido puede no estar marcado como tal |
| Observation | Resultado de análisis de laboratorio o de medición, unidad, fecha | Comparar valores sin sus unidades ni valores de referencia |
| AllergyIntolerance | Sustancia, reacción, gravedad | Que no haya ningún dato registrado no significa que no haya alergia |
| Procedure | Acto realizado y su fecha | Fechas aproximadas o faltantes |
| DocumentReference | Adjunto, normalmente un informe | Contenido codificado o disponible mediante un enlace para recuperarlo por separado |
La última columna importa más que las demás. Un modelo lee los hechos que tú le proporcionas y no sabe qué falta: si un tratamiento suspendido no está marcado como tal, aparecerá como en curso en la síntesis. El código debe incluir, por tanto, el estado y la fecha, y el prompt debe pedir que se señalen los hechos sin fecha o con un estado incierto. La ausencia de información no es información: la síntesis debe indicarlo.
#Escribir un resumen que cite sus fuentes, luego revisarlo
El prompt proporciona los hechos numerados y exige que cada línea de la síntesis termine con las referencias de los hechos utilizados, por ejemplo [F3][F7]. No contiene el nombre del paciente: la edad y el sexo son suficientes, y la identidad permanece en el software de gestión profesional. La respuesta tiene un formato libre, pero está estructurada en secciones, lo que permite leerla en una página.
La comprobación se realiza después, mediante código. Dos verificaciones detectan la mayor parte de los errores graves: cada referencia citada debe existir en la lista de hechos y cada número de la síntesis debe aparecer en los hechos. Una cifra que aparece de la nada es una señal típica de una invención o de un error de copia, especialmente cuando se trata de un valor biológico o de una pauta posológica.
#El prompt de sistema
La sección «Puntos a verificar» es la más útil en la práctica. Transforma las zonas grises (tratamiento sin fecha de finalización, resultado sin unidad, dos valores contradictorios) en preguntas planteadas al médico, en lugar de suavizarlas en una frase fluida.
#Evaluar la fiabilidad antes de cualquier uso
La confianza no se decreta. Un estudio publicado en 2025 en npj Digital Medicine midió los errores de modelos de lenguaje en la generación de notas clínicas: en 12.999 frases anotadas por profesionales clínicos, observa un 1,47 % de frases con alucinaciones y un 3,45 % de omisiones; el 44 % de las alucinaciones se consideran graves, es decir, susceptibles de afectar al diagnóstico o a la atención clínica si no se corrigen. Estas cifras corresponden a otra tarea, con otros modelos: no son las tuyas. Muestran que una tasa de error baja por frase sigue siendo preocupante a escala de un documento.
Una síntesis de treinta líneas con un 1,5 % de error por línea, suponiendo que los errores sean independientes, contiene al menos un error en aproximadamente un tercio de los casos. Es un orden de magnitud pedagógico, no una predicción. De ahí el siguiente protocolo, que reemplaza el criterio «cero errores en 50 historias clínicas»: este criterio no demuestra gran cosa, ya que observar cero errores en 50 historias clínicas es compatible con una tasa real de alrededor del 6 % con un nivel de confianza del 95 % (regla de los tres, 3 dividido por 50).
- 01Preparar una muestra de expedientes médicos anonimizadosSelecciona expedientes variados: pacientes con múltiples patologías, numerosos tratamientos, resultados antiguos. Elimina los datos identificativos y los datos innecesarios antes de cualquier uso fuera del ámbito asistencial.
- 02Encargar la anotación a un médicoCada frase de síntesis se clasifica: correcta, imprecisa, omisión, error. Distingue los errores que podrían cambiar una decisión clínica.
- 03Contar por categorías y por gravedadEl número de errores graves por expediente importa más que la tasa media. Fija un umbral con el médico responsable antes de comenzar.
- 04Medir también las omisionesUn resumen que omite una alergia o un tratamiento es más peligroso que una frase mal redactada.
- 05Volver a ejecutar con cada cambioModelo, prompt o formato de exportación: cada modificación exige repetir la evaluación.
#Puesta en producción: registros, acceso y alcance
- Registrar cada generación
- Guarda la fecha, la versión del modelo, la lista de hechos proporcionada y la síntesis generada en un espacio protegido: así se puede reconstruir lo que leyó el médico.
- Controlar accesos
- El servidor de inferencia no debe ser accesible desde el exterior; los discos están cifrados; las cuentas son nominativas.
- Mostrar fuentes
- La interfaz muestra la síntesis junto con el dato original correspondiente a cada línea. Un médico que puede comprobarlo con un clic realmente lo comprueba.
- Limitar el alcance
- Empieza por un uso interno en la consulta o en la organización, con un pequeño número de usuarios, antes de cualquier ampliación. Un servicio ofrecido a otras organizaciones cambia tu condición en lo relativo al alojamiento.
- Prever que la validación humana quede visible
- El profesional firma o valida la síntesis antes de incorporarla al expediente clínico; de lo contrario, no debe incluirse en él.
- Salud: transcripción de consultas
- Transcripción médica y LLM local: datos del paciente
- Cifrar el disco de los modelos
- Lista de verificación de confidencialidad
- Limitar las alucinaciones de un LLM local
- LLM local y RGPD: datos privados en la empresa
- Fuente: apartado de transmisión CDA-R2 del CI-SIS (ANS)
- Fuente: alojamiento de datos de salud (Relyens, según la ANS)
- Fuente: estudio en npj Digital Medicine sobre las alucinaciones clínicas
- Fuente: recurso Bundle de FHIR R4
- Fuente: salidas estructuradas de Ollama
¿Se puede resumir un expediente médico con un LLM local?+
¿El DMP proporciona sus documentos en FHIR?+
¿Se necesita un proveedor de alojamiento certificado HDS para una herramienta interna en la consulta?+
¿Qué modelo local elegir para textos médicos?+
¿Puede un LLM inventar un resultado de un análisis clínico?+
¿Es este tipo de herramienta un dispositivo médico?+
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.