MedMe EHR API v2.0¶
Этот протокол описывает получение медицинских данных пациентам клиники или нескольких клиник.
Отличие от существующих API (читай, HL7 / FHIR) в том, что API должно быть удобно для использование в реальных приложениях – оно дает возможность реальной разработки с минимальным порогом вхождения.
Так же предполагается, что мы имеем дело с данными разного уровня детализации, расположенными на разных серверах баз данных, с различной структурой хранения или передачи, которые нужно привести к единому формату. Существующие протоколы достаточно монструозны, имеют высокий уровень связности между всеми компонентами и не дают возможности вести разработку итерационно. Кроме того, они требуют от данных высокого уровня детализации, что непонятно как получить в реальной жизни (ответа на этот вопрос они не дают).
Эти недостатки мы постарались предусмотреть и устранить их здесь.
Цели версии API 2.x¶
Распознавание данных на основании паттернов. Текстовые "сырые" поля также должны присутствовать.
Что это дает:
- улучшение отображения информации на UI
- возможность обмена информации между клиникой и страховой
- возможность обмена информации между клиникой и сетью аффилиатов (например, аптек)
- возможность получения статистических данных для мониторинга и принятия решений (например, что назначает тот или иной врач в зависимости от анамнеза)
Изменения синтаксиса API в версии 2.х¶
- Добавлен тип данных Отделение (Department) в Диагностический отчет, Запись на прием, Результат приема
- Добавлено перечислимые значения в поле "Статус отчета" в сущности Диагностический отчет
- Добавлено перечислимые значения в поле "Статус обследования" в сущности Обследование
- Удалено поле "тип" (type) из сущности Диагностический отчет как неиспользуемое
- Изменил поле category на categories в сущности Диагностический отчет. Изменил его тип на ServiceCategory[]
- Добавлены значения для перечислимого типа Статус диагностического отчета в сущности Диагностический отчет
- Добавлено поле "код услуги" в тип данных Service из справочника "Номенклатура медицинских услуг". Может быть как вычисляемым, так и читаться из Базы Данных
- Добавлены значения в справочник MedicationForms
- Удалено поле type из типа данных ObservationRange как неиспользуемое
- Добавлено поле category, тип ObservationCategory в модель Observation
- Удалено поле performerBusiness (отделение, филиал) из модели Observation как неиспользуемое
- Удалено поле type в сущности Процедура
- Добавлено поле observationCategory в сущности Процедура
- Добавлена статистика распознавания
Изменения в наполнении полей API в версии 2.х¶
- Распознавание назначений - полей recommendations, scheduledProcedures в сущности AppointmentResult
- Распознавание кода болезни по МКБ-10 и МКБ-0 для онкозаболеваний - поле "diagnosis.cd10" в сущности AppointmentResult
Справочники¶
-
Международный Классификатор Болезней МКБ-10 и МКБ-О для онкозаболеваний
Краткое описание потоков и структур данных¶
Здесь описан процесс прохождения лечения пациентом и заполняемые данные с привязкой к полям сущностей. Процессы описаны для понимания каких данных ожидать в том или ином случае.
Прием к врачу¶
Пациент или администратор клиники создает запись на прием к доктору или на услугу - создается сущность "Запись на прием".
Пациент приходит на прием - можно в поле "пришел" получить соответствующее значение. Создается сущность "Результат приема".
Если пациент не приходит на прием в поле "пришел" получаем соответствующее значение.
Доктор опрашивает пациента - заполняется поле "анамнез".
Доктор осматривает пациента - создается сущность или несколько сущностей "Обследование".
Доктор пишет свое заключение на основании данных, полученных при осмотре - создается сущность "Диагностический отчет".
Доктор направляет пациента на обследование - создается сущность "Направление".
Доктор пишет рекомендации пациенту в сущности "Результат приема".
В результате диагностики устанавливается код болезни по МКБ-10 в сущности "Результат приема" поле "diagnosis[i].cd10". Указываются "Медикаментозные назначения" (Лекарства).
Лабораторные анализы (крови, мочи и другое)¶
Скорее всего должно присутствовать Направление на прием на анализ.
Может не быть "записи на прием" и "результата приема".
В результате обработки лабораторных анализов появляются сущности "Обследование" и сущность "Диагностический отчет", вероятно без заключения.
После того, как врач посмотрит показатели анализов, в диагностическом отчете он проставит интерпретацию.
Если есть "запись на прием", то в ней должны быть и ссылка на "Обследования" и на "Диагностический отчет".
Исследования (УЗИ, КТ, рентген и другое)¶
Скорее всего должно присутствовать Направление на прием на исследование.
Должны быть "записи на прием" и "результата приема".
В результате обработки исследования появляются сущности "Обследование" и сущность "Диагностический отчет", которые привязаны к "записи на прием" и "результату приема", если они есть.
Статистика распознавания¶
Для получения информации об эффективности распознавания данных, ведется статистика по распознаванию того или иного поля. Элемент состоит из следующих полей:
- дата попытки
- название поля
- метод распознавания
- распознано (да/нет)
Так можно получить ответы на следующие вопросы:
- Сколько процентов значений было распознано по определенному полю
- Какой из двух методов (новый или старый) более эффективен и насколько
- Насколько увеличился процент распознавания со временем