API REST Minsal para informe y seguimiento de muestras PCR para SARS-Cov-2

Gracias Juan por la pronta respuesta,

Bueno cambie la mayúscula a minúscula y nada que aparece en la PNTM, que tipo de extensión aceptan? porque nosotros estamos enviando el binario de un PDF

Te adjunto evidencia de la U minúscula:
image

muchas gracias de antemano por todo el apoyo

Aaah puede ser que te esté faltando especificar el nombre del archivo que vas a subir, aparte del contenido del mismo.

El código que adjunto está en Python, pero se ve la idea general:

self.respuesta = requests.post(
                self.endpoint,
                headers = {
                    'ACCESSKEY': self.accesskey
                },
                data = {
                    "parametros": parametros
                },
                files = {
                    'upfile': ('resultado.txt', tipos_resultado[resultado])
                }
            )

Si te fijas, la plataforma acepta sin problemas diferentes tipos de archivo como resultado, yo subo un .txt y es aceptado perfectamente. Pero en el parámetro “upfile”, paso explícitamente el nombre del archivo que se subirá, y a continuación, el contenido del mismo.

tendrás un ejemplo de la estructura un poco más genérica, por que no nos queda claro como enviar el archivo, y no encuentro el detalle más acertado en la documentación del agora.

de verdad no están exigiendo subir el archivo PDF

Jaime,

Disculpa reformulo mejor mi pregunta, tendrás algun ejemplo de petición por postman que pudieras compartirme, ya que con ello si puedo tener una idea mas clara de cual sería la estructura para enviar el archivo al endpoint.

Iker… te comparto código usado por nuestra app (php) usando curl por si te sirve de algo…

$postfields = array();
$file = '../resultados/ID_XXXX.pdf';

$files = '@' . realpath($file); 

$headers = array("Content-Type" => "multipart/form-data",'ACCESSKEY:'.$key,);
$postfields["upfile"] = $files;
$postfields['parametros'] = '{"id_muestra": '.$id_minsal.',"resultado"  : "'.$resultado.'"}';


$ch = curl_init();            
curl_setopt($ch, CURLOPT_URL, URL_API;
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS,$postfields);
curl_setopt($ch, CURLOPT_TIMEOUT,5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);   

$result=curl_exec($ch);

print_r($result);
$resultado=json_decode($result,true);

Hola Iker, uso Insomnia de cliente REST, pero esto funciona:
image

Lo que te puedo decir, es que me parece que en ninguna parte especificas el nombre del archivo a enviar, sólo su contenido. Los ejemplos que he visto, siempre especifican el nombre con que se enviará el archivo (y es con ese nombre que quedará guardado en la PNTM, en el registro de la muestra).

Saludos!

Sobre la Inclusión del campo “sin orden médica”:
¿cómo enviamos ese datos a través de la API?

Hola.
Esta es mi primera consulta, estoy trabajando con Iker_Quiros y estamos intentando enviar los resultados con documentos, sin embargo nos aparecen mensaje:

y últimamente nos ha aparecido este mensaje

Sin embargo, las muestras que enviamos, aparecen en la plataforma, sin el documento.

¿Es posible que el mensaje de OK o de ERROR indique con más detalle que pasó con el documento adjunto? es decir, yo envío la Request de esta forma:

y no sé que hizo la plataforma con el fichero, ¿lo guardó bien?, ¿lo recibió?, Evidentemente la Request si llegó y el mensaje del estado del examen también llegó bien, pero con el fichero adjuntos no sé que pasó, no sé si se envió bien o si faltó algo, si ocurrió un error al procesar el documento, etc, el OK no me dá ninguna información respecto del adjunto, debemos estar fallando en algo y no sé bien en qué.

La imagen, es referencial, estoy enviando el documento desde SPRING en Java pero la estructura de la request http es la que se ve en la imagen.

Gracias de antemano y si necesitan algún antecedente extra puedo proveerlo, queremos que esto funcione.

Hola Eric, ¡bienvenido al foro!

Jaja… En verdad ese es el mensaje que te retorna el servicio? “Todo MAL!”?? Eso sí que no lo había visto nunca…!

El mensaje que muestras más arriba (“Imposible realizar la carga…”), típicamente lo hemos visto cuando tratamos de informar una muestra que ya ha sido informada previamente. La solución ahí, si lo que se quiere es reinformar un resultado distinto al informado anteriormente, es usar el método para devolver la muestra al estado recepcionado, y luego volver a informar.

