Un enfoque práctico con HL7® FHIR®

14 de junio, 2021

Clase 1: Modelado

En esta clase nos enseñaron a modelar una solución utilizando HL7® FHIR®.

Para esto, hay que considerar los “puntos de interoperabilidad”:

  1. Identificar punto de intercambio de información: Usando el Diagrama BPMN establecer los puntos en los cuales se requiere intercambiar información.
  2. Identificar los grupos de información: Establecer los conjuntos de información que tendrán relación en cada punto de intercambio.
  3. Identificar la información por grupo: Para cada grupo de información, se debe establecer y detallar cada dato, realizando una correcta definición para evitar cualquier tipo de ambigüedad.
  4. Establecer mecanismos de intercambio de datos: Definir estándar, seguridad y otras características no funcionales, requeridas por el proceso.

En otras palabras, hay que “modelar” el intercambio de información y definir qué es lo importante, qué datos son los que estamos intercambiando y cuándo se genera el dato.

Conjunto mínimo de datos (CMD)

El conjunto mínimo de datos (CMD) nos permite:

  • Satisfacer todas las operaciones e intercambios de datos en un determinado proceso.
  • Establecer datos, propiedades, tipos de datos y descripciones de cada dato.
  • Permite tener un mirada global de la información durante un proceso.

Por ejemplo:

Ejemplo CMD de pacientes

Modelado

El proceso de modelación es cuando ya tenemos claro los puntos de interoperabilidad y los CMD, y se trata de definir la solución al problema utilizando los estándares de interoperabilidad.

Con HL7 FHIR, esto significa pensar, analizar e investigar para saber qué recursos tenemos que usar, y qué atributos son los importantes para nuestro CMD.

La recomendación aquí es:

  • Utilizar la documentación oficial.
  • Identificar los Recursos utilizando “Scope and Usage”.
  • Identificar Recursos en base al CMD y sus Grupos de Datos.
  • Identificar las estructuras de los recursos HL7 FHIR para asociar el CMD.
  • Identificar elementos especiales:

    • Conjuntos de valores asociados a un elemento o campo.
    • Datos que no hacen match con el recurso HL7 FHIR seleccionado.
    • Elementos o campos que serán requeridos para búsquedas.

Es posible hacer una modelación visual de los recursos involucrados utilizando una herramienta gratuita llamada “ClinFHIR” (link):

Modelado de vacunación con ClinFHIR

Clase 2: Metodología

Esta clase me gustó mucho, ya que te arma el rompecabeza (utilizando las piezas de las clases anteriores) para enseñarte una metodología para aplicar todo lo que aprendimos en el curso.

¿Qué es una metodología? Son pasos replicables para enfrentar un proyecto. El objetivo es ordenar (“paso a paso”) y que el método sea reproducible.

La metodología que nos presentaron tiene 2 niveles:

  1. Diseño: ¿Cuál es el problema que queremos resolver? Hay que acotar el problema y el alcance.
  2. Desarrollo de software: es construir el software, adaptable a cualquier metodología.

Fase 1: Conjunto mínimo de datos

Aquí hay que discutir con los stakeholders y llegar al consenso sobre qué datos son importantes.

El resultado es el conjunto mínimo de datos (CMD). Hay casos en los cuales puede que no tengamos un dato (por ejemplo, fecha de nacimiento).

Fase 2: Modelado

El CMD no es suficiente. Hay que conocer el modelo de negocio de los datos: ¿cómo se genera? ¿cómo se comparte?

En esta fase, modelamos la interoperabilidad entre los sistemas. Todo lo que es importante para el proceso de interoperabilidad. Es decir, no modelamos el negocio propiamente tal, sino que solo todo lo que tenga que ver con la interoperabilidad.

Fase 3: Estándares

Aquí hacemos match de lo que tenemos de las fases anteriores con un estándar (v2, FHIR, etc). Así que definimos el mapping, extensiones, perfiles, operaciones, coding, etc.

También modelamos la solución con clinFHIR.

Fase 4: Desarrollo de software

Creamos el prototipo (un software funcional). La metodología para crear el software es a libre elección, lo importante es que esté de acuerdo con el alcance del proyecto.

Hay que tener en cuenta tanto requisitos funcionales (las cosas que debe hacer) como los no funcionales (los aspectos que harán que el software sea útil).

Fase 5: QA

Una vez ya tenemos el prototipo, tenemos que comenzar a probarlo para asegurarnos que funcione bien (sin errores, que se entienda, etc).

Fase 6: Despliegue

A esta altura ya tenemos un prototipo que funciona. Lo siguiente es ponerlo en marcha para que los usuarios puedan comenzar a utilizarlo.

En esta fase dejamos nuestra implementación en simplifier (si corresponde) y también hacemos tests de carga para ver si nuestro sistema funciona sin problemas en un escenario realista.



Hecho por Codeness con ❤️
© 2024 Codeness