Uzbekistan Digital Health Platform
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
Many elements in UZ Core profiles are flagged Must Support (the S flag in the profile tables). This page defines exactly what that obligation means.
If an element is marked Must Support, a system that produces the resource must be able to populate it whenever the information is available, and a system that consumes the resource must be able to receive and process it without error.
Must Support is about capability. It does not, by itself, make an element mandatory - that is what cardinality (1..) does. An element can be Must Support and still be optional (0..1): you only have to send it when you have the data.
The flag means a slightly different thing depending on which profile it appears in:
In practice the rule is the same either way: send the element when you have the data, and be able to receive it.
Each profile page lists two sets in plain language at the top:
1..1 or 1..*). These must always be present, or the resource is invalid.A concrete example, UZ Core Patient:
identifier.name, gender, birthDate, address, active, and the nationality / citizenship / managing-organization extensions.So a Patient is invalid without an identifier, but a Patient whose birth date is genuinely unknown is still valid - you supported birthDate, you just did not have a value.
The obligation is interpreted according to the kind of element:
| Element kind | A producing system must … | A consuming system must … |
|---|---|---|
| Primitive (string, date, code, boolean …) | be able to provide the value when it has it | be able to read and store/display the value |
Complex (e.g. address, name) |
be able to provide at least one of the sub-elements that are themselves Must Support | be able to process those sub-elements |
| Reference | be able to provide a reference to the target profile(s) listed | be able to resolve and follow the reference |
| Coded (bound to a value set) | be able to provide a code from the bound value set | be able to interpret codes from that value set |
| Sliced element | be able to provide the slices relevant to its data | be able to process any of the defined slices it receives |
A producer that supports an element but has no value for it should follow the rules on General guidance → Missing & suppressed data. In short:
The DHP platform validates every create and update against the relevant profile and its value sets - structure, cardinality, data types and terminology bindings. A resource that violates a mandatory cardinality or a required binding is rejected with an OperationOutcome (see General guidance → Errors). The server cannot reject a resource because of Must Support rules for consumers (systems that receive data). But your system is still tested against these rules before it can connect to the platform.