CodeForAfrica / CodeForAfrica/HealthTools.API
Development - v0.2
- Dominant language
- Python
- Stars
- 19
- Forks
- 20
- PR merge metrics
- No merged PRs in 30d
Description
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.
Contributor guide
Assessment
This issue has not been assessed yet.