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

Методы ЕСЛИ

Кейсы

Интеграционный сценарий: ЛИС ↔ ЦИСЗ

Получение образца материала

Цель: получить образец биоматериала по идентификатору в контекте организации.

FHIR-запрос:

GET [FHIR_BASE]/{compartmentType}/{compartmentResourceId}/Specimen?_profile=https://fhir.by/StructureDefinition/SpecimenLab&identifier={identifier}
Получение информации о направлении

Цель: получить направление в контексте организации.

FHIR-запрос:

GET [FHIR_BASE]/{compartmentType}/{compartmentResourceId}/ServiceRequest/{id}
Обновление статуса направления (принято)

Цель: обновить статус направления на “принято” (draft), что означает, что направление получено лабораторией. Обновление статуса направления доступно в контексте организации.

FHIR-операция:

POST [FHIR_BASE]/{compartmentType}/{compartmentResourceId}/ServiceRequest/{id}/$set-status

Подробнее: Операция изменения статуса ресурса ServiceRequest.

Обновление статуса направления (в работе)

Цель: обновить статус направления на “в работе” (on-hold), что означает, что направление находится в процессе выполнения. Обновление статуса направления доступно в контексте организации.

FHIR-операция:

POST [FHIR_BASE]/{compartmentType}/{compartmentResourceId}/ServiceRequest/{id}/$set-status

Подробнее: Операция изменения статуса ресурса ServiceRequest.

Примечание:

  • compartmentType — тип контекста (Organization);
  • compartmentResourceId — идентификатор контекста;
  • {id} — идентификатор направления.
Отправка результатов исследований

Цель: передать результаты исследований в ЦИСЗ.

FHIR-метод:

POST [FHIR_BASE]/Bundle/$import

Тело запроса: Bundle profile = MedicationDocument с ресурсами ObservationLabTest/ObservationLabMicroorganism, DiagnosticReportLab, DocumentReference


Интеграционный сценарий МИС ↔ ЦИСЗ

Сопоставление полей ServiceRequest

Цель: корректно заполнить направление на лабораторное исследование.

Подробнее: Сопоставление полей направления на лабораторное исследование ServiceRequest.

Сопоставление полей Specimen

Цель: корректно заполнить образец биоматериала для лабораторного исследования.

Подробнее: Сопоставление полей образца биоматериала для лабораторного исследования Specimen.

Получение идентификатора образца материала для лабораторного исследования

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

FHIR-операция:

POST [FHIR_BASE]/$get-specimen-id/[count=n]

Подробнее: Операция получения идентификатора образца материала для лабораторного исследования.

Передача сформированного пакета медицинских данных

Цель: выполнить импорт направления и/или образца на лабораторное исследование.

FHIR-метод:

POST [FHIR_BASE]/Bundle/$import

Тело запроса: Bundle profile = MedicationDocument с ресурсами ServiceRequestLab, SpecimenLab

Получение результатов Observation и DiagnosticReport

Цель: получить результаты исследований, выполненных в лаборатории.

Получение Observation:

GET [FHIR_BASE]/{compartmentType}/{compartmentResourceId}/Observation?_profile=https://fhir.by/StructureDefinition/ObservationLabTest&based-on=ServiceRequest/{id}

Получение DiagnosticReport:

GET [FHIR_BASE]/{compartmentType}/{compartmentResourceId}/DiagnosticReport?_profile=https://fhir.by/StructureDefinition/DiagnosticReportLab&based-on=ServiceRequest/{Id}

Примечание:

  • compartmentType — тип контекста (Patient или Organization);
  • compartmentResourceId — идентификатор контекста;
  • {id} — идентификатор направления.

Диаграмма последовательности

Диаграмма взаимодействия МИС ↔ ЦИСЗ


sequenceDiagram

  autonumber
  actor doc as Лечащий врач
  actor nurse as Процедурная сестра
  participant mis as МИС
  participant fhir as ЦИСЗ
  
  %% doc ->> mis: Дай мне информацию о пациенте
  %% mis ->> fhir: GET [FHIR BASE]/Patient?name=[полное_ФИО]&birthdate=[дата_рождения]
  %% fhir -->> mis: 200 OK/Bundle/[Patient]
  %% mis -->> doc: Представление информации о пациенте
  doc ->> doc: Осмотр пациента
  doc ->> mis: Покажи мне форму направления на лабораторное исследование
  mis ->> mis: Создание формы направления
