O‘zbekiston Raqamli sog‘liqni saqlash platformasi
0.5.0 - ci-build
Uzbekistan Digital Health Platform, published by Ministry of Health of the Republic of Uzbekistan. This guide is not an authorized publication; it is the continuous build for version 0.5.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/uzinfocom-org/digital-health-ig/ and changes regularly. See the Directory of published versions
Ushbu sahifa qo‘llanma yozilgan asl manba tilidan tarjimalarni o‘z ichigaoladi. Ushbu tarjimalar haqidagi ma’lumot va ularga fikr bildirish bo‘yichako‘rsatmalarni bu yerda topishingiz mumkin.
Barcha UZ Core profillariga tatbiq etiladigan umumiy qoidalar. Ular joriy etuvchilar eng ko'p beradigan savollarga javob beradi: har bir resurs uchun qanday metama'lumotlar talab etiladi, maydon qiymati mavjud bo'lmaganda nima qilish kerak, o'lchov birliklarini qanday kodlash, resurslarni Bundle tarkibida qanday birlashtirish va Platforma xatolar haqida qanday xabar beradi.
Platformada almashiniladigan har bir resurs klinik ma'lumotlaridan tashqari quyidagilarni ham o'z ichiga olishi shart:
meta.profile - resurs muvofiq ekanini ko'rsatadigan UZ Core profilining kanonik URL manzili (versiyasi bilan). Server resursni qaysi qoidalar bo'yicha validatsiya qilish kerakligini shu ma'lumot orqali aniqlaydi.id - resursning serverdagi mantiqiy identifikatori. Yangi resursga identifikator server tomonidan biriktiriladi.{
"resourceType": "Observation",
"id": "abc-123",
"meta": {
"profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-observation"],
"lastUpdated": "2026-05-30T09:12:00+05:00"
}
}
Ma'lumotlar UTF-8 kodlashidagi JSON formatida almashiladi.
"Menda qiymat yo'q" va "qiymat mavjud emas" holatlari o'rtasida farq bor. FHIR qaysi holat yuz berganini ko'rsatish imkonini beradi:
0..) element, jumladan ixtiyoriy Must Support elementlari uchun ruxsat etiladi.1.. karralilikka ega elementni tashlab ketib bo'lmaydi. Shu sababli resursda belgilangan "unknown" mexanizmidan foydalaning: elementga data-absent-reason kengaytmasini qo'shing (misol) yoki bog'langan ValueSet tarkibida shunday qiymat mavjud bo'lsa, unknown kodidan foydalaning (masalan, unknown kodini o'z ichiga olgan ValueSet'ga bog'langan kodlangan element uchun unknown).Ayrim profillarda data-absent-reason uchun alohida joy mavjud. Masalan, UZ Core Patient profilida hatto identifikator mavjud bo'lmagan kam uchraydigan holatlar uchun identifier elementining value qismiga data-absent-reason kengaytmasini qo'shishga ruxsat beriladi.
Must Support bo'limida buning S belgisi bilan qanday bog'liqligi bayon qilingan.
Raqamli o'lchovlarda o'lchov birligi kodi uchun UCUM (http://unitsofmeasure.org) ishlatiladi:
{
"valueQuantity": {
"value": 7.2,
"unit": "%",
"system": "http://unitsofmeasure.org",
"code": "%"
}
}
system va code elementlarini faqat inson o'qishi uchun mo'ljallangan unit satri bilan cheklamasdan, mashina o'qiy oladigan UCUM kodi bilan doimo to'ldiring.value elementini yuboring; code/system faqat haqiqatan ham UCUM birligi mavjud bo'lmaganda tashlab ketiladi.Observation.referenceRange va Observation.interpretation elementlarida beriladi.Manzillar bir nechta resurslarda (Patient, Practitioner, Organization, Location) qo'llanadi. UZ Core O'zbekistondagi va xalqaro manzillarni qo'llab-quvvatlaydi.
Ma'muriy-hududiy birliklar uchun rasmiy registrlardagi kodlangan qiymatlardan foydalaning. Platforma viloyat, tuman va shahar qiymatlari Aholini raqamli boshqarish (DPM) tizimidagi kodlarga mos kelishini tekshiradi:
{
"address": [{
"use": "home",
"type": "physical",
"country": "UZ",
"state": "1727", // Region code from https://terminology.dhp.uz/fhir/core/ValueSet/state-vs (e.g., 1727 for Tashkent Region)
"district": "1727220", // District code from https://terminology.dhp.uz/fhir/core/ValueSet/regions-vs (e.g., 1727220 for Bekobod district)
"city": "17150085", // Mahalla code from https://terminology.dhp.uz/fhir/core/ValueSet/mahalla-vs (citizens' assembly)
"line": ["Amir Temur ko'chasi"],
"text": "Yangi Sergeli mahallasi, Amir Temur ko'chasi, 15-uy, 42-xonadon"
}]
}
O'zbekistondan tashqaridagi manzillarda ma'muriy-hududiy birliklar erkin matn ko'rinishida beriladi va majburiy ValueSet talab qilinmaydi. Bu xorijiy manzil tuzilmalarini moslashuvchan ifodalash imkonini beradi:
{
"address": [{
"use": "home",
"type": "physical",
"country": "US",
"state": "California", // Free text
"district": "Los Angeles County", // Free text
"city": "Los Angeles", // Free text
"line": ["123 Main Street", "Apt 4B"],
"postalCode": "90001"
}]
}
code elementi ifodalaydi. FHIR asoslari bo'limida UZ CodeSystem'lari va HL7 terminologiya qo'shimchalari bu ko'p tilli nomlanishlarni qanday taqdim etishi bayon qilingan.$validate-code operatsiyasi yordamida tekshirish mumkin:POST [base]/ValueSet/$validate-code
{ "resourceType": "Parameters",
"parameter": [
{ "name": "url", "valueUri": "https://dhp.uz/fhir/core/ValueSet/uz-core-diagnosis" },
{ "name": "system", "valueUri": "http://hl7.org/fhir/sid/icd-10" },
{ "name": "code", "valueCode": "E11" } ] }
Identifikator tizimlari bo'limida terminologiya tizimlari emas, aynan identifikator tizimlari haqida ma'lumot berilgan.
Amalga oshirayotgan vazifangizga qarab Bundle.type qiymatini tanlang:
Bundle.type |
Qaysi holatda ishlatiladi |
|---|---|
| transaction | Bir-biriga bog'liq bir nechta resursni bitta atomar birlik sifatida yuborish (barchasi muvaffaqiyatli bajariladi yoki hech biri bajarilmaydi), masalan, laboratoriya natijalari to'plami (ServiceRequest + Specimen + Observation + DiagnosticReport). |
| batch | Bir nechta mustaqil operatsiyani atomarlik talab qilinmasdan birgalikda yuborish. |
| document | Yuridik ahamiyatga ega yakuniy klinik hujjat: sarlavha sifatidagi Composition va undan keyin unga Reference orqali bog'langan klinik resurslar. Shifoxonadan chiqarish xulosalari, ma'lumotnomalar va imzolangan hisobotlar uchun ishlatiladi. |
| searchset | Server qidiruvga javoban qaytaradi. Siz bunday Bundle'larni qabul qilib qayta ishlaysiz, lekin yaratmaysiz. |
Bir nechta resurs o'zaro bog'liq bo'lsa, ularni muvofiqlashtirilmagan alohida chaqiruvlar orqali emas, bitta Bundle tarkibida birgalikda yuboring. Ish jarayonlari bo'limida transaction va document turidagi Bundle'larning aniq misollari keltirilgan.
GET (o'qish/qidirish), POST (yaratish), PUT (yangilash), PATCH (qisman yangilash) va DELETE. Har bir resurs uchun aniq amallar CapabilityStatement'da ko'rsatilgan.entered-in-error, inactive, revoked yoki ushbu resurs uchun mos boshqa qiymatni belgilang. Masalan, qaytarib olingan Goal cancelled/completed holatiga o'tkaziladi, qaytarib olingan Consent uchun inactive belgilanadi, xato klinik yozuv uchun esa entered-in-error belgilanadi. Resurs va uning tarixi bo'yicha so'rov yuborish imkoniyati saqlanib qoladi.ETag qiymatini saqlang va yangilash so'rovida If-Match sifatida qayta yuboring; agar resurs siz uni o'qigandan keyin boshqa mijoz tomonidan o'zgartirilgan bo'lsa, versiyalar endi mos kelmaydi va server 412 Precondition Failed ("Version is mismatch") javobini qaytaradi. Resursni qayta o'qing va so'rovni takrorlang - Parallel yangilash bo'limiga qarang.So'rov validatsiya, avtorizatsiya yoki ziddiyat tufayli muvaffaqiyatsiz tugasa, server jiddiylik darajasi, kod va inson o'qishi uchun mo'ljallangan diagnostika matnini o'z ichiga olgan OperationOutcome qaytaradi:
{
"resourceType": "OperationOutcome",
"issue": [{
"severity": "error",
"code": "required",
"diagnostics": "Patient.identifier: minimum required = 1, but only found 0",
"expression": ["Patient.identifier"]
}]
}
Ko'p uchraydigan kodlar: required/value/invariant (resurs profil bo'yicha validatsiyadan o'tmadi), code-invalid (kod bog'langan ValueSet tarkibida mavjud emas), forbidden (avtorizatsiya yoki rozilik tekshiruvi tufayli so'rov rad etildi - kirishni boshqarish bo'yicha tavsiyalarga qarang), shuningdek 412 javobi (code = invalid; If-Match versiyalari ziddiyati - Parallel yangilash). Xatoga sabab bo'lgan elementni aniqlash uchun diagnostics va expression elementlarini o'qing.