Единая платформа цифрового здравоохранения Узбекистана
0.12.0 - ci-build Uzbekistan флаг

Uzbekistan Digital Health Platform, опубликовано Ministry of Health of the Republic of Uzbekistan. Это руководство не является санкционированной публикацией; это непрерывная сборка для версии 0.12.0, созданной FHIR (HL7® FHIR® Standard) CI Build. Эта версия основана на нынешнем содержании https://github.com/uzinfocom-org/digital-health-ig/ и регулярно изменяется. Смотрите каталог опубликованных версий

: Relate a parent patient to a child confirmed by the civil registry

Draft по состоянию на 2026-10-19

Сырой json | Скачать

{
  "resourceType" : "OperationDefinition",
  "id" : "patient-relate",
  "language" : "ru",
  "text" : {
    "status" : "generated",
    "div" : "<div xml:lang=\"ru\" lang=\"ru\"><hr/><p><b>Russian</b></p><hr/><p class=\"res-header-id\"><b>Сгенерированный нарратив: OperationDefinition patient-relate</b></p><a name=\"ru-patient-relate\"> </a><a name=\"ru-hcpatient-relate\"> </a><p>URL: [base]/Patient/[id]/$relate</p><h3>Параметры</h3><table class=\"grid\"><tr><td><b>Использовать</b></td><td><b>Наименование</b></td><td><b>Сфера действия</b></td><td><b>Кардинальность</b></td><td><b>Тип</b></td><td><b>Привязка</b></td><td><b>Документация</b></td></tr><tr><td>IN</td><td>childIdentifier</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R5/datatypes.html#Identifier\">Identifier</a></td><td/><td><div><p>PINFL (NI) of the child. <code>Identifier.value</code> is mandatory and is always treated as a PINFL; <code>Identifier.system</code> is ignored. The value is checked for correctness: 14 digits, a gender digit of 1-6, a valid encoded date of birth and the 7-3-1 checksum. Passed as valueIdentifier.</p>\n</div></td></tr><tr><td>IN</td><td>relationship</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R5/datatypes.html#code\">code</a> | <a href=\"http://hl7.org/fhir/R5/datatypes.html#Coding\">Coding</a> | <a href=\"http://hl7.org/fhir/R5/datatypes.html#CodeableConcept\">CodeableConcept</a></td><td><a href=\"ValueSet-relationship-type-vs.html\">Relationship type</a> (Example)</td><td><div><p>Relationship of the parent to the child, written to RelatedPerson.relationship of a new relation. When the parameter is absent, <code>http://terminology.hl7.org/CodeSystem/v3-RoleCode#GUARD</code> (guardian) is used. When supplied, the value is written as sent: valueCode gets the system <code>http://terminology.hl7.org/CodeSystem/v3-RoleCode</code>, valueCoding is written as a whole including a foreign system and display, valueCodeableConcept is written as a whole, including one carrying <code>text</code> only. An empty code is rejected with code <code>value</code>, and the default is not substituted for it.</p>\n</div></td></tr><tr><td>IN</td><td>link</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R5/datatypes.html#boolean\">boolean</a></td><td/><td><div><p>When <code>true</code>, the parent Patient additionally gets a Patient.link entry with <code>type</code> <code>seealso</code> whose <code>other</code> points to the RelatedPerson. When <code>false</code> or absent, the parent Patient is not changed. If writing the parent Patient fails, the relation is still created and returned, and the closing OperationOutcome carries a <code>warning</code> with code <code>forbidden</code>. Passed as valueBoolean.</p>\n</div></td></tr><tr><td>OUT</td><td>return</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R5/bundle.html\">Bundle</a></td><td/><td><div><p>A <code>collection</code> Bundle with a fixed order of entries: (1) the created or reused RelatedPerson, (2) the child Patient, (3) the parent Patient, only when <code>link</code> is <code>true</code> and the write succeeded, (4) an OperationOutcome, always last. Resource entries carry <code>fullUrl</code> when the server's gateway URL is configured. On failure the Bundle contains only the OperationOutcome with severity <code>error</code>.</p>\n</div></td></tr></table><div><p>The operation always answers HTTP 200: success and failure are distinguished by the severity of the OperationOutcome that closes the returned Bundle, not by the HTTP status. On failure the Bundle contains that OperationOutcome only, with severity <code>error</code> and one of the codes <code>not-found</code>, <code>deleted</code>, <code>structure</code>, <code>required</code>, <code>value</code>, <code>business-rule</code> (the parent has no PINFL, kinship is not confirmed, or the child identifier resolved to the parent itself), <code>invalid</code>, <code>transient</code> or <code>exception</code>. The steps are ordered so that a refusal leaves no trace: kinship is checked before the child is resolved, so a request with unconfirmed kinship creates no Patient. The parent must carry an identifier in the PINFL system <code>https://dhp.uz/fhir/core/sid/pid/uz/ni</code>. The operation is idempotent per pair of parent PINFL and child Patient among RelatedPerson resources whose <code>active</code> is not <code>false</code>: an existing relation is returned as is and is never rewritten; if the requested <code>relationship</code> differs from the stored one, an informational issue reports both values. Kinship is re-checked on every call, including when an existing relation is reused. A new RelatedPerson is written with <code>active: true</code>. The relation by itself grants no access to the child's data.</p>\n</div></div>"
  },
  "url" : "https://dhp.uz/fhir/core/OperationDefinition/patient-relate",
  "version" : "0.12.0",
  "name" : "PatientRelate",
  "title" : "Relate a parent patient to a child confirmed by the civil registry",
  "status" : "draft",
  "kind" : "operation",
  "experimental" : false,
  "date" : "2026-10-19",
  "publisher" : "Ministry of Health of the Republic of Uzbekistan",
  "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" : "Relates a parent to a child. The parent is the Patient named in the URL; the child is named by PINFL. The kinship is confirmed against the child registry of the Ministry of Justice: the parent's PINFL must match the father or the mother of the child. The child Patient is then resolved by PINFL in the same way as Patient/$populate (and created if it does not exist yet), and a RelatedPerson is created on behalf of the parent, pointing to the child via RelatedPerson.patient and carrying the parent's identifier, name, gender, birthDate and address. The operation is invoked at instance level only (Patient/[id]/$relate) with POST and a Parameters body. The response is a Bundle, not Parameters.",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "urn:iso:std:iso:3166",
          "code" : "UZ",
          "display" : "Uzbekistan"
        }
      ]
    }
  ],
  "purpose" : "Records a confirmed parent-child relationship between two patients. A RelatedPerson could be created with a plain create, but nothing would then guarantee that the person is actually the child's parent. This operation creates the relation only after the kinship is confirmed against the Ministry of Justice child registry, finds or creates the child Patient by PINFL, and does not duplicate a relation that already exists, so the client gets the relation, the child and the outcome in one call. The relation is a record of kinship only and by itself grants no access to the child's data.",
  "affectsState" : true,
  "code" : "relate",
  "comment" : "The operation always answers HTTP 200: success and failure are distinguished by the severity of the OperationOutcome that closes the returned Bundle, not by the HTTP status. On failure the Bundle contains that OperationOutcome only, with severity `error` and one of the codes `not-found`, `deleted`, `structure`, `required`, `value`, `business-rule` (the parent has no PINFL, kinship is not confirmed, or the child identifier resolved to the parent itself), `invalid`, `transient` or `exception`. The steps are ordered so that a refusal leaves no trace: kinship is checked before the child is resolved, so a request with unconfirmed kinship creates no Patient. The parent must carry an identifier in the PINFL system `https://dhp.uz/fhir/core/sid/pid/uz/ni`. The operation is idempotent per pair of parent PINFL and child Patient among RelatedPerson resources whose `active` is not `false`: an existing relation is returned as is and is never rewritten; if the requested `relationship` differs from the stored one, an informational issue reports both values. Kinship is re-checked on every call, including when an existing relation is reused. A new RelatedPerson is written with `active: true`. The relation by itself grants no access to the child's data.",
  "resource" : [
    "Patient"
  ],
  "system" : false,
  "type" : false,
  "instance" : true,
  "parameter" : [
    {
      "name" : "childIdentifier",
      "use" : "in",
      "min" : 1,
      "max" : "1",
      "documentation" : "PINFL (NI) of the child. `Identifier.value` is mandatory and is always treated as a PINFL; `Identifier.system` is ignored. The value is checked for correctness: 14 digits, a gender digit of 1-6, a valid encoded date of birth and the 7-3-1 checksum. Passed as valueIdentifier.",
      "type" : "Identifier"
    },
    {
      "name" : "relationship",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "Relationship of the parent to the child, written to RelatedPerson.relationship of a new relation. When the parameter is absent, `http://terminology.hl7.org/CodeSystem/v3-RoleCode#GUARD` (guardian) is used. When supplied, the value is written as sent: valueCode gets the system `http://terminology.hl7.org/CodeSystem/v3-RoleCode`, valueCoding is written as a whole including a foreign system and display, valueCodeableConcept is written as a whole, including one carrying `text` only. An empty code is rejected with code `value`, and the default is not substituted for it.",
      "type" : "DataType",
      "allowedType" : [
        "code",
        "Coding",
        "CodeableConcept"
      ],
      "binding" : {
        "strength" : "example",
        "valueSet" : "https://terminology.dhp.uz/fhir/core/ValueSet/relationship-type-vs|0.12.0"
      }
    },
    {
      "name" : "link",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "When `true`, the parent Patient additionally gets a Patient.link entry with `type` `seealso` whose `other` points to the RelatedPerson. When `false` or absent, the parent Patient is not changed. If writing the parent Patient fails, the relation is still created and returned, and the closing OperationOutcome carries a `warning` with code `forbidden`. Passed as valueBoolean.",
      "type" : "boolean"
    },
    {
      "name" : "return",
      "use" : "out",
      "min" : 1,
      "max" : "1",
      "documentation" : "A `collection` Bundle with a fixed order of entries: (1) the created or reused RelatedPerson, (2) the child Patient, (3) the parent Patient, only when `link` is `true` and the write succeeded, (4) an OperationOutcome, always last. Resource entries carry `fullUrl` when the server's gateway URL is configured. On failure the Bundle contains only the OperationOutcome with severity `error`.",
      "type" : "Bundle"
    }
  ]
}