Note right of mis: identifier
status
intent
subject
encounter
authordeOn
requester mis -->> doc: Представление формы направления на лабораторное исследование alt Забор биоматериала будет выполняться в том же УЗ doc ->> mis: Заполняет форму Note right of doc: priority
code
orderDetail
accurence
reason
note %% nurse ->> mis: Дай мне информацию о пациенте %% mis ->> fhir: GET [FHIR BASE]/Patient?name=[полное_ФИО]&birthdate=[дата_рождения] %% fhir -->> mis: 200 OK/Bundle/[Patient] %% mis -->> nurse: Представление информации о пациенте nurse ->> mis: Покажи мне направление на лабораторное исследование пациента mis -->> nurse: Представляет предзаполненную форму направления, сохраненного в МИС nurse ->> mis: Добавляет информацию о лаборатории, в которую будет направлен материал Note right of nurse: performer
location nurse ->> nurse: Забор биоматериала nurse ->> mis: Покажи мне форму образца метериала для лабораторного исследования mis->>mis: Проверка наличия невыданных идентификаторов в БД alt Идентификаторы отсутствуют mis->>fhir: POST [FHIR BASE]/$get-specimen-id/[count=n] fhir->>fhir: Create identifiers fhir-->>mis: 200 OK/[Parameters] mis->>mis: Сохранение идентификаторов в БД else Идентификаторы найдены Note right of mis: Нет необходимости обращения в ЦИСЗ
за получением новых идентификаторов end mis->>mis: Извлечение невыданного идентификатора из БД mis -->> nurse: Форма образца материала для лабораторного исследования с предзаполненным выданным идентификатором nurse ->> mis: Заполняет форму "Образец метериала для лабораторного исследования" nurse ->> mis: Отправляет сведения в ЦИСЗ и распечатывает штрихкод mis ->> mis: Create ServiceRequestLab mis ->> mis: Create SpecimenLab mis ->> fhir: POST [FHIR_BASE]/Bundle/$import [MedicationDocument + ServiceRequestLab + SpecimenLab] fhir ->> fhir: Проверка контрольной суммы идентификатора fhir ->> fhir: Проверка уникальности идентификатора fhir -->> mis: 200 OK/Bundle status 'Successed' mis -->> nurse: Печать штрихкода nurse ->> nurse: Наклеивает штрихкод на пробирку else Забор биоматериала и исследование будут выполняться в другом УЗ doc ->> mis: Заполняет форму Note right of doc: performer
location
priority
code
orderDetail
accurence
reason
note doc ->> mis: Отправляет в ЦИСЗ mis ->> mis: Create ServiceRequestLab mis ->> fhir: POST [FHIR_BASE]/Bundle/$import [MedicationDocument + ServiceRequestLab] fhir -->> mis: 200 OK/Bundle status 'Successed' nurse ->> mis: Покажи мне направление на лабораторное исследование пациента mis ->> fhir: GET [FHIR BASE]/Patient/[patietnId]/ServiceRequest?{search-params} fhir -->> mis: 200 OK/Bundle/[ServiceRequestLab] mis -->> nurse: Представляет направление на исследование пациента nurse ->> nurse: Забор биоматериала nurse ->> mis: Покажи мне форму образца материала для лабораторного исследования mis->>mis: Проверка наличия невыданных идентификаторов в БД alt Идентификаторы отсутствуют mis->>fhir: POST [FHIR BASE]/$get-specimen-id/[count=n] fhir->>fhir: Create identifiers fhir-->>mis: 200 OK/[Parameters] mis->>mis: Сохранение идентификаторов в БД else Идентификаторы найдены Note right of mis: Нет необходимости обращения в ЦИСЗ
за получением новых идентификаторов end mis->>mis: Извлечение невыданного идентификатора из БД mis -->> nurse: Форма образца материала для лабораторного исследования с предзаполненным выданным идентификатором nurse ->> mis: Заполняет форму "Образец метериала для лабораторного исследования" nurse ->> mis: Отправляет сведения в ЦИСЗ и распечатывает штрихкод mis ->> mis: Create SpecimenLab mis ->> fhir: POST [FHIR_BASE]/Bundle/$import [MedicationDocument + SpecimenLab] fhir ->> fhir: Проверка контрольной суммы идентификатора fhir ->> fhir: Проверка уникальности идентификатора fhir -->> mis: 200 OK/Bundle status 'Successed' mis -->> nurse: Печать штрихкода nurse ->> nurse: Наклеивает штрихкод на пробирку end

