FHIR Proxy 5.8.6

Программный компонент «FHIR-API и дополнительные компоненты» обеспечивает структурирование, конвертацию и извлечение медицинских записей и документов пациентов, хранимых в ИЭМК.

Сервис предназначен для организации на стороне ИЭМК программного интерфейса (API), реализованного по стандарту FHIR DSTU2. В текущей реализации сервис работает только на извлечение данных из БД ИЭМК.

Основная информация

Список терминов и сокращений

Сокращение (обозначение)

Значение сокращения (обозначения)

ИЭМК

Подсистема «Интегрированная электронная медицинская карта» РС ЕГИСЗ (сервис ИЭМК)

ЛПУ

Лечебно-профилактическое учреждение

МИС

Медицинская информационная система

МКБ-10

Международная классификация болезней 10-го пересмотра

МО

Медицинская организация

ОДИИ

Подсистема «Обмен данными инструментальных исследований» РС ЕГИСЗ (сервис ОДИИ)

ОДЛИ

Подсистема «Обмен данными лабораторных исследований» РС ЕГИСЗ (сервис ОДЛИ)

РС ЕГИСЗ

Региональный сегмент единой государственной информационной системы в сфере здравоохранения региона

СМО

Случай медицинского обслуживания

СЭМД

Структурированный медицинский электронный документ. Формат обмена медицинскими документами на основе стандарта HL7 CDAr2, утвержденного ЕГИСЗ

FHIR

Fast HealthcareInteroperability Resources

HTTP

HyperText Transfer Protocol

SOAP

Simple Object Access Protocol

TCP/IP

Transmission Control Protocol/Internet Protocol

Назначение

Программный компонент «FHIR-API и дополнительные компоненты» обеспечивает структурирование, конвертацию и извлечение медицинских записей и документов пациентов, хранимых в ИЭМК.

Сервис предназначен для организации на стороне ИЭМК программного интерфейса (API), реализованного по стандарту FHIR DSTU2. В текущей реализации сервис работает только на извлечение данных из БД ИЭМК.

Описание протокола информационного взаимодействия (API)

Общая информация

С общей информацией о стандарте FHIR и используемых ресурсах можно ознакомиться по следующим ссылкам:

https://confluence.netrika.ru/pages/viewpage.action?pageId=77877372#:~:text=extention%2C%20%D0%B3%D0%B4%D0%B5%20URL,%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20Extention.AdditionalInforamtion

Легенда по тексту

  • Обычный текст - показан уже реализованный функционал,
  • Зеленый текст или текст на зеленом фоне - новый функционал,
  • Синий текст (кроме ссылок) или текст на синем фоне - функционал, который находится в разработке.

Поддерживаемые Fhir-ресурсы

Текущая реализация сервиса поддерживает работу со следующими Fhir-ресурсами:

  • Encounter - случай медицинского обслуживания;
  • DocumentReference - описание медицинского документа;

  • Procedure - медицинская услуга;
  • Practitioner - медицинский работник;
  • Condition - диагноз;
  • Observation  - параметры наблюдения за пациентом;
  • Immunization - сведения о пробах, прививках и мед.отводах;
  • ImmunizationRecommendation - сведения о запланированных прививках;
  • AllergyIntolerance - сведения об аллергиях пациента.
  • MedicationAdministration - сведения о назначенных пациенту препаратах

  • Medication - наименование назначенного препарата

В качестве протокола  взаимодействия  используется RESTful API (подробнее см.  http://hl7.org/fhir/http.html ).

Далее в качестве обозначения адреса публикации Сервиса будет использована текстовая константа  [base] .

Авторизация в сервисе и формат обмена

Для работы с Сервисом возможно использовать авторизацию двух типов:

  • С помощью статичного ключа
  • С помощью сессионного ключа Сервиса управления доступом

Статичный ключ

В этом случае авторизация в сервисе FhirProxy осуществляется с помощью передачи в заголовке HTTP-сообщения параметра Authorization вида:

N3 {Авторизационный ключ}

Значение ключа должно соответствовать полю System в таблицы dbo.System БД ИЭМК.

Сессионный ключ

В этом случае авторизация в сервисе FhirProxy осуществляется с помощью передачи в заголовке HTTP-сообщения параметра Authorization вида:

Bearer 135c5ee7e5a7ff28c9f83bdf894f3e9332d5850f219b2518b91b8ac945fdcee3

Порядок получения сессионного ключа Сервиса управления доступом описан в соответствующем разделе документации.

Описание поддерживаемых Fhir-ресурсов

Encounter

Fhir-ресурс Encounter (http://hl7.org/fhir/DSTU2/encounter.html) предназначен для передачи данных случая медицинского обслуживания и содержит следующие параметры, отображаемые на комплексный тип Case SOAP-протокола сервиса ИЭМК.

Encounter  Описание Тип

CaseAmb,
Stat, Acps

CaseTmc Disp Мастер-случай
id Идентификатор СМО в РЕГИЗ\ИЭМК. int 1...1 1…1 1...1 1...1
identifier, где http://netrika.ru/iemk-identifier Идентификатор истории болезни в передающей МО Element 1...1 1…1 1...1 1...1
identifier, "http://netrika.ru/iemk-mis-identifier Идентификатор СМО в передающие МИС. Element 1...1 1…1 1...1 1...1
patient Идентификатор карточки пациента в сервисе MPI. Reference (Patient) 1...1 1…1 1...1 1...1
serviceProvider Медицинская организация, осуществившая случай обслуживания. Reference (Organization) 1…1 1…1 1…1 1...1
participant.individual Ссылка на ресурс Practitioner , только для ConsultNote. Лицо, которое придало юридическую силу документу. Reference (Particioner) 1…1 1…1   0...1
participant.type Роль лечащего врача. Всегда имеет значение "attender" CodebleConcept 1…1 1…1   0...0
class

Используются следующие коды:

  • ambulatory - амбулаторный;
  • inpatient (outpatient) - стационарный ;
  • daytime - диспансеризация;
  • emergency - скорая помощь;
  • virtual- телемедицинская консультация (ТМК);
  • other - для мастер-карточки.
code 1...1
 

1…1

"virtual"

1...1

"daytime"

1...1

"other"

period.start Дата открытия случая datetime
"DD.MM.YYYY H:MM:SS"
1...1 1…1 1...1 1...1
period.end Дата закрытия случая

datetime
"DD.MM.YYYY H:MM:SS"

0...1 1…1   1...1
length

value - длительность случая;

unit -  единица измерения длительности (в частности, days).

Duratation 0...1 1…1   1...1
status

Статус обслуживания. Используются следующие коды статусов:

  • finished - если случай завершен, или передаются сведения о смерти в мастер-карточку,
  • in-progress - если случай не завершён.
code 1...1 1…1 1...1 1...1
hospitalization.
dischargeDisposition

Состояние пациента при завершении случая обслуживания.
Используются следующие коды:

  • home (Home) - выздоровление\здоров
  • rehab (Rehabilitation) - улучшение
  • oth (Other) - без перемен
  • hosp (Hospice) - ухудшение
  • exp (Expired) - умер
CodebleConcept 0…1 0…1 0…1 0...1
indication Основной заключительный диагноз, поставленный пациенту в рамках СМО Reference (Condition) 1...1 1...1 1...1 0...0
reason Идентификатор цели обращения (Справочник OID: 1.2.643.5.1.13.2.1.1.106) CodebleConcept 0...1 0...0 0...0 0...0

extension, где url = "DeathReason"

Код МКБ-10 (code) основной причины смерти (OID справочника: 1.2.643.2.69.1.1.1.2), а также значение кода (value) CodebleConcept 0...0 0...0 0...0 0...1

extention, где url = "http://api.n3med.ru/api/fhir/n3extension-caseresult"

Код исхода заболевания (OID Справочник: 1.2.643.5.1.13.2.1.1.688). CodebleConcept 0...1 0...1 0...1 0...1

extention, где url = "http://api.n3med.ru/api/fhir/n3extension-typecaseresult"

Код исхода амбулаторного случая обслуживания  (OID Справочник: 1.2.643.2.69.1.1.1.17) или госпитального случая медицинского обслуживания  (OID Справочник: 1.2.643.2.69.1.1.1.23).

CodebleConcept 0...1 0...1 0...1 0...1

extention, где url = "http://api.n3med.ru/api/fhir/n3extension-privileges"

Код категории льготы (Льготные категории населения, OID 1.2.643.5.1.13.13.11.1050), который был присвоен в рамках этого Encouter.

CodebleConcept 0...1 0...1 0...1 0...1

extention, где url = "http://api.n3med.ru/api/fhir/n3extension-socialgroupcode"

Код социальной группы (Занятость (социальные группы) населения, Справочник OID:1.2.643.5.1.13.13.11.1038), который был присвоен в рамках этого Encouter.

CodebleConcept 0...1 0...1 0...1 0...1

extention, где url = "http://api.n3med.ru/api/fhir/n3extension-healthgroupinfo"

Код группы здоровья (Классификатор групп состояния здоровья взрослого населения справочник OID: 1.2.643.5.1.13.2.1.1.118) который был присвоен последним в рамках этого Encouter.

CodebleConcept 0...1 0...1 0...1 0...1

extention, где url = "http://api.n3med.ru/api/fhir/n3extension-paymenttype"

Идентификатор источника финансирования (Справочник OID: 1.2.643.2.69.1.1.1.32)

CodebleConcept 0...1 0...1 0...1 0...1

 

 Пример ресурса Encounter

{
  "resourceType": "Bundle",
  "entry": [
    {
      "resource": {
        "resourceType": "Encounter",
        "id": "487146",
        "identifier": [
          {
            "system": "http://netrika.ru/iemk-identifier",
            "value": "1550925"
          },
          {
            "system": "http://netrika.ru/iemk-mis-identifier",
            "value": "1550925"
          }
        ],
        "status": "finished",
        "class": "ambulatory",
        "patient": {
          "reference": "Patient/1a477a30-5771-48ee-8c1f-184ed698ef70"
        },
        "participant": [
          {
            "type": [
              {
                "coding": [
                  {
                    "system": "http://hl7.org/fhir/vs/encounter-participant-type",
                    "code": "attender"
                  }
                ]
              }
            ],
            "individual": {
              "reference": "/Practitioner/9314"
            }
          }
        ],
        "period": {
          "start": "02.11.2021 0:00:00",
          "end": "02.11.2021 0:00:00"
        },
        "length": {
          "value": 1.0,
          "unit": "days"
        },
        "reason": [
          {
            "coding": [
              {
                "system": "1.2.643.5.1.13.2.1.1.106",
                "code": "12",
                "display": "Другие"
              }
            ]
          }
        ],
        "indication": [
          {
            "reference": "/Condition/303258"
          }
        ],
        "hospitalization": {
          "dischargeDisposition": {
            "coding": [
              {
                "system": "http://hl7.org/fhir/vs/encounter-discharge-disposition",
                "code": "home"
              }
            ]
          }
        },
        "serviceProvider": {
          "reference": "Organization/a1b2445d-56b9-4ec6-ba75-fa15b3781625"
        }
      }
    }
  ]
} 

 Пример ресурса Encounter cо сведениями о смерти

{
    "resourceType": "Bundle",
    "entry": [
        {
            "resource": {
                "resourceType": "Encounter",
                "id": "8132",
                "extension": [
                    {
                        "url": "DeathReason",
                        "valueCodeableConcept": {
                            "coding": [
                                {
                                    "system": "urn:oid:1.2.643.2.69.1.1.1.2",
                                    "code": "Z59.8",
                                    "display": "Другие проблемы, касающиеся экономических и жилищных условий"
                                }
                            ]
                        }
                    }
                ],
                "identifier": [
                    {
                        "system": "http://netrika.ru/iemk-identifier",
                        "value": "8132"
                    }
                ],
                "status": "finished",
                "class": "other",
                "patient": {
                    "reference": "Patient/415b7d61-3741-4b80-b896-6da8d3aacc00"
                },
                "participant": [
                    {
                        "type": [
                            {
                                "coding": [
                                    {
                                        "system": "http://hl7.org/fhir/vs/encounter-participant-type",
                                        "code": "attender"
                                    }
                                ]
                            }
                        ],
                        "individual": {
                            "reference": "/Practitioner/9353"
                        }
                    }
                ],
                "period": {
                    "start": "28.08.2019 0:00:00",
                    "end": "28.08.2019 0:00:00"
                },
                "length": {
                    "value": 1.0
                },
                "hospitalization": {
                    "dischargeDisposition": {
                        "coding": [
                            {
                                "system": "http://hl7.org/fhir/vs/encounter-discharge-disposition",
                                "code": "exp"
                            }
                        ]
                    }
                },
                "serviceProvider": {
                    "reference": "Organization/0fbabd3b-3b99-e5bf-1afb-3e237b0b954a"
                }
            }
        }
    ]
}

Получить Fhir-ресурс Encounter можно с помощью следующих методов:

  1. Получение общего количества Encounter (СМО) по идентификатору(-ам)  пациента 
  2. Получение списка Encounter   по идентификатору(-ам)  пациента за период 
  3. Получение Encounter по его идентификатору

Особенности

  • Если Encounter, который обращается к СМО, который был отменен (например, по нему есть актуальный СМО, а на запрашиваемый в ИЭМК.Сервисе вызвали методы UpdateCase), то такой Encounter вернется в ответе, только при прямом обращении по идентификатору.

DocumentReference

Fhir-ресурс DocumentReference  (http://hl7.org/fhir/DSTU2/documentreference.html ) предназначен для передачи сведений о медицинских документах пациента, зарегистрированных в рамках случая обслуживания Encounter , отображаемых на комплексный тип MedDocument SOAP-протокола сервиса ИЭМК:

DocumentReference Описание Тип Кратность
identifier, где system = "http://netrika.ru/iemk-identifier" Идентификатор медицинского документа в ИЭМК Element 1...1
identifier, где system = "http://netrika.ru/iemk-mis-identifier" Идентификатор медицинского документа в передающий МИС Element 1...1
type

Тип документа. Записывается в виде кода, обозначающего определенный тип документа по стандарту FHIR DSTU2. В частности, используются следующие коды и мапинг по Справочнику OID: 1.2.643.2.69.1.1.1.195 " Виды электронных медицинских документов " параметр FHIR-Code:

  • 18842-5 - Эпикриз (DischargeSummary в ИЭМК),
  • 11502-2 - Сведения о лабораторных исследованиях (LaboratoryReport),
  • 11488-4 - Консультативное заключение (ConsultNote),
  • 34114-9 - Диспансеризация (DispensaryBase),
  • 72170-4 - Результаты инструментального обследования (ResInstr),
  • 51846-4 - Данные карты вызова скорой помощи (AmbulanceInfo),
  • 64297-5 - Медицинское свидетельство о смерти (DeathCertificate),
  • 71230-7 - Медицинское свидетельство о рождении (BirthCertificate),
  • 55107-7 - Медицинское свидетельство о пренатальной смерти (Addendum Document),
  • 34763-3 - Лист временной нетрудоспособности, направления, формы №-У (SickList, Referral).
CodebleConcept 1...1
author Ссылка на ресурса Practicioner - врач, подписавшем документ. Reference (Particioner) 1...1
indexed Дата и время создания документа

datetime

"YYYY-MM-DDTHH:MM:SS+HH:MM"

1...1
status

Статус медицинского документа. Всегда используются код:

  • current - актуальная версия документа
code 1...1
description Название документа (Заголовок, краткое описание) string 1...1
securityLabel Сведения о защищенности информации. В частности, сведения о наличии электронной подписи документа и уровне конфиденциальности (обозначается кодом и его значением, согласно терминологии FHIR https://www.hl7.org/fhir/valueset-security-labels.html ) CodebleConcept  
content.attachment Вложенный документ, закодированный в формате UTF-8 Attachment 1...1
attachment.contentType Формат вложенного документа (PDF) code 1...1
attachment.url Ссылка на вложение uri 0...1
attachment.size Размер вложенного документа unsignedInt 1...1
context.encounter Идентификатор случая медицинского обслуживания в ИЭМК, в рамках которого сформирован медицинский документ Reference (Encounter) 1...1
context.related.ref, где reference содержит "Observation"  Ссылка на ресурс Observation, которые связаны с этим DocumentRefernce Reference (Observation) 0...*

extention, где url = "http://api.n3med.ru/api/fhir/n3extension-HasExpertCareRefferal'

Дано направление для получения специализированной, в
том числе высокотехнологичной медицинской помощи, если имеет значение True, иначе - False.

boolean 0...1

extention, где url = "http://api.n3med.ru/api/fhir/n3extension-HasHealthResortRefferal'

Дано направление на санитарно-курортное лечение, если имеет значение True, иначе - False.

boolean 0...1
extention, где URL = "http://api.n3med.ru/api/fhir/n3extension-additionalinformation/"

Расширение, в котором передаются дополнительные параметры по медицинским документам.

Подсказка

Подробней о доступных параметрах смотри в следующем разделе "Описание Extention.AdditionalInformation".

 

string (B64 coded) 0...1

 Пример ресурса DocumentReference

{
    "resourceType": "Bundle",
    "entry": [
        {
            "resource": {
                "resourceType": "DocumentReference",
                "id": "217288",
                "identifier": [
                    {
                        "system": "http://netrika.ru/iemk-identifier",
                        "value": "217288"
                    },
                    {
                        "system": "http://netrika.ru/iemk-mis-identifier",
                        "value": "IdDocumentMis08.02.2022_04:41:16470"
                    }
                ],
                "type": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/vs/c80-doc-typecodes",
                            "code": "11488-4"
                        }
                    ]
                },
                "author": [
                    {
                        "reference": "/Practitioner/10785"
                    }
                ],
                "indexed": "2022-01-25T00:00:00+03:00",
                "status": "current",
                "description": "Заключение",
                "securityLabel": [
                    {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/v3-Confidentiality",
                                "code": "N",
                                "display": "normal"
                            }
                        ]
                    }
                ],
                "content": [
                    {
                        "attachment": {
                            "size": 0
                        }
                    }
                ],
                "context": {
                    "encounter": {
                        "reference": "/Encounter/487922"
                    },
                    "related": [
                        {
                            "ref": {
                                "reference": "Observation/80708"
                            }
                        },
                        {
                            "ref": {
                                "reference": "Observation/80709"
                            }
                        },
                        {
                            "ref": {
                                "reference": "Observation/80710"
                            }
                        },
                        {
                            "ref": {
                                "reference": "Observation/80711"
                            }
                        }
                    ]
                }
            }
        }
    ]
}

