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.
Mashina tarjimasi, inson tomonidan tekshirilishi zarur. Ushbu sahifa ingliz tilidan sun'iy intellekt yordamida avtomatik tarjima qilingan va hali muharrir tomonidan tekshirilmagan. Har qanday nomuvofiqlikda asl inglizcha versiya ustuvor hisoblanadi.
Barcha UZ Core profillariga taalluqli kesishuvchi qoidalar. Ular implementatsiya qiluvchilar eng ko'p beradigan savollarga javob beradi - har bir resursga qanday metama'lumot kerakligi, maydon uchun qiymat bo'lmaganda nima qilish kerakligi, birliklarni qanday kodlash, resurslarni qanday to'plamga (bundle) birlashtirish va platforma xatolarni qanday xabar berishi.
Platformada almashinadigan har bir resurs, o'zining klinik mazmunidan tashqari, quyidagilarni o'z ichiga olishi shart:
meta.profile - resurs muvofiq ekanligini da'vo qilayotgan UZ Core profilining kanonik URL manzili (versiyasi bilan). Server qaysi qoidalarga ko'ra validatsiya qilishni shu orqali biladi.id - serverdagi resursning mantiqiy identifikatori. Yangi resurslarga uni server o'zi tayinlaydi.{
"resourceType": "Observation",
"id": "abc-123",
"meta": {
"profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-observation"],
"lastUpdated": "2026-05-30T09:12:00+05:00"
}
}
Mazmun JSON formatida, UTF-8 kodlashda almashinadi.
"Menda qiymat yo'q" va "qiymat mavjud emas" o'rtasida farq bor va FHIR qaysi biri ekanligini ko'rsatishga imkon beradi:
0..) element uchun, jumladan Must Support ixtiyoriy elementlari uchun ham ruxsat etiladi.1.. elementni tushirib qoldira olmaysiz, shuning uchun resursning aniqlangan "noma'lum" mexanizmidan foydalaning: element ustidagi data-absent-reason kengaytmasi (misol) yoki bog'langan qiymatlar to'plami uni taqdim etgan holatda "unknown" kodi (masalan, unknownni o'z ichiga olgan qiymatlar to'plamiga bog'langan kodlangan element).Ba'zi profillar aniq data-absent-reason slotini qo'shadi - masalan UZ Core Patient hatto identifikator ham mavjud bo'lmagan kamdan-kam holatlar uchun identifikatorning value qiymatida data-absent-reason kengaytmasiga ruxsat beradi.
Bu S bayrog'i bilan qanday o'zaro ta'sir qilishini bilish uchun Must Supportga qarang.
Sonli o'lchovlar birlik kodi uchun UCUM (http://unitsofmeasure.org)dan foydalanadi:
{
"valueQuantity": {
"value": 7.2,
"unit": "%",
"system": "http://unitsofmeasure.org",
"code": "%"
}
}
system va codeni har doim faqat insonga mo'ljallangan unit satri bilan emas, balki mashina o'qiy oladigan UCUM kodi bilan to'ldiring.valueni yuboring; faqat haqiqatan ham UCUM birligi bo'lmaganda code/systemni tushirib qoldiring.Observation.referenceRange va Observation.interpretationga tegishli.Manzillar bir nechta resurslarda (Patient, Practitioner, Organization, Location) uchraydi. UZ Core ham O'zbekiston, ham xalqaro manzillarni qo'llab-quvvatlaydi.
Ma'muriy bo'linmalar uchun rasmiy reestrlardan kodlangan qiymatlardan foydalaning. Platforma viloyat, tuman va shahar kodlari Raqamli aholini 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 manzillar uchun ma'muriy bo'linmalar majburiy qiymatlar to'plamlarisiz erkin matn bo'lib, bu xorijiy manzil tuzilmalarini moslashuvchan tarzda ifodalashga imkon 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 ifodalaydi. UZ CodeSystemlar va HL7 terminologiya supplementlari bu ko'p tilli nomlarni qanday taqdim etishini bilish uchun FHIR asoslariga qarang.$validate-code amaliyoti bilan 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 (terminologiya emas) tizimlari uchun Identifikator tizimlariga qarang.
Bundle.typeni qilayotgan ishingizga qarab tanlang:
Bundle.type |
Qachon ishlatiladi |
|---|---|
| transaction | Bir nechta o'zaro bog'liq resurslarni bitta atomik birlik sifatida yuborish (hammasi muvaffaqiyatli yoki hammasi muvaffaqiyatsiz) - masalan, laboratoriya natijalari to'plami (ServiceRequest + Specimen + Observation + DiagnosticReport). |
| batch | Bir nechta mustaqil amallarni atomiklikka talab qilmasdan birga yuborish. |
| document | Yakunlangan, yuridik ahamiyatga ega klinik hujjat - sarlavha sifatidagi Composition va undan keyin havola qilingan klinik resurslar. Tashxis xulosalari, sertifikatlar, imzolangan hisobotlar uchun ishlatiladi. |
| searchset | Qidiruvga javoban server tomonidan qaytariladi. Siz ularni iste'mol qilasiz; ularni yaratmaysiz. |
Bir nechta resurs o'zaro bog'liq bo'lganda, ularni alohida muvofiqlashtirilmagan chaqiruvlar sifatida emas, balki Bundle ichida birga uzating. Aniq tranzaksiya va hujjat Bundle misollari uchun Ish jarayonlariga qarang.
GET (o'qish/qidirish), POST (yaratish), PUT (yangilash), PATCH (qisman yangilash) va DELETE. Har bir resurs uchun aniq o'zaro ta'sirlar CapabilityStatementda e'lon qilinadi.entered-in-error, inactive, revoked yoki resurs uchun ekvivalentini o'rnating. Masalan, bekor qilingan Goal cancelled/completedga, bekor qilingan Consent inactivega, xato klinik yozuv entered-in-errorga o'rnatiladi. Resurs va uning tarixi so'rov qilinishi mumkin bo'lib qoladi.ETagni saqlang va yangilashda uni If-Match sifatida qaytaring; agar siz o'qiganingizdan beri kimdir resursni o'zgartirgan bo'lsa, versiya endi mos kelmaydi va server 412 Precondition Failed ("Version is mismatch") bilan javob beradi. Qayta o'qing va qaytadan urinib ko'ring - Bir vaqtdalikka qarang.So'rov muvaffaqiyatsiz bo'lganda - validatsiya, avtorizatsiya, ziddiyat - server jiddiylik darajasi, kod va insonga o'qish mumkin bo'lgan diagnostika bilan OperationOutcome qaytaradi:
{
"resourceType": "OperationOutcome",
"issue": [{
"severity": "error",
"code": "required",
"diagnostics": "Patient.identifier: minimum required = 1, but only found 0",
"expression": ["Patient.identifier"]
}]
}
Siz ko'radigan keng tarqalgan kodlar: required/value/invariant (resurs profil validatsiyasidan o'tmadi), code-invalid (kod bog'langan qiymatlar to'plamida yo'q), forbidden (avtorizatsiya/rozilik so'rovni rad etdi - kirishni boshqarish bo'yicha qo'llanmaga qarang) va invalid kodli 412 (If-Match versiya ziddiyati - Bir vaqtdalikka qarang). Muammoli elementni topish uchun diagnostics va expressionni o'qing.