Описание процесса создания направления и образца для лабораторного исследования.

  1. Медицинский работник осматривает пациента и принимает решение о назначении лабораторных исследований.
  2. Медицинский работник запрашивает в МИС форму для формирования направления на лабораторное исследование.
  3. МИС формирует форму направления, при этом автоматически заполняются следующие элементы:
    • identifier;
    • status;
    • intent;
    • subject;
    • encounter;
    • authoredOn;
    • requester.
  4. МИС представляет форму направления медицинскому работнику.
  5. Если забор биологического материала будет проводиться в том же УЗ, медицинский работник вносит в форму направления значения следующих элементов:
    • priority;
    • code;
    • orderDetail;
    • occurrence;
    • reason;
    • note.
  6. В процедурном кабинете медицинская сестра запрашивает в МИС направление на лабораторное исследование пациента.
  7. МИС представляет предзаполненную и сохраненную форму направления.
  8. Процедурная медицинская сестра добавляет в форму направления сведения о лаборатории, в которую будет направлен материал.
  9. Процедурная медицинская сестра выполняет забор биологического материала.
  10. Процедурная медицинская сестра запрашивает в МИС форму образца материала для лабораторного исследования.
  11. МИС выполняет проверку в своей  БД: существуют ли невыданные идентификаторы для образцов лабораторных исследований.
  12. В случае, если идентификаторы отсутствуют - МИС отправляет запрос в ЦИСЗ на получение идентификаторов для образцов биологического материала.
  13. ЦИСЗ генерирует новые уникальные идентификаторы для образцов биологического материала.
  14. МИС получает массив идентификаторов.
  15. МИС сохраняет полученный массив идентификаторов в своей БД.
  16. В случае, если идентификаторы найдены - МИС извлекает невыданный идентификатор из БД.
  17. МИС представляет форму образца материала с уже предзаполненным значением идентификатора.
  18. Процедурная медицинская сестра заполняет форму.
  19. Процедурная медицинская сестра проверяет внесенные данные и оправляет сведения в ЦИСЗ.
  20. МИС формирует ресурс ServiceRequestLab.
  21. МИС формирует ресурс SpecimenLab.
  22. Импорт пакета медицинских данных в ЦИСЗ.
  23. Проверка контрольной суммы идентификатора.
  24. Проверка уникальности идентификатора.
  25. Получение статуса успешного импорта.
  26. Печать штрихкода.
  27. Процедурная медицинская сестра наклеивает штрихкод на пробирку с биологическим материалом.
  28. Если забор биологического материала и исследование будут проводиться в другом УЗ, медицинский работник вносит значения следующих элементов:
    • performer;
    • location;
    • priority;
    • code;
    • orderDetail;
    • accurence;
    • reason;
    • note.
  29. Медицинский работник проверяет внесенные данные и отправляет сведения в ЦИСЗ.
  30. МИС формирует ресурс ServiceRequestLab.
  31. Импорт пакета медицинских данных в ЦИСЗ.
  32. Получение статуса успешного импорта.
  33. Процедурная медицинская сестра запрашивает в МИС направление на лабораторное исследование пациента.
  34. МИС отправляет запрос в ЦИСЗ на получение направления.
  35. Получение направления.
  36. МИС представляет направление процедурной сестре.
  37. Процедурная медицинская сестра выполняет забор биологического материала.
  38. Процедурная медицинская сестра запрашивает в МИС форму образца материала для лабораторного исследования.
  39. МИС выполняет проверку в своей  БД: существуют ли невыданные идентификаторы для образцов лабораторных исследований.
  40. В случае, если идентификаторы отсутствуют - МИС отправляет запрос в ЦИСЗ на получение идентификаторов для образцов биологического материала.
  41. ЦИСЗ генерирует новые уникальные идентификаторы для образцов биологического материала.
  42. МИС получает массив идентификаторов.
  43. МИС сохраняет полученный массив идентификаторов в своей БД.
  44. В случае, если идентификаторы найдены - МИС извлекает невыданный идентификатор из БД.
  45. МИС представляет форму образца материала с уже предзаполненным значением идентификатора.
  46. Процедурная медицинская сестра заполняет форму.
  47. Процедурная медицинская сестра проверяет внесенные данные и оправляет сведения в ЦИСЗ.
  48. МИС формирует ресурс SpecimenLab.
  49. Импорт пакета медицинских данных в ЦИСЗ.
  50. Проверка контрольной суммы идентификатора.
  51. Проверка уникальности идентификатора.
  52. Получение статуса успешного импорта.
  53. Печать штрихкода.
  54. Процедурная медицинская сестра наклеивает шрихкод на пробирку с биологическим материалом.