Получить Fhir-ресурс DocumentReference можно с помощью следующих методов:

  1. Получение списка документов по идентификатору случая,
  2. Загрузка содержания документа в формате PDF,
  3. Загрузка содержания документа в нативном формате.

Описание Extention.AdditionalInforamtion

Extention где URL = "http://api.n3med.ru/api/fhir/n3extension-additionalinformation/" в текущей реализации передает в закодированном виде (B64) типом String дополнительные параметры по медицинским документам, которые хранятся в Сервисе-ИЭМК.

Параметр Обязательность Тип Описание
DocumentReference.type = 64297-5 - Медицинское свидетельство о смерти (DeathCertificate)
CertificateDate 0...1 valuedatetime Дата свидетельства о смерти.
CertificateS 0...1 valueString Серия свидетельства о смерти.
CertificateN 0...1 valueString Номер свидетельства о смерти.
DeathDate 0...1 valuedatetime Дата смерти.
DeathReasonImmediate 0...1 valueCodebleConcept Непосредственная причина смерти, а), код МКБ-10 (Справочник OID: 1.2.643.2.69.1.1.1.2).
DeathReasonIntermediate 0...1 valueCodebleConcept Промежуточная причина смерти б), код МКБ-10 (Справочник OID: 1.2.643.2.69.1.1.1.2).
DeathReasonInitial 0…1 valueCodebleConcept Первоначальная причина смерти в), код МКБ-10 (Справочник OID: 1.2.643.2.69.1.1.1.2).
DeathReasonExternal 0...1 valueCodebleConcept Внешней причины смерти г), код МКБ-10  (Справочник OID: 1.2.643.2.69.1.1.1.2).
DeathReason 0...1 valueCodebleConcept Код МКБ-10 первоначальной причины смерти (Справочник OID: 1.2.643.2.69.1.1.1.2).

EMK.DeathCertificateDocumentReference.type =71230-7 - Медицинское свидетельство о рождении (BirthCertificate)

CertificateDate 0...1 valuedatetime Дата свидетельства о рождении.
CertificateS 0...1 valueString Серия свидетельства о рождении.
CertificateN 0...1 valueString Номер свидетельства о рождении.
BirthDate 0...1 valuedatetime Дата рождения.
Sex 0...1 valueCodebleConcept Пол (Справочник OID 1.2.643.5.1.13.2.1.1.156)
BirthOrder 0...1 valueint Порядковый номер в родах

EMK.DeathCertificateDocumentReference.type =55107-7 - Медицинское свидетельство о пренатальной смерти (AddendumDocument)

CertificateDate 0...1 valuedatetime Дата свидетельства о смерти.
CertificateS 0...1 valueString Серия свидетельства о смерти.
CertificateN 0...1 valueString Номер свидетельства о смерти.
DeathDate 0...1 valuedatetime Дата смерти.
CodeMainPrenatal 0...1 valueCodebleConcept Основное забол-е плода или ребенка а), код МКБ-10 (Справочник OID: 1.2.643.2.69.1.1.1.2).
CodeOtherPrenatal 0...1 valueCodebleConcept Другие забол-я плода или ребенка  б), код МКБ-10 (Справочник OID: 1.2.643.2.69.1.1.1.2).
CodeMainMother 0...1 valueCodebleConcept Основное забол-е матери в), код МКБ-10 (Справочник OID: 1.2.643.2.69.1.1.1.2).
CodeOtherMother 0...1 valueCodebleConcept Другие забол-я матери г), код МКБ-10  (Справочник OID: 1.2.643.2.69.1.1.1.2).
DeathReasonPrenatal 0...1 valueCodebleConcept Основная причина смерти плода или ребенка, код МКБ-10 (Справочник OID: 1.2.643.2.69.1.1.1.2).
DeathReasonMother 0...1 valueCodebleConcept Основная причина, забол-е матери, код МКБ-10 (Справочник OID: 1.2.643.2.69.1.1.1.2).

 Пример Extention.AdditionalInforamtion для Медицинского свидетельства о смерти (DeathCertificate),

