Розробка системи електронної медичної карти (EHR)
EHR (Electronic Health Record) — цифровий аналог паперової історії хвороби пацієнта. Зберігає весь медичний анамнез пацієнта: візити, діагнози, рецепти, результати тестів, алергії, щеплення. EHR є медичною інформаційною системою (MIS) і повинна відповідати вимогам Міністерства охорони здоров'я Росії, ГОСТ Р 52636-2006, стандарту HL7 FHIR.
Ключові ресурси FHIR
HL7 FHIR R4 визначає стандартні ресурси для медичних даних. Основні для EHR:
| FHIR Resource | Опис |
|---|---|
Patient |
Демографічні дані пацієнта |
Encounter |
Візит/контакт з організацією охорони здоров'я |
Condition |
Діагноз (код МКБ-10) |
Observation |
Вимірювання: артеріальний тиск, температура, значення в лабораторії |
MedicationRequest |
Рецепт лікарства |
DiagnosticReport |
Результат тесту (з вкладеним PDF) |
AllergyIntolerance |
Алергії та непереносимості |
Immunization |
Вакцинація |
DocumentReference |
Посилання на медичний документ |
Зберігання в PostgreSQL через JSONB (кожен ресурс як JSON) з індексами на ключових полях:
CREATE TABLE fhir_resources (
id UUID PRIMARY KEY,
resource_type VARCHAR(50),
resource_id VARCHAR(64),
patient_id UUID,
data JSONB,
version_id INT,
last_updated TIMESTAMPTZ
);
CREATE INDEX ON fhir_resources USING GIN (data);
CREATE INDEX ON fhir_resources (resource_type, patient_id);
Готові FHIR-сервери для PostgreSQL: HAPI FHIR (Java), Medplum (Node.js + TypeScript, з готовим React SDK).
Структурована документація візиту
Лікар документує візит за структурою SOAP:
- S (Subjective) — скарги пацієнта
- O (Objective) — огляд, вимірювання, результати
- A (Assessment) — діагноз (МКБ-10)
- P (Plan) — рецепти, скерування, рекомендації
В інтерфейсі кожен блок — окремий розділ з rich-text редактором. Діагнози вибираються з довідника МКБ-10 з автодоповненням.
Рецепти та лікарські взаємодії
При виписуванні препарату система перевіряє:
- Алергії пацієнта на компонент
- Лікарські взаємодії з уже виписаними препаратами
- Протипоказання (вагітність, вік, хронічні захворювання)
База взаємодій: DrugBank API, openFDA, або російський GRLS (Державний реєстр лікарських засобів).
Безпека даних
EHR містить найбільш чутливі дані. Вимоги:
- Sharding + encryption at rest: PostgreSQL з TDE або шифруванням на рівні колони для діагнозів, результатів
- Row-Level Security: лікар бачить тільки пацієнтів свого відділення/організації
- Audit trail: незмінний журнал кожного доступу до запису пацієнта (хто, коли, що)
- Break-glass access: екстрений доступ до даних будь-якого пацієнта з обов'язковим логуванням і сповіщенням
- Data masking: під час демонстрації та тестування — маскування імен та ідентифікаторів
Інтеграція з РЕMD
РЕMD (Реєстр електронних медичних документів) — федеральна система Міністерства охорони здоров'я. Електронні медичні документи (виписки, протоколи) передаються в РЕMD у форматі CDA R2 або FHIR Bundle. Вимагає кваліфікованого підпису лікаря та організації.
Автономна робота
Для клінік з нестабільним інтернетом — можливість автономної роботи:
- Service Worker кешує дані пацієнтів на сеанс
- Зміни зберігаються локально, синхронізуються при відновленні з'єднання
- Конфлікти при синхронізації — через OT або CRDT
Інтеграція з медичним обладнанням
Автоматична передача даних з приладів:
- HL7 v2 — старий, але повсюдний стандарт для лабораторій, аналізаторів (ASTM E1394)
- DICOM — стандарт для зображень: КТ, МРТ, рентген
- FHIR Device — для сучасних мобільних пристроїв (пульсоксиметри, глюкометри)
Терміни
EHR MVP (карта пацієнта, документація візиту, SOAP-документація, базові діагнози МКБ-10): 4–6 місяців. Повнофункціональна система з FHIR-сервером, RLS, аудитом, інтеграцією РЕMD, DICOM-viewer: 9–16 місяців.







