This page is part of the FHIR Specification (v1.6.0:
STU
3 Ballot 4). The current version which supercedes this version is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
. For a full list of available versions, see the
Directory of published versions
.
Page
versions:
. Page versions:
R5
R4B
R4
R3
R2
|
|
Compartments
|
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
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.
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 defines only a minimal set of data elements - those necessary to identify what kind of resource it represents and those necessary to support resource
compartmenting
.
All
other
data
elements
are
represented
using
the
. All other data elements are represented using the
extension
mechanism.
It's
entirely
possible
to
have
a
Basic
resource
instance
with
nothing
other
than
narrative,
a
subject
and
code.
And,
in
practice,
that's
all
many
systems
will
understand.
mechanism. It's entirely possible to have a Basic resource instance with nothing other than narrative, a subject and code. And, in practice, that's all many systems will understand.
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
Σ | DomainResource |
|
|
|
Σ | 0..* | Identifier |
|
|
?! Σ | 1..1 | CodeableConcept |
|
|
Σ | 0..1 | Reference ( Any ) |
|
|
Σ | 0..1 |
|
|
|
Σ | 0..1 |
|
|
Documentation for this format
|
||||
UML
Diagram
UML Diagram
(
Legend
)
XML
Template
XML Template
<
<Basic xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<</identifier> <</code> <</subject> <</author> <<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) Who created --></author> </Basic>
JSON
Template
JSON Template
{
"resourceType" : "",
{
"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|Patient|RelatedPerson) } // 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|Patient|RelatedPerson) ]; # 0..1 Who created ]
Changes since DSTU2
| Basic | No Changes |
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
Σ | DomainResource |
|
|
|
Σ | 0..* | Identifier |
|
|
?! Σ | 1..1 | CodeableConcept |
|
|
Σ | 0..1 | Reference ( Any ) |
|
|
Σ | 0..1 |
|
|
|
Σ | 0..1 |
|
|
Documentation for this format
|
||||
XML
Template
XML Template
<
<Basic xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<</identifier> <</code> <</subject> <</author> <<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) Who created --></author> </Basic>
JSON
Template
JSON Template
{
"resourceType" : "",
{
"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|Patient|RelatedPerson) } // Who created
}
Alternate
definitions:
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|Patient|RelatedPerson) ]; # 0..1 Who created ]
Changes since DSTU2
| Basic | No Changes |
See the Full Difference for further information
Alternate definitions: Master Definition (
XML
,
JSON
),
XML
Schema
/
Schematron
,
Resource
Profile
(
XML
,
(for ) +
JSON
Schema
,
ShEx
(for
Turtle
),
Questionnaire
)
| Path | Definition | Type | Reference |
|---|---|---|---|
| Basic.code |
|
Example |
|
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.
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.
, 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:
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.
for more information about searching in REST, messaging, and services.
| Name | Type | Description | Paths |
| author | reference |
|
Basic.author
( |
| code | token |
|
Basic.code |
| created | date |
|
Basic.created |
| identifier | token |
|
Basic.identifier |
| patient | reference |
|
Basic.subject
( Patient ) |
| subject | reference |
|
Basic.subject
(Any) |