2016-10-17 14 views
2

Я пытался обернуть голову вокруг авторинга профилей в FHIR. Проблема, с которой я столкнулась, связана с использованием расширений.Может кто-нибудь объяснить расширения FHIR?

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

Это чувствует себя очень чуждо мне, как в нашей собственной системе хранения, у нас есть эквивалент профилей, и у них есть свойства о них (которые, как я думаю, похожи на элементы в fhir), однако свойство предназначено только для хранения один тип вещи; например у вас может быть профиль пациента, который имеет свойства DOB, ethniticy, идентификатор и т. д. Я действительно не понимаю, какие профили используются в контексте fhir, похожи ли они на мои свойства? Могу ли я использовать параметр, чтобы ограничить тип данных, который может иметь экземпляр профиля для определенного элемента?

Есть ли какая-то лучшая документация, чем спецификация? Мне очень сложно справиться.

ответ

4

Расширения FHIR используются для ввода дополнительных элементов данных, если для стандартного определения нет полей. Девичья фамилия матери - пример этого для ресурса пациента. использование пристройки является стандартным механизмом FHIR и всегда будет выглядеть следующим образом:

<extension> 
    <url value="http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName"/> 
    <valueString value="Williams"/> 
</extension> 

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

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

  1. иметь возможность добавлять данные, когда нет поля данных для него в спецификации (то есть расширение спецификации)
  2. ограничивают спецификацию в тех местах, где вы должны быть более жесткими, например, сделать дополнительное поле обязательно (то есть ограничение на спецификации, также называется профилем)

Я рекомендую просматривал некоторые из профилей и их описаний на Simplifier хранилище, чтобы получить представление о том, почему люди создают профили на FHIR.

+0

Хорошо, спасибо, я буду копаться здесь. Но вот пример того, что мне трудно понять. Взгляните на обзор и xml-представление этого расширения: https://simplifier.net/core-extensions/allergyintolerance-resolutionAge/xmlview Обзор показывает, что он имеет только URL-адрес и значение valueQuantity, но элементы определение в xml имеет 4 разных узла xml. Где дает распад в отношении того, что на самом деле делает каждый? – Andy

+0

Да, для использования расширения вы просто имеете элементы url и valueQuantity, как в моем примере раньше. –

+0

В определении у вас есть некоторые вещи верхнего уровня, определяемые где path = Extension, вы указываете Extension.extension, чтобы не присутствовать (для сложных расширений вы определяете вложенные расширения), а затем вы увидите Extension.url и Extension .value [x] частей, определяющих возможности канонического url и значения. К счастью, инструмент Forge уже заботится о первых двух частях для вас, и вы просто укажете последние два. –