Диаграмма взаимодействия ЛИС ↔ ЦИСЗ


sequenceDiagram
  autonumber
  participant lis as ЛИС
  participant fhir as ЦИСЗ
  Note over lis,fhir: Приём, сортировка, регистрация образцов
  lis ->> lis: Сканирует штрихкод на пробирке
  lis ->> fhir: GET [FHIR_BASE]/Organization/[organization-id]/Specimen?_profile=https://fhir.by/StructureDefinition/SpecimenLab&identifier={identifier}
  fhir -->> lis: 200 OK/total=n/[SpecimenLab]
  lis ->> fhir: GET [FHIR_BASE]/Organization/[organization-id]/ServiceRequest/[serviceRequest-id]
  fhir -->> lis: 200 OK/total=n/[ServiceRequestLab]
Note right of lis: Получено ЛИС  
  lis ->> lis: ServiceRequestLab.status -> 'draft'
  Note over lis,fhir:  Выполнение исследования, валидация результатов 
  lis ->> lis: Сканирует штрихкод на пробирке
  lis ->> fhir: GET [FHIR_BASE]/Organization/[organization-id]/Specimen?_profile=https://fhir.by/StructureDefinition/SpecimenLab&identifier={identifier}
  fhir -->> lis: 200 OK/total=n/[SpecimenLab]
  lis ->> fhir: GET [FHIR_BASE]/Organization/[organization-id]/ServiceRequest/[serviceRequest-id]
  fhir -->> lis: 200 OK/total=n/[ServiceRequestLab]
Note right of lis: В работе
  lis ->> lis: ServiceRequestLab.status -> 'on-hold'
  lis ->> lis: Create ObservationLabTest, ObservationLabMicroorganism
  lis ->> lis: Create DiagnosticReportLab
  lis ->> fhir: POST [FHIR_BASE]/Bundle/$import [MedicationDocument + ObservationLabTest/ObservationLabMicroorganism + DiagnosticReportLab]
  fhir ->> fhir: ServiveRequestLab.status -> 'completed'
  fhir ->> fhir: SpecimenLab.status -> 'unavailable'
  fhir -->> lis: 200 OK/Bundle status -> 'Successed'

Описание процесса получения ЛИС сведений о биологическом материале и формировании сведений о результатах лабораторных исследований.

  1. Сотрудник лаборатории в сортировочном отделе сканирует штрихкод, размещенный на пробирке с биологическим материалом.
  2. Запрос на получение в контексте организации ресурса SpecimenLab по уникальному идентификатору биологического материала.
  3. Получение ресурса SpecimenLab.
  4. Запрос на получение ресурса ServiceRequestLab по id.
  5. Получение ресурса ServiceRequestLab.
  6. Материал получен, статус ресурса ServiceRequestLab изменен на ‘draft’.
  7. Сотрудник лаборатории в отделе проведения исследований  сканирует штрихкод, размещенный на пробирке с биологическим материалом.
  8. Запрос на получение в контексте организации ресурса SpecimenLab по уникальному идентификатору биологического материала.
  9. Получение ресурса SpecimenLab.
  10. Запрос на получение ресурса ServiceRequestLab по id.
  11. Получение ресурса ServiceRequestLab.
  12. Материал взят в работу, статус ресурса ServiceRequestLab изменен на ‘on-hold’.
  13. После проведения исследования формируются ресурсы ObservationLabTest, ObservationLabMicroorganism.
  14. И DiagnosticReportLab.
  15. Импорт пакета медицинских данных в ЦИСЗ.
  16. Изменение статусов ресурсов ServiceRequestLab.
  17. Изменение статусов ресурсов SpesimenLab.
  18. Получение статуса успешного импорта медицинской информации.

