Basic | Medplum

Basic Resource Overview

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.

Elements

Name Required Type Description
identifier Identifier Business identifier
Details
Identifier assigned to the resource for business purposes, outside the context of FHIR.
code CodeableConcept Kind of Resource
Details
Identifies the 'type' of resource - equivalent to the resource name for other resources. Because resource references will only be able to indicate 'Basic', the type of reference will need to be specified in a Profile identified as part of the resource. Refer to the resource notes section for information on appropriate terminologies for this code. This element is labeled as a modifier because it defines the meaning of the resource and cannot be ignored.
subject Reference Identifies the focus of this resource
Details
Identifies the patient, practitioner, device or any other resource that is the "focus" of this resource. Optional as not all potential resources will have subjects. Resources associated with multiple subjects can handle this via extension.
created date When created
Details
Identifies when the resource was first created.
author Reference< Practitioner
| PractitionerRole
| Patient
| RelatedPerson
| Organization >
Who created
Details
Indicates who was responsible for creating the resource instance.

Search Parameters

Name Type Description Expression
author reference Who created Basic.author
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))
subject reference Identifies the focus of this resource Basic.subject

Inherited Elements

Name Required Type Description
id string Logical id of this artifact
Details
The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. The only time that a resource does not have an id is when it is being submitted to the server using a create operation.
meta Meta Metadata about the resource
Details
The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
implicitRules uri A set of rules under which this content was created
Details
A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
language code Language of the resource content
Details
The base language in which the resource is written. Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag).
text Narrative Text summary of the resource, for human interpretation
Details
A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human.
contained Resource[] Contained, inline Resources
Details
These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
extension Extension[] Additional content defined by implementations
Details
May be used to represent additional information that is not part of the basic definition of the resource.
modifierExtension Extension[] Extensions that cannot be ignored
Details
May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants.

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:

  1. When an implementer needs a resource concept that is likely to be defined by HL7 in the future but they have not yet done so (due to bandwidth issues, lack of sufficient requirements, lower prioritization, etc.)
  2. When there's a need to convey a narrative-only construct that doesn't neatly correspond to one of the other resources, either because it combines aspects of several resources (e.g. Assessment + Plan) or because the allowed content is flexible such that the system can't be totally sure what sort of content might have been included in the narrative text.
  3. Other than the circumstances above, this resource will see minimal use. To keep the FHIR specification manageable, it cannot incorporate every site-specific requirement that might be needed in some implementation somewhere. This set of resources likely won't ever be officially defined in HL7.

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 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.