Como le decía a Iker un par de mensajes más arriba, anteriormente me daba la impresión que no estaban mandando el nombre del archivo de destino. Pero en el Postman, ahí sí lo estás haciendo y aún así aparentemente es rechazado. ¿Esto es en producción, o en el entorno de preproducción del servicio?

Creo que la única opción es iterar el problema con el contacto técnico del Minsal; en este foro, todos somos usuarios finales del servicio, y no creo que la gente del Minsal o de su proveedor para esto (OpenAgora) estén monitoreando lo que se escribe aquí…

Hola Jaime,

@Eric_Henriquez esta haciendo las pruebas de envío directamente a producción, ya que necesitamos verificar la recepión del informe de resultados en los consultorios externos a nuestro cliente.

La verdad pensaba que tu eras del equipo técnico del MINSAL, tendrás algún contacto de ellos para preguntarle sobre este intento de integracion de informes…

De verdad muchas gracias a todos los que nos han aportado ideas pero hemos intentado de todo y nada!

De nada Iker… No, para nada, yo soy usuario igual que ustedes!

Te escribo por interno para comentarte acerca del contacto técnico del Minsal.

Cuando agrego “sin_orden_medica”: “false” responde “error”: “Error generico SQL”

Hola Cristian, ¿responde sistemáticamente ese error, al enviar ese payload específico? Si es así… Es necesario reportarlo como un error a los contactos técnicos del Minsal.

Como comenté algunos posts más arriba, ese error lo hemos recibido nosotros, esporádicamente, y con diferentes payloads. Al reintentar al rato después, con los mismos payloads, funciona bien. Sospecho que cuando ocurre de esa manera puede ser un tema de sobrecarga temporal de los servidores de la plataforma.

Nosotros tuvimos ese problema cuando actualizamos nuestro sistema, hay que usar https://tomademuestras.api.openagora.cl/crearMuestras_v2

Supongo que cuando oficialicen el paso a producción volverá a ser crearMuestras solo

Consulté a referentes TIC MINSAL y nos indicaron que era la APIGEE que es de MINSAL, creo que redactaron mal el documento. Nosotros llevamos meses tratando de ver si hay alguna interfaz de integración con Registro Civil sin respuesta a la fecha. Lamentablemente la APIGEE no está integrado en tiempo real con Registro Civil y en ocasiones hay problemas con los pacientes fallecidos (no está tan actualizado), según me indicaron de actualiza la información semanalmente. No obstante lo anterior en ocasiones hay pacientes fallecidos hace un año y que no aparecen como tal en la APIGEE

Estimados, tengo una consulta, espero me puedan ayudar.

Resulta que uso el servicio para consultar las muestras que han sido tomadas de la PNTM diariamente (Asumimos que este endpoint nos muestra solo las muestras a las que tenemos acceso) para ingresarlas a un sistema de un hospital específico, con el objetivo de crear el caso en local, y así poder gestionarlas con nuestros sistemas.

Resulta que cuando estas muestras (Que fueron tomadas en otro establecimiento) llegan a nuestro laboratorio (ya cuentan con ID Muestra MINSAL), acá se les intenta hacer el Checkin e informarlo a la plataforma, sin embargo me aparece el siguiente mensaje:

CODIGO: 400 MENSAJE: {“error”:“Imposible realizar la carga, el recurso no existe o usted no posee los privilegios para acceder a el en estos momentos.”}

o

CODIGO: 400 MENSAJE: {“error”:" El id_muestra no est\u00e1 disponible para ser recepcionado\n"}

Creo que la PNTM no me deja notificar Resultados o hacer checkin de muestras que no generé “Yo mismo”
¿alguien me puede confirmar esto?

Gracias y disculpen las molestias.

1 me gusta

El primer error nosotros lo observamos cuando intentamos informar el resultado de una muestra que aún no ha sido marcada como recepcionada en la PNTM por parte de laboratorio.

Saludos

1 me gusta

Gracias por tu respuesta @Edward_Vargas_Pena creo que fue algo temporal, ahora están correctas las muestras con las que tenía problemas.

Saludos.

Alguien sabe algo de que LATAM está pidiendo los informes de PCR en inglés???

Buenas tardes estimados.

Haciendo algunos ajustes en nuestra integración con la plataforma del MINSAL no puedo encontrar donde notificar la fecha y hora de resultado. Este campo se añadió hace poco en la API, según información del MINSAL. Este campo corresponde a la última columna del excel de reporte que se puede descargar desde la plataforma.

Saludos