FHIR IG analytics| Package | uz.dhp.core |
| Resource Type | OperationDefinition |
| Id | OperationDefinition-patient-populate.json |
| FHIR Version | R5 |
| Source | https://build.fhir.org/ig/uzinfocom-org/digital-health-ig/OperationDefinition-patient-populate.html |
| URL | https://dhp.uz/fhir/core/OperationDefinition/patient-populate |
| Version | 0.8.0 |
| Status | draft |
| Date | 2026-08-13 |
| Name | PatientPopulate |
| Title | Populate a patient from state registries by identifier |
| Description | Creates a Patient resource from an identity document, populating it with data from the state registries of natural persons. The operation takes the identifier as a `system` + `code` + `value` triple (with `birthDate` where needed), resolves it to a PINFL (NI), and retrieves the citizen's details by that PINFL. The operation is idempotent: if a Patient with that PINFL already exists in the system it is returned without calling any external source and without creating a duplicate; otherwise a new Patient resource is created with an assigned identifier and version. The operation is invoked at type level (Patient/$populate) with POST and a Parameters body. The response is the Patient resource itself, not Parameters. |
| Type | true |
| Kind | operation |
| CapabilityStatement | ||
| uz.dhp.core#current | DHPCapabilityStatement | |
No resources found
Note: links and images are rebased to the (stated) source
English
Generated Narrative: OperationDefinition patient-populate
URL: [base]/Patient/$populate
| Use | Name | Scope | Cardinality | Type | Binding | Documentation |
| IN | system | 1..1 | uri | Identification system of the document (Identifier.system). Permitted values: | ||
| IN | code | 1..1 | code | Document type: | ||
| IN | value | 1..1 | string | Document value: the PINFL for | ||
| IN | birthDate | 0..1 | date | Date of birth in YYYY-MM-DD format. Mandatory when | ||
| OUT | return | 1..1 | Patient | The Patient resource that was created, or the one that already existed, populated with data from the state registries. |
The document codes NI (PINFL), PPN (passport / ID card) and BCT (birth certificate) are supported; the case of code does not matter. For NI the value is checked locally for correctness. For PPN the birthDate parameter is mandatory - the PINFL is resolved from the series and number together with the date of birth. For BCT the value is split into series and number, which resolve the PINFL. The system value must be one of the permitted identification systems; an unknown system or code results in an OperationOutcome with code invalid. The citizen's address is requested separately and is optional: if it is unavailable, the Patient is still created, but without address details. If the citizen is not found in the external registries, or the data retrieved is invalid, no resource is created and an error is returned. The operation follows the same model as Person/$populate.
Russian
Сгенерированный нарратив: OperationDefinition patient-populate
URL: [base]/Patient/$populate
| Использовать | Наименование | Сфера действия | Кардинальность | Тип | Привязка | Документация |
| IN | system | 1..1 | uri | Identification system of the document (Identifier.system). Permitted values: | ||
| IN | code | 1..1 | code | Document type: | ||
| IN | value | 1..1 | string | Document value: the PINFL for | ||
| IN | birthDate | 0..1 | date | Date of birth in YYYY-MM-DD format. Mandatory when | ||
| OUT | return | 1..1 | Patient | The Patient resource that was created, or the one that already existed, populated with data from the state registries. |
The document codes NI (PINFL), PPN (passport / ID card) and BCT (birth certificate) are supported; the case of code does not matter. For NI the value is checked locally for correctness. For PPN the birthDate parameter is mandatory - the PINFL is resolved from the series and number together with the date of birth. For BCT the value is split into series and number, which resolve the PINFL. The system value must be one of the permitted identification systems; an unknown system or code results in an OperationOutcome with code invalid. The citizen's address is requested separately and is optional: if it is unavailable, the Patient is still created, but without address details. If the citizen is not found in the external registries, or the data retrieved is invalid, no resource is created and an error is returned. The operation follows the same model as Person/$populate.
Uzbek
Generated Narrative: OperationDefinition patient-populate
URL: [base]/Patient/$populate
| Use | Name | Scope | Cardinality | Type | Binding | Documentation |
| IN | system | 1..1 | uri | Identification system of the document (Identifier.system). Permitted values: | ||
| IN | code | 1..1 | code | Document type: | ||
| IN | value | 1..1 | string | Document value: the PINFL for | ||
| IN | birthDate | 0..1 | date | Date of birth in YYYY-MM-DD format. Mandatory when | ||
| OUT | return | 1..1 | Patient | The Patient resource that was created, or the one that already existed, populated with data from the state registries. |
The document codes NI (PINFL), PPN (passport / ID card) and BCT (birth certificate) are supported; the case of code does not matter. For NI the value is checked locally for correctness. For PPN the birthDate parameter is mandatory - the PINFL is resolved from the series and number together with the date of birth. For BCT the value is split into series and number, which resolve the PINFL. The system value must be one of the permitted identification systems; an unknown system or code results in an OperationOutcome with code invalid. The citizen's address is requested separately and is optional: if it is unavailable, the Patient is still created, but without address details. If the citizen is not found in the external registries, or the data retrieved is invalid, no resource is created and an error is returned. The operation follows the same model as Person/$populate.
{
"resourceType": "OperationDefinition",
"id": "patient-populate",
"text": {
"status": "generated",
"div": "<!-- snip (see above) -->"
},
"url": "https://dhp.uz/fhir/core/OperationDefinition/patient-populate",
"version": "0.8.0",
"name": "PatientPopulate",
"title": "Populate a patient from state registries by identifier",
"status": "draft",
"kind": "operation",
"experimental": false,
"date": "2026-08-13",
"publisher": "Ministry of Health of the Republic of Uzbekistan",
"_publisher": {
"extension": [
{
"extension": [
{
"url": "lang",
"valueCode": "uz"
},
{
"url": "content",
"valueString": "O‘zbekiston Respublikasi Sog‘liqni saqlash vazirligi"
}
],
"url": "http://hl7.org/fhir/StructureDefinition/translation"
},
{
"extension": [
{
"url": "lang",
"valueCode": "ru"
},
{
"url": "content",
"valueString": "Ministry of Health of the Republic of Uzbekistan"
}
],
"url": "http://hl7.org/fhir/StructureDefinition/translation"
}
]
},
"contact": [
{
"name": "Ministry of Health of the Republic of Uzbekistan",
"telecom": [
{
"system": "url",
"value": "https://gov.uz/en/ssv"
},
{
"system": "email",
"value": "info@ssv.uz"
}
]
}
],
"description": "Creates a Patient resource from an identity document, populating it with data from the state registries of natural persons. The operation takes the identifier as a `system` + `code` + `value` triple (with `birthDate` where needed), resolves it to a PINFL (NI), and retrieves the citizen's details by that PINFL. The operation is idempotent: if a Patient with that PINFL already exists in the system it is returned without calling any external source and without creating a duplicate; otherwise a new Patient resource is created with an assigned identifier and version. The operation is invoked at type level (Patient/$populate) with POST and a Parameters body. The response is the Patient resource itself, not Parameters.",
"jurisdiction": [
{
"coding": [
{
"system": "urn:iso:std:iso:3166",
"code": "UZ",
"display": "Uzbekistan"
}
]
}
],
"affectsState": true,
"code": "populate",
"comment": "The document codes NI (PINFL), PPN (passport / ID card) and BCT (birth certificate) are supported; the case of `code` does not matter. For NI the value is checked locally for correctness. For PPN the `birthDate` parameter is mandatory - the PINFL is resolved from the series and number together with the date of birth. For BCT the value is split into series and number, which resolve the PINFL. The `system` value must be one of the permitted identification systems; an unknown `system` or `code` results in an OperationOutcome with code `invalid`. The citizen's address is requested separately and is optional: if it is unavailable, the Patient is still created, but without address details. If the citizen is not found in the external registries, or the data retrieved is invalid, no resource is created and an error is returned. The operation follows the same model as Person/$populate.",
"resource": [
"Patient"
],
"system": false,
"type": true,
"instance": false,
"parameter": [
{
"name": "system",
"use": "in",
"min": 1,
"max": "1",
"documentation": "Identification system of the document (Identifier.system). Permitted values: `http://terminology.hl7.org/CodeSystem/v2-0203`, `https://dhp.uz/fhir/core/sid/pid/uz/ni` (PINFL), `https://dhp.uz/fhir/core/sid/pid/uz/ppn/local` (biometric passport / ID card), `https://dhp.uz/fhir/core/sid/pid/uz/ppn/intl` (international passport), `https://dhp.uz/fhir/core/sid/pid/uz/bct` (birth certificate). Passed as valueUri.",
"type": "uri"
},
{
"name": "code",
"use": "in",
"min": 1,
"max": "1",
"documentation": "Document type: `NI` - PINFL, `PPN` - passport or ID card, `BCT` - birth certificate. Passed as valueCode.",
"type": "code"
},
{
"name": "value",
"use": "in",
"min": 1,
"max": "1",
"documentation": "Document value: the PINFL for `NI`, the passport series and number for `PPN`, the birth certificate series and number for `BCT`. Passed as valueString.",
"type": "string"
},
{
"name": "birthDate",
"use": "in",
"min": 0,
"max": "1",
"documentation": "Date of birth in YYYY-MM-DD format. Mandatory when `code` is `PPN`, because the PINFL is resolved from the passport together with the date of birth. Optional for the other document types, where it is used as an additional matching criterion. Passed as valueDate.",
"type": "date"
},
{
"name": "return",
"use": "out",
"min": 1,
"max": "1",
"documentation": "The Patient resource that was created, or the one that already existed, populated with data from the state registries.",
"type": "Patient"
}
]
}