Розробка блокчейн-рішення для охорони здоров'я

Медичні дані розрізнені — до 70% інформації не покидає меж однієї клініки. Пацієнт змінює лікаря — історія хвороби обнуляється. Два спеціалісти призначають несумісні препарати, бо кожен працює з фрагментом картини. Аудит страхової компанії перетворюється на тижні ручного збору документів, а помилки

Напрямки блокчейн-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1450
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1308
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1003
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1269
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    717
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1008

Медичні дані розрізнені — до 70% інформації не покидає меж однієї клініки. Пацієнт змінює лікаря — історія хвороби обнуляється. Два спеціалісти призначають несумісні препарати, бо кожен працює з фрагментом картини. Аудит страхової компанії перетворюється на тижні ручного збору документів, а помилки при вивірці сягають 8%. Централізовані EHR (Electronic Health Records) поглиблюють проблему: питання володіння даними та прав доступу залишаються невирішеними, а адміністратори баз даних можуть змінювати логи постфактум. Ми вирішуємо це завдання за допомогою блокчейну — це coordination layer для consent management та audit trail, а не заміна базі даних. Блокчейн забезпечує криптографічну доказовість кожної події: хто, коли і з якою згодою отримав доступ до медичного запису.

Як працює блокчейн в охороні здоров'я?

Перша помилка проектувальників: "покладемо медичні дані в блокчейн". Ні. Медичні записи — HIPAA/GDPR-regulated data. Вони не повинні бути публічно доступні, вони не повинні бути immutable в абсолютному сенсі (право на виправлення помилок, право на забуття за GDPR).

На блокчейні мають бути:

  • Access control records — хто має право читати які дані, в який період
  • Consent audit trail — коли, ким і на яку обробку було надано згоду
  • Document hashes — криптографічне підтвердження цілісності документа
  • Event log — факт створення, зміни, перегляду медичного запису (без вмісту)

Самі медичні дані — в зашифрованому вигляді в off-chain сховищі (IPFS з шифруванням або private cloud з E2E-encryption). За даними AHIMA, неправильне управління доступом призводить до 25% витоків даних. Наше рішення знижує цей ризик практично до нуля за рахунок гранулярних політик доступу на смарт-контрактах.

Що реально зберігати на блокчейні: архітектура consent-centric

Кожен учасник (пацієнт, лікар, клініка, страхувальник) має DID (Decentralized Identifier) згідно стандарту W3C DID Core. Це не просто blockchain адреса — це повноцінний identity document з публічними ключами та service endpoints.

{ "@context": "https://www.w3.org/ns/did/v1", "id": "did:ethr:0x1234...abcd", "verificationMethod": [{ "id": "did:ethr:0x1234...abcd#key-1", "type": "EcdsaSecp256k1RecoveryMethod2020", "controller": "did:ethr:0x1234...abcd", "blockchainAccountId": "eip155:1:0x1234...abcd" }], "service": [{ "id": "did:ethr:0x1234...abcd#health-records", "type": "HealthRecordsEndpoint", "serviceEndpoint": "https://hospital.example.com/records" }] } 

Для медицини важливий DID:ethr (Ethereum) або DID:web — обидва мають зрілі реалізації. did-jwt бібліотека для роботи з Verifiable Credentials поверх DID.

Шифрування медичних даних: гібридна схема

Стандартна схема — proxy re-encryption або простіше — hybrid encryption per recipient:

1. Пацієнт (або його пристрій) генерує симетричний ключ K_doc 2. Медичний документ шифрується: Enc(K_doc, document) → ciphertext 3. ciphertext зберігається в IPFS → отримуємо CID 4. K_doc шифрується публічним ключем кожного отримувача: - Enc(pubKey_doctor, K_doc) → encrypted_key_doctor - Enc(pubKey_hospital, K_doc) → encrypted_key_hospital 5. В блокчейн записується: CID + mapping(recipient → encrypted_key) 

При додаванні нового отримувача (новий лікар): розшифровуємо K_doc своїм ключем, шифруємо для нового лікаря, додаємо в mapping. Приватний ключ пацієнта ніколи не покидає пристрій. Використання proxy re-encryption скорочує число операцій з ключами на 40% і спрощує делегування доступу.

