Единая платформа цифрового здравоохранения Узбекистана
0.5.0 - ci-build
Uzbekistan Digital Health Platform - Локальная сборка (v0.5.0), построенная FHIR (HL7® FHIR® Стандартные инструменты сборки. Смотрите каталог опубликованных версий
На этой странице представлены переводы с языка оригинала, на котором былонаписано руководство. Информацию об этих переводах и инструкции попредоставлению отзывов о переводах можно найти здесь.
Машинный перевод, требуется проверка человеком. Эта страница автоматически переведена с английского языка с помощью искусственного интеллекта и пока не проверена редактором. При любых расхождениях приоритет имеет оригинальная англоязычная версия.
Этот рабочий процесс показывает, как национальный календарь иммунизации формирует персонализированную рекомендацию, как пациента ведут на этапах записи, консультации и вакцинации, и как регистрируется введённая доза вакцины. Все ресурсы, используемые здесь, профилированы в UZ Core.
Участники: менеджер программы иммунизации / распорядитель данных (поддерживает календарь); медицинский регистратор (записывает пациента); пациент или родитель/опекун (просматривает рекомендации); врач и медсестра (оценивают показания и проводят вакцинацию). Клинические визиты передаются как ресурсы FHIR Encounter — один визит-консультация и отдельный визит-вакцинация.
Цепочка:
Национальный календарь публикуется один раз в виде PlanDefinition. Каждая рекомендованная доза — это PlanDefinition.action; вакцина и сведения о дозировании переносятся в действие через definitionCanonical, ссылающийся на ActivityDefinition, либо через национальные расширения (doseSequence, maximumInterval, gracePeriod). Минимальные интервалы между дозами используют action.relatedAction.offsetDuration; показания используют action.condition.
GET [base]/PlanDefinition?status=active&context-type-value=focus$http://snomed.info/sct|33879002
Для данной области/юрисдикции одновременно может быть активна только одна версия календаря, и календарь должен удовлетворять правилам валидации (отсутствие пропусков в последовательности доз, отсутствие невозможных временных окон, отсутствие двух перекрывающихся активных версий). См. страницу PlanDefinition.
Механизм рекомендаций считывает активный PlanDefinition, существующую историю Immunization пациента и демографические данные пациента и формирует ImmunizationRecommendation. Каждая запись содержит vaccineCode и/или targetDisease, doseNumber, forecastStatus (предстоит, просрочено, …) и dateCriterion (самая ранняя/рекомендованная/самая поздняя даты).
# read what a patient is due for
GET [base]/ImmunizationRecommendation?patient=Patient/[id]&_sort=-date
# read the doses already given
GET [base]/Immunization?patient=Patient/[id]&status=completed
Рекомендация обычно вычисляется механизмом на основе календаря и истории пациента — клиенты её отображают. Во время консультации клиницист также может её просмотреть или создать, если механизм её не сформировал.
Медицинская помощь оказывается в рамках Encounter. Запись и консультация используют один долгоживущий визит-консультацию, чей status меняется по мере прохождения визита — для каждого медработника новый Encounter не создаётся:
status = planned. subject — это пациент, serviceProvider — клиника, а participant содержит регистратора и назначенную медсестру. Пациент теперь появляется в рабочем списке этой медсестры.status = in-progress, фиксируя reason визита и actualPeriod.Encounter.reason как ссылку на эту рекомендацию. По завершении консультации Encounter переходит в status = completed.# registrar books the patient (consultation encounter)
POST [base]/Encounter
{
"resourceType": "Encounter",
"meta": { "profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-encounter"] },
"status": "planned",
"subject": { "reference": "Patient/[id]" },
"serviceProvider": { "reference": "Organization/[clinic]" },
"participant": [{ "actor": { "reference": "Practitioner/[nurse]" } }]
}
# nurse opens the visit
PUT [base]/Encounter/[id] # status -> in-progress, set reason, actualPeriod
# doctor links the recommendation and closes the consult
PUT [base]/Encounter/[id] # reason -> ImmunizationRecommendation, status -> completed
Вакцинация обычно проходит в другом учреждении и в другой день, нежели консультация, поэтому она регистрируется в отдельном Encounter, а не в визите-консультации. Медсестра открывает этот визит-вакцинацию (status = in-progress) для введения, затем регистрирует Immunization, который ссылается на него через Immunization.encounter, а на рекомендацию — через Immunization.basedOn. status отражает исход:
| Исход | Immunization.status |
Также устанавливается |
|---|---|---|
| Вакцина введена | completed |
occurrence, vaccineCode, administeredProduct, lotNumber, doseQuantity, performer |
| Медицинский отвод | not-done |
statusReason = MEDPREC (медицинская предосторожность) или IMMUNE (иммунитет) |
| Отказ | not-done |
statusReason = PATOBJ (возражение пациента) |
| Продукт недоступен | not-done |
statusReason = OSTOCK (продукт отсутствует на складе) |
| Зарегистрировано ошибочно | entered-in-error |
- |
statusReason связан (required) с набором значений причин статуса иммунизации; четыре приведённых выше кода из HL7 v3 ActReason являются единственными допустимыми значениями.
POST [base]/Immunization
{
"resourceType": "Immunization",
"meta": { "profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-immunization"] },
"status": "completed",
"vaccineCode": { "coding": [{ "system": "http://hl7.org/fhir/sid/cvx", "code": "03" }] },
"patient": { "reference": "Patient/[id]" },
"encounter": { "reference": "Encounter/[vaccination-encounter-id]" },
"basedOn": [{ "reference": "ImmunizationRecommendation/[id]" }],
"occurrenceDateTime": "2026-05-30",
"lotNumber": "AB-2231",
"performer": [{ "actor": { "reference": "PractitionerRole/[id]" } }],
"protocolApplied": [{ "doseNumberPositiveInt": 1 }]
}
Доза уникально идентифицируется по сочетанию пациент + vaccineCode + occurrence + lotNumber — не отправляйте одну и ту же комбинацию дважды.
Если у пациента возникает поствакцинальная реакция, зарегистрируйте AdverseEvent, чей suspectEntity ссылается на Immunization, при необходимости с Observation, описывающим реакцию.