Release 5

This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

2.1.27.0 FHIR Type Framework

FHIR Infrastructure icon Work GroupMaturity Level: NormativeStandards Status: Normative

Types Framework Cross Reference: Base Types | Datatypes | Resources | Patterns

The FHIR specification defines types in the following general categories:

  1. Datatypes
  2. Resources
  3. Logical Models

This page defines the base abstract types that provide the foundation for all those types:

BaseElement💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025id : string [0..1] « 💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025C »💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025extension : Extension [0..*]BackboneElement💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025modifierExtension : Extension [0..*]DataTypeResource💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025id : id [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025meta : Meta [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025implicitRules : uri [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025language : code [0..1] « 💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025AllLanguages! »DomainResource💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025text : Narrative [0..1] « 💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025C »💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025contained : Resource [0..*] « 💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025C »💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025extension : Extension [0..*]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025modifierExtension : Extension [0..*]PrimitiveTypeBackboneType💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025modifierExtension : Extension [0..*]CanonicalResource «Interface»💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025url : uri [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025identifier : Identifier [0..*]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025version : string [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025versionAlgorithm[x] : DataType [0..1] « string|Coding; 💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025 VersionAlgorithm+ »💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025name : string [0..1] « 💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025C »💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025title : string [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025status : code [1..1] « 💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025PublicationStatus! »💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025experimental : boolean [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025date : dateTime [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025publisher : string [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025contact : ContactDetail [0..*]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025description : markdown [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025useContext : UsageContext [0..*]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025jurisdiction : CodeableConcept [0..*] « 💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025JurisdictionValueSet+ »💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025purpose : markdown [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025copyright : markdown [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025copyrightLabel : string [0..1]MetadataResource «Interface»💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025approvalDate : date [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025lastReviewDate : date [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025effectivePeriod : Period [0..1]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025topic : CodeableConcept [0..*] « 💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025DefinitionTopic?? »💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025author : ContactDetail [0..*]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025editor : ContactDetail [0..*]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025reviewer : ContactDetail [0..*]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025endorser : ContactDetail [0..*]💬 ชาวเน็ตแห่แชร์: fhir/R/types.html - Kapook Update 2025relatedArtifact : RelatedArtifact [0..*]

Legend: see Standards Status Colors


FHIR Infrastructure icon Work GroupMaturity Level: 5Standards Status: Normative

See also Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions

The Base type that all other types specialize. This type has no properties or constraints.

UML Diagram (Legend)

Changes since Release 3

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See the Full Difference for further information

UML Diagram (Legend)

Changes since Release 3

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See the Full Difference for further information

Specializations:

In addition, this type is used in Logical Models that don't have or want id/extension.

Note: implementations often use this type to introduce the navigation features defined in the FHIRPath specification icon.

FHIR Infrastructure icon Work GroupMaturity Level: 5Standards Status: Normative

See also Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions

The base definition for all elements contained inside a resource. All elements, whether defined as a Datatype (including primitives) or as part of a resource structure, have this base content:

There are 3 kinds of descendant types that specialize Element:

Note that resources themselves all specialize the base type Resource.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Element«A»NBaseBase for all elements
+ Rule: All FHIR elements must have a @value or children

Elements defined in Ancestors:
... idC0..1stringUnique id for inter-element referencing
... extension0..*ExtensionAdditional content defined by implementations


doco Documentation for this format icon

Changes since Release 3

Changes from both R4 and R4B

Element
  • No Changes

See the Full Difference for further information

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Element«A»NBaseBase for all elements
+ Rule: All FHIR elements must have a @value or children

Elements defined in Ancestors:
... idC0..1stringUnique id for inter-element referencing
... extension0..*ExtensionAdditional content defined by implementations


doco Documentation for this format icon

Changes since Release 3

Changes from both R4 and R4B

Element
  • No Changes

See the Full Difference for further information

As the base type for all elements included in a resource, Element is an important structural element of FHIR. Even the primitive types inherit the base features and representation rules that apply to the Element type.

Constraints

idLevelLocationDescriptionExpression
img ele-1Rule (base)All FHIR elements must have a @value or childrenhasValue() or (children().count() > id.count())

This constraint exists to reduce syntactical variation in resource contents. If an element has no children, then it is always omitted from the resource, as opposed to optionally present without any content.

The id property of the element is defined to allow implementers to build implementation functionality that makes use of internal references inside the resource. This specification does not define any general use for the internal id, though some resources (e.g. StructureDefinition) and extensions (e.g. originalText, narrativeLink) make use of it.

The internal id is unique within the scope of the resource that contains it. Specifically, this means:

  • The id SHALL be unique within a given resource
  • The uniqueness boundary extends into contained resources. i.e. a contained resource cannot have the same id as any element in the resource that contains it or any other contained resource
  • The uniqueness boundary is broken at Bundle.entry.resource and Parameters.parameter.resource, since these are elements that aggregate different resources
  • The id element does not have extensions itself

These rules ensure that there is no need to change internal identifiers while exchanging resources.

FHIR Infrastructure icon Work GroupMaturity Level: 5Standards Status: Normative

See also Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions

The base definition for complex elements defined as part of a resource definition - that is, elements that have children that are defined in the resource. Datatype elements do not use this type. For instance, Patient.contact is an element that is defined as part of the patient resource, so it automatically has the type BackboneElement.

Note that the descendant types of BackboneElement are all declared implicitly as part of the definitions of the resources.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. BackboneElement«A»NElementBase for elements defined inside a resource

Elements defined in Ancestors: id, extension
... modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized


doco Documentation for this format icon

Changes since Release 3

Changes from both R4 and R4B

BackboneElement
  • No Changes

See the Full Difference for further information

 

FHIR Infrastructure icon Work GroupMaturity Level: 5Standards Status: Normative

See also Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions

The base definition for the useable types defined by the FHIR Specification.

See FHIR Datatypes for specialization of this type.

 

FHIR Infrastructure icon Work GroupMaturity Level: 5Standards Status: Normative

See also Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions

The base definition for the few datatypes that allow modifier extensions:

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. BackboneType«A»NElementBase for datatypes that can carry modifier extensions

Elements defined in Ancestors: id, extension
... modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized


doco Documentation for this format icon

Changes since Release 3

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See the Full Difference for further information

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. BackboneType«A»NElementBase for datatypes that can carry modifier extensions

Elements defined in Ancestors: id, extension
... modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized


doco Documentation for this format icon

Changes since Release 3

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See the Full Difference for further information

 

FHIR Infrastructure icon Work GroupMaturity Level: 5Standards Status: Normative

See also Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions

The base type for all re-useable types defined that have a simple property. See Primitive Types for the list of defined primitives types.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. PrimitiveType«A»NDataTypeParent type for DataTypes with a simple value

Elements defined in Ancestors: id, extension

doco Documentation for this format icon

Changes since Release 3

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See the Full Difference for further information

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. PrimitiveType«A»NDataTypeParent type for DataTypes with a simple value

Elements defined in Ancestors: id, extension

doco Documentation for this format icon

Changes since Release 3

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See the Full Difference for further information