工作组: FHIR Infrastructure ![]() | 成熟度: 1 | 试用 | 安全性类别: Not Classified | 隔间: Patient, Practitioner, RelatedPerson |
基本(最小集)Basic资源有三类用途:处理尚未在FHIR中定义的概念、表示与已有资源不相关的叙述性资源、表示不应包含在FHIR规范中的自定义资源。
Basic is a special type of resource. Unlike all other resources, it doesn't correspond to a specific pre-defined HL7 concept. Instead, it's a placeholder for any resource-like concept that isn't already defined in the HL7 specification.
The Basic resource is intended for use in three circumstances:
There's also a fourth circumstance: An implementer wishes to convey information that could/should be conveyed using a standard resource, however they want to represent the information in a custom format that isn't aligned with the official resource's elements. While this resource would be the preferred way of meeting that use-case because it will at least be wire-format compatible, such a use would not be conformant because making use of the Basic resource would prevent the healthcare-related information from being safely processed, queried and analyzed by other conformant systems.
Implementers don't need to be concerned with which of the three categories their desired resource fits within. If they need a resource and it clearly doesn't fit one of the ones currently defined, they should use Basic.
Basic资源只定义了一组最小的数据元素,即仅包含用于识别其资源类型的必需元素和用于支持资源逻辑区块划分的必需元素。 所有其他数据元素都是利用扩展机制表示的。 在实践中,完全有可能使用一个Basic资源实例,它仅包含叙述narrative元素、目标对象subject元素和编码code元素。有了这三个元素就足以让许多系统都能理解了。
Structure
| Name | Flags | Card. | Type | Description & Constraints![]() |
|---|---|---|---|---|
![]() |
ΣTU | DomainResource |
Resource for non-supported content Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension |
|
![]() ![]() | Σ | 0..* | Identifier | Business identifier |
![]() ![]() | ?!Σ | 1..1 | CodeableConcept | Kind of Resource Basic Resource Types (Example) |
![]() ![]() | Σ | 0..1 | Reference(Any) | Identifies the focus of this resource |
![]() ![]() | Σ | 0..1 | date | When created |
![]() ![]() | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) | Who created |
Documentation for this format | ||||
UML Diagram (Legend)
XML Template
<Basic xmlns="http://hl7.org/fhir"><!-- 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|PractitionerRole|Patient|RelatedPerson| Organization) Who created --></author> </Basic>
JSON Template
{
"resourceType" : "Basic",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // Business identifier
"code" : { CodeableConcept }, // R! Kind of Resource
"subject" : { Reference(Any) }, // Identifies the focus of this resource
"created" : "<date>", // When created
"author" : { Reference(Practitioner|PractitionerRole|Patient|RelatedPerson|
Organization) } // Who created
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ 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|PractitionerRole|Patient|RelatedPerson|Organization) ]; # 0..1 Who created ]
Changes since R3
| Basic | |
| Basic.author |
|
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.)
Structure
| Name | Flags | Card. | Type | Description & Constraints![]() |
|---|---|---|---|---|
![]() |
ΣTU | DomainResource |
Resource for non-supported content Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension |
|
![]() ![]() | Σ | 0..* | Identifier | Business identifier |
![]() ![]() | ?!Σ | 1..1 | CodeableConcept | Kind of Resource Basic Resource Types (Example) |
![]() ![]() | Σ | 0..1 | Reference(Any) | Identifies the focus of this resource |
![]() ![]() | Σ | 0..1 | date | When created |
![]() ![]() | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) | Who created |
Documentation for this format | ||||
XML Template
<Basic xmlns="http://hl7.org/fhir"><!-- 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|PractitionerRole|Patient|RelatedPerson| Organization) Who created --></author> </Basic>
JSON Template
{
"resourceType" : "Basic",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // Business identifier
"code" : { CodeableConcept }, // R! Kind of Resource
"subject" : { Reference(Any) }, // Identifies the focus of this resource
"created" : "<date>", // When created
"author" : { Reference(Practitioner|PractitionerRole|Patient|RelatedPerson|
Organization) } // Who created
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ 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|PractitionerRole|Patient|RelatedPerson|Organization) ]; # 0..1 Who created ]
Changes since Release 3
| Basic | |
| Basic.author |
|
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 alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
| Path | Definition | Type | Reference |
|---|---|---|---|
| Basic.code | Codes for identifying types of resources not yet defined by FHIR. | Example | BasicResourceTypes |
Technically, nothing prevents implementers from going off and defining their own resources containing whatever data elements they wish. However, doing so causes several issues:
All of these concerns are mitigated when there's an assumption that the custom resource will only be used within a narrow constrained environment where all participants will be aware of the semantics, will be using the same custom schemas and there's no chance of collisions. However, HL7's experience is that closed implementation environments rarely remain that way over the long term. Eventually data will need to be shared with others outside the closed environment and all of the above issues will again come into play.
Therefore, use of 'custom' resources is NOT considered to be conformant with FHIR. While the use of extensions may make the Basic resource slightly more complex and less visually appealing, it is the only safe and approved mechanism for sharing resource concepts not representable using standard HL7-defined resources.
It is expected that future versions of the interface tooling will be able to generate object interfaces on the basis of profiles. Where this occurs, the complexity of custom resource elements being expressed as extensions should be transparent to the internal code of systems that support that particular variant of the Basic resource. This should further reduce the cost of using 'Basic' as opposed to custom resources.
NOTE: This position is subject to change based on implementation experience. Alternative mechanisms for handling custom resource requirements in a safe manner may be explored. Ideas around alternative technical strategies for managing this issue are welcome.
Documents are constructed of sections, where a key part of each section is the narrative. The narratives are stitched together to form the overall text of the document. Many document sections will correspond neatly to resources that are already defined - List, DiagnosticReport, FamilyMemberHistory, etc. However, oddly enough, alignment with FHIR resources isn't always in mind when clinicians and others design documents, and some sections won't neatly align with the boundaries of resources. Sometimes there's simply a need for a place where a document author can say "stuff" without any particular constraints on what they may choose to talk about. Basic is intended to provide a mechanism to handle those circumstances.
Wherever possible, the "standard" FHIR resources should be used, even for narrative-only content. That's because subsequent revisions of the narrative-only content might choose to encode pieces or even all of the narrative content. Encoding can occur with "Basic" as well. Extensions can point to other resources (contained or stand-alone) that fully encode pieces of the free-form narrative found in the Basic resource. If no appropriate other resource exists for the meaning of the content, extensions can also be used.
There are several good practices to follow when making use of the Basic resource:
to see whether the
use-case can be met by an existing resource. (Sometimes the intended scope of an existing resource won't
be clear, even if the intent is to cover your space.) Using an existing resource is usually preferable
to using Basic as it significantly increases the likelihood of interoperability.
so the problem with the
specification can be addressed.
link), as this will
increase the likelihood of interoperability. Alternate code systems are conformant, but are less likely to
be recognized or re-used across the healthcare implementation space.
None of the standard resources will have direct references to Basic, aside from those that allow linking to "Any" resource. As a result, most references to "Basic" will need to be performed using extensions.
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description | Expression | In Common |
| author | reference | Who created | Basic.author (Practitioner, Organization, Patient, PractitionerRole, RelatedPerson) | |
| code | token | Kind of Resource | Basic.code | |
| created | date | When created | Basic.created | |
| identifier | token | Business identifier | Basic.identifier | |
| patient | reference | Identifies the focus of this resource | Basic.subject.where(resolve() is Patient) (Patient) | |
| subject | reference | Identifies the focus of this resource | Basic.subject (Any) |