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