{
    "resourceType": "Parameters",
    "parameter": [
        {
            "name": "DeathReason",
            "valueCodeableConcept": {
                "coding": [
                    {
                        "system": "urn:oid:1.2.643.2.69.1.1.1.2",
                        "code": "U07.1",
                        "display": "COVID-19"
                    }
                ]
            }
        },
        {
            "name": "CertificateDate",
            "valueDateTime": "2021-12-02T00:00:00+03:00"
        },
        {
            "name": "CertificateS",
            "valueString": "7796"
        },
        {
            "name": "CertificateN",
            "valueString": "779703"
        },
        {
            "name": "DeathDate",
            "valueDateTime": "2021-11-27T00:00:00+03:00"
        },
        {
            "name": "DeathReasonImmediate",
            "valueCodeableConcept": {
                "coding": [
                    {
                        "system": "urn:oid:1.2.643.2.69.1.1.1.2",
                        "code": "Z97.8",
                        "display": "Наличие другого уточненного устройства"
                    }
                ]
            }
        },
        {
            "name": "DeathReasonIntermediate",
            "valueCodeableConcept": {
                "coding": [
                    {
                        "system": "urn:oid:1.2.643.2.69.1.1.1.2",
                        "code": "W34.5",
                        "display": "В учреждении и районе торговли и обслуживания"
                    }
                ]
            }
        },
        {
            "name": "DeathReasonInitial",
            "valueCodeableConcept": {
                "coding": [
                    {
                        "system": "urn:oid:1.2.643.2.69.1.1.1.2",
                        "code": "J15.2",
                        "display": "Пневмония, вызванная стафилококком"
                    }
                ]
            }
        },
        {
            "name": "DeathReasonExternal",
            "valueCodeableConcept": {
                "coding": [
                    {
                        "system": "urn:oid:1.2.643.2.69.1.1.1.2",
                        "code": "X85.4",
                        "display": "На улице или автомагистрали"
                    }
                ]
            }
        }
    ]
}

 Пример Extention.AdditionalInforamtion для Медицинского свидетельства о рождении (BirthCertificate),

{
    "resourceType": "Parameters",
    "parameter": [
        {
            "name": "CertificateDate",
            "valueDateTime": "2021-12-02T00:00:00+03:00"
        },
        {
            "name": "CertificateS",
            "valueString": "5132"
        },
        {
            "name": "CertificateN",
            "valueString": "513322"
        },
        {
            "name": "BirthDate",
            "valueDateTime": "2021-09-02T00:00:00+03:00"
        },
        {
            "name": "Sex",
            "valueCodeableConcept": {
                "coding": [
                    {
                        "system": "urn:oid:1.2.643.5.1.13.2.1.1.156",
                        "code": "2",
                        "display": "Женский"
                    }
                ]
            }
        },
        {
            "name": "BirthOrder",
            "valueString": "1"
        }
    ]
}

 Пример Extention.AdditionalInforamtion для Медицинского свидетельства о пренатальной смерти (AddendumDocument)

{
    "resourceType": "Parameters",
    "parameter": [
        {
            "name": "DeathReason",
            "valueCodeableConcept": {
                "coding": [
                    {
                        "system": "urn:oid:1.2.643.2.69.1.1.1.2",
                        "code": "U07.1",
                        "display": "COVID-19"
                    }
                ]
            }
        },
        {
            "name": "CertificateDate",
            "valueDateTime": "2021-12-02T00:00:00+03:00"
        },
        {
            "name": "CertificateS",
            "valueString": "7796"
        },
        {
            "name": "CertificateN",
            "valueString": "779703"
        },
        {
            "name": "DeathDate",
            "valueDateTime": "2021-11-27T00:00:00+03:00"
        },
        {
            "name": "DeathReasonImmediate",
            "valueCodeableConcept": {
                "coding": [
                    {
                        "system": "urn:oid:1.2.643.2.69.1.1.1.2",
                        "code": "Z97.8",
                        "display": "Наличие другого уточненного устройства"
                    }
                ]
            }
        },
        {
            "name": "DeathReasonIntermediate",
            "valueCodeableConcept": {
                "coding": [
                    {
                        "system": "urn:oid:1.2.643.2.69.1.1.1.2",
                        "code": "W34.5",
                        "display": "В учреждении и районе торговли и обслуживания"
                    }
                ]
            }
        },
        {
            "name": "DeathReasonInitial",
            "valueCodeableConcept": {
                "coding": [
                    {
                        "system": "urn:oid:1.2.643.2.69.1.1.1.2",
                        "code": "J15.2",
                        "display": "Пневмония, вызванная стафилококком"
                    }
                ]
            }
        },
        {
            "name": "DeathReasonExternal",
            "valueCodeableConcept": {
                "coding": [
                    {
                        "system": "urn:oid:1.2.643.2.69.1.1.1.2",
                        "code": "X85.4",
                        "display": "На улице или автомагистрали"
                    }
                ]
            }
        }
    ]
}

Condition