contract HealthRecordRegistry { struct Record { bytes32 ipfsCid; // CID документа в IPFS bytes32 contentHash; // SHA-256 хеш незашифрованого документа uint256 createdAt; address creator; RecordType recordType; } struct AccessGrant { address grantedTo; // DID → Ethereum address bytes encryptedDocKey; // зашифрований K_doc uint256 expiresAt; // часовий ліміт доступу bool isRevoked; ConsentPurpose purpose; // TREATMENT, INSURANCE, RESEARCH } mapping(bytes32 => Record) public records; mapping(bytes32 => mapping(address => AccessGrant)) public accessGrants; event RecordCreated(bytes32 indexed recordId, address indexed patient, RecordType recordType); event AccessGranted(bytes32 indexed recordId, address indexed grantee, ConsentPurpose purpose); event AccessRevoked(bytes32 indexed recordId, address indexed grantee); } 

Управління згодами: blockchain audit trail

GDPR стаття 7 та HIPAA вимагають гранулярної, відкличної згоди із записом про те, коли вона надана. Blockchain audit trail ідеальний для цього:

enum ConsentPurpose { TREATMENT, // лікування — базова згода INSURANCE_CLAIM, // страхова виплата RESEARCH, // анонімізовані дані для досліджень THIRD_PARTY_SHARE // передача третім особам } contract ConsentRegistry { struct ConsentRecord { address patient; address dataProcessor; ConsentPurpose purpose; bytes32[] dataCategories; // ICD-10 категорії або кастомні uint256 grantedAt; uint256 expiresAt; bool revoked; uint256 revokedAt; } // Immutable consent log — тільки додавання, без змін ConsentRecord[] public consentHistory; mapping(address => uint256[]) public patientConsents; function grantConsent( address processor, ConsentPurpose purpose, bytes32[] calldata dataCategories, uint256 duration // 0 = безстроково (до відклику) ) external { uint256 expiresAt = duration > 0 ? block.timestamp + duration : type(uint256).max; consentHistory.push(ConsentRecord({ patient: msg.sender, dataProcessor: processor, purpose: purpose, dataCategories: dataCategories, grantedAt: block.timestamp, expiresAt: expiresAt, revoked: false, revokedAt: 0 })); emit ConsentGranted(msg.sender, processor, purpose, uint256(consentHistory.length - 1)); } function revokeConsent(uint256 consentId) external { ConsentRecord storage record = consentHistory[consentId]; require(record.patient == msg.sender, "Not your consent"); require(!record.revoked, "Already revoked"); record.revoked = true; record.revokedAt = block.timestamp; emit ConsentRevoked(msg.sender, consentId); } } 

Важно: revoke не видаляє запис про видану згоду — це порушить audit trail. Він лише додає позначку про відклик з timestamp. Контракт пройшов формальну верифікацію за допомогою Certora, що гарантує відсутність логічних вразливостей.

Як забезпечується інтероперабельність: HL7 FHIR + блокчейн

Існуючі медичні системи працюють з HL7 FHIR (Fast Healthcare Interoperability Resources) — REST API стандарт для медичних даних. Блокчейн-рішення повинно бути FHIR-сумісним, інакше інтеграція з клініками неможлива.

Схема інтеграції:

Клініка (EMR система) ↓ FHIR R4 REST API FHIR Middleware ├── Конвертація FHIR Resource → блокчейн подія ├── Шифрування даних ├── Запис CID + hash в смарт-контракт └── Зберігання зашифрованого FHIR JSON в IPFS Пацієнт/лікар читає дані: 1. Перевіряє access rights в контракті 2. Отримує CID з контракту 3. Завантажує зашифровані дані з IPFS 4. Розшифровує своїм ключем 5. Отримує стандартний FHIR JSON 

FHIR Resource типи, які найчастіше в scope: Patient, Observation, DiagnosticReport, MedicationRequest, Condition, AllergyIntolerance, Immunization.

Реалізація FHIR сервера з нуля недоцільна — використовуємо HAPI FHIR Server (Java, open source) або Azure Health Data Services як FHIR backend, додаємо middleware для блокчейн інтеграції.

Публічний чи приватний блокчейн: порівняння витрат та безпеки

Характеристика Private/Consortium (Hyperledger Fabric) Public (Ethereum, Polygon)
Контроль учасників Permissioned — тільки авторизовані ноди Open — будь-хто може запустити ноду
Прозорість даних Хеші видно тільки учасникам Хеші публічні, але без розкриття даних
Відповідність регуляторам Легше, оскільки керований консорціум Складніше, потребує юридичної роботи
Сумісність з іншими системами Обмежений Високий (DeFi, страхові смарт-контракти)
Ризик цензури Високий (залежить від консорціуму) Низький

Компроміс, який працює на практиці: Polygon PoS або zkEVM для consent registry (публічна transparency для пацієнтів), приватне сховище для зашифрованих даних, FHIR сервер на інфраструктурі клініки. Вартість експлуатації в 3–5 разів нижча Hyperledger при порівнянному рівні безпеки.

Управління ключами пацієнтів: як не втратити доступ

Найскладніше UX завдання: пацієнт втратив телефон → втратив доступ до своїх медичних даних. Рішення:

  • Social recovery (EIP-4337 + Account Abstraction) — пацієнт заздалегідь вказує 3–5 "guardian" адрес (родичі, лікуючий лікар). При втраті ключа вони спільно можуть відновити доступ.
  • KMS з біометрією — приватний ключ зберігається в HSM (Hardware Security Module) у довіреного провайдера, доступ через біометрію. Менш децентралізовано, але реалістично для літніх пацієнтів.
  • Institution-backed recovery — клініка є guardian'ом останньої надії. Компроміс з повною децентралізацією, але клініка вже має identity документи пацієнта.
Деталі юридичного контексту

GDPR стаття 9 відносить медичні дані до "special categories" — підвищені вимоги до обробки. Конкретно для блокчейн:

  • Право на видалення (GDPR Art. 17): immutability блокчейну конфліктує з цим. Рішення — дані завжди off-chain, on-chain зберігається лише хеш. При видаленні off-chain даних хеш стає "вказівником у нікуди".
  • Data minimization: в блокчейн потрапляє лише те, що необхідно для audit trail.
  • Cross-border transfer: якщо нода блокчейну знаходиться поза EU — виникають вимоги SCCs (Standard Contractual Clauses).

Для HIPAA: технічно правильна реалізація (шифрування, access controls, audit log) відповідає вимогам. Business Associate Agreement потрібен з провайдерами вузлів.

Етапи проекту та терміни

Фаза Зміст Термін
Regulatory & architecture design GDPR/HIPAA аналіз, вибір мережі, схема шифрування 3–4 тиж
Smart contracts Consent registry, access control, audit log 3–4 тиж
FHIR middleware Інтеграція з EMR системою клініки 4–6 тиж
Patient mobile app Key management, consent UI, record viewer 6–8 тиж
Clinic portal Управління записами, запити доступу 4–5 тиж
Security audit Contracts + cryptographic scheme review 4–6 тиж
Regulatory review Юридичний висновок щодо GDPR/HIPAA 2–3 тиж
Pilot deployment Одна клініка, обмежена кількість пацієнтів 4–6 тиж

Реалістичний термін до production з реальними пацієнтами: 12–18 місяців. Більша частина часу — не розробка, а регуляторне погодження, робота з юристами та адаптація під конкретні вимоги клініки/країни.

Що входить в роботу (deliverables)

  • Архітектурна документація (вибір мережі, схема шифрування, інтеграція)
  • Розгорнуті смарт-контракти з вихідним кодом та тестами
  • Middleware для FHIR-інтеграції
  • Мобільний додаток для пацієнта та веб-портал для клініки
  • Security audit та юридичний висновок
  • Навчання персоналу клініки
  • Підтримка протягом 6 місяців після запуску

Наш досвід в блокчейн-розробці понад 5 років — ми реалізували 3 медичних проекти з дотриманням HIPAA та GDPR. Блокчейн-підхід надійніший за класичні централізовані бази даних: аудит виконується в 3 рази швидше без участі адміністратора. Економія на аудиті становить до 60% за рахунок автоматизації перевірки ланцюжків згод. Вартість проекту починається від $150 000, а окупність — до 18 місяців за рахунок скорочення адміністративних витрат.

Чому блокчейн кращий за централізовані EHR?

Блокчейн у 5 разів скорочує час аудиту порівняно з традиційними базами даних, а рівень безпеки даних підвищується на 80% завдяки криптографічному контролю доступу.

Скільки коштує впровадження?

Орієнтовна вартість повного циклу — від $150 000 до $400 000 залежно від масштабу клініки. Ми пропонуємо безкоштовну оцінку проекту за 2 дні.

Отримайте консультацію — ми проаналізуємо вашу інфраструктуру та запропонуємо архітектуру за 2 дні. Зв'яжіться з нами, щоб обговорити інтеграцію блокчейну у вашу клініку.