Как искать ресурсы fhir на основе значений расширений?

У меня есть набор fhir ресурсов в следующем виде:

<Basic>
    <meta>
      <versionId value="1.0"/>
      <lastUpdated value="2016-11-18T10:26:51Z"/>
      <profile value="http://stelar.org/StructureDefinition/stelar/profile/anthropometry"/>
    </meta>
    <text>
      <status value="generated"/>
    </text>
    <extension url="http://stelar.org/StructureDefinition/stelar/extension/const-sourceIdentifier">
      <cohortName value="TEST"/>
      <datasetName value="SEATONJEAug14A1"/>
      <archetypeName value="Abdo20wks"/>
    </extension>
    <extension url="http://stelar.org/StructureDefinition/stelar/extension/const-resourceTags">
      <valueString value="SEATON"/>
    </extension>
    <extension url="http://stelar.org/StructureDefinition/stelar/extension/anthropometryType">
      <valueCoding value="AnthropometricMeasure"/>
    </extension>
    <extension url="http://stelar.org/StructureDefinition/stelar/extension/subjectNo">
      <valueString value="5375"/>
    </extension>
    <extension url="http://stelar.org/StructureDefinition/stelar/extension/methodOfFollowUp">
      <valueCoding value="FollowUpMethod.ClinicVisit"/>
    </extension>
    <extension url="http://stelar.org/StructureDefinition/stelar/extension/followUp">
      <valueCoding value="FollowUp.SNRecruitment"/>
    </extension>
    <extension url="http://stelar.org/StructureDefinition/stelar/extension/variableLabel">
      <valueString value="Abdominal girth 20 week fetal scan (mm)"/>
    </extension>
    <extension url="http://stelar.org/StructureDefinition/stelar/extension/AIW">
      <valueDouble value="1841.0"/>
    </extension>
    <extension url="http://stelar.org/StructureDefinition/stelar/extension/subject">
      <valueCoding value="Person.StudySubject"/>
    </extension>
    <extension url="http://stelar.org/StructureDefinition/stelar/extension/clinicalType">
      <valueCoding value="ClinicalMeasurement.AnthropometricMeasure"/>
    </extension>
    <extension url="http://stelar.org/StructureDefinition/stelar/extension/dataSource">
      <valueCoding value="DataSource.ClinicalMeasurement"/>
    </extension>
    <extension url="http://stelar.org/StructureDefinition/stelar/extension/dataAnthropometricMeasure"/>
</Basic>

У меня есть много ресурсов с аналогичной структурой, в которых изменяется несколько констант, например значение http://stelar.org/StructureDefinition/stelar/extension/dataSource. Как мне построить запрос для поиска ресурсов, у которых есть dataSource как «DataSource.ClinicalMeasurement».

Я читал документацию о поиске, но, похоже, там нет никаких упоминаний о расширениях для поиска.

В качестве побочного примечания мне пришлось основывать все свои данные на типе ресурса Basic и использовать расширения по причинам, которые слишком не связаны, чтобы приводить их здесь.


person Andy    schedule 18.11.2016    source источник
comment
Ваш ресурс построен неправильно. Значение valueCoding состоит из одного или нескольких полей, поэтому должно выглядеть как ‹valueCoding› ‹code value = FollowUpMethod.ClinicVisit /› ‹/valueCoding›, желательно также с заполненным системным значением. Также в самом первом расширении вы добавили имена полей, не совместимые с FHIR. См. hl7.org/fhir/extensibility.html для правильного построения. Кроме того, Double не является типом данных FHIR, поэтому у вас не может быть valueDouble. И последнее расширение пусто, что недопустимо. Я бы посоветовал вам прочитать спецификацию или пройти курс обучения FHIR   -  person Mirjam Baltus    schedule 21.11.2016
comment
Привет, Мирджам, спасибо за внимание. Есть ли способ проверить правильность моих расширений / профиля? Я прочитал спецификацию, но диапазон возможных ошибок довольно широк. Я загрузил их в упрощатель, который подтверждает их правильность, и когда я загружаю их в HAPI, он также создает их правильно. Я только что удалил узел url (который требуется) из определения структуры и успешно загрузил его, поэтому могу только предположить, что HAPI по умолчанию не проверяет StructureDefinitions.   -  person Andy    schedule 21.11.2016
comment
Обычно сервер HAPI выполнял базовую проверку, но, похоже, сейчас она не работает. Я полагаю, что Грэхем указал вам на валидатор Java в другом вопросе, но это было для STU3. См. hl7.org/fhir/downloads.html в разделе «Валидатор» для версии DSTU2. Вы можете использовать это для проверки своих ресурсов. Или вы можете попробовать загрузить ресурс на spark.furore.com/fhir, который действительно выполняет базовую проверку. Или просмотрите hapifhir.io/doc_validation.html, чтобы встроить проверку в свое приложение Java.   -  person Mirjam Baltus    schedule 21.11.2016


Ответы (1)


Вы можете определить свой собственный экземпляр SearchParameter, который определяет, как запрашивать, используя любой элемент или комбинацию элементов - расширение или ядро. И вы можете использовать ресурс Conformance вашего сервера для определения поддерживаемых вами SearchParameters и того, какие имена следует использовать для этих параметров поиска.

person Lloyd McKenzie    schedule 18.11.2016
comment
Спасибо за ответ, есть примеры, как это сделать? Я заметил, что несколько источников теперь заявляют, насколько важна расширяемость, и что расширения являются гражданами первого класса в fhir, но я не видел ни одной документации, в которой говорилось бы о поиске по значению расширения или каких-либо примеров. Я неправильно смотрю на проблему? - person Andy; 19.01.2017
comment
Существуют примеры экземпляров SearchParameter и примеров Conformance / CapabilityStatement, ссылающихся на SearchParameter, но ни один из них не показывает SearchParameter, выполняющего поиск по расширению, о котором я знаю, либо в основной спецификации HL7, либо в любом из публикуемых нами IG - просто этого не произошло. появиться. (У меня еще не было необходимости ни в одном из моих IG, отличных от HL7.) Не стесняйтесь отправлять запрос на изменение, защищающий включение такого примера в спецификацию. - person Lloyd McKenzie; 19.01.2017
comment
Хорошо, спасибо, я только что попробовал это сделать, но я не могу загрузить SearchParameters. Я выполняю POST для {{URL}} / SearchParameter при стандартной установке hapi и получаю ответ 403. Есть ли другой способ добавить параметры поиска на сервер fhir? - person Andy; 24.01.2017
comment
Публикация SearchParameter не генерирует автоматически поддержку кода (по крайней мере, для большинства серверов). Без дополнительных подробностей сложно диагностировать ошибку 403 с точки зрения того, почему она не позволяет вам сохранить параметр поиска. Если вы хотите узнать, как настроить HAPI для поддержки настраиваемого параметра поиска, я бы спросил в потоке HAPI на chat.fhir.org (chat.fhir.org/#narrow/stream/hapi) - person Lloyd McKenzie; 24.01.2017