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

Профиль ресурса: Уведомление для пациента

Официальный URL: https://fhir.by/StructureDefinition/PatientNotification
Unknown as of 2026-06-25 Имя: PatientNotification

Профиль для создания ресурса Уведомление для пациента

Описание профиля:

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

В ресурсе, созданном на базе данного профиля, передается следующая информация:

  • статус уведомления: in-progress (создано) | completed (прочитано);
  • время создания уведомления;
  • время прочтения уведомления пациентом;
  • ссылка на пациента, которому адресовано уведомление;
  • содержание уведомления.

Ресурс Уведомление для пациента создается в ЦИСЗ с целью информирования пациента о появлении или изменении статусов любых событий, имеющих отношение к пациенту.

ЦИСЗ отправляет уведомление для пациента по каналам, указанным пациентом (TG, Email, СМС), и сохраняет в базе данных для возможности получения ресурса Уведомление для пациента в личном кабинете пациента (ЛКП) по следующему запросу:

GET [FHIR_BASE]/Patient/[patientId]/Communication?_profile=https://fhir.by/StructureDefinition/PatientNotification

Правила изменения статуса ресурса:

  • ресурс Уведомление для пациента создается со статусом in-progress;
  • когда пациент открывает и читает уведомление в ЛКП, статус ресурса изменяется на completed и одновременно передается время прочтения уведомления пациентом received;
  • пациент имеет возможность удалять уведомления.

Использование:

You can also check for usages in the FHIR IG Statistics

Контент профиля

Описание профилей и принципов работы различных представлений..

Профиль ресурса: Communication

НаименованиеФлагиКарта.ТипОписание и ограничения    Filter: Filtersdoco
.. Communication C 0..* Communication A clinical or business level record of information being transmitted or shared
Constraints: NotificationStatusRule
... meta 1..1 Meta Метаданные о ресурсе
.... id 0..0 Уникальный идентификатор для межэлементных ссылок
.... extension 0..0 Extension
.... lastUpdated 0..1 instant Дата и время последнего обновления
.... source 0..0 Определяет, откуда берется ресурс
.... profile 1..1 canonical(StructureDefinition) Ссылка на профиль
Требуемый шаблон: https://fhir.by/StructureDefinition/PatientNotification
.... security 0..0 Метки безопасности, примененные к этому ресурсу
.... tag 0..0 Теги, применяемые к этому ресурсу
... implicitRules 0..0 Набор правил, в соответствии с которыми был создан этот контент
... language 0..0 Language of the resource content
... text 0..0 Краткое изложение текста ресурса для интерпретации человеком
... contained 0..0 Автономные встроенные ресурсы
... extension 0..0 Extension
... modifierExtension 0..0 Extension
... identifier 0..0 Unique identifier
... instantiatesCanonical 0..0 Instantiates FHIR protocol or definition
... instantiatesUri 0..0 Instantiates external protocol or definition
... basedOn 0..0 Request fulfilled by this communication
... partOf 0..0 Часть события, на которое ссылается ссылка (e.g. Communication, Procedure)
... inResponseTo 0..0 Reply to
... status 1..1 code Статус уведомления: 'in-progress' (создано) | 'completed' (прочитано)
... statusReason 0..0 Reason for current status
... category 0..0 Message category
... priority 0..0 routine | urgent | asap | stat
... medium 0..0 A channel of communication
... subject 1..1 Reference(Пациент | Пациент без ИН) Пациент, которому адресовано сообщение
.... id 0..0 Уникальный идентификатор для межэлементных ссылок
.... extension 0..0 Extension
.... reference 1..1 string Ссылка на ресурс в виде относительного URL
... topic 0..0 Description of the purpose/content
... about 0..0 Resources that pertain to this communication
... encounter 0..0 The Encounter during which this Communication was created
... sent 1..1 dateTime Время создания уведомления
... received 0..1 dateTime Время прочтения уведомления пациентом
... recipient 0..0 Who the information is shared with
... sender 0..0 Who shares the information
... reason 0..0 Indication for message
... payload 2..2 BackboneElement Содержание уведомления
.... id 0..0 Уникальный идентификатор для межэлементных ссылок
.... extension 0..0 Extension
.... modifierExtension 0..0 Extension
.... content[x] 1..1 Attachment Message part content
..... id 0..0 Уникальный идентификатор для межэлементных ссылок
..... extension 0..0 Extension
..... contentType 1..1 code Mime-тип содержимого, с кодировкой и т.д.
Привязка: Формат уведомления (required)
..... language 0..0 Human language of the content (BCP-47)
..... data 1..1 base64Binary Встроенные данные, основанные на base64ed
..... url 0..0 Uri, по которому можно найти данные
..... size 0..0 Number of bytes of content (if url provided)
..... hash 0..0 Хэш данных (sha-1, base64ed)
..... title 0..0 Метка для отображения вместо данных
..... height 0..0 Height of the image in pixels (photo/video)
..... width 0..0 Width of the image in pixels (photo/video)
..... frames 0..0 Number of frames if > 1 (photo)
..... duration 0..0 Length in seconds (audio / video)
..... pages 0..0 Number of printed pages
... note 0..0 Comments made about the communication

