abcrecursos / abc-recursos-fe

https://abc-recursos-fe.vercel.app
0 stars 3 forks source link

Pantalla de solicitar tiene que tener un desplegable que permita buscar las entidades de salud que ya existen en la base de datos #1

Closed abc-recursos closed 4 years ago

abc-recursos commented 4 years ago

Nuestra base de datos ya contará con los datos de todos los efectores de salud. En este primer MVP necesitamos que el solicitante, si es una entidad de salud, pueda buscar en un desplegable, o un autocompletable, etc., el nombre de su efector de salud. Desde la API podemos hacer un GET /healthcenters para esto, pero como van a ser muchos registros, quizas es necesario primero que la persona elija la provincia o algo para achicar el conjunto a buscar.

Para evitar los problemas de que mas de una persona de un mismo efector carguen un pedido pensamos dos opciones: 1) antes de hacer el pedido, observar los pedidos que ya estan hechos por ese efector, o 2) si alguien hace un pedido, buscar en la base que no haya otro pedido hecho por otra persona para la misma entidad. Para cualquiera de las dos opciones necesitamos una pantalla.

rpasquini commented 4 years ago

Armé un servicio para buscar la lista de los efectores de salud. No fue tan fácil porque descubrí que la base de efectores tiene codigos de localidades que no matchean con los codigos de localidades oficiales que ya tenemos implementados en el servicio /locations. Entonces armé algo adhoc para buscar las localidades en la misma base de efectores.

En resumen, el proceso más ordenado que logré es así:

Paso 1: Lista de provincias con sus ids

https://abc-back.herokuapp.com/api/locations/provinces (consulta api.gov.ar)

Aunque para más seguridad directamente expondría este json (notar que además está ordenado):

[{"_id":"06","province":"BUENOS AIRES"},{"_id":"02","province":"CABA"},{"_id":"10","province":"CATAMARCA"},{"_id":"22","province":"CHACO"},{"_id":"26","province":"CHUBUT"},{"_id":"18","province":"CORRIENTES"},{"_id":"14","province":"CÓRDOBA"},{"_id":"30","province":"ENTRE RÍOS"},{"_id":"34","province":"FORMOSA"},{"_id":"38","province":"JUJUY"},{"_id":"42","province":"LA PAMPA"},{"_id":"46","province":"LA RIOJA"},{"_id":"50","province":"MENDOZA"},{"_id":"54","province":"MISIONES"},{"_id":"58","province":"NEUQUÉN"},{"_id":"62","province":"RÍO NEGRO"},{"_id":"66","province":"SALTA"},{"_id":"70","province":"SAN JUAN"},{"_id":"74","province":"SAN LUIS"},{"_id":"78","province":"SANTA CRUZ"},{"_id":"82","province":"SANTA FE"},{"_id":"86","province":"SANTIAGO DEL ESTERO"},{"_id":"94","province":"TIERRA DEL FUEGO"},{"_id":"90","province":"TUCUMÁN"}]

Paso 2: Obtener todas las localidades de la provincia en cuestión

Si bien se podría hacer en dos pasos, y primero seleccionar el departamento, me pareció más directo de esta forma. Si es necesario, lo hacemos

https://abc-back.herokuapp.com/api/health-centers/localitieslist?provinceId=02 (este servicio llama a health-centers/localitieslist que es un sevicio que consulta nuestra base de REFES)

Un detalle a tener en cuenta es que si la persona eligió CABA en el primer paso, lo que le aparecen no son localidades sino barrios, pero no me preocuparia a esta altura por eso.

Paso 3: Obtener todos los efectores de la localidad

https://abc-back.herokuapp.com/api/health-centers/localities?localityId=02012010003

(notar que es otro endpoint de health-centers que le pega también a nuestra DB)