Current Build

Переводит компания Health Samurai . Приглашаем поучаствовать в русификации стандарта FHIR: GitHub , Email.

2.34 Ресурс Basic - Назначение

FHIR Infrastructure Work GroupMaturity Level: 1 Trial UseSecurity Category: Not Classified Compartments: Patient, Practitioner, RelatedPerson

Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification.

Basic - особый тип ресурса. В отличие от остальных ресурсов он не соответствует никакому конкретному предопределенному HL7-понятию. Вместо этого он является бланком для любого ресурсоподобного понятия, которое пока что не определено в спецификации HL7.

Ресурс Basic предназначен для использования в трех случаях:

  1. Когда реализатору требуется ресурс, который, возможно, будет определен HL7 в будущем, но они еще не сделали этого (из-за проблем с пропускной способностью, отсутствием достаточных требований, низким приоритетом и т. д.)
  2. Когда есть необходимость передать только описательную часть, которая не соответствует четко одному из других ресурсов либо потому, что она сочетает в себе аспекты нескольких ресурсов (например Assessment + Plan), или потому что допустимое содержимое является гибким, так что система не может быть полностью уверена, какого рода содержимое может быть включено в описательный текст.
  3. Кроме случаев, указанных выше, этот ресурс встретит минимальное использование. Чтобы сохранить спецификацию FHIR управляемой, она не может включать в себя каждое сайт-специфичное требование, которое может потребоваться где-то в какой-то реализации. Этот набор ресурсов, скорее всего, никогда не будет официально определен в стандарте HL7.

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

Реализаторам не следует беспокоиться о том, под какую из категорий подпадает их желаемый ресурс. Если им нужен ресурс и он еще не существует, им следует использовать ресурс Basic.

Ресурс Basic определяет только минимальный набор элементов данных - те, что необходимы для идентификации того, какой вид ресурса он представляет, и те, которые необходимы для поддержки отнесения ресурсов к логическим модулям. Все остальные элементы данных задаются с помощью механизма расширений. Вполне возможно создать экземпляр ресурса Basic с одной только описательной частью и элементами "subject" и "code". И, на практике, это всё, что поймёт большинство систем.

Структура

XML-шаблон

<Basic xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Business identifier --></identifier>
 <code><!-- 1..1 CodeableConcept Kind of Resource --></code>
 <subject><!-- 0..1 Reference(Any) Identifies the focus of this resource --></subject>
 <created value="[date]"/><!-- 0..1 When created -->
 <author><!-- 0..1 Reference(Practitioner|Patient|RelatedPerson|Organization) Who created --></author>
</Basic>

Turtle-шаблон

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Basic;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Basic.identifier [ Identifier ], ... ; # 0..* Business identifier
  fhir:Basic.code [ CodeableConcept ]; # 1..1 Kind of Resource
  fhir:Basic.subject [ Reference(Any) ]; # 0..1 Identifies the focus of this resource
  fhir:Basic.created [ date ]; # 0..1 When created
  fhir:Basic.author [ Reference(Practitioner|Patient|RelatedPerson|Organization) ]; # 0..1 Who created
]

Changes since R3

Basic
Basic.author
  • Type Reference: Added Target Type Organization

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 3 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.)

Структура

XML-шаблон

<Basic xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Business identifier --></identifier>
 <code><!-- 1..1 CodeableConcept Kind of Resource --></code>
 <subject><!-- 0..1 Reference(Any) Identifies the focus of this resource --></subject>
 <created value="[date]"/><!-- 0..1 When created -->
 <author><!-- 0..1 Reference(Practitioner|Patient|RelatedPerson|Organization) Who created --></author>
</Basic>

Turtle-шаблон

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Basic;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Basic.identifier [ Identifier ], ... ; # 0..* Business identifier
  fhir:Basic.code [ CodeableConcept ]; # 1..1 Kind of Resource
  fhir:Basic.subject [ Reference(Any) ]; # 0..1 Identifies the focus of this resource
  fhir:Basic.created [ date ]; # 0..1 When created
  fhir:Basic.author [ Reference(Practitioner|Patient|RelatedPerson|Organization) ]; # 0..1 Who created
]

Changes since Release 3

Basic
Basic.author
  • Type Reference: Added Target Type Organization

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 3 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.)

 

See the Profiles & Extensions and the Альтернативные определения: Основное определение XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the Анализ зависимостей

PathОписаниеТипСсылка
Basic.code Codes for identifying types of resources not yet defined by FHIR.ExampleBasicResourceTypes

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

  • Пользовательские ресурсы не имеют механизма открытость; понятность таким же образом, как пользовательские коды и расширения имеют с помощью ресурсов ValueSet и StructureDefinition. В результате любой реализатор, который получает пользовательский ресурс, не будет иметь способа искать, какое значение того ресурса или его элементов было. В то время как они могут получить некоторый намек на значение из имен тегов XML or JSON, часто этого не достаточно для надежного взаимодействия здравоохранения.
  • Имена пользовательских ресурсов не будут представлены в схемах FHIR как разрешенные элементы в FHIR Bundle-схеме, также не будут перечисляться среди ресурсов в типе Reference. Не будут они поддерживаться и ни одной из автоматически сгенерированных эталонных реализаций и программных интерфейсов. Это может создать проблемы для любой получающей системы, использующей эти схемы непосредственно или через кодогенерацию.
  • Нет средств помешать двум реализаторам независимо друг от друга придумать одинаковое имя для ресурса, которое при этом будет отличаться по смыслу и разрешенными элементами. Что также вызовет проблемы взаимодействия.

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