doco Документация для этого формата

Терминологические привязки (дифференциал)

Путь Статус Использование ValueSet Версия Источник
Communication.payload.​content[x].contentType Base required Формат уведомления 📦0.2.6803 этот IG

Ограничения

Id Градация Путь(и) Описание Выражение
NotificationStatusRule error Communication Статус ресурса может иметь значения in-progress | completed status = 'in-progress' or status = 'completed'
НаименованиеФлагиКарта.ТипОписание и ограничения    Filter: Filtersdoco
.. Communication C 0..* Communication A clinical or business level record of information being transmitted or shared
Constraints: NotificationStatusRule
... id Σ 0..1 id Логический идентификатор этого артефакта
... meta Σ 1..1 Meta Метаданные о ресурсе
.... extension 0..0 Extension
Разрез: Не упорядочено, Открыто от value:url
.... versionId Σ 0..1 id Идентификатор конкретной версии
.... lastUpdated Σ 0..1 instant Дата и время последнего обновления
.... profile Σ 1..1 canonical(StructureDefinition) Ссылка на профиль

Требуемый шаблон: https://fhir.by/StructureDefinition/PatientNotification
... status ?!Σ 1..1 code Статус уведомления: 'in-progress' (создано) | 'completed' (прочитано)
Привязка: EventStatus (required): The status of the communication.
.... extension 0..0 Extension
Разрез: Не упорядочено, Открыто от value:url
.... reference ΣC 1..1 string Ссылка на ресурс в виде относительного URL
.... type Σ 0..1 uri Тип ресурса
Привязка: ResourceType (extensible): Ресурс (или, для логических моделей, URI логической модели).
.... identifier ΣC 0..1 Identifier Идентификатор ресурса, если не известна ссылка на него
.... display ΣC 0..1 string Текстовая трактовка ресурса
... sent 1..1 dateTime Время создания уведомления
... received 0..1 dateTime Время прочтения уведомления пациентом
... payload 2..2 BackboneElement Содержание уведомления
.... content[x] 1..1 Attachment Message part content
..... extension 0..0 Extension
Разрез: Не упорядочено, Открыто от value:url
..... contentType ΣC 1..1 code Mime-тип содержимого, с кодировкой и т.д.
Привязка: Формат уведомления (required)
Пример General: text/plain; charset=UTF-8, image/png
..... data C 1..1 base64Binary Встроенные данные, основанные на base64ed
..... creation Σ 0..1 dateTime Дата создания вложения в первый раз

doco Документация для этого формата

Привязки к терминологии

Путь Статус Использование ValueSet Версия Источник
Communication.status Base required EventStatus 📍5.0.0 Стандарт FHIR
Communication.subject.​type Base extensible Resource Types 📍5.0.0 Стандарт FHIR
Communication.payload.​content[x].contentType Base required Формат уведомления 📦0.2.6803 этот IG

Ограничения

Id Градация Путь(и) Описание Выражение
NotificationStatusRule error Communication Статус ресурса может иметь значения in-progress | completed status = 'in-progress' or status = 'completed'
dom-2 error Communication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Communication If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Communication If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Communication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 лучшая практика Communication A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ВСЕ** элементы All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())

Профиль ресурса: Communication

Summary

Обязательный: 7 элементs
Запрещено: 45 элементs

Структуры

Эта структура относится к этим другим структурам:

Полная Схема

НаименованиеФлагиКарта.ТипОписание и ограничения    Filter: Filtersdoco
.. Communication C 0..* Communication A clinical or business level record of information being transmitted or shared
Constraints: NotificationStatusRule
... id Σ 0..1 id Логический идентификатор этого артефакта
... meta Σ 1..1 Meta Метаданные о ресурсе
.... extension 0..0 Extension
Разрез: Не упорядочено, Открыто от value:url
.... versionId Σ 0..1 id Идентификатор конкретной версии
.... lastUpdated Σ 0..1 instant Дата и время последнего обновления
.... profile Σ 1..1 canonical(StructureDefinition) Ссылка на профиль