Fhir-ресурс Condition (https://www.hl7.org/fhir/DSTU2/condition.html) предназначен для передачи сведений о подозрении на заболевание (Problem) и диагнозах пациента (Diagnosis).

Condition (Diagnosis)

FHIR - ресурс  Condition (https://www.hl7.org/fhir/DSTU2/condition.html) данного типа содержит следующие параметры,  отображаемые на комплексный тип Diagnosis  SOAP-протокола сервиса ИЭМК:

Condition Описание Тип Кратность
extention Дополнительная информация по диагнозу. Identifier 1...1
extention, где URL='http://api.n3med.ru/api/fhir/n3extension-nosologicalunitsofdiagnosis' Идентификатор статуса диагноза (Справочник OID: 1.2.643.2.69.1.1.1.26). CodebleConcept 1...1
extention, где URL='http://api.n3med.ru/api/fhir/n3extension-dispensarystatus' Идентификатор состояния диспансерного учета по данному диагнозу (заболеванию) (Справочник OID: 1.2.643.2.69.1.1.1.11). CodebleConcept 0...1
extention, где URL ='http://api.n3med.ru/api/fhir/n3extension-verificationStatus'

Идентификатор этапа установления диагноза (Справочник OID: 1.2.643.2.69.1.1.1.10).

Подсказка

Этот параметр дополняет verificationStatus и всегда будет содержать больше информации.

CodebleConcept 1...1
extention, где URL =' http://api.n3med.ru/api/fhir/n3extension-clinicalStatus'

Идентификатор характера заболевания (Справочник OID: 1.2.643.2.69.1.1.1.8).

Подсказка

Этот параметр дополняет clinicalStatus и всегда будет содержать больше информации.

CodebleConcept 0...1
extention, где URL='DiagnosisChangeReason'

Код причины изменения диагноза (уточнение, отмена и др.) (Справочник OID: 1.2.643.2.69.1.1.1.9).

CodebleConcept 0...1
extention, где URL='MkbCodeChange'

Заменяемый код МКБ-10 (Справочник OID: 1.2.643.2.69.1.1.1.2).

CodebleConcept 0...1
extention, где URL='DiseaseStatus' Статус заболевания (Справочник OID: 1.2.643.5.1.13.2.1.1.122). CodebleConcept 0...1
{extention, где URL = ParamValue} Показатели наблюдения пациента") в виде кода показателя (code) и его наименования (display). ~ CodebleConcept 0...1
identifier Идентификаторы ресурса. Массив Element'ов 1...1
identifier, где system:'"http://netrika.ru/iemk-identifier' Идентификатор диагноза (Condition). Element 1...1
identifier,
где "system": "http://netrika.ru/parent-condition-identifier"
Идентификатор родительского диагноза. Element 0...1
meta Расширение ресурса Condition. Всегда передает пространство имен в виде  "system": " urn:oid:1.2.643.2.69.1.1.1.2 " (из справочника "МКБ10 ред.СПб КЗ") в виде кода группы диагнозов.

CodebleConcept

1...1
patient Передает идентификатор карточки пациента Reference(Patient) из MP.I, которому поставлен диагноз. Reference (Patient) 1...1
encounter Передает идентификатор случая обслуживания, в рамках которого поставлен диагноз (idCase). Reference (Encounter) 1...1
dateRecorded Дата постановки диагноза (создания записи). datetime 1...1
code Диагноз, передается из пространства имен "urn:oid:1.2.643.2.69.1.1.1.2". CodebleConcept 1...1
category Всегда передает значение "diagnosis", в случае передачи сведений о диагнозе (не о подозрении). CodebleConcept 1...1

clinicalStatus


Это значение расширено с помощью extention/DiseseType

Код характера заболевания

Мапинг значений с Cправочника OID: 1.2.643.2.69.1.1.1.8 на HL7:

  • если значение 1, то "active",
  • если значение 1-5, то "remission",
  • иначе не передавать 
code 0...1

verificationStatus


Это значение расширено с помощью extention, где system = http://api.n3med.ru/api/fhir/n3extension-verificationStatus'

Код этапа установления диагноза.

Мапинг значений с Cправочника OID: 1.2.643.2.69.1.1.1.10 на HL7:

  • если значение 1, то "provisional",
  • если значение 2-4, то "confirmed",
  • иначе "unknown".
code 1..1

 Пример ресурса Condition (Diagnosis)

{
	"resourceType": "Bundle",
	"entry": [
		{
			"resource": {
				"resourceType": "Condition",
				"id": "304370",
				"meta": {
					"tag": [
						{
							"system": "urn:oid:1.2.643.2.69.1.1.1.2",
							"code": "XIX"
						}
					]
				},
				"extension": [
					{
						"url": "http://api.n3med.ru/api/fhir/n3extension-nosologicalunitsofdiagnosis",
						"valueCodeableConcept": {
							"coding": [
								{
									"system": "urn:oid:1.2.643.2.69.1.1.1.26",
									"code": "1",
									"display": "Основной"
								}
							]
						}
					},
					{
						"url": "http://api.n3med.ru/api/fhir/n3extension-verificationStatus",
						"valueCodeableConcept": {
							"coding": [
								{
									"system": "urn:oid:1.2.643.2.69.1.1.1.10",
									"code": "3",
									"display": "Заключительный"
								}
							]
						}
					},
					{
						"url": "http://api.n3med.ru/api/fhir/n3extension-clinicalStatus",
						"valueCodeableConcept": {
							"coding": [
								{
									"system": "urn:oid:1.2.643.2.69.1.1.1.8",
									"code": "1",
									"display": "острое"
								}
							]
						}
					},
					{
						"url": "http://api.n3med.ru/api/fhir/n3extension-dispensarystatus",
						"valueCodeableConcept": {
							"coding": [
								{
									"system": "urn:oid:1.2.643.2.69.1.1.1.11",
									"code": "3",
									"display": "взят повторно"
								}
							]
						}
					},
					{
						"url": "MkbCodeChange",
						"valueCodeableConcept": {
							"coding": [
								{
									"system": "urn:oid:1.2.643.2.69.1.1.1.2",
									"code": "Z59.8",
									"display": "Другие проблемы, касающиеся экономических и жилищных условий"
								}
							]
						}
					},
					{
						"url": "DiseaseStatus",
						"valueCodeableConcept": {
							"coding": [
								{
									"system": "urn:oid:1.2.643.5.1.13.2.1.1.122",
									"code": "2",
									"display": "Выздоровление с полным восстановлением физиологического процесса (функции)"
								}
							]
						}
					},
					{
						"url": "DiagnosisChangeReason",
						"valueCodeableConcept": {
							"coding": [
								{
									"system": "urn:oid:1.2.643.2.69.1.1.1.9",
									"code": "1",
									"display": "подозрение снято"
								}
							]
						}
					}
				],
				"identifier": [
					{
						"system": "http://netrika.ru/iemk-identifier",
						"value": "304370"
					}
				],
				"patient": {
					"reference": "/Patient/b93c54db-0ed2-4b5b-b8fc-691c6449f8d5"
				},
				"encounter": {
					"reference": "/Encounter/487872"
				},
				"dateRecorded": "2016-01-02T00:00:00+03:00",
				"code": {
					"coding": [
						{
							"system": "http://netrika.ru/diagnosis-code",
							"code": "T66",
							"display": "Неуточненные эффекты излучения"
						}
					]
				},
				"category": {
					"coding": [
						{
							"system": "http://hl7.org/fhir/vs/condition-category",
							"code": "diagnosis"
						}
					]
				},
				"clinicalStatus": "active",
				"verificationStatus": "confirmed",
				"evidence": [
					{
						"extension": [
							{
								"url": "ParamValue",
								"valueString": "185"
							}
						],
						"code": {
							"coding": [
								{
									"system": "urn:oid:1.2.643.2.69.1.1.1.127",
									"code": "15",
									"display": "Мутации гена NRAS"
								}
							]
						}
					},
					{
						"extension": [
							{
								"url": "ParamValue",
								"valueString": "70"
							}
						],
						"code": {
							"coding": [
								{
									"system": "urn:oid:1.2.643.2.69.1.1.1.127",
									"code": "50",
									"display": "ЧСС"
								}
							]
						}
					}
				],
				"notes": "Комент добавлен"
			}
		}
	]
}

Condition (Problem)

FHIR - ресурс  Condition данного типа содержит следующие параметры, отображаемые на комплексный тип Problem  SOAP-протокола сервиса ИЭМК:

Condition Описание Тип Кратность
identifier Идентификатор подозрения на заболевание в ИЭМК  Identifier 1...1
identifier, где system = "urn:oid:1.2.643.5.1.13.2.7.100.6" Всегда передает пространство имен в виде  "system": "urn:oid: 1.2.643.5.1.13.2.7.100.6", где value - уникальный идентификатор подозрения на заболевания в системе-источнике , а assigner.display - OID системы-источника Element 1...1
patient Идентификатор карточки пациента в ИЭМК. Reference (Patient) 1...1
encounter Идентификатор СМО в ИЭМК. Передается всегда, кроме мастер-случаев. Reference (Ecnounter) 0...1
asserter Идентификатор врача в ИЭМК. Reference (Particioner) 1...1
dateRecorded Дата выявления подозрения. Передается, если в CkinicalStatus = true (подозрение установлено). Если Status = false (подозрение снято), не передается. date 0...1
code Код диагноза МКБ-10. CodebleConcept 1...1
category

Передавать finding из пространства имен http://hl7.org/fhir/vs/condition-category.

CodebleConcept 1...1
clinicalStatus

Код характера подозрения. 

code 1...1
verificationStatus

Код статуса подозрения.

 

code 1...1
abatement.
abatementDateTime
Дата снятия подозрения.  datetime 0...1
notes Комментарии string 0...1

 Пример ресурса Condition (Problem)

{
  "resourceType": "Bundle",
  "entry": [
    {
      "resource": {
        "resourceType": "Condition",
        "id": "2",
        "identifier": [
          {
            "system": "urn:oid:1.2.643.5.1.13.2.7.100.6",
            "value": "2039e788-374b-480f-b055-13ee9ae4b704",
            "assigner": {
              "display": "1.2.643.2.69.1.2.17"
            }
          }
        ],
        "patient": {
          "reference": "/Patient/effb978f-5adc-4b1c-b034-74012ed41a01"
        },
        "encounter": {
          "reference": "/Encounter/9647"
        },
        "asserter": {
          "reference": "/Practitioner/3214"
        },
        "dateRecorded": "14.01.2020 12:34:46",
        "code": {
          "coding": [
            {
              "code": "T35.0"
            }
          ]
        },
        "category": {
          "coding": [
            {
              "system": "http://hl7.org/fhir/vs/condition-category",
              "code": "finding"
            }
          ]
        },
        "clinicalStatus": "active",
        "verificationStatus": "provisional",
        "notes": "комментарий"
      }
    }
  ]
}

Получить Fhir-ресурс Condition можно с помощью следующих методов:

  1. Получение данных о подозрении на заболевание по его идентификатору
  2. Получение данных о диагнозе по его идентификатору
  3. Получение списка диагнозов по пациенту(-ам)

  4. Получение списка подозрений по дате выявления, коду диагноза и категории

  5. Получение общего количества Condition по пациенту

Practitioner

Fhir-ресурс Practitioner (http://hl7.org/fhir/DSTU2/practitioner.html) предназначен для передачи сведений о медицинском работнике, отображаемых на комплексный тип MedicalStaff SOAP-протокола сервиса ИЭМК.

Practitioner Описание Тип Кратность
id, identifier Идентификатор медицинского работника (врача) в ИЭМК. Identifier 1...1
identifier, где system = "urn:oid:1.2.643.2.69.1.1.1.6.223" СНИЛС врача. CodebleConcept 1...1
name.text Полное ФИО медицинского работника. string 1...1
name.family [0] - Фамилия и [1] - Отчество медицинского работника. string 1...1
name.given Имя медицинского работника. string 1...1
particionerRole.managingOrganization Ссылка на место работы врача, где он занимает свою должность. Reference/Organization 1...1
practitionerRole.speciality Передается пространство имен (Справочник:1.2.643.5.1.13.2.1.1.181  "Номенклатура специальностей специалистов с высшим и послевузовским медицинским и фармацевтическим образованием в сфере здравоохранения"), в виде кода специальности (code), и ее наименования (display). CodebaleConcept 1...1
practitionerRole.role. Идентификатор должности врача. CodebaleConcept 1...1

 

 Пример ресурса Practitioner

{
    "resource": {
        "resourceType": "Practitioner",
        "id": "1",
        "identifier": [
            {
                "system": "http://netrika.ru/iemk-identifier",
                "value": "1"
            },
            {
                "system": "urn:oid:1.2.643.2.69.1.1.1.6.223",
                "value": "05865997537",
                "assigner": {
                    "display": "ООО \"СМК \"РЕСО-МЕД\""
                }
            }
        ],
        "name": {
            "text": "Андрианов Филипп Владимирович",
            "family": [
                "Андрианов",
                "Владимирович"
            ],
            "given": [
                "Филип"
            ]
        },
        "practitionerRole": [
            {
                "managingOrganization": {
                    "reference": "Organization/b7f76c8-04f6-480c-bbb1-ce24bffdcc2b"
                }
            },
            {
                "role": [
                    {
                        "coding": {
                            "system": "urn:oid:1.2.643.5.1.13.13.11.1002",
                            "code": "422",
                            "display": "Заведующий"
                        }
                    }
                ]
            },
            {
                "specialty": [
                    {
                        "coding": [
                            {
                                "system": "urn:oid:1.2.643.5.1.13.13.11.1066",
                                "code": "287",
                                "display": "Остеопатия"
                            }
                        ]
                    }
                ]
            }
        ]
    }
} 

Получить Fhir-ресурс Practitioner можно с помощью следующих методов:

  1. Получение данных врача по его идентификатору

Procedure

Fhir-ресурс Procedure (https://www.hl7.org/fhir/DSTU2/procedure.html) предназначен для передачи сведений о выполненных (оказанных) медицинских услугах в рамках эпизода случая обслуживания Service , отображаемых на комплексный тип Service SOAP-протокола сервиса ИЭМК :

Procedure Описание Тип Кратность
identifier Идентификатор оказанной услуги в ИЭМК. Identifier 1...1
extention, где URL = ParamCode
exntetion, где URL = ParamValue
Показатели наблюдения пациента в виде кода показателя (code), значение (ParamValue) и его наименования (display) (Справочник OID: 1.2.643.2.69.1.1.1.127). ~CodebleConcept 0..1
subject Ссылка на пациента, которому была оказана услуга. Reference (Patient) 1...1
status

Код, указывающий на завершенность оказания услуги/проведения медицинской процедуры. Используются следующие коды:

  • completed - если Status=true, означает что услуга оказана полностью;
  • in-progress- если Status=false или отсутствует, означает, что услуга все еще оказывается.
code 1...1
code Код процедуры/услуги (code), согласно справочнику oid:1.2.643.2.69.1.1.1.88 "Номенклатура медицинских услуг" и ее название (text). CodebleConcept 1...1
performer.actor Идентификатор врача (Practicioner), который оказывал медицинскую услугу. Reference (Particioner) 1...1
performedPeriod.start Дата начала оказания услуги. datetime 0...1
performedPeriod.end Дата завершения оказания услуги. datetime 0...1
encounter

Идентификатор СМО, в рамках которого передается услуга.

Reference (Encounter) 1..1

 Пример ресурса Procedure

{
  "resourceType": "Bundle",
  "entry": [
    {
      "resource": {
        "resourceType": "Procedure",
        "id": "59",
        "identifier": [
          {
            "system": "http://netrika.ru/iemk-identifier",
            "value": "59"
          }
        ],
        "subject": {
          "reference": "/Patient/396b2429-6fe3-4fe0-9eed-16aff3e17ffe"
        },
        "status": "in-progress",
        "code": {
          "coding": [
            {
              "system": "urn:oid:1.2.643.2.69.1.1.1.88",
              "code": "B03.016.004"
            }
          ],
          "text": "Анализ крови биохимический общетерапевтический"
        },
        "performer": [
          {
            "actor": {
              "reference": "/Practitioner/102"
            }
          }
        ],
        "performedPeriod": {
          "start": "25.08.2018",
          "end": "01.09.2018"
        },
        "encounter": {
          "reference": "/Encounter/308"
        }
      }
    }

Получить Fhir-ресурс Procedure можно с помощью следующих методов:

  1. Получение списка Procedure по пациенту(-ам)
  2. Получение Procedure по его идентификатору
  3. Получение Procedure по идентификатору случая медицинского обслуживания

Observation

Fhir-ресурс Observation (http://hl7.org/fhir/DSTU2/observation.html) предназначен для передачи параметров наблюдения за пациентом и содержит следующие параметры, отображаемые на комплексный тип Observation SOAP-протокола сервиса ИЭМК.

Observation  Описание Тип Кратность
identifier   Идентификатор наблюдения в ИЭМК. Identifier 1...1

code

Передает пространство имен в виде  "system": "urn:oid:1.2.643.2.69.1.1.1.127" (из справочника "Показатели наблюдения пациента") в виде кода показателя (code) и его наименования (display). CodebleConcept 1...1

subject

Передает ИД карточки пациента в MPI. Reference (Patient) 1...1
encounter Ссылка на случай обслуживания, в рамках которого передается наблюдение. Reference (Encounter) 1...1

effective.effectiveDateTime

Дата измерения показателя. datetime 1...1

value

Тип показателя.

Могут быть использованы следующие типы данных :

  1. valueCodeableConcept - кодирование по справочнику,
  2. valueQuantity - целочисленное значение,
  3. valueString - текстовая строка,
    1. ObservationBooleanValue - бинарное значение,
    2. ObservationDateTimeValue - передача времени,
    3. ObservationFloatValue - передача дробных значений.

Передавать единицы (при наличии) измерения только для типов:

  1. valueCodeableConcept - кодирование по справочнику,
  2. valueQuantity - количественный.

Подсказка

Именно в этом параметре передаются ВИМИС-Observation. Чтобы ознакомиться что это, можно перейти по странице: JSON. Свод

Actual result 1...1

interpretation

Интерпретация результатов (Справочник OID:1.2.643.5.1.13.13.11.1381 "Справочник кодов интерпретации результатов"). CodebleConcept 0...1

referenceRange

Референсный показатель, зависит от типа ReferenceRange/RangeType, передаются числовые значения из справочника OID:1.2.643.2.69.1.1.1.137 "Тип референтного значения":

  1. Нижняя граница (low)
  2. Верхняя граница (high)
  3. Текстовый диапазон (text)
BackboneElement 1...1
status

Статус наблюдения. Всегда передается значение “final“ из пространства имен http://hl7.org/fhir/observation-status

code 1...1

category

Тип наблюдения. Всегда передается значение “vital-signs“ из пространства имен http://hl7.org/fhir/observation-category CodebleConcept 1...1

 Пример ресурса Observation

{
  "resourceType": "Bundle",
  "entry": [
    {
      "resource": {
        "resourceType": "Observation",
        "id": "5",
        "status": "final",
        "category": {
          "coding": [
            {
              "system": "http://hl7.org/fhir/observation-category",
              "code": "vital-signs"
            }
          ]
        },
        "code": {
          "coding": [
            {
              "system": "urn:oid:1.2.643.2.69.1.1.1.127",
              "code": "1",
              "display": "Морфологический тип опухоли(код)"
            }
          ]
        },
        "subject": {
          "reference": "/Patient/cdb1e92f-3d54-4ee8-b915-619a3f08f855"
        },
        "encounter": {
          "reference": "/Encounter/11"
        },
        "effectiveDateTime": "2019-08-24T00:00:00+03:00",
        "valueQuantity": {
          "value": 2.0
        },
        "interpretation": {
          "coding": [
            {
              "system": "urn:oid:1.2.643.5.1.13.13.11.1381",
              "code": "A",
              "display": "Патологический (вне референсного диапазона)"
            }
          ]
        },
        "referenceRange": [
          {
            "text": "3"
          }
        ]
      }
    }
  ]
}


Получить Fhir-ресурс Observation можно получить с помощью следующих методов:

  1. Получение Observation по идентификатору случая
  2. Получение Observation по его идентификатору

Immunization

FHIR - ресурс Immunization (https://www.hl7.org/fhir/DSTU2/immunization.html) предназначен для передачи следующих данных, отображаемых на комплексный тип Immunize SOAP-протокола сервиса ИЭМК: 

Объект каждого типа передается в рамках отдельного FHIR - ресурса Immunization. То есть, если в ИЭМК в рамках Immunize была передана информация и о прививке (Vaccination) и о медотводе (MedicalExemption), то создадутся два FHIR - ресурса Immunization.

Требования к формированию FHIR - ресурса Immunization:

Immunization (Vaccination)

В рамках ImmunizationType=Vaccination- вакцинация.

Immunization Описание Тип Кратность
identifier Идентификатор мероприятия по иммунизации, а также типа иммунизации="Vaccination" Identifier 1..1
status

Статус иммунизации. Всегда передается статус "completed" из пространства имен 
https://www.hl7.org/fhir/DSTU2/valueset-medication-admin-status.html

code 1..1

date

Дата вакцинации

date

1..1

vaccineCode Передается из пространства имен в виде  "system": "urn:oid:1.2.643.5.1.13.13.11.1078" (из "Иммунобиологические препараты для специфической профилактики, диагностики и терапии") в виде кода препарата (code) и его наименования (display) CodebleConcept

1.1

vaccinationProtocol.
description
Вид вакцинации string

1...1

vaccinationProtocol.
authority
ИД ЛПУ, в котором проводилась прививка/проба Reference (Organization)

1..1

explanation.reason Передается из пространства имен в виде  "system": "urn:oid:1.2.643.2.69.1.1.1.130" (из справочника "Код инфекции") в виде кода инфекции, от которой защищает вакцина (code) и ее наименования (display) CodebleConcept 1...*
patient ИД карточки пациента в сервисе MPI, которому сделана прививка Reference (Patient) 1..1
identifier.value

Передается тип иммунизации="Vaccination"

string 1..1
wasNotGiven Флаг, указывающий на то, что иммунизация не проводилась. Всегда передается false для Vaccination, означает, что прививка была проведена  boolean

1..1

reported

Передается заглушка - true

boolean 1..1
vaccinationProtocol.
doseSequence
Передается заглушка - “1”. Означает номер введенной дозы, в последовательности серии вакцинаций positiveInt 1..1
vaccinationProtocol.
doseStatus
Передается “заглушка” в doseStatus.CodeableConcept.text, выводить “Не определен“ CodebleConcept 1..1

 Пример ресурса Immunization (Vaccination)

{
  "resourceType": "Bundle",
  "entry": [
    {
      "resource": {
        "resourceType": "Immunization",
        "id": "817",
        "identifier": [
          {
            "system": "http://netrika.ru/iemk-identifier",
            "value": "817"
          },
          {
            "system": "ImmunizationType",
            "value": "Vaccination"
          }
        ],
        "status": "completed",
        "date": "2019-09-29",
        "vaccineCode": {
          "coding": [
            {
              "system": "urn:oid:1.2.643.5.1.13.13.11.1078",
              "code": "474",
              "display": "Иммуноглобулин человека антистафилококковый"
            }
          ]
        },
        "patient": {
          "reference": "Patient/4ab7887f-6c39-4127-919d-05b96497ef00"
        },
        "wasNotGiven": false,
        "reported": true,
        "performer": {
          "reference": "Practitioner/184"
        },
        "explanation": {
          "reason": [
            {
              "coding": [
                {
                  "system": "urn:oid:1.2.643.2.69.1.1.1.130",
                  "code": "27",
                  "display": "Холера"
                },
                {
                  "system": "urn:oid:1.2.643.2.69.1.1.1.130",
                  "code": "1",
                  "display": "Туберкулез"
                },
                {
                  "system": "urn:oid:1.2.643.2.69.1.1.1.130",
                  "code": "15",
                  "display": "ХИБ-инфекция"
                }
              ]
            }
          ]
        },
        "vaccinationProtocol": [
          {
            "doseSequence": 1,
            "description": "RV16/70",
            "authority": {
              "reference": "Organization/20dfadd0-c709-43b0-a130-5a11421b0217"
            },
            "doseStatus": {
              "text": "Не определен"
            }
          }
        ]
      }
    }
  ]
} 

Immunization (Reaction)

В рамках ImmunizationType=Reaction - Пробы

Immunization

Описание Тип Кратность
identifier Идентификатор проведенной пробы. Identifier 1..1
status

Статус иммунизации. Всегда передается статус "completed" из пространства имен https://www.hl7.org/fhir/DSTU2/valueset-medication-admin-status.html

code 1..1

date

Дата проведения пробы

date

1..1

vaccineCode Код иммунобиологического препарата. Передается из пространства имен в виде  "system": "urn:oid:1.2.643.2.69.1.1.1.131" (Справочник "Код пробы") в виде кода пробы (code) и ее наименования (display) CodebleConcept

1..1

vaccinationProtocol.authority Ссылка на организацию (МО), в которой проводилась проба Reference (Organization) 1..1
patient Ссылка на карточку в MPI - ИД карточки пациента, которому проведена проба Reference (Patient) 1..1
explanation.reason Передается из пространства имен в виде  "system": "urn:oid:1.2.643.2.69.1.1.1.130" (из "Код инфекции") в виде кода инфекции (code) и ее наименования (display) CodebleConcept 1...*
wasNotGiven Флаг, указывающий на то, что иммунизация не проводилась. Всегда передается false для Reaction, означает, что проба была проведена  boolean

1..1

reported

Передается заглушка - true

boolean 1..1
vaccinationProtocol.doseSequence Номер пробы, передается заглушка "1" positiveInt 1..1
doseStatus Указание на то, имеет ли проба влияние на выработку иммунитета. Передается заглушка "Не определен" CodebleConcept 1..1

 Пример ресурса Immunization (Reaction)

 <Bundle
  xmlns="http://hl7.org/fhir">
  <entry>
    <resource>
      <Immunization>
        <id value="649" />
        <identifier>
          <system value="http://netrika.ru/iemk-identifier" />
          <value value="649" />
        </identifier>
        <identifier>
          <system value="ImmunizationType" />
          <value value="Reaction" />
        </identifier>
        <status value="completed" />
        <date value="2019-08-18" />
        <vaccineCode>
          <coding>
            <system value="urn:oid:1.2.643.2.69.1.1.1.131" />
            <code value="20" />
            <display value="Туляриновая" />
          </coding>
        </vaccineCode>
        <patient>
          <reference value="Patient/d7917c80-122c-46ef-bf74-4aa9009c7991" />
        </patient>
        <wasNotGiven value="false" />
        <reported value="true" />
        <explanation>
          <reason />
        </explanation>
        <vaccinationProtocol>
          <doseSequence value="1" />
          <authority>
            <reference value="Organization/20dfadd0-c709-43b0-a130-5a16301b0217" />
          </authority>
          <doseStatus>
            <text value="Не определен" />
          </doseStatus>
        </vaccinationProtocol>
      </Immunization>
    </resource>
  </entry>
</Bundle>

Immunization (Medical Exemption)

В рамках ImmunizationType=Medical Exemption - Мед. отвод

Immunization

Описание Тип Кратность
identifier Идентификатор записи по медицинскому отводу. Identifier 1...1
explanation.reasonNotGiven Передаются сведения о причине медицинского отвода, в виде  "system": "urn:oid:1.2.643.2.69.1.1.1.132" (из справочника "Причина отвода") в виде кода (code) и его значения (display) CodebleConcept 1...1
vaccinationProtocol.targetDisease Код заболевания по МКБ-10 "urn:oid:1.2.643.2.69.1.1.1.2" в виде кода (code) и его значения (display) positiveInt 0...1
status

Статус иммунизации. Всегда передается статус "stopped" из пространства имен 
https://www.hl7.org/fhir/DSTU2/valueset-medication-admin-status.html

code 1..1
extension.MedicalExemptionPeriod extension - расширение ресурса Immunization, передаваемое параметрами "MedicalExemptionInfo". Передает сведения о дате начала (start) и дате окончания(end) медицискного отвода. date

1...1 (dateStart)

0...1 (dateEnd)

extension.MedicalExemptionType

Передаются сведения о типемедицинского отвода, в виде  "system": "urn:oid:1.2.643.2.69.1.1.1.133" (из справочника "Тип отвода") в виде кода (code):

  1. Временный
  2. Постоянный
CodebleConcept 1...1
extension.MedicalExemptionInf

Передаются сведения о кодах инфекций, от которых осуществляется отвод (Справочник OID: 1.2.643.2.69.1.1.1.130), в виде кода (code) и инфекции, которую обозначает код (display)

CodebleConcept 1..*
patient Сcылка на карточку в MPI - ИД карточки пациента, которому дан медицинский отвод. Reference (Patient) 1..1
vaccineCode Передается заглушка "Отсутствует" text

1..1

wasNotGiven Флаг, указывающий на то, что иммунизация не проводилась. Всегда передается true для MedicalExemption, означает, что вакцинация не проводилась  boolean

1..1

reported

Передается заглушка - true

boolean 1..1
vaccinationProtocol.doseStatus Передается “заглушка” - “Не определен“ Reference (Organization) 1..1
vaccinationProtocol.doseSequence Передавать заглушку - “1” CodebleConcept 1..1

 Пример ресурса Immunization(MedicalExemption)

<Bundle
  xmlns="http://hl7.org/fhir">
  <entry>
    <resource>
      <Immunization>
        <id value="649" />
        <extension url="MedicalExemptionInfo">
          <extension url="MedicalExemptionPeriod">
            <valuePeriod>
              <start value="2019-09-02" />
            </valuePeriod>
          </extension>
          <extension url="MedicalExemptionType">
            <valueCodeableConcept>
              <coding>
                <system value="urn:oid:1.2.643.2.69.1.1.1.133" />
                <code value="1" />
              </coding>
            </valueCodeableConcept>
          </extension>
          <extension url="MedicalExemptionInf">
            <valueCodeableConcept>
              <coding>
                <system value="urn:oid:1.2.643.2.69.1.1.1.130" />
                <code value="27" />
                <display value="Холера" />
              </coding>
              <coding>
                <system value="urn:oid:1.2.643.2.69.1.1.1.130" />
                <code value="1" />
                <display value="Туберкулез" />
              </coding>
              <coding>
                <system value="urn:oid:1.2.643.2.69.1.1.1.130" />
                <code value="15" />
                <display value="ХИБ-инфекция" />
              </coding>
            </valueCodeableConcept>
          </extension>
        </extension>
        <identifier>
          <system value="http://netrika.ru/iemk-identifier" />
          <value value="649" />
        </identifier>
        <identifier>
          <system value="ImmunizationType" />
          <value value="MedicalExemption" />
        </identifier>
        <status value="stopped" />
        <vaccineCode>
          <text value="Отсутствует" />
        </vaccineCode>
        <patient>
          <reference value="Patient/7db493ed-0b97-4133-ad0e-4e3d8a06fc03" />
        </patient>
        <wasNotGiven value="true" />
        <reported value="true" />
        <explanation>
          <reasonNotGiven>
            <coding>
              <system value="urn:oid:1.2.643.2.69.1.1.1.132" />
              <code value="3" />
              <display value="Отказ от прививки/пробы" />
            </coding>
          </reasonNotGiven>
        </explanation>
        <vaccinationProtocol>
          <doseSequence value="1" />
          <doseStatus>
            <text value="Не определен" />
          </doseStatus>
        </vaccinationProtocol>
      </Immunization>
    </resource>
  </entry>
</Bundle>

Получить Fhir-ресурс Immunization можно с помощью следующих методов:

  1. Получение общего количества Immunization по пациенту(-ам)
  2. Получение Immunization по его идентификатору

Immunization (Recommendation)

FHIR - ресурс ImmunizationRecommendation (https://www.hl7.org/fhir/DSTU2/immunizationrecommendation.html) предназначен для передачи данных о запланированных прививках/пробах, отображаемых на комплексный тип  ImmunizationPlan  SOAP-протокола сервиса ИЭМК, и является расширением ресурса Immunization: 

Требования к формированию FHIR - ресурса ImmunizationRecomendation:

ImmunizationRecomendation Описание Тип Кратность
identifier Идентификатор плана проведения иммунизации Identifier 1..1
extension, где url = "ImmunizationType"

Тип мероприятия иммунизации. Может принимать значение Vaccination (прививки) или Reaction (пробы).

Element 1..1
patient Ссылка на ИД карточки пациента в сервисе MPI, для которого передается план Reference (Patient) 1..1
recomendation.date Дата /время поступления записи.  dateTime 1..1
recomendation.vaccineCode Код инфекции, от которой защищает вакцина/для выявления которой проводится проба (Справочник OID:1.2.643.2.69.1.1.1.130). CodebleConcept 1..*
forecastStatus Готовность пациента к иммунизации, передается из пространства имен http://hl7.org/fhir/ValueSet/immunization-recommendation-status. Заглушка, всегда заполняется значением code=due - готов  CodebleConcept 1..1
dateCriterion Контейнер для передачи сведений о сроках проведения иммунизации CodebleConcept 1..1
dateCriterion.code Тип срока проведения иммунизации передается из пространства имен  https://www.hl7.org/fhir/DSTU2/valueset-immunization-recommendation-date-criterion.html.  Заглушка, всегда заполняется значением recommended  - рекомендованная дата вакцинации/пробы BackboneElement 1..1
dateCriterion.value Дата следующей явки на запланированную прививку/пробу.  dateTime 1..1
protocol.description Вид вакцинации.  string 1...1 если extension/valueString - Vaccination
0...1 если extension/valueString- Reaction

 Пример ресурса ImmunizationRecommendation

{
  "resourceType": "Bundle",
  "entry": [
    {
      "resource": {
        "resourceType": "ImmunizationRecommendation",
        "id": "649",
        "extension": [
          {
            "url": "ImmunizationType",
            "valueString": "Vaccination"
          }
        ],
        "patient": {
          "reference": "/Patient/5673c739-4b0e-4335-b388-953519c98e91"
        },
        "recommendation": [
          {
            "date": "16.03.2020 10:44:50",
            "vaccineCode": {
              "coding": [
                {
                  "system": "urn:oid:1.2.643.2.69.1.1.1.130",
                  "code": "27",
                  "display": "Холера"
                },
                {
                  "system": "urn:oid:1.2.643.2.69.1.1.1.130",
                  "code": "1",
                  "display": "Туберкулез"
                },
                {
                  "system": "urn:oid:1.2.643.2.69.1.1.1.130",
                  "code": "15",
                  "display": "ХИБ-инфекция"
                }
              ]
            },
            "forecastStatus": {
              "coding": [
                {
                  "system": "http://hl7.org/fhir/ValueSet/immunization-recommendation-status",
                  "code": "due"
                }
              ]
            },
            "dateCriterion": [
              {
                "code": {
                  "coding": [
                    {
                      "system": "http://hl7.org/fhir/immunization-recommendation-date-criterion",
                      "code": "recommended"
                    }
                  ]
                },
                "value": "2020-02-23T00:00:00+03:00"
              }
            ],
            "protocol": {
              "description": "RV86/4"
            }
          }
        ]
      }
    }
  ]
}

Получить Fhir-ресурс ImmunizationPlan можно с помощью следующих методов:

  1. Получение общего количества ImmunizationPlan по заданным параметрам
  2. Получение ImmunizationPlan по его идентификатору

AllergyIntolerance

FHIR - ресурс AllergyIntolerance (http://hl7.org/fhir/allergyintolerance.html) предназначен для передачи информации об аллергиях пациента и индивидуальной лекарственной непереносимости, отображаемых на комплексный тип AllergyBase SOAP-протокола сервиса ИЭМК, содержащий 2 подтипа:

  • AllergyDrug - для передачи данных об индивидуальной непереносимости лекарственных средств;
  • AllergyNonDrug - для передачи данных об индивидуальной непереносимости не лекарственных средств.

FHIR - ресурс AllergyIntolerance передает сведения в ИЭМК только об AllergyDrug.

AllergyIntolerance

Описание Тип Кратность
identifier Идентификатор записи об аллергии. Identifier 1...1
extension, где url содержит "Encounter" Ссылка на СМО. Reference (Encounter) 1...1
recordedDate Дата выявления. dateTime 1...1
patient ИД карточки пациента в сервисе MPI, у которого выявлена лекарственная аллергия. Reference (Patient) 1...1

substance

Передаются сведения о лекарственных средствах, на которые у пациента аллергическая реакция из  "system": "urn:oid:1.2.643.5.1.13.2.1.1.179" (из справочника "Классификатор международных непатентованных наименований лекарственных средств") в виде кода (code). CodebleConcept 1...1
category Категория вещества. Всегда передается тип "other". code 1...1
reaction.manifestation Передаются сведения о клинических проявлениях реакций на указанный лекарственный препарат из  "system": "urn:oid:1.2.643.5.1.13.13.11.1063" (из справочника "Основные клинические проявления патологических реакций для сбора аллергоанамнеза") в виде кода (code) CodebleConcept 1...1

 Пример ресурса AllergyIntollerance

{
  "resourceType": "Bundle",
  "entry": [
      {
      "resource": {
        "resourceType": "AllergyIntolerance",
        "id": "3",
        "extension": [
          {
            "url": "/Encounter/215"
          }
        ],
        "recordedDate": "08.10.2019",
        "patient": {
          "reference": "/Patient/167506fd-685d-46ef-b8f1-85f762958276"
        },
        "substance": {
          "coding": [
            {
              "system": "urn:oid:1.2.643.5.1.13.2.1.1.179",
              "code": "386"
            }
          ]
        },
        "category": "other",
        "reaction": [
          {
            "manifestation": [
              {
                "coding": [
                  {
                    "system": "urn:oid:1.2.643.5.1.13.13.11.1063",
                    "code": "1"
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  ]
}

Получить Fhir-ресурс AllergyIntolerance можно с помощью следующих методов:

  1. Получение общего количества AllergyIntollerance по пациенту(-ам)

MedicationAdministration и Medication

MedicationAdministration и Medication строятся из одного объекта ИЭМК, и поэтому, идентификатор записи MedicationAdministration и идентификатор Medication идентичны

MedicationAdministration

FHIR - ресурс MedicationAdministration (https://www.hl7.org/fhir/DSTU2/medicationadministration.html) предназначен для передачи информации о назначенных пациенту препаратах, отображаемых на комплексный тип AppointedMedication SOAP-протокола сервиса ИЭМК:

MedicationAdministration

Описание Тип Кратность
id Идентификатор записи о назначенных пациенту препаратах Identifier 1...1
status

Статус назначения: 

  • on-hold - назначено (false),
  • completed - применено (true).
code 1...1
patient Ссылка на ресурс Patient, с которым связан этот ресурс. Reference (Patient) 1...1
encounter Ссылка на ресурс Encounter, с которым связан этот ресурс. Reference (Encounter) 1...1
effectiveTimeDateTime Дата выдачи рецепта /назначения на препарат (IssueDate) dateTime 1...1

medicationReference

 

Ссылка на ресурс Medication, содержащий сведения о наименовании назначенного препарата, с которым связан этот ресурс Reference (Medication) 1...1

 Пример ресурса MedicationAdministration

{
	"resourceType": "Bundle",
	"entry": [
		{
			"resource": {
				"resourceType": "MedicationAdministration",
				"id": "2101",
				"status": "completed",
				"patient": {
					"reference": "Patient/4962f68a-7cf5-44d3-bde0-c309fa5037ce"
				},
				"encounter": {
					"reference": "Encounter/16340"
				},
				"effectiveTimeDateTime": "2020-03-03T11:25:15.57+03:00",
				"medicationReference": {
					"reference": "Medication/2101"
				}
			}
		}
	]
}

Получить Fhir-ресурс MedicationAdministration можно с помощью следующих методов:

  1. Получение сведений о назначении препаратов по его идентификатору

  2. Получение сведений о назначении препаратов по идентификатору пациента или СМО

Medication

FHIR - ресурс Medication (https://www.hl7.org/fhir/DSTU2/medication.html) предназначен для передачи информации о наименованиях назначенных пациенту препаратов, отображаемых на комплексный тип AppointedMedication SOAP-протокола сервиса ИЭМК:

Medication

Описание Тип Кратность
id Идентификатор записи о назначенных пациенту препаратах, идентичен идентификатору в MedicationAdministration. Identifier 1...1
meta.tag, где value = urn:oid:1.2.643.5.1.13.2.1.1.56 Код группы препаратов в зависимости от активного вещества (Справочник OID:1.2.643.5.1.13.2.1.1.56 "Анатомо-терапевтическо-химическая классификация"). CodebleValue 0...1
Code

Код лекарственного средства (Справочник OID: 1.2.643.5.1.13.2.1.1.179 или Справочник OID: 1.2.643.5.1.13.13.11.1367, в зависимости от региональных установок.)

Для уточнения, какой справочник используется в вашем регионе, обратитесь в ваш МИАЦ.

Code 1...1

 Пример ресурса Medication

{
	"resourceType": "Bundle",
	"entry": [
		{
			"resource": {
				"resourceType": "Medication",
				"id": "2101",
				"meta": {
					"tag": [
						{
							"system": "urn:oid:1.2.643.5.1.13.2.1.1.56",
							"code": "L02BG",
							"display": "Ферментов ингибиторы"
						}
					]
				},
				"code": {
					"coding": [
						{
							"system": "1.2.643.5.1.13.13.11.1367",
							"code": "220"
						}
					],
					"text": "Анастрозол"
				}
			}
		}
	]
}

Получить Fhir-ресурс Medication можно с помощью следующих методов:

  1. Получение сведений о назначенном препарате по его идентификатору/идентификатору назначения

Описание методов сервиса

Список методов

Сервис поддерживает следующие методы:

  1. Получение общего количества Encounter (СМО) по идентификатору(-ам)  пациента 

  2. Получение списка Encounter   по идентификатору(-ам)  пациента за период 
  3. Получение Encounter   по его идентификатору
  4. Получение списка документов по идентификатору случая
  5. Загрузка содержания документа в формате PDF
  6. Загрузка содержания документа в нативном формате
  7. Получение списка Procedure по пациенту(-ам) 
  8. Получение Procedure по его идентификатору
  9. Получение Procedure по идентификатору случая медицинского обслуживания

  10. Получение данных врача по его идентификатору
  11. Получение данных о подозрении на заболевание по его идентификатору
  12. Получение данных о диагнозе по его идентификатору
  13. Получение списка подозрений по дате выявления, коду диагноза и категории

  14. Получение списка диагнозов по пациенту(-ам)

  15. Получение общего количества Condition по пациенту

  16. Получение Observation по идентификатору случая
  17. Получение Observation по его идентификатору

  18. Получение Immunization по его идентификатору
  19. Получение общего количества Immunization по пациенту(-ам)
  20. Получение общего количества ImmunizationPlan по заданным параметрам
  21. Получение ImmunizationPlan по его идентификатору
  22. Получение общего количества AllergyIntollerance по пациенту(-ам)
  23. Получение сведений о назначении препаратов по его идентификатору
  24. Получение сведений о назначении препаратов по идентификатору пациента или СМО
  25. Получение сведений о назначенном препарате по его идентификатору/идентификатору назначения

Актуальный список методов, а также диагностическую информацию о работе Сервиса, можно получить по адресу: [ fhirproxy2 ]/Help.

Получение общего количества Encounter (СМО) по пациенту (-ам)

Получение общего количества случаев по пациенту происходит с помощью метода POST. В качестве адреса указывается URL  формате:

[base]/Encounter/_search

Тело запроса должно содержать следующие параметры:

  • patients - идентификаторы пациентов, по которым требуется выполнить поиск (перечисление делается через запятую ",")
  • summary = count - признак подсчета только количества .
Пример вызова метода
POST [base]/Encounter/_search
{
	"resourceType": "Parameters",
	"parameter": [{
		"name": "patients",
		"valueString": "c1d2ed45-0c19-4766-8d45-c637f48b8f3a, c1d2ed45-0c19-4766-8d45-c637f48b8f3a"
	},
	{
		"name": "summary",
		"valueString": "count"
	},
	]
}

Получение списка Encounter (СМО) по пациенту (-ам) за период

Получение общего количества случаев по пациенту происходит с помощью метода POST. В качестве адреса указывается URL  формате:

[base]/Encounter/_search

Тело запроса должно содержать следующие параметры:

  • patients - идентификаторы пациентов, по которым требуется выполнить поиск (перечисление делается через запятую ",");
  • count - размер массива результатов;
  • offset - смещение выборки;
  • date - дата или период выборки;
  • {sort_type} - признак сортировки результатов выборки.
Пример вызова метода
POST [base]/Encounter/_search
{
	"resourceType": "Parameters",
	"parameter": [
		{
			"name": "patients",
			"valueString": "22b3d76b-bb75-4eaf-b9c2-fd4b51a3563b, c1d2ed45-0c19-4766-8d45-c637f48b8f3a"
		},
		{
			"name": "count",
			"valueString": 5
		},
		{
			"name": "offset",
			"valueString": 0
		},
		{
			"name": "date",
			"valueString": {
				date
			}
		},
		{
			"name": "date",
			"valueString": {
				date
			}
		},
		{
			"name": {
				sort_type
			},
			"valueString": {
				sort_field
			}
		},
	]
} 

Получение Encounter (СМО) по его идентификатору

Получение общего количества случаев по пациенту происходит с помощью метода GET. В качестве адреса указывается URL  формате:

[base]/Encounter/{идентификатор случая медицинского обслуживания}
Пример вызова метода
GET [base]/Encounter/959

Получение списка DocumentReference по идентификатору случая

Получение списка документов (ресурсов DocumentReference) по идентификатору СМО происходит с помощью метода POST. В качестве адреса указывается URL формате:

[base]/DocumentReference/_search

Тело запроса должно содержать следующие параметры:

  • Encounter/I{dEncounter} - ссылка на случай медицинского обслуживания;

  • summary = true - признак загрузки только описательной части объекта DocumentReference (т.е. без вложения)
Пример вызова метода
POST [base]/DocumentReference/_search
 {
	"resourceType": "Parameters",
	"parameter": [{
		"name": "encounter",
		"valueString": "Encounter/5"
	},
	{
		"name": "summary",
		"valueString": "true"
	},
	]
}

Загрузка содержания DocumentReference в формате PDF

Загрузка содержания документа происходит с помощью метода GET и конвертируется, при необходимости, конвертируется в формат PDF. В качестве адреса указывается URL в формате:

[base]/DocumentReference/{идентификатор медицинского документа}?_format=json

Пример вызова метода

GET [base]/DocumentReference/4312?_format=json

Загрузка содержания DocumentReference в нативном формате

Загрузка содержания документа в нативнорм формате (ресурс DocumentReference) происходит с помощью метода GET и параметра mimeTypeOriginal=true. В качестве адреса указывается URL в формате:

[base]/DocumentReference/{идентификатор документа}?mimeTypeOriginal=true&_format=json

Пример вызова метода

GET [base]/DocumentReference/4312?mimeTypeOriginal=true&_format=json  

Примечание

Если данные в нативном  формате лежат в формате PDF, то они вернутся в формате PDF.

Получение списка Procedure по пациенту (-ам)

Получение общего количества случаев по пациенту происходит с помощью метода POST. В качестве адреса указывается URL  формате:

[base]/Procedure/_search?_format=json

Тело запроса должно содержать следующие параметры:

  • patients - идентификаторы пациентов, по которым требуется выполнить поиск (перечисление делается через запятую ",");

  • count - размер массива результатов;
  • offset - смещение выборки.
  • {sort_type} - признак сортировки результатов выборки.
Пример вызова метода
POST [base]/Procedure/_search?_format=json
{
    "resourceType": "Parameters",
    "parameter": [{
        "name": "patients",
        "valueString":"4E117E6C-34E8-4184-87E8-A3F4890C9FB0"
    }, 
   {
		"name": "count",
		"valueString": "1"
	},
	{
		"name": "offset",
		"valueString": "0"
	},
	{
		"name": "sort:desc",
		"valueString": "date"
	}
    ]
}

Получение Procedure по его идентификатору

Получение конкретного объекта Procedure происходит с помощью метода GET. В качестве адреса указывается URL  формате:

[base]/Procedure/{идентификатор операции}?_format=json

Пример вызова метода

[base]/Procedure/4809?_format=json

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

Получение списка Procedure по идентификатору СМО, происходит с помощью метода GET. В качестве адреса указывается URL  формате:

[base]/Procedure?encounter={идентификатор СМО}?_format=json

Пример вызова метода

[base]/Procedure?encounter=66666&_format=json

Получение данных врача по его идентификатору

Получение общего количества случаев по пациенту происходит с помощью метода GET. В ответе вернется несколько ресурсов Practicioner, которые были найдены, в случае, если данные врача были обновлены. В качестве адреса указывается URL  формате:

[base]/Practitioner/{идентификатор врача}

Пример вызова метода

 GET [base]/Practitioner/55959

Получение данных о подозрении на заболевание по его идентификатору

Получение данных о подозрении на заболевание происходит с помощью метода GET. В качестве адреса указывается URL  формате:

[base]/Condition/{идентификатор подозрения на заболевание}?_format=json&category=finding

Пример вызова метода

 GET [base]/Condition/2?_format=json&category=finding

Получение данных о диагнозе по его идентификатору

Получение данных о диагнозе по его идентификатору происходит с помощью метода GET. В качестве адреса указывается URL  формате:

[base]/Condition/{идентификатор диагноза}?_format=json&category=diagnosis

Пример вызова метода

 GET [base]/Condition/25874

Получение списка диагнозов по пациенту (-ам)

Получение списка диагнозов происходит с помощью метода POST. В качестве адреса указывается URL  формате: 

[base]/Condition/_search?_format=json

Тело запроса должно содержать  следующие параметры:  

  • patients - идентификаторы пациентов, по которым требуется выполнить поиск (перечисление делается через запятую ",");

  • count - размер массива результатов;
  • offset - смещение выборки.
Пример вызова метода
POST [base]/Condition/_search?_format=json
{
	"resourceType": "Parameters",
	"parameter": [{
		"name": "patients",
		"valueString": "da2c0f3a-e45f-4b8d-bcba-f4868d7a8690, 44137d60-5361-4194-8377-00c5cc5126c6"
	},
	{
		"name": "count",
		"valueString": "10"
	},
	{
		"name": "offset",
		"valueString": "1"
	}]
}

Получение списка подозрений по дате выявления, коду диагноза и категории

Получение списка подозрений, по указанной дате выявления, коду диагноза и категории (по умолчанию finding), может осуществляется 2-мя способами: с помощью метода GET и метода POST.

Метод GET:

В качестве адреса указывается URL  в формате:

GET [base]/Condition?dateRecorded=ge{дата}&dateRecorded=le{дата}&category=finding&code:text={код диагноза по МКБ-10}

Параметр dateRecorded (дата выявления подозрения) может отображать конкретную дату поиска, а также промежуток времени, за который он осуществляется: 

  • Если выбирается конкретная дата поиска, тогда дата задается в следующем формате: dateRecorded=yyyy-mm-dd. Например dateRecorded=2020-01-18
  • Если поиск осуществляется за промежуток дней, тогда даты задаются в следующем формате: dateRecorded=ge{yyyy-mm-dd}&dateRecorded=le{yyyy-mm-dd}, где ge - начало промежутка, le-конец промежутка дней в выборке. Например: dateRecorded=ge2020-02-10&dateRecorded=le2020-07-07

Параметр category по умолчанию задается значением finding

Параметр code:text задается кодом диагноза по МКБ-10:

  • Если нужна выборка по определенному диагнозу, тогда в параметре code:text указывается полный код по справочнику МКБ-10. Например code:text=Z03.1
  • Если нужна выборка по группе диагнозов, в параметре code:text указывается только буквенная часть кода. Например code:text=Z  
  • Если нужна выборка по нескольким группам/диагнозам, они указываются в параметре code:text через запятую. Например, code:text=C,D,Z03.1
 Пример вызова метода
GET [base]/Condition?dateRecorded=ge2020-02-10&dateRecorded=le2020-07-07&category=finding&code:text=Z03.1

В ответе метода выводится массив Condition за указанный в dateRecorded период/дату выявления, по обозначенному в запросе диагнозу/группе диагнозов, по категории finding.

Метод POST: 

В качестве адреса указывается URL  в формате:

POST [base]/Condition/_search?_format=json

Тело запроса должно содержать следующие обязательные параметры:

  • dateRecorded - дата выявления подозрения
  • code:text - код диагноза/код группы диагнозов (может быть указано несколько, перечисление через запятую)
  • category - тип

А также, тело запроса может содержать необязательный параметры:

  • count - количество выводимых ресурсов
  • offset - смещение

Принцип заполнения параметров аналогичный, как при вызове методом GET.

 Пример вызова метода
POST [base]/Condition/_search?_format=json
{
	    "resourceType":  "Parameters",
	    "parameter": [{
		        "name":  "code:text",
		        "valueString":  "C,D,Z03.1"    
	},
	    {
		        "name":  "count",
		        "valueString":  "100"    
	},
	    {
		        "name":  "category",
		        "valueString":  "finding"    
	},
	{
		        "name":  "dateRecorded",
		        "valueString":  "ge2020-02-10"    
	},
	{
		        "name":  "dateRecorded",
		        "valueString":  "le2020-07-10"    
	},
	{
        "name":"offset",
        "valueString":"0"
        }
	]
}

Получение общего количества Condition по пациенту

Получение общего количества Condition для типов Problem и Diagnosis, по идентификатору пациента,  происходит с помощью метода POST. В качестве адреса указывается URL  формате:

[base]/Condition/_search?_format=json

Тело запроса может содержать следующие параметры:

  • patients - идентификаторы пациентов, по которым требуется выполнить поиск (перечисление делается через запятую ",");
  • count - размер массива результатов;

  • offset - смещение выборки.

Пример вызова метода
POST [base]/Condition/_search?_format=json
{
 	"resourceType":"Parameters",
 	"parameter":[
 		{
		"name":"patients",
 		"valueString":"fde3c52a-1a4c-412f-b8db-2f623f05d835"
 		},
 		{
		"name":"count",
		"valueString":"7"
		 },
		 {
 		"name":"offset",
		"valueString":"0"
 		}
 	]
}

Для получения данных только по всем подозрениям на заболевания, необходимо в теле запроса добавить параметр: 

{
 	"name":"category",
 	"valueString":"finding"
}

Для получения данных только по всем диагнозам пациента, необходимо в теле запроса добавить параметр: 

{
 	"name":"category",
 	"valueString":"diagnosis"
}

Получение Observation по идентификатору случая

Получение списка Observation происходит с помощью метода POST. В качестве адреса указывается URL формате:

[base]/Observation/_search?_format=json

Тело запроса может содержать следующие параметры:

  • patients - идентификаторы пациентов, по которым требуется выполнить поиск (перечисление делается через запятую ",");
  • encounter - идентификатор СМО (idCase), в рамках которого требуется искать дочерние Оbservation;
  • count - размер массива результатов;

  • offset - смещение выборки.

  • {sort_type} - признак сортировки результатов выборки.

  • date - дата или период выборки;

Пример вызова метода
POST [base]/Observation/_search?_format=json
{
	"resourceType": "Parameters",
	"parameter": [
		{
			"name": "patients",
			"valueString": "8c3ab753-9b49-47eb-8651-a852418b7140"
		},
 		{
			"name": "encounter",
			"valueString": "32"
		},		
		{
			"name": "count",
			"valueString": "2"
		},
		{
			"name": "offset",
			"valueString": "0"
		},
		{
			"name": "date",
			"valueString": "19-08-2019"
		},
		{
			"name": "date",
			"valueString": "08-09-2019"
		},
		{
			"name": "sort:desc",
			"valueString": "date"
		}
	]
}

Получение Observation по его идентификатору

Получение конкретного объекта Observation происходит с помощью метода GET. В качестве адреса указывается URL  формате:

[base]/Observation/{идентификатор}?_format=json

Пример вызова метода

GET [base]/Observation/594?_format=json 

Получение Immunization по его идентификатору

Получение конкретного объекта Immunization происходит с помощью метода GET. При этом, имеется различие в GET - запросе, в зависимости от того, какой объект мы ищем, в рамках вакцинации, пробы или медицинского отвода. В качестве адреса указывается URL  формате:

[base]/Immunization/{идентификатор}?identifier=ImmunizationType|Reaction
[base]/Immunization/{идентификатор}?identifier=ImmunizationType|Vaccination
[base]/Immunization/{идентификатор}?identifier=ImmunizationType|MedicalExemption
Пример вызова метода
GET [base]/Immunization/3?identifier=ImmunizationType|Reaction
GET [base]/Immunization/25?identifier=ImmunizationType|Vaccination
GET [base]/Immunization/87?identifier=ImmunizationType|MedicalExemption

Получение общего количества Immunization по пациенту(-ам)

Получение списка всех Immunization по пациенту происходит с помощью метода POST. В качестве адреса указывается URL формате:

[base]/Immunization/_search?_format=json

Тело запроса может содержать следующие параметры:

  • patients - идентификаторы пациентов, по которым требуется выполнить поиск (перечисление делается через запятую ",");
  • count - размер массива результатов;
  • offset - смещение выборки.
Пример вызова метода
POST [base]/Immunization/_search?_format=json
{
    "resourceType": "Parameters",
    "parameter": [
        {
            "name": "patient",
            "valueString": "138BF80B-4C7F-4453-A402-67F527DE42C6"
        }
        {
            "name": "count",
            "valueString": "10"
        },
        {
            "name": "offset",
            "valueString": "0"
        }
    ]
} 

Если необходимо найти все случаи Immuniztion по пациенту в рамках определенного типа, например только Прививки,  необходимо в теле запроса добавить параметр "identifier":

{
	"name": "identifier",
	"valueString": "ImmunizationType|Vaccination"
}

В зависимости от того, по какому типу Immunization осуществляется поиск, необходимо использовать:

  • ImmunizationType|Vaccination - прививки;
  • ImmunizationType|Reaction - пробы;
  • ImmunizationType|MedicalExemption - мед.отводы.

Получение общего количества ImmunizationPlan по заданным параметрам

Получение списка всех ImmunizationPlan по заданным параметрам происходит с помощью метода POST. В качестве адреса указывается URL формате:

[base]/ImmunizationRecommendation/_search?_format=json

В качестве параметров могут быть указаны следующие:

  • patients - идентификаторы пациентов, по которым требуется выполнить поиск (перечисление делается через запятую ",");
  • identifier - id мероприятия иммунизации;
  • count - размер массива результатов;
  • offset - смещение выборки;
  • {sort_type} - признак сортировки результатов выборки;
  • date - дата или период выборки.
Пример вызова метода
POST [base]/ImmunizationRecommendation/_search?_format=json
{
    "resourceType": "Parameters",
    "parameter": [
        {
            "name": "patient",
            "valueString": "138BF80B-4C7F-4453-A402-67F247DE42C6"
        },
                {
            "name": "identifier",
            "valueString": "123"
        },
        {
            "name": "count",
            "valueString": "10"
        },
        {
            "name": "offset",
            "valueString": "0"
        },
		{
			"name": "_sort:asc",
			"valueString": "identifier"
		},
		{
			"name": "date",
			"valueString": "ge15-03-2020"
		},
		{
			"name": "date",
			"valueString": "le17-03-2020"
		}	
    ]
}

Получение ImmunizationPlan по его идентификатору

Получение конкретного объекта ImmunizationPlan происходит с помощью метода GET:

[base]\ImmunizationRecommendation\{id}
Пример вызова метода
GET [base]\ImmunizationRecommendation\12

Получение общего количества AllergyIntollerance по пациенту

Получение списка всех AllergyIntollerance по пациенту происходит с помощью метода POST. В качестве адреса указывается URL формате:

[base]/AllergyIntolerance/_search?_format=json

Тело запроса должно содержать параметр "patients" - идентификаторы пациентов, по которым требуется выполнить поиск (перечисление делается через запятую ",").

Пример вызова метода
POST [base]/AllergyIntolerance/_search?_format=json
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "patients",
      "valueString": "f9757b9d-ade4-4349-b334-f043bb12bd83,23d21091-af33-44a9-ae17-6e9f53d4b0fd"
    }
  ]
}

Получение сведений о назначении препаратов по его идентификатору

Получение сведений о назначении препаратов пациенту на основе идентификатора назначения, происходит с помощью метода GET. В качестве адреса указывается URL формате:

[base]/MedicationAdministration/{Идентификатор}

Тело запроса должно содержать параметр "patients" - идентификаторы пациентов, по которым требуется выполнить поиск (перечисление делается через запятую ",").

Пример вызова метода
GET [base]/MedicationAdministration/1

Получение сведений о назначении препаратов по идентификатору пациента или СМО

Получение списка всех назначений препаратов MedicationAdministration по идентификатору пациенту происходит с помощью метода POST. В качестве адреса указывается URL формате:

[base]/MedicationAdministration/_search?_format=json

Тело запроса может содержать параметры:

  • patients - идентификаторы пациентов через запятую
  • count - размер массива результатов;
  • offset - смещение выборки.
  • {sort_type} - признак сортировки результатов выборки.
  • date - дата или период выборки (выборка должна осуществляться по полю MedicineIssueTypeDate (Дата выдачи рецепта /назначения на препарат) таблицы PrescribedMedication);
  • encounter - идентификатор СМО (idCase), в рамках которого требуется искать дочерние MedicationAdministration

Пример вызова метода

POST [base]/MedicationAdministration/_search?_format=json
{
	"resourceType": "Parameters",
	"parameter": [{
		"name": "patients",
		"valueString": "DE417D25-E399-409D-96D6-F54C5B3EB6E7"
	},
	{
		"name": "encounter",
		"valueString": "130"
	},
	{
		"name": "summary",
		"valueString": "count"
	},
	]
}

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

Получение сведений о назначенном пациенту препарате на основе идентификатора назначения, происходит с помощью метода GET. В качестве адреса указывается URL формате:

[base]/Medication/{Идентификатор}

Пример вызова метода

GET [base]/Medication/1