CodeForAfrica / CodeForAfrica/HealthTools.API

Development - v0.2

未关闭
#42 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
enhancement help wanted
主要语言
Python
星标
19
派生
20
PR 合并指标
30 天内没有已合并 PR

描述

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.

贡献指南

打开贡献指南

调研方向

这是 HealthTools.API 的一份范围广泛的 v0.2 路线图,涵盖 views、query 和 search 向量、SMS 适配器、测试、analytics、caching、messaging、Wit.ai 以及 bots。首先映射现有的 search 和 SMS 入口点,然后定义一个具有明确完成标准的更小 deliverable;该 issue 本身没有列出要运行的文件或测试。

由索引模型根据 Issue 内容生成。

评估

技术栈
elasticsearch, flask, memcached, python, rabbitmq
领域
api, backend, distributed-systems, search
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
需要澄清
新手友好度
18/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。