Требуемый шаблон: https://fhir.by/StructureDefinition/PatientNotification
... status ?!Σ 1..1 code Статус уведомления: 'in-progress' (создано) | 'completed' (прочитано)
Привязка: EventStatus (required): The status of the communication.
.... extension 0..0 Extension
Разрез: Не упорядочено, Открыто от value:url
.... reference ΣC 1..1 string Ссылка на ресурс в виде относительного URL
.... type Σ 0..1 uri Тип ресурса
Привязка: ResourceType (extensible): Ресурс (или, для логических моделей, URI логической модели).
.... identifier ΣC 0..1 Identifier Идентификатор ресурса, если не известна ссылка на него
.... display ΣC 0..1 string Текстовая трактовка ресурса
... sent 1..1 dateTime Время создания уведомления
... received 0..1 dateTime Время прочтения уведомления пациентом
... payload 2..2 BackboneElement Содержание уведомления
.... content[x] 1..1 Attachment Message part content
..... extension 0..0 Extension
Разрез: Не упорядочено, Открыто от value:url
..... contentType ΣC 1..1 code Mime-тип содержимого, с кодировкой и т.д.
Привязка: Формат уведомления (required)
Пример General: text/plain; charset=UTF-8, image/png
..... data C 1..1 base64Binary Встроенные данные, основанные на base64ed
..... creation Σ 0..1 dateTime Дата создания вложения в первый раз

doco Документация для этого формата

Привязки к терминологии

Путь Статус Использование ValueSet Версия Источник
Communication.status Base required EventStatus 📍5.0.0 Стандарт FHIR
Communication.subject.​type Base extensible Resource Types 📍5.0.0 Стандарт FHIR
Communication.payload.​content[x].contentType Base required Формат уведомления 📦0.2.6803 этот IG

Ограничения

Id Градация Путь(и) Описание Выражение
NotificationStatusRule error Communication Статус ресурса может иметь значения in-progress | completed status = 'in-progress' or status = 'completed'
dom-2 error Communication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Communication If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Communication If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Communication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 лучшая практика Communication A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ВСЕ** элементы All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())

Схема различий

Профиль ресурса: Communication

НаименованиеФлагиКарта.ТипОписание и ограничения    Filter: Filtersdoco
.. Communication C 0..* Communication A clinical or business level record of information being transmitted or shared
Constraints: NotificationStatusRule
... meta 1..1 Meta Метаданные о ресурсе
.... id 0..0 Уникальный идентификатор для межэлементных ссылок
.... extension 0..0 Extension
.... lastUpdated 0..1 instant Дата и время последнего обновления
.... source 0..0 Определяет, откуда берется ресурс
.... profile 1..1 canonical(StructureDefinition) Ссылка на профиль
Требуемый шаблон: https://fhir.by/StructureDefinition/PatientNotification
.... security 0..0 Метки безопасности, примененные к этому ресурсу
.... tag 0..0 Теги, применяемые к этому ресурсу
... implicitRules 0..0 Набор правил, в соответствии с которыми был создан этот контент
... language 0..0 Language of the resource content
... text 0..0 Краткое изложение текста ресурса для интерпретации человеком
... contained 0..0 Автономные встроенные ресурсы
... extension 0..0 Extension
... modifierExtension 0..0 Extension
... identifier 0..0 Unique identifier
... instantiatesCanonical 0..0 Instantiates FHIR protocol or definition
... instantiatesUri 0..0 Instantiates external protocol or definition
... basedOn 0..0 Request fulfilled by this communication
... partOf 0..0 Часть события, на которое ссылается ссылка (e.g. Communication, Procedure)
... inResponseTo 0..0 Reply to
... status 1..1 code Статус уведомления: 'in-progress' (создано) | 'completed' (прочитано)
... statusReason 0..0 Reason for current status
... category 0..0 Message category
... priority 0..0 routine | urgent | asap | stat
... medium 0..0 A channel of communication
... subject 1..1 Reference(Пациент | Пациент без ИН) Пациент, которому адресовано сообщение
.... id 0..0 Уникальный идентификатор для межэлементных ссылок
.... extension 0..0 Extension
.... reference 1..1 string Ссылка на ресурс в виде относительного URL
... topic 0..0 Description of the purpose/content
... about 0..0 Resources that pertain to this communication
... encounter 0..0 The Encounter during which this Communication was created
... sent 1..1 dateTime Время создания уведомления
... received 0..1 dateTime Время прочтения уведомления пациентом
... recipient 0..0 Who the information is shared with
... sender 0..0 Who shares the information
... reason 0..0 Indication for message
... payload 2..2 BackboneElement Содержание уведомления
.... id 0..0 Уникальный идентификатор для межэлементных ссылок
.... extension 0..0 Extension
.... modifierExtension 0..0 Extension
.... content[x] 1..1 Attachment Message part content
..... id 0..0 Уникальный идентификатор для межэлементных ссылок
..... extension 0..0 Extension
..... contentType 1..1 code Mime-тип содержимого, с кодировкой и т.д.
Привязка: Формат уведомления (required)
..... language 0..0 Human language of the content (BCP-47)
..... data 1..1 base64Binary Встроенные данные, основанные на base64ed
..... url 0..0 Uri, по которому можно найти данные
..... size 0..0 Number of bytes of content (if url provided)
..... hash 0..0 Хэш данных (sha-1, base64ed)
..... title 0..0 Метка для отображения вместо данных
..... height 0..0 Height of the image in pixels (photo/video)
..... width 0..0 Width of the image in pixels (photo/video)
..... frames 0..0 Number of frames if > 1 (photo)
..... duration 0..0 Length in seconds (audio / video)
..... pages 0..0 Number of printed pages
... note 0..0 Comments made about the communication