Примеры в формате JSON

Операция получения идентификатора образца материала для лабораторного исследования

Метод: POST 
URL: [FHIR_BASE]/$get-specimen-id/[count=n]  
Авторизация: Bearer <access_token>

Описание: Операция предназначена для получения идентификатора образца материала для лабораторного исследования, который должен быть передан в ЦИСЗ.

Тело запроса передаётся в виде ресурса Parameters. Входные данные:

Обозначение Тип данных Обязательность Наименование Пример
1 name string 1..1 Значение по умолчанию “count”
2 valuePositiveInt integer 1..1 Количество идентификаторов, которое необходимо получить, максимально возможное значение – 10 10

Пример запроса:

{
"resourceType": "Parameters",
    "parameter": [
        {
            "name": "count",
            "valuePositiveInt": 10
        }
    ]
    }

Тело ответа передаётся в виде ресурса Parameters. Выходные данные:

Обозначение Тип данных Обязательность Наименование Пример
1 name string 1..1 Значение по умолчанию “identifier”
2 valueString string 1..1 Значение идентификатора образца материала для лабораторного исследования. “000000000001219”

Пример ответа:

{
    "resourceType": "Parameters",
    "parameter": [
        {
            "name": "identifier",
            "valueString": "000000000001219"
        },
        {
            "name": "identifier",
            "valueString": "000000000002322"
        },
        {
            "name": "identifier",
            "valueString": "000000000003157"
        },
        {
            "name": "identifier",
            "valueString": "000000000004931"
        },
        {
            "name": "identifier",
            "valueString": "000000000005172"
        },
        {
            "name": "identifier",
            "valueString": "000000000006909"
        },
        {
            "name": "identifier",
            "valueString": "000000000007090"
        },
        {
            "name": "identifier",
            "valueString": "000000000008722"
        },
        {
            "name": "identifier",
            "valueString": "000000000009805"
        },
        {
            "name": "identifier",
            "valueString": "000000000010901"
        }
    ]
    }


Операция изменения статуса ресурса ServiceRequest

Метод: POST  
URL: [FHIR_BASE]/{compartmentType}/{compartmentResourceId}/ServiceRequest/{id}/$set-status  
Авторизация: Bearer <access_token>  

Описание: Операция позволяет изменить статус ресурса ServiceRequestLab. Может выполняться в контексте организации. Только организация в которой создали направление или организация назначенная исполнителем в направлении имеет право изменять статус ресурса.

Допустимые переходы статусов

Для направляющей организации:

Из статуса В статус
1 active revoked
2 draft revoked

Для организации-лаборатории:

Из статуса В статус
1 active draft
2 draft on-hold
3 draft entered-in-error
4 on-hold draft
5 on-hold entered-in-error
6 on-hold complete

Входные параметры:

Обозначение Тип данных Обязательность Наименование Пример
1 compartmentType string 1..1 Тип контекста (Organization) “Organization”
2 compartmentResourceId string 1..1 Идентификатор контекста “a1a103d1-bf02-4c95-818a-3e3bc32cabe0”
3 id string 1..1 Идентификатор ресурса ServiceRequestLab “lt-6f7e619e-b4a6-11f0-9a35-6655202d800b”

Body:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "status",
      "valueCode": "[status_code]"
    }
  ]
}

Выходные данные:

Обозначение Тип данных Наименование
1 return OperationOutcome Операция возвращает ресурс OperationOutcome, который может содержать информацию об успешном выполнении операции или перечень ошибок, которые возникли при получении запроса на выполнение операции или в результате ее выполнения

Результат выполнения:

  • В случае успешного выполнения операции система возвращает ресурс ServiceRequestLab с информацией об успешном выполнении изменения статуса направления HTTP-code 200 OK.
  • В случае ошибки возвращается ресурс OperationOutcome с информацией об ошибке.

Пример успешного выполнения изменения статуса:

{
"resourceType": "OperationOutcome",
"issue": [
  {
    "severity": "success",
    "code": "success",
    "details": {
      "text": "Статус ресурса {ServiceRequset_Id} успешно изменен на {status_code}" 
      }
    }
  ]
}

Пример изменения статуса с информацией об ошибке:

