FHIR

Ресурс FHIR «Пациент»: идентификаторы, имена, демографические данные и связи. Действующий пример

«Пациент» — ключевой ресурс FHIR. Узнайте о его идентификаторах, именах, поле, дате рождения, адресах, контактах, языках и связях. Как профили (US Core, IPS) его ограничивают. Пример R4 и ошибки интеграции.

автор Опубликовано 7 мин чтения

Краткий ответ: Patient — это ресурс FHIR, описывающий человека, получающего медицинскую помощь: кто он с административной точки зрения, а не что с ним не так. Он содержит идентификаторы (номера медицинских карт, национальные идентификаторы), имена, контактные данные (telecom), административный пол (gender), дату рождения (birthDate), адрес (address), семейное положение (maritalStatus), языки общения (communication), лечащего врача (generalPractitioner), организацию, оказывающую помощь (managingOrganization) и ссылки на другие записи Patient для того же человека. Каждое наблюдение (Observation), состояние (Condition), случай обращения (Encounter) или запись о назначении лекарств (MedicationStatement) ссылается на него через subject или patient. Клинические факты никогда не хранятся в Patient; они находятся в ресурсах, которые на него ссылаются.

Действительный пример FHIR R4

Действительный ресурс FHIR R4 Patient требует только resourceType, но на практике содержит как минимум один идентификатор с полем system и value, имя с полями family и given, пол и дату рождения. Пример ниже также указывает профиль IPS Patient в meta.profile и добавляет контактную информацию (telecom), адрес (address), предпочтительный язык (preferred language), лечащего врача (general practitioner) и управляющую организацию (managing organisation).

{
  "resourceType": "Patient",
  "id": "example",
  "meta": {"profile": ["http://hl7.org/fhir/uv/ips/StructureDefinition/Patient-uv-ips"]},
  "identifier": [{
    "use": "usual",
    "type": {"coding": [{"system": "http://terminology.hl7.org/CodeSystem/v2-0203", "code": "MR"}]},
    "system": "https://hospital.example.org/mrn",
    "value": "MRN-00012345"
  }],
  "active": true,
  "name": [{"use": "official", "family": "Doe", "given": ["Jane", "Marie"], "prefix": ["Ms"]}],
  "telecom": [{"system": "email", "value": "[email protected]", "use": "home"}],
  "gender": "female",
  "birthDate": "1980-05-23",
  "address": [{"use": "home", "line": ["12 High Street"], "city": "Leeds", "postalCode": "LS1 4AB", "country": "GB"}],
  "communication": [{"language": {"coding": [{"system": "urn:ietf:bcp:47", "code": "en-GB"}]}, "preferred": true}],
  "generalPractitioner": [{"reference": "Practitioner/gp-42"}],
  "managingOrganization": {"reference": "Organization/hospital"}
}

Важные элементы

Наиболее важными для интероперабельности элементами Patient являются идентификатор (identifier с полями system, value и type), имя (name с полями use, family и given), пол (administrative gender), дата рождения (birthDate), статус смерти (deceased), статус активности (active), контактная информация (contact) и связь (link). Идентификаторы и имена используются для сопоставления данных между системами, пол и дата рождения — это административные факты, а link показывает, как мастер-индекс пациентов связал дублирующиеся записи одного человека.

  • identifier — это список, каждый элемент которого содержит system (кто его выдал) и value. Поле type указывает, что это за идентификатор: MR — номер медицинской карты, NI — национальный идентификатор, PPN — паспорт, SS — номер социального страхования, из таблицы HL7 0203. У пациента обычно несколько идентификаторов; номер медицинской карты больницы и национальный идентификатор являются действительными, и системы сопоставляют их.
  • name — также список с полем use: official (официальное), usual (обычное), nickname (прозвище), maiden (девичья фамилия), old (старое). family — это одна строка; given — это список. Написание, транслитерация и порядок имен зависят от руководства по реализации конкретной страны.
  • gender — это административный пол с четырьмя значениями: male (мужской), female (женский), other (другой), unknown (неизвестно). Это то, что указано в записи, и используется для сопоставления и заполнения форм. Клинический пол, гендерная идентичность и местоимения указываются в расширениях (extensions) или в ресурсах Observation, что было формализовано в FHIR R5 и проекте Gender Harmony.
  • birthDate — это дата, опционально только год или год и месяц, если точная дата неизвестна. Расширение patient-birthTime добавляет время рождения для новорожденных.
  • deceased[x] — это булево значение или дата/время. active со значением false помечает запись, которая больше не должна использоваться (дубликат, перемещена), без ее удаления.
  • contact — список людей, с которыми можно связаться (близкие родственники, опекун), с кодом отношения; сами по себе они не являются ресурсами Patient. Родитель, который также является пациентом, будет RelatedPerson, ссылающимся на обоих.
  • link — связывает записи Patient, относящиеся к одному и тому же человеку: replaced-by (заменен на) и replaces (заменяет) после объединения, refer (ссылается на) авторитетную запись, seealso (см. также) для записи в другой системе. Именно так мастер-индекс пациентов выражает свои решения в FHIR; см. Сопоставление пациентов.

Что добавляют национальные профили

