Для создания виртуального окружения используется библиотека python3-venv,
которая в debian-based дистрибутивах оформлена отдельным пакетом и устанавливается дополнительно apt-get install python3-venv
git clone git@github.com:ak04nv/mkb10.git
cd mkb10
./init_db.sh
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
export FLASK_ENV=development
flask run
Приложение будет доступно по адресу http://localhost:5000
- URL
- /api
- Response
// Список классов [ { "id": 1, "name": "НЕКОТОРЫЕ ИНФЕКЦИОННЫЕ И ПАРАЗИТАРНЫЕ БОЛЕЗНИ (A00-B99)" }, // ... ]
- URL
- /api/:id
- Args
id: Идентификатор класса - Response
// Список блоков класса [ { "id": 2, "name": "КИШЕЧНЫЕ ИНФЕКЦИИ (A00-A09)" }, // ... ]
- URL
- /api/:id/group
- Args
id: Идентификатор блока all: Вывести все коды (включая неактуальные). Аргумент необязательный. - Response
// Список групп блока [ { "actual": true, // Параметр доступен только при указании аргумента 'all' "code": "A00", "id": "3", "has_subgroup": true, // есть ли у группы подргуппа "name": "Холера" }, // ... ]
- URL
- /api/:code/subgroup
- Args
code: Код группы all: Вывести все коды (включая неактуальные). Аргумент необязательный. - Response
// Список подргуппы заданной группы [ { "actual": true, // Параметр доступен только при указании аргумента 'all' "code": "A00.0", "id": "4", "name": "Холера, вызванная холерным вибрионом 01, биовар cholerae" }, { "actual": true, // Параметр доступен только при указании аргумента 'all' "code": "A00.1", "id": "5", "name": "Холера, вызванная холерным вибрионом 01, биовар eltor" }, { "actual": true, // Параметр доступен только при указании аргумента 'all' "code": "A00.9", "id": "6", "name": "Холера неуточненная" } ]
- URL
- /api/icdo/block
- Response
// Список блоков справочника МКБ-О [ { "id": 1, "name": "800 Новообразования, БДУ" }, { "id": 15, "name": "801—804 Эпителиальные новообразования, БДУ" }, // ... ]
- URL
- /api/icdo/block/:id
- Args
id: Идентификатор блока - Response
// Список болезней блока [ { "code": "8140/0", "id": "107", "name": "Аденома БДУ" }, { "code": "8140/1", "id": "108", "name": "Аденома бронхиальных желез БДУ (D38.1)" }, // ... ]
- Примеры
- URL
- /api/lookup /api/icdo/lookup
- Args
q: Строка поиска (обязательный аргумент). Если аргумент начинается на [a-z], то поиск осуществляется по кодам, иначе по названию limit: Ограничение на количество выдаваемых кодов. Значение по-умолчанию: 50 - Response
// http://localhost:5000/api/lookup?q=i&limit=1 [ { "code": "I00", "name": "Ревматическая лихорадка без упоминания о вовлечении сердца" } ]
- URL
- /api/fetch /api/icdo/fetch
- GET
codes: Список кодов через запятую - POST
[]: JSON-список кодов (пример ниже) - Response
// Оба запроса вернут одинаковый ответ // curl http://localhost:5000/api/fetch?codes=A00,A01 // curl -H "Content-Type: application/javascript;X-Requested-With: XMLHttpResponse" -X POST -d '["A00","A01"]' http://localhost:5000/api/fetch [ { "code": "A00", "name": "Холера" }, { "code": "A01", "name": "Тиф и паратиф" } ]
mkb10.csv
Файл кодов МКБ10mkbo.csv
Файл кодов МКБ-Oinit_db.sh
Скрипт для создания базы данных