{
"resourceType": "OperationOutcome", 
"issue": [
  {
    "severity": "error",
    "code": "not-found", 
    "details": {
      "text": "Ресурс {ServiceRequset_Id} не найден." 
        },
        "diagnostics": "Ресурс {ServiceRequset_Id} не найден."
        }
    ]
}

Операция отмены ресурса ServiceRequest

Метод: POST  
URL: [FHIR_BASE]/{compartmentType}/{compartmentResourceId}/ServiceRequest/{id}/$set-status  
Авторизация: Bearer <access_token>  

Описание: Операция предназначена для отмены ресурса ServiceRequestLab путём перевода его в статус entered-in-error. Схема выполнения операции аналогична Операции изменения статуса ресурса ServiceRequest, описанной выше. Отличие состоит в том, что при переводе ресурса в статус entered-in-error в тело запроса обязательно передаётся дополнительный параметр declineReason, указывающий причину отмены.

Body:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "status",
      "valueCode": "entered-in-error"
    },
    {  
      "name": "declineReason",  
      "valueCode": "3"  
    }  
  ]
}

Пример изменения статуса с информацией об ошибке:

{
"resourceType": "OperationOutcome", 
"issue": [
  {
    "severity": "error",
    "code": "invalid", 
    "details": {
      "text": "При установки статуса 'entered-in-error', должен быть указан единственный name = 'declineReason'."
            },
            "diagnostics": "При обработке запроса произошла ошибка на стороне МИС."
        }
    ]
}

Операция изменения статуса ресурса Specimen

Метод: POST 
URL: [FHIR_BASE]/{compartmentType}/{compartmentResourceId}/Specimen/{id}/$set-status  
Авторизация: Bearer <access_token>  

Описание: Операция позволяет изменить статус ресурса Specimen. Операция может выполняться в контектсе организации или пациента. Только организация, в которой создали направление или организация, назначенная исполнителем в направлении, имеет право изменять статус ресурса.

Входные параметры:

Обозначение Тип данных Обязательность Наименование Пример
1 compartmentType string 1..1 Тип контекста “Organization”
2 compartmentResourceId string 1..1 Идентификатор контекста “a1a103d1-bf02-4c95-818a-3e3bc32cabe0”
3 id string 1..1 Идентификатор ресурса SpecimenLab “lt-3e0a7129-b4ac-11f0-9a35-6655202d800b”

Body:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "status",
      "valueCode": "unsatisfactory"
    }
  ]
}

Результат выполнения:

  • В случае успешного выполнения операции система возвращает ресурс SpecimenLab с информацией об успешном выполнении изменения статуса образца биоматериала HTTP code 200 OK.
  • В случае ошибки возвращается ресурс OperationOutcome с информацией об ошибке.

Пример изменения статуса с информацией об ошибке:

{
"resourceType": "OperationOutcome", 
"issue": [
  {
    "severity": "error",
    "code": "invalid", 
    "details": {
      "text": "Неизвестное значение valueCode = 'satisfactory'."
            },
            "diagnostics": "При обработке запроса произошла ошибка на стороне МИС."
        }
    ]
}

Сопоставление полей направления на лабораторное исследование ServiceRequest

