Como sabemos todos quienes trabajamos en establecimientos donde se toman o procesan muestras para exámenes de SARS-CoV-2, el Ministerio de Salud de Chile solicita el envío diario de información relacionada con dichas muestras, lo que resulta absolutamente necesario para poder llevar las estadísticas nacionales y el seguimiento y trazabilidad de los pacientes a quienes se les ha tomado muestras para detección de Coronavirus, particularmente por la técnica PCR. El envío de esta información se realiza por medio de dos archivos Excel, generados y enviados diariamente, a direcciones de correo del Minsal; si bien es posible automatizar algo este proceso, el envío de archivos por correo electrónico presenta importantes dificultades para contar con un proceso realmente automático de recolección y envío de la información.
También esto hace que no sea posible separar realmente, para propósitos de seguimiento, los eventos de toma de la muestra, recepción de la misma, e informe del resultado final: bajo el esquema actual, todas las muestras se envían únicamente cuando ya cuentan con un resultado final informado, en circunstancias de que es de interés epidemiológico el saber también del hecho mismo de que una muestra ha sido tomada. Y finalmente, en muchos casos, la construcción de estos archivos en Excel implica el asignar recursos humanos de laboratorio a dicha tarea, restando a esas personas de realizar su valiosa labor propia de los procesos de laboratorio en cuanto se encuentran abocados a la elaboración de estos informes diarios.
Por lo anterior, el Minsal se encuentra impulsando una iniciativa sumamente valiosa y que sin duda ayudará a la real automatización informática de este proceso: la construcción de APIs REST para recibir la información relativa al ciclo de vida de las muestras de PCR para Coronavirus directamente desde los sistemas informáticos de laboratorio de las diferentes instituciones. Esta aproximación tiene ventajas indiscutibles: representa una forma estandarizada de comunicar los diferentes hitos por los que pasan estas muestras (básicamente, creación o “toma” de la muestra; recepción por parte del laboratorio que la procesa; e informe de resultados de la misma). Pero, al mismo tiempo, presenta algunos desafíos para lograr la implementación de la conexión a dichas APIs.
La documentación de las APIs en cuestión se puede encontrar aquí. El Minsal ha estado entrando en contacto con las diferentes instituciones de salud que intervienen en el proceso de toma de muestras, con el propósito de ir sumando actores que puedan empezar a utilizar estas APIs. Nosotros en Clínica Alemana hemos estado en contacto con el Minsal para integrarnos de esta manera, con éxito, y quisiéramos poner a disposición algunos recursos de ayuda para que otras que quisieran hacer lo mismo no tengan que partir de cero.
Estamos trabajando en una implementación de referencia de conectividad a estas APIs; esta implementación, escrita en Python y distribuida bajo la licencia libre Apache 2.0, está disponible en este repositorio en GitHub. Por favor tener en cuenta que esto es un trabajo en progreso, y que irá cambiando a medida que avanzamos con la implementación. Básicamente, el repositorio contiene un programa de prueba, de línea de comando, para probar los diferentes “endpoints” de la API, y lo más importante, contiene clases (todos los archivos terminados en _class.py) que “encapsulan” o hacen una abstracción de cada uno de los endpoints a utilizar. El programa de prueba (api-covid-minsal.py) muestra cómo invocar cada uno de los endpoints.
Aspectos importantes a tener en cuenta para empezar a utilizar los servicios del Minsal:
-
Para empezar a trabajar, es necesario contar con un “usuario institucional” para acceder a la plataforma web de pruebas del sistema de seguimiento y trazabilidad de muestras. Dicha plataforma web (el entorno de pruebas, la URL es distinta para producción) se puede acceder desde https://tomademuestras.openagora.org/ . Este usuario institucional es otorgado por el mismo Minsal a cada institución, por lo que el representante de cada laboratorio debe contactar al nivel central para la obtención de estas credenciales (hace algunas semanas, el Minsal solicitó un “contacto TI” de cada institución para estos efectos).
-
Una vez que se tienen las credenciales, es posible ingresar a la plataforma web. En ella, tendremos que llevar a cabo una tarea sumamente importante: es necesario generar una clave de acceso (ACCESS KEY) que será nuestra identificación para el uso de la API REST. Para esto, debemos ir al nombre de nuestra institución, en la parte superior de la página, y luego, en la ventana modal que se abre, presionar el botón “Crear clave de acceso para Web Service”. Una vez hecho lo anterior, se mostrará en pantalla una cadena de texto con nuestra ACCESS KEY. Debemos copiar este texto para su uso posterior en los servicios Web expuestos por la API. Los pasos necesarios se muestran en la siguiente captura:
- Con lo anterior, ya tenemos uno de los aspectos necesarios para empezar a consumir los servicios. Sin embargo, para poder empezar a hacer pruebas, debemos realizar otra tarea: debemos endosar al menos un profesional de salud (no médico, según entiendo) como responsable de la toma de muestras para nuestro establecimiento. Lo anterior se realiza de la siguiente manera: en el mismo portal web, debemos cerrar la sesión institucional, y hacer login con las credenciales de una enfermera, por ejemplo, de nuestro establecimiento. Estas credenciales son el RUT, sin puntos, sin guión y sin dígito verificador como nombre de usuario; y como contraseña, el número de registro de ese mismo profesional en la Superintendencia de Salud (estos datos se pueden consultar en el Registro Nacional de Prestadores Individuales de Salud). Al ingresar por primera vez, el sistema solicitará cambiar la contraseña para este profesional; la podemos cambiar a una contraseña personal cualquiera.
Para “endosar” al profesional, una vez hecho lo anterior, debemos hacer clic en la pestaña “Mis establecimientos”, en la parte superior. Se desplegará una pantalla como la que mostramos en la siguiente captura de pantalla; en ella, debemos hacer clic en la fila en blanco del listado central (estará en blanco al principio, se señala con el marcador “2” en la captura de pantalla); al hacerlo, aparecerá un buscador de establecimientos de salud. En él debemos ubicar el establecimiento donde se toma la muestra, que puede o no corresponder también al laboratorio donde se procesa la muestra. Elegimos el establecimiento, nos aseguramos que quede registrado correctamente en la página, y estamos listos para seguir.
- Con lo anterior, ¡estamos listos para empezar a probar! Podemos hacer una primera prueba con nuestro cliente REST favorito, como Postman, Insomnia (y, para los realmente hardcore, hasta con curl - los ejemplos en la documentación oficial están hechos con curl). El endpoint para crear una muestra, en entorno de pruebas, está en https://tomademuestras.api.openagora.org/crearMuestras . Agregamos nuestra ACCESSKEY obtenida previamente en el header, de esta manera:
Y luego, podemos usar el cuerpo JSON de prueba en al documentación. Importante a tener en cuenta:
a) se debe usar el RUT del profesional “endosado” en el campo “rut_responsable”, esta vez sin puntos, con guión y con DV, ejemplo: “12345678-9”;
b) Se debe usar un RUT de un médico acreditado en la Superintendencia de Salud en el campo “rut_medico”, en el mismo formato anterior. OJO, no es necesario “endosar” al médico! Este campo representa al médico que solicitó el examen.
c) Los campos “id_laboratorio” y “cod_deis” corresponden a los códigos DEIS que identifican tanto al laboratorio como al establecimiento donde se toma la muestra, respectivamente. En algunos casos, de instituciones que tienen su propio laboratorio, este código puede ser el mismo para ambos.
d) El resto de los campos son más o menos autoexplicativos, y los datos aceptados para cada uno se encuentran descritos en la documentación, en el apartado “schema” de cada endpoint. El código de la comuna también es el código DEIS, según lo indicado en la norma 820 de Estándares de Información del Minsal.
Si tenemos todo OK, deberíamos poder crear una muestra sin problemas:
El servicio web nos devuelve un objeto JSON en que nos confirma el identificador del Minsal para esta muestra, junto con el identificador de nuestro propio sistema de laboratorio para la misma (que le pasamos en el JSON anterior, cuando llamamos al servicio).
Hay varios endpoints que conforman esta API, de los que los más importantes son /crearMuestras (creación inicial de la muestra), /recepcionarMuestra (que indica que la muestra tomada ha sido recepcionada por el laboratorio), y /entregaResultado (que informa el resultado final de una muestra). Es muy importante tener claro que los llamados para recepcionar y para informar deben referenciar el ID que Minsal le asigna a la muestra, que no será igual al identificador interno propio que nosotros tengamos.
Les dejo en el repositorio vinculado arriba (que, insisto, es un trabajo en progreso) la implementación de varias clases que permiten gestionar el ciclo de vida de nuestras muestras, así como también consultar datos de muestras que ya hemos enviado. La idea es que podamos, en este mismo hilo de discusión, ir interactuando para, entre todos, lograr dar buenos insumos para que esta iniciativa, muy necesaria, tenga el mejor de los éxitos. Discutamos dudas, experiencias, código eventualmente, etc. que creamos que pueda ayudar a que otros se suban al tren ya corriendo sin tanto problema.
DESCARGAS
- Maestro de variables del sistema - actualizado 27-07-2020
- Si necesitas el código DEIS del establecimiento puedes buscarlo en https://quehayensalud.cl
- Instructivo de uso de la Plataforma Toma de Muestras (actualizado 13-07-2020)
- Proceso de toma de muestra (laboratorio)
- Proceso de toma de muestra (profesional)