Национальные и международные профили FHIR превращают слабо определенный базовый ресурс Patient в нечто пригодное для использования, делая элементы обязательными и добавляя расширения, специфичные для страны. US Core требует идентификатор, имя и пол, а также добавляет расширения для расы, этнической принадлежности и биологического пола; профиль IPS Patient требует имя, пол и дату рождения; национальные профили определяют системы идентификаторов и форматы адресов.

Базовый ресурс делает почти все поля необязательными. Профили делают его пригодным для использования:

Профиль Требует Добавляет
US Core Patient (6.x) identifier, name, gender Расширения для расы, этнической принадлежности, пола при рождении, гендерной идентичности; обязательные поля для birthDate, address, telecom, communication
IPS Patient (uv-ips) name, gender, birthDate Указывает, что должно содержаться в сводке для трансграничного обмена; идентификатор рекомендуется
Национальные профили (DE Basisprofil, FR, NL nl-core, UK Core…) национальные системы идентификации, форматы адресов Специфичные для страны расширения: страховые номера, части имен, место жительства

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

Операции, которые вы будете использовать

Наиболее часто используемые операции FHIR с ресурсом Patient — это поиск по идентификатору или демографическим данным (GET /Patient с параметрами identifier, family или birthdate), операция $everything, которая возвращает пациента и все связанные с ним ресурсы, и $match, которая запрашивает у сервера алгоритм сопоставления для поиска вероятных дубликатов. Операция $merge стандартизируется в FHIR R5.

  • GET /Patient?identifier=https://hospital.example.org/mrn|MRN-00012345 находит пациента по идентификатору; ?family=doe&birthdate=1980-05-23 по демографическим данным.
  • GET /Patient/{id}/$everything возвращает пациента и все ресурсы, которые на него ссылаются, с разбивкой по страницам; это способ экспорта полной записи.
  • $match (где поддерживается) запрашивает у алгоритма сопоставления сервера вероятные дубликаты; $merge стандартизируется в R5.

Ошибки, которые нарушают записи пациентов

Ошибки, которые чаще всего нарушают корректность записей FHIR Patient, включают: сохранение национального идентификатора в resource id вместо identifier, пропуск поля identifier.system, что приводит к конфликтам значений из разных больниц, ввод всего имени в поле text без разделения на family и given, использование административного пола вместо биологического, а также редактирование объединенной записи вместо ее связывания и деактивации.

  • Помещение национального идентификатора в id. id ресурса принадлежит серверу и может измениться при импорте; идентификаторы должны находиться в identifier.
  • Одно поле name со всем текстом в text и без family/given, что приводит к сбоям при поиске по фамилии.
  • Использование gender для клинического пола или установка его в unknown, потому что в форме не было соответствующего поля.
  • Отсутствие identifier.system, что приводит к конфликту значений MRN-1 двух больниц.
  • Редактирование Patient на месте после объединения вместо связывания и деактивации.

В Anpheros

Anpheros представляет каждого человека, владельца учетной записи и каждый семейный профиль, как ресурс FHIR Patient на платформе Anpheros, и каждая запись, которую клиника добавляет через API, ссылается на этот Patient. Идентификаторы клиник сохраняются как дополнительные идентификаторы с собственной системой клиники, а демографические данные, которые человек вводит, остаются административными данными, на основе которых не делается никаких клинических выводов.

Когда клиника отправляет свой собственный идентификатор, он сохраняется как дополнительный identifier с системой клиники, чтобы одного и того же человека можно было найти с обеих сторон. Демографические данные, которые человек ввел в приложении, являются usual именем и административными данными; запись никогда не делает никаких клинических выводов на их основе.

Связанные страницы

Источники

Частые вопросы

Является ли Patient тем же самым, что и Person в FHIR?

Нет. Person — это административный ресурс, который связывает одного и того же человека в разных ролях (здесь Пациент, там Практикующий врач, где-то еще RelatedPerson). Клинические ресурсы ссылаются на Patient, а не на Person.

Куда помещаются аллергии и состояния?

В ресурсы AllergyIntolerance и Condition, которые ссылаются на Patient. Сам Patient содержит только административные данные.

Как записать новорожденного без имени?

С именем, у которого use равно temporary (временное) или пустое, birthDate с расширением patient-birthTime, и link на запись матери через RelatedPerson или расширение patient-mothersMaidenName, как указано в национальных профилях.

Может ли один ресурс Patient использоваться двумя больницами?

Каждая система хранит свой собственный ресурс Patient со своим id; они используют общие идентификаторы (национальный ID) и могут связывать записи. Сопоставление между системами — это задача мастер-индекса пациентов, а не ресурса.

Anpheros Platform

Попробуйте бесплатно в песочнице

Первый запрос FHIR за 5 минут. API HL7 FHIR R4 с встроенным согласием пациента: попробуйте в песочнице, затем подключите свое приложение или систему клиники.

Бесплатно · 30 синтетических пациентов · без карты

Это руководство носит информационный характер и не заменяет консультацию врача. Решения о своём здоровье принимайте вместе с врачом. В экстренной ситуации звоните по местному номеру экстренной помощи (112 в Европе).
Автор
Команда Anpheros

Anpheros создает медицинскую карту, которую пациент контролирует и может делиться с любой клиникой, на платформе HL7 FHIR R4, базирующейся в ЕС. Эти руководства помогут вам понять и организовать свое здоровье; они не заменяют вашего врача.

О Anpheros →