Руководство к использованию стандарта FHIR в ЦИСЗ
0.1.1660 - ci-build

Руководство к использованию стандарта FHIR в ЦИСЗ - Local Development build (v0.1.1660) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Импорт пакета медицинской информации о пациенте

Метод предназначен для добавления медицинской информации о пациенте в ЦИСЗ.

Этот метод нужно использовать для отправки пакета медицинских данных в ЦИСЗ.

Метод возвращает код 202, если валидация пакета по профилю прошла успешно. Код 202 (Accepted) говорит о том, что запрос был принят в обработку, но обработка еще не завершена.

Возможно, что определенные ошибки в контенте (например, неверный JSON, набор символов и т.д.) могут привести к сбою всей операции импорта с ответом серии 4XX.

Метод осуществляет проверку:

• входящего пакета медицинских данных на соответствие профилю пакета медицинских данных;

• ресурсов пакета медицинских данных на соответствие профилям ЦИСЗ;

• справочных данных пакета медицинских данных на соответствие значений справочников ЦИСЗ.

В случае успешного выполнения проверки метод возвращает статус операции импорта и набор параметров, по которых в последующем можно запросить у ЦИСЗ добавленный пакет медицинских данных. Вызов метода осуществляется с помощью HTTP POST команды:

POST [base]/fhir/Bundle/$import

Входящие параметры метода:

Название Профиль Описание
bundle пакета медицинских данных Пакет медицинских данных, сформированный локальной или облачной медицинской информационной системой

Исходящие параметры метода:

Название Профиль Описание
result parameters В случае, если входящий пакет медицинских данных является валидным, то возвращается тип операции Parameters. В обратном случае возвращается тип операции OperationOutcome с кодом ошибки 400 (BadRequest)

Тип операции Parameters состоит из следующих составляющих:

Название Описание
ProcessingStatus Статус обработки добавления пакета медицинских данных, при успешном выполнении операции будет иметь значяение «Pending»
OperationStatusReference Ссылка на статус операции, по которой можно получить статус обработки пакета медицинских данных
ResourceId Идентификатор ресурса, по которому можно получить статус операции, проводящейся с данными ресурсом
ResourceType Тип ресурса

ЦИСЗ может принимать только ресурс Bundle, соответствующий профилю MedicationDocument и никакой другой.

ЦИСЗ может принимать только вышеуказанный тип ресурса Bundle, в котором:

• входящие FHIR-профили соответствуют профилям ЦИСЗ;

• используемые справочные данные соответствуют значениям справочников ЦИСЗ.

Пример запроса на добавление медицинских данных.

{
  "resourceType": "Bundle",
  "meta": {
    "profile": [
      "https://fhir.by/AbstractArea/StructureDefenition/Bundle/MedicationDocument"
    ]
  },
  "identifier": {
    "system": "urn:ietf:rfc:3986",
    "value": "urn:uuid:0c3151bd-1cbf-4d64-b04d-cd9187a4c6e0"
  },
  "timestamp": "2013-05-28T22:12:21Z",
  "type": "document",
  "entry": [
    {
      "fullUrl": "Composition/1",
      "resource": {
        "resourceType": "Composition",
        "meta": {
          "profile": [
            "http://hl7.org/fhir/StructureDefinition/clinicaldocument"
          ]
        },

        "status": "final",
        "type": {
          "coding": [
            {
              "system": "http://loinc.org",
              "code": "28655-9"
            }
          ],
          "text": "Discharge Summary from Responsible Clinician"
        },
        "subject": [
          {
            "reference": "Patient/b218cee9-019d-47a4-b161-e97c0fd6f736",
            "display": "Eve Everywoman"
          }
        ],
        "author": [
          {
            "reference": "Practitioner/36a6e15b-7345-42ae-8a59-7a35059ebb47",
            "display": "Doctor Dave"
          }
        ],
        "date": "2013-02-01T12:30:02Z",

        "title": "Discharge Summary"
      }
    },
    {
      "fullUrl": "Patient/b218cee9-019d-47a4-b161-e97c0fd6f736",
      "resource": {
        "resourceType": "Patient",
        "id": "AnonymousPatient01",
        "meta": {
          "profile": [
            "https://fhir.by/StructureDefinition/AnonymousPatientBy"
          ]
        },
        "identifier": [
          {
            "type": {
              "coding": [
                {
                  "system": "https://fhir.by/CodeSystem/DocNumbersBySystem",
                  "code": "ANO"
                }
              ]
            },
            "value": "331121990999000",
            "period": {
              "start": "2024-12-31"
            },
            "assigner": {
              "reference": "Organization/ecc51621-0af3-3b35-ac3e-8b1e34022e92"
            }
          }
        ],
        "active": true,
        "name": [
          {
            "use": "anonymous",
            "family": "Иванов",
            "given": [
              "Петр",
              "Сидорович"
            ]
          }
        ],
        "telecom": [
          {
            "system": "phone",
            "value": "89001234567"
          }
        ],
        "birthDate": "1990-12-31",
        "deceasedBoolean": false
      }
    },
    {
      "fullUrl": "Practitioner/36a6e15b-7345-42ae-8a59-7a35059ebb47",
      "resource": {
        "resourceType": "Practitioner",
        "meta": {
          "profile": [
            "http://hl7.org/fhir/StructureDefinition/Practitioner"
          ]
        },
        "name": [
          {
            "family": "Иванов",
            "given": [ "Иван" ]
          }
        ]
      }
    },
    {
            "fullUrl": "Organization/ecc51621-0af3-3b35-ac3e-8b1e34022e92",
            "resource": {
                "resourceType": "Organization",
                "active": true,
                "name": "SAINT ANNE'S HOSPITAL"
            }
        }
  ]
}

