FHIR: несколько профилей для одного ресурса?

Что делать, если мой сервер FHIR должен поддерживать несколько профилей, и у них есть конфликты, например один и тот же ресурс включен в оба профиля?

Как разрешить этот конфликт на уровне протокола? Насколько я понимаю, URL ресурса всегда должен быть одинаковым (/Patient, а не /PatientUSCore + /PatientCarinBB).

Кроме того, как это должно выглядеть в Заявлении о возможностях? Я вижу, что у каждого ресурса может быть только один профиль, а не массив.

Поддерживает ли HAPI FHIR такую ​​вещь?


person silent-box    schedule 08.05.2020    source источник


Ответы (1)


CapabilityStatement определяет возможности вашей внутренней системы - то есть, какие элементы данных вы действительно можете получать, хранить или выдавать. Как правило, можно одновременно работать с несколькими профилями - вам просто нужно выплеснуть все элементы данных, кодировки, расширения и т. Д., Необходимые кому-либо. Проблемы возникают там, где профили неправильно устанавливают максимумы. Очень плохая практика - говорить что-то вроде «Имя пациента - 1..1». Правильный подход состоит в том, чтобы в профиле говорилось: «Из всех существующих имен пациентов должно быть только одно, которое помечено как допустимое имя, не имеет даты окончания (и, возможно, имеет расширение, объявляющее его как ' Юридическое название в США) ". Такой подход означает, что система может создать единый интерфейс, который предоставляет соответствующие данные всем, а системы-потребители могут использовать данные, которые им важны. В противном случае вам придется создавать, поддерживать и предоставлять разные интерфейсы разным потребителям, что создает дополнительные начальные и текущие затраты.

В некоторых случаях возможно объявить соответствие нескольким профилям, но обычно рекомендуется не объявлять профили вообще (поскольку маловероятно, что вы когда-нибудь объявите все профили, которые будут интересны большинству потребителей). Вместо этого клиентские приложения будут определять валидность по отношению к тем профилям, которые им важны, если / когда они им нужны.

person Lloyd McKenzie    schedule 08.05.2020
comment
Спасибо за ответ! Когда вы говорите вообще не объявлять профили, вы имеете в виду, что в заявлении о возможностях мне нужно указать профиль hl7.org, но добавить все расширения / кодировки / элементы из поддерживаемых профилей для этого ресурса? - person silent-box; 08.05.2020
comment
Я имел в виду в примерах, хотя объявление профилей также не является обязательным в CapabilityStatement. Технически есть два места для профилей - resource.profile указывает базовые возможности системы, а resource.supportedProfile указывает, какие профили распознаются и соблюдаются. - person Lloyd McKenzie; 09.05.2020