CodeForAfrica / CodeForAfrica/HealthTools.API

Development - v0.2

Aperta
#42 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement help wanted
Lingua principale
Python
Stelle
19
Fork
20
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Through development of the HealthTools.API, we've learnt a lot and want to make it more extensible. v0.2 seeks to do a couple of things:

**1. Views**
1.1. Search
- Have a single search API view to receive requests and output results in JSON
- Send requests to a single query function used by sms, bots, etc.

1.2. SMS
- Have a single SMS view that receives requests and outputs results in JSON.
- Send requests to a single sms process function (detailed below)

**2. Search**

2.1 Query
- This would be the primary query module that determines the doc-type (e.g nurses, doctors, cos etc.)
- This would determine the search "vector" i.e elastic search or proxy for nurses etc.
- Return dictionary/list of results.

2.2. Nurses Search "Vector"
- Proxy the nurses website because we are unable to scrape it.

2.3. Elastic search "vector"
- Search from elastic search.

**3. SMS**
- The base module would process SMS requests using the query function and structure for an SMS response.
- This would then use "adapters" for the different providers e.g M-Tech, Twilio.

**4. Other considerations:**

- Tests to be rewritten
- Analytics to work as a Flask "Middleware" or have as part of an "events" module.
- Slack integration with Python's logging module.
- Cache queries using Memcached (all not just nurses as before)
- RabbitMQ integration for SMS processing.
- Wit.ai to replace determination from keywords what doc-type is being queried.
- Bots architecture similar to SMS. Probably re-using a lot of SMS so might be combined into just "Chat" that both inherit.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.