Поле ServiceRequest Что вставлять Обязательность Комментарий
1 meta.profile https://fhir.by/StructureDefinition/ServiceRequestLab 1..1  
2 extension:specialty https://fhir.by/StructureDefinition/ServiceRequestLab 1..1 Код специализации направления. По умолчанию #C018.
3 extension:pregnancyWeek   0..1 Неделя беременности пациента, если применимо.
4 extension:fromOrganization   1..1 Из какой организации может быть принят пациент по направлению/Для Servicerequest указывается организация, в которой создается направление.
5 identifier.value   1..1 Идентификатор направления в рамках направляющей организации.
6 identifier.assigner.extension:locationReference   1..1 Идентификатор подразделения направляющей организации.
7 identifier.assigner.reference   1..1 Идентификатор направляющей организации.
8 basedOn.reference   0..* Заполняется в случае перенаправления. Ссылка на первоначальное направление.
9 status active 1..1 Всегда active при создании.
10 intent order 1..1 По умолчанию order.
11 priority routine / urgent 1..1 routine (обычное) urgent (срочное cito).
12 code.concept:coding.system https://fhir.by/ValueSet/TypesOfLabTests 1..1  
13 code.concept:coding.code   1..1 Код исследования из ValueSet.
14 orderDetail.parameter.code.coding.system https://fhir.by/ValueSet/ParamLabServiceRequest 1..1  
15 orderDetail.parameter.code.coding.code #test 1..1 По умолчанию #test.
16 orderDetail.parameter.valueCodeableConcept.coding.system http://fhir.by/ValueSet/TypesOfLabTests 1..1  
17 orderDetail.parameter.valueCodeableConcept.coding.code   1..1 Код показателя из ValueSet.
18 subject.reference   1..1 Ссылка на пациента.
19 encounter.reference   0..1 Ссылка на визит/прием врача, при котором создано направление.
20 occurrenceDateTime   0..1 Когда должно быть оказано запрошенное исследование.
21 authoredOn   1..1 Дата и время создания направления.
22 requester.reference   1..1 Ссылка на медицинского работника, создавшего направление.
23 performer.reference   1..1 Ссылка на исполняющую лабораторию.
24 location.reference.reference   1..1 Ссылка на структурное подразделение лаборатории.
25 reason.reference   0..1 Основание для создания направления.
26 note   0..1 Комментарий к направлению.

Сопоставление полей образца биоматериала для лабораторного исследования Specimen

Поле Specimen Что вставлять Обязательность Комментарий
1 meta.profile https://fhir.by/StructureDefinition/SpecimenLab 1..1  
2 identifier.extension:intendedReceiver   1..2 Организация здравохранения, в которое направлен биологический материал для поведения лабораторного исследования.
3 identifier.value   1..1 Идентификатор образца биоматериала, в рамках создавшей биоматериал организации.
4 identifier.assigner.reference   1..1 Идентификатор создавшей организации.
5 status available 1..1 Всегда available при создании.
6 type.coding.system https://fhir.by/ValueSet/VSBiologicalMaterial 1..1  
7 type.coding.code   1..1 Код вида биологического материала из ValueSet.
8 subject.reference   1..1 Ссылка на пациента, у которого был проведен забор биологического материала.
9 parent.reference   0..* Заполняется в случае разделения пробирки. Идентификатор первоначального образца.
10 request:primaryRequest   1..1 Сcылка на направление на исследования, выполняемые в лаборатории, на основении которого был проведен забор биологического материала.
11 request:primaryRequest.extension:typeRequest   1..1 Тип направления на исследование для Specimen.
12 request:primaryRequest.extension:typeRequest.value[x].coding.system https://fhir.by/ValueSet/TypeRequestSpecimen 1..1  
13 request:primaryRequest.extension:typeRequest.value[x].coding.code   1..1 Тип направления на исследование из ValueSet.
14 request:repeatRequest   0..1 Сылка на направление на исследования, выполняемые в лаборатории, на основении которого биологический материал был перенаправлен для выполнения исследования в другую организацию.
15 request:repeatRequest.extension:typeRequest   1..1 Тип направления на исследование для Specimen.
16 request:repeatRequest.extension:typeRequest.value[x].coding.system https://fhir.by/ValueSet/TypeRequestSpecimen 1..1  
17 request:repeatRequest.extension:typeRequest.value[x].coding.code   1..1 Тип направления на исследование из ValueSet.
18 collection.collector.reference   1..1 Ссылка на медицинского работника, выполнившего забор материала.
19 collection.collectedDateTime   1..1 Время взятия биологического материала.
20 collection.quantity.value   0..1 Количество биоматериала.
21 collection.quantity.system https://fhir.by/ValueSet/OlisUnitsOfMeasurement 0..1  
22 collection.quantity.code   0..1 Код единицы измерения из ValueSet.
23 collection.quantity.unit   0..1 Представление единицы измерения.
24 collection.bodySite.concept:coding.system https://fhir.by/ValueSet/AnatomicalTerminology 0..1  
25 collection.bodySite.concept:coding.code   0..1 Код анатомической области, откуда взят биологический материал из ValueSet.
26 note   0..1 Комментарий к образцу.

Логические проверки

