Отраслевые стандарты на примере FHIR
↑ 5.5 Интеграции со сторонними API: 1С, Битрикс24, FHIR · ← Предыдущая · → Следующая
Зачем это на собесе
Показывает работу со сложными доменными стандартами (здравоохранение): ресурсы, справочники, профили.
Объяснение
FHIR (Fast Healthcare Interoperability Resources) — стандарт обмена медицинскими данными на основе REST и JSON/XML.
| Понятие | Смысл |
|---|---|
| Resource | единица данных: Patient, Encounter, Observation, Practitioner |
| Reference | ссылка между ресурсами ("subject": {"reference": "Patient/123"}) |
| Bundle | набор ресурсов (результат поиска, транзакция) |
| Profile | ограничения/расширения ресурса для конкретной страны/системы |
| Extension | дополнительные поля вне базовой модели |
| Terminology (CodeSystem, ValueSet) | справочники: LOINC, SNOMED CT, МКБ |
| Search parameters | GET /Patient?family=Иванов&birthdate=gt1990-01-01 |
{
"resourceType": "Observation",
"status": "final",
"code": { "coding": [{ "system": "http://loinc.org", "code": "718-7", "display": "Hemoglobin" }] },
"subject": { "reference": "Patient/123" },
"valueQuantity": { "value": 140, "unit": "g/L" }
}REST-операции: read, vread, create, update, search, history, транзакции через Bundle. Для .NET есть библиотека Firely SDK (Hl7.Fhir.R4) с типизированными ресурсами и валидацией.
Общий урок: отраслевые стандарты задают словарь и контракты. Ваша задача — аккуратно отобразить внутреннюю модель на стандарт, не ломая семантику.
Нюансы и подводные камни
- Версии стандарта (DSTU2, STU3, R4, R5) несовместимы полностью.
- Профили и справочники различаются по странам и системам: «валидный FHIR» не значит «принятый чужой системой».
- Персональные и медицинские данные: шифрование, аудит доступа, согласия, требования регуляторов.
- Ссылки между ресурсами требуют целостности: порядок создания в Bundle-транзакции.
- Идентификаторы: используйте
identifierс системой (system+value), а не только внутренний id.
Практика
- Прочитайте
PatientиObservationиз публичного FHIR-сервера (HAPI) через Firely SDK. - Сопоставьте ваши сущности с ресурсами и запишите правила маппинга.
- Провалидируйте ресурс по профилю.
Вопросы с ответами
Что такое FHIR?
REST-стандарт обмена медицинскими данными с типизированными ресурсами, профилями и справочниками.
Что такое профиль ресурса?
Набор ограничений и расширений базового ресурса под конкретный контекст.
Как безопасно работать с медицинскими данными?
Шифрование, минимально необходимый доступ, аудит, соблюдение законодательства о персональных данных.