doco Документация для этого формата

Терминологические привязки (дифференциал)

Путь Статус Использование ValueSet Версия Источник
Communication.payload.​content[x].contentType Base required Формат уведомления 📦0.2.6803 этот IG

Ограничения

Id Градация Путь(и) Описание Выражение
NotificationStatusRule error Communication Статус ресурса может иметь значения in-progress | completed status = 'in-progress' or status = 'completed'

Профиль ресурса: Communication

Summary

Обязательный: 7 элементs
Запрещено: 45 элементs

Структуры

Эта структура относится к этим другим структурам:

 


Примечания:

Синтаксис метода получения ресурса

Метод получения осуществляет доступ к текущему содержимому ресурса. Взаимодействие осуществляется с помощью HTTP GET команды:

GET [FHIR_BASE]/Patient/[patientId]/Communication/[id]

Метод возвращает один экземпляр ресурса.

Возможные значения логического идентификатора («id») описаны в типе Id

При попытке доступа к несуществующему ресурсу будет возвращен HTTP статус код - 404 Not Found

Синтаксис поиска ресурса

Во всех поисковых взаимодействиях, кроме ресурса Patient, в этом руководстве используется HTTP GET команда со следующим синтаксисом:

GET [FHIR_BASE]/Patient/[patientId]/[Resource-type]?[parameter1]{:m1|m2|...}={c1|c2|...}[value1{,value2,...}]{&[parameter2]{:m1|m2|...}={c1|c2|...}[value1{,value2,...}]&...}

  • GET — это HTTP метод, используемый для получения ресурса.

  • Переменные указанные в «[]», обязательны для предоставления клиентом и будут заменены указанным строковым литералом.

  • Переменные указанные в «{}», не являются обязательными для предоставления клиентом и будут заменены указанным строковым литералом.

  • FHIR_BASE: URL-адрес сервера

  • Resource-type: имя типа ресурса (например, Communication).

  • patientId: идентификатор пациента для которого будет производится поиск по связаным лицам.

  • parameter: параметры поиска, определенные для конкретного взаимодействия (например, «?status=completed»).

  • value: значение параметра поиска

  • {:m1 m2 …}: модификатор параметра поиска

  • {c1 c2 …}: компаратор параметра поиска

  • {,value2,…}: логическое ИЛИ

  • {&parameter2={:m1 m2 …}={c1 c2 …}[value1{,value2,…}]&…}: логическое И

Простой пример запроса поиска в RESTful с использованием HTTP GET команды:

GET [FHIR_BASE]/Patient/[patientId]/Communication?name=value&...

Поддерживаемые параметры поиска ресурса

Параметр поиска Тип Описание Выражение Пример
_id token По логическому идентификатору Communication.id GET [FHIR_BASE]/Patient/[patientId]/Communication?_id=00001
_profile reference По профилю Communication Communication.meta.profile GET [FHIR_BASE]/Patient/[patientId]/Communication?_profile=https://fhir.by/StructureDefinition/PatientNotification
_lastUpdated date По дате последнего изменения (создания) Communication.meta.lastUpdated GET [FHIR_BASE]/Communication?_lastUpdated=2025-05-05T10:30:00Z
patient reference По пациенту, которому адресовано сообщение Communication.subject.where(resolve() is Patient) (Patient) GET [FHIR_BASE]/Patient/[patientId]/Communication?patient=Patient001
subject reference По пациенту, которому адресовано сообщение Communication.subject(Patient) GET [FHIR_BASE]/Patient/[patientId]/Communication?subject=Patient001
status token Статус процедуры Communication.status GET [FHIR_BASE]/Patient/[patientId]/Communication?status=completed
sent date По времени создания уведомления Communication.sent GET [FHIR_BASE]/Patient/[patientId]/Communication?sent=gt2024-08-22T10:20:00+00:00&lt2024-08-22T10:30:00+00:00

Необходимо добавить описание Прав доступа!!!!!!

Для добавления описания нужно добавить файл input/rules/StructureDefinition-PatientNotification-rules.md