Пример ответа в случае успешного добавления медицинских данных.

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "ProcessingStatus",
      "valueString": "Pending"
    },
    {
      "name": "OperationStatusReference",
      "valueReference": {
        "reference": "http://staging.cisz.by/fhir/Patient/$everything/5d884255-1cf8-11ef-8fe6-232a0e90dedd/status"
      }
    },
    {
      "name": "ResourceId",
      "valueString": "5d884255-1cf8-11ef-8fe6-232a0e90dedd"
    },
    {
      "name": "ResourceType",
      "valueString": "Bundle"
    }
  ]
}

Пример ответа в случае неуспешного добавления медицинских данных.

{
  "resourceType": "OperationOutcome",
  "id": "8bc2465e-560f-4069-a51e-e76a32a21d3c",
  "meta": {
    "lastUpdated": "2024-05-29T09:17:36.9823861+00:00"
  },
  "issue": [
    {
      "severity": "error",
      "code": "invariant",
      "details": {
        "coding": [
          {
            "system": "http://hl7.org/fhir/dotnet-api-operation-outcome",
            "code": "1012"
          },
          {
            "system": "http://fire.ly/dotnet-sdk-operation-outcome-structdef-reference",
            "code": "Bundle(https://fhir.by/AbstractArea/StructureDefenition/Bundle/MedicationDocument)"
          }
        ],
        "text": "Instance failed constraint bdl-11 \"A document must have a Composition as the first resource\""
      },
      "expression": [
        "Bundle, element Bundle(https://fhir.by/AbstractArea/StructureDefenition/Bundle/MedicationDocument)"
      ]
    },
    {
      "severity": "error",
      "code": "invariant",
      "details": {
        "coding": [
          {
            "system": "http://hl7.org/fhir/dotnet-api-operation-outcome",
            "code": "1012"
          },
          {
            "system": "http://fire.ly/dotnet-sdk-operation-outcome-structdef-reference",
            "code": "Bundle(https://fhir.by/AbstractArea/StructureDefenition/Bundle/MedicationDocument)"
          }
        ],
        "text": "Instance failed constraint bdl-Composition \"A document must have one Composition resource, and the profile must be 'http://hl7.org/fhir/StructureDefinition/clinicaldocument'\""
      },
      "expression": [
        "Bundle, element Bundle(https://fhir.by/AbstractArea/StructureDefenition/Bundle/MedicationDocument)"
      ]
    }
  ]
}

Пример в виде postman коллекций

Ссылка Описание
Скачать Переменные ЦИСЗ.
Скачать 01. Импорт пакета медицинской информации о пациенте.