FDA药品数据库
fdadb的Python项目详细描述
国家药品代码(ndc)数据库的django包装。 fdadb将每一行存储在一个名称medicationname对象下,而不是使用同一名称的多个药物 例如,在国家数据中心的数据库中,大约有21种伟哥(具有不同的强项)。 因此,在这种情况下,我们保存medicalationname:viagra并在此名称下存储所有21个实例。 这样可以在搜索药物列表时获得更好的用户体验。
设置
- pip install fdadb
- 将fdadb添加到INSTALLED_APPS
- ./manage.py migrate fdadb
- ./manage.py fetch_ndc_database-可能需要15-30分钟(该命令将从fda数据库中获取所有项目并将其保存在项目中)
原料药:
所有API都可以用搜索?q=术语查询参数。
药物治疗/
返回medicalationname对象的列表(通过?q=termtosearch筛选结果)。 此API支持ElasticSearch以实现快速查询。启用ElasticSearch时,分页尚未工作 (在大多数情况下,这不会导致任何问题,因为此API通常用于药物自动完成)。你可以改变 通过在django配置中设置FDADB_AUTOCOMPLETE_LIMIT自动完成限制(默认值:10)。
elasticsearch使用ngram作为查询参数。
药物/(?p<;药物名称>;[w-]+)/强度
返回药物强度列表
药物/(?p<;药物名称>;[w-]+)/strengths/(?p<;强度[d-]+)/ndcs
返回药物ndc列表
弹性搜索
要在自动完成中启用弹性搜索支持,请设置:
- ELASTICSEARCH_URL在项目配置中
- 运行./manage.py fdadb_es_index` after fetching the NDC database (use ``--drop_indexes以备清理药物索引)
manage.py命令
- /manage.py fdadb_es_index-将产品索引到ElasticSearch中
- /manage.py fetch\u ndc\u数据库-从nds数据库中提取产品数据并保存在数据库中
支架
- Django 1.11、2.1、2.2
- Python3.4-3.6