№ п/п Ситуация Текст сообщения об ошибке для технических специалистов Текст сообщения об ошибке в человекочитаемом формате error/warning
1 При попытке отправить ресурс ServiceRequest, в котором значение authoredOn больше текущей даты, будет возвращена ошибка. Значение ServiceRequest.authoredOn не может быть больше текущей даты. Дата создания направления не может быть позднее текущей даты. error
2 При попытке отправить ресурс ServiceRequest, в котором значение occurrenceDateTime меньше значения authoredOn, будет возвращена ошибка. Значение ServiceRequest.occurrenceDateTime не может быть меньше значения ServiceRequest.authoredOn. Дата выполнения услуги не может быть раньше даты создания направления. error
3 При попытке отправить ресурс ServiceRequest, в котором значение location не относится к организации, указанной в performer, будет возвращена ошибка. Значение ServiceRequest.location должно соответствовать организации, указанной в ServiceRequest.performer. Указанное место оказания услуги не принадлежит указанной организации. Указанное подразделение оказания услуги не относится к организации, выбранной в качестве исполнителя. error
4 Проверяют существует ли Location в контексте Organization. Структурное подразделение в ServiceRequest.identifier.assigner.extension(‘https://fhir.by/StructureDefinition/LocationReference’).reference не принадлежит организации ServiceRequest.identifier.assigner.reference. Структурное подразделение оказания услуги не принадлежит организации, присвоившей идентификатор. error
5 Отправлено несколько образцов с одинаковым идентификатором. Specimen.identifier должен быть уникальным. Несколько образцов используют один и тот же идентификатор. error
6 Неверная структура идентификатора. Specimen.identifier не валидный. Идентификатор неверный. error
7 При попытке создать образец с уже используемым идентификатором. Specimen.identifier = ‘{identifier}’ уже существует. Образец с идентификатором ‘{identifier}’ уже существует. error
8 SetStatus Specimen/ServiceRequest не нашлись. Ресурс {resourceId} не найден. Ресурс {resourceId} не найден. error
9 Не проходит по departments (set-status ServiceRequest/Specimen) set-status ServiceRequest/Specimen, обращение на ресурс (из url), который не является не Performer и не Assigner ресурса ServiceRequest/Specimen Изменение статуса ServiceRequest/Specimen разрешено только организации-создателю (Assigner) или организации-исполнителю (Performer) ресурса. При обработке запроса произошла ошибка на стороне МИС. error
10 Невозможность перевода статуса ServiceRequest в соответствии с бизнес-логикой. Нельзя перевести ресурс {resourceId} с статусом “{fromStatus}” в статус “{toStatus}”. Нельзя перевести направление на исследования, выполняемые в лаборатории со статусом “{fromStatus}” в статус “{toStatus}”:
- on-hold - в работе в ЛИС
- revoked - отозвано МИС
- completed - выполнено
- entered-in-error - отменено ЛИС
- unknown - неизвестный
error
11 При вызове неподдерживаемого профиля ServiceRequest/Specimen для set-status. $set-status доступен для ‘{profile}’. При обработке запроса произошла ошибка на стороне МИС. error
12 При установке статуса задано несколько повторяющихся значений name. Parameters.parameter должен содержать единственный parameter.name = ‘{name}’. При обработке запроса произошла ошибка на стороне МИС. error
13 При установке статуса передан не верный ключ для status, ожидается valueCode. Значение в name = ‘{name}’, должно быть указано в valueCode. При обработке запроса произошла ошибка на стороне МИС. error
14 При установке статуса передано не известное значение. Неизвестное значение valueCode = ‘{code}’. При обработке запроса произошла ошибка на стороне МИС. error
15 При установке статуса ‘entered-in-error’ не указан единственный параметр ‘declineReason’. При установки статуса ‘entered-in-error’, должен быть указан единственный name = ‘declineReason’. При обработке запроса произошла ошибка на стороне МИС. error
16 При установке статуса передано не верное количество параметров. Задано неверное количество Parameters.parameter ({parameterCount}), ожидалось {expectedParameters}. При обработке запроса произошла ошибка на стороне МИС. error
17 При установке статуса для образца отличным от unsatisfactory. Перевод статуса в Specimen возможет только в статус ‘unsatisfactory’. Перевод статуса образца возможен только в статус ‘имеются проблемы, требуется повторить забор биоматериала’. error
18 Установка статуса не соответствует типу ресурса ServiceRequest или Specimen. $set-status для ‘{resourceType}’ не поддерживается. При обработке запроса произошла ошибка на стороне МИС. error
▲ Вверх