Таким образом, использование "пользовательских" ресурсов НЕ рассматривается FHIR в качестве приемлемого варианта. В то время как использование расширений может сделать ресурс Basic немного более сложным и визуально менее привлекательным, это единственный надежный и одобренный механизм совместного использования концептов ресурсов, не представляемых с помощью стандартных ресурсов, определенных HL7.

Ожидается, что будущие версии инструментов интерфейса будут в состоянии генерировать интерфейсы объектов на основе профилей. Когда это произойдет, сложность пользовательских элементов ресурсов, выражаемых в виде расширений, должна стать прозрачной для внутреннего кода систем, которые поддерживают этот конкретный вариант ресурса Basic. Это должно еще больше снизить затраты на использование "Basic" в отличие от пользовательских ресурсов.

ПРИМЕЧАНИЕ: Эта позиция может измениться в зависимости от опыта реализации. Альтернативные механизмы обработки требований пользовательских ресурсов безопасным способом могут быть изучены. Приветствуются идеи насчет альтернативных технических стратегий управления этим вопросом.

Документы состоят из разделов, где ключевой частью каждого раздела является нарратив (описательная часть). Нарративы склеиваются вместе, чтобы сформировать общий текст документа. Многие секции документов будут точно соответствовать ресурсам, которые уже определены - List, DiagnosticReport, FamilyMemberHistory и т. д. Однако, как это ни странно, ориентация на ресурсы FHIR не всегда приходит на ум, когда клиницисты и другие проектируют документы, и некоторые разделы не будут четко совпадать с границами ресурсов. Иногда просто нужно место, куда автор документа может поместить свой "материал" без каких-либо особых ограничений на тему того, о чем он может говорить. Basic предназначен для обеспечения механизма для обработки этих обстоятельств.

Где только возможно следует использовать "стандартные" FHIR-ресурсы, даже для контента с одной только описательной частью. Это потому, что последующие изменения контента, состоящего только из описательной части, могут решить закодировать некоторые части или даже всё содержимое описательного контента. Кодирование может произойти также и с "Basic". Расширения могут указывать на другие ресурсы (вложенные или автономные), которые полностью кодируют части описательной части в свободной форме в ресурсе Basic. Если другой подходящий по смыслу контента ресурс не существует, то также можно использовать и расширения.

Есть несколько хороших рекомендаций по использованию ресурса Basic:

  1. Перед использованием ресурса Basic запостите описание желаемого типа ресурса на сервере FHIR-рассылки HL7 или на Stack Overflow , чтобы увидеть, не соответствует ли вашему сценарию использования какой-либо существующий ресурс. (Иногда область предназначения существующего ресурса не очень ясна, даже если она покрывает вашу область.) Как правило, использование существующего ресурса предпочтительнее использования ресурса Basic, поскольку оно существенно увеличивает вероятность совместимости.
  2. Если существующий ресурс хорошо подходит для вашего сценария использования, но не может быть использован из-за чрезмерных ограничений, которые ваша реализация не может удовлетворить, опять же, поднимите этот вопрос на Stack Overflow , чтобы эта проблема могла быть решена в спецификации.
  3. Если есть необходимость в использовании ресурса Basic, старайтесь использовать один из определенных HL7 кодов для типа ресурса или отправьте ваше требование по включению нового типа в словарь HL7 (по ссылке Предложить изменение ), так как это увеличит вероятность способности к взаимодействию. Альтернативные кодовые системы допустимы, но менее вероятно, что они станут общепризнанными или будут повторно использоваться во всем пространстве реализации здравоохранения.
  4. Проектируйте ваш интерфейс таким образом, чтобы требовалось как можно меньше усилий, чтобы поменять использование ресурса Basic на "официальный" ресурс в случае, если будущий выпуск FHIR официально определит ресурс, который подойдет для вашего сценария.
  5. Используйте StructureDefinition для определения расширений, относящихся к каждому типу другого использованного ресурса. Также можно использовать профили для задания дополнительных критериев поиска, подходящих к этому ресурсу. Use a StructureDefinition to define the extensions relevant to each type of other resource used. Profile can also be used to define additional search criteria appropriate for the resource.
  6. When defining a profile on Basic, include mappings to the w5 categories to allow systems to easily manage AuditEvent and Provenance uses as well as other potential higher-level abstractions of the data.
  7. As well, profiles should consider how best to handle common notions such as "entered in error" status and alignment with common practices within similar resource families (other request resources, medication-related resources), etc.

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

Параметры поиска для этого ресурса. Также к нему применяются общие параметры. Более подробную информацию о поиске в REST, обмене сообщениями и сервисах см. в разделе Поиск.

ИмяТипОпределениеВыражениеIn Common
authorreferenceWho createdBasic.author
(Practitioner, Organization, Patient, RelatedPerson)
codetokenKind of ResourceBasic.code
createddateWhen createdBasic.created
identifiertokenBusiness identifierBasic.identifier
patientreferenceIdentifies the focus of this resourceBasic.subject.where(resolve() is Patient)
(Patient)
subjectreferenceIdentifies the focus of this resourceBasic.subject
(Any)