Монгол Улсын үндэсний цөм FHIR удирдамж (Mongolian National Core IG)
0.1.0 - draft
Mongolia
Монгол Улсын үндэсний цөм FHIR удирдамж (Mongolian National Core IG) - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Эмнэлгийн мэдээллийн системийг MN Core Server-т холбох алхам алхмын заавар.
ЭМХТ-ээс байгууллагадаа дараах зүйлсийг авна:
| Юу | Тайлбар |
|---|---|
client_id |
Ихэвчлэн hospital-{байгууллагын код} хэлбэртэй |
client_secret |
Нууц түлхүүр — эх кодод бичиж болохгүй |
| Байгууллагын дугаар | Organization/{uuid} — токенд автоматаар шигтгэгдэнэ |
| Маягтын эрх | Аль маягтад унших/бичих эрхтэй болох |
POST https://auth.fhir.mn/realms/hdc/protocol/openid-connect/token
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id=hospital-1234&client_secret=…
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6…",
"expires_in": 36000,
"token_type": "Bearer"
}
Токен 10 цаг хүчинтэй. Дуусахаас өмнө шинээр авна. Хүсэлт бүрд токен дахин авах шаардлагагүй — кэшлэж ашиглана.
Эхлээд регистрийн дугаараар хайна:
GET https://fhir.mn/fhir/Patient?identifier=УБ12345678
Authorization: Bearer {token}
total = 0 бол шинээр бүртгэнэ:
POST https://fhir.mn/fhir/Patient
Authorization: Bearer {token}
Content-Type: application/fhir+json
{
"resourceType": "Patient",
"identifier": [{
"system": "http://fhir.mn/sid/national-id",
"value": "УБ12345678"
}],
"name": [{ "family": "Бат", "given": ["Болд"] }],
"gender": "male",
"birthDate": "1990-05-07"
}
managingOrganization талбарыг бичих шаардлагагүй — сервер өөрөө нөхнө.
Маягт бүрийн бүтэц, талбарын нэр, сонголтын утгыг токенгүйгээр уншиж болно:
GET https://fhir.mn/fhir/Questionnaire/EMM4-4-1
Сонголттой (choice) талбарын боломжит утгуудыг:
GET https://fhir.mn/fhir/ValueSet/{valueset-id}/$expand
Чухал. Маягтын хувилбар өөрчлөгдөж болно. Системээ хатуу бичсэн талбарын жагсаалтад биш, татаж авсан тодорхойлолт дээр тулгуурлан ажиллуулах нь зүйтэй.
POST https://fhir.mn/fhir/QuestionnaireResponse
Authorization: Bearer {token}
Content-Type: application/fhir+json
{
"resourceType": "QuestionnaireResponse",
"status": "in-progress",
"questionnaire": "http://fhir.mn/fhir/Questionnaire/EMM4-4-1",
"subject": { "reference": "Patient/12345" },
"authored": "2026-09-08T09:00:00+08:00",
"item": [
{ "linkId": "child_registry_number",
"answer": [{ "valueString": "УБ23050777" }] },
{ "linkId": "weight",
"answer": [{ "valueDecimal": 14.2 }] }
]
}
Хэсэгчлэн хадгалахдаа status = "in-progress", дуусахдаа "completed".
| Код | Мессеж | Шалтгаан ба засвар |
|---|---|---|
401 |
Unauthorized | Токен дууссан эсвэл буруу. Шинээр ав. |
403 |
Танд бичих эрх байхгүй | Тухайн маягтад эрх олгогдоогүй. ЭМХТ-д хандана. |
403 |
Та зөвхөн өөрийн эмнэлгийн… | Өөр байгууллагын нэрийн өмнөөс бичихийг оролдсон. |
403 |
Өгөгдөл устгах эрх байхгүй | DELETE хаалттай. |
422 |
items are out of order | Талбаруудыг тодорхойлолтын дарааллаар эрэмбэл. |
422 |
is in the wrong place | Бүлгийн доторх талбарыг үндсэн түвшинд гаргасан. Үүрлэсэн бүтцээр илгээ. |
422 |
Item has answer though not enabled | enableWhen-ээр хаалттай талбарт хариулт бичсэн. |
422 |
The code … is not in the options value set | Сонголтын код буруу. $expand-аар зөв кодыг ав. |
422 |
Answer value must be of the type … | answer-ийн төрөл item.type-тай таарахгүй байна. |
412 |
HAPI-0988 | Ижил маягт давхардаж үүсэх гэж байна. Эхлээд хайж, байвал PUT хий. |
Postman collection-ыг Татах багц-аас авч дараах дарааллаар ажиллуулна:
200200201200completed болгох → 200403Зургаа дахь алхам 403 буцаахгүй бол системд алдаа байна — ЭМХТ-д мэдэгдэнэ үү.
5xx алдаанд экспоненциал хүлээлттэй дахин оролдоно.
4xx алдаанд дахин оролдох нь утгагүй — хүсэлтээ засах хэрэгтэй.2026-09-08T09:00:00+08:00.client_secret-ийг эх код, git репод хадгалахгүй.