Release 4 5

This page is part of the FHIR Specification (v4.0.1: R4 (v5.0.0: R5 - Mixed Normative and STU ) ). This is the current published version in it's permanent home (it will always be available at this URL). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B

2.16 2.1.27.0 FHIR Overview - Architects Type Framework

FHIR Infrastructure icon Work Group Maturity Level : N/A Normative Standards Status : Informative Normative

At its core, Types Framework Cross Reference: Base Types | Datatypes | Resources | Patterns

The FHIR contains two primary components: specification defines types in the following general categories:

  1. Datatypes
  2. Resources - a collection of information models
  3. Logical Models

This page defines the base abstract types that define provide the data elements, constraints and relationships foundation for all those types:

Base Element Unique id for the “business objects” most relevant to healthcare. From element within a model-driven architecture perspective, FHIR resources are notionally equivalent resource (for internal references). This may be any string value that does not contain spaces id : string [0..1] « This element has or is affected by some invariants C » May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a physical model implemented in XML or JSON. See strict set of governance applied to the formal definition . APIs – and use of extensions. Though any implementer can define an extension, there is a collection set of well-defined interfaces for interoperating between two applications. Although requirements that SHALL be met as part of the definition of the extension extension : Extension [0..*] BackboneElement May be used to represent additional information that is not required, part of the FHIR specification targets RESTful interfaces for API implementation. See details on FHIR RESTful interfaces . In basic definition of the healthcare domain, element and that modifies the set understanding of “business objects” the element in which it is not universally defined, but contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a notional strict set of governance applied to the definition and ongoing evolutionary, consensus-based process for standardizing on use of extensions. Though any implementer can define an extension, there is a core set of common business objects including things like “a patient”, “a procedure”, “an observation”, “an order”, etc. (see requirements that SHALL be met as part of the definition of the extension. Applications processing a list resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of defined resources any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements) modifierExtension ). : Extension [0..*] DataType Resource The FHIR specification provides a framework for defining these healthcare business objects (“resources”), for relating them together in a compositional manner, for implementing them logical id of the resource, as used in a computable form, and the URL for sharing them across well-defined interfaces. the resource. Once assigned, this value never changes id : id [0..1] The framework contains a verifiable and testable syntax, 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 meta : Meta [0..1] A reference to a set of rules that were followed when the resource was constructed, and constraints, methods and interface signatures for “FHIR-aware” APIs, and specifications for which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc (this element modifies the meaning of other elements) implicitRules : uri [0..1] The base language in which the resource is written language : code [0..1] « null (Strength=Required) AllLanguages ! » DomainResource A human-readable narrative that contains a server capable summary of requesting and delivering FHIR business objects. From an operational perspective, HL7’s internal standards development and governance processes determine what constitutes a the resource and which resources exist. In addition, can be used to represent the FHIR specification also provides content of the resource to a mechanism for contextualizing resources human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for specific needs within specific bounds (see Profiling Resources a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety text ). : Narrative [0..1] « This element has or is affected by some invariants C » 2.16.1 Architecture Frameworks and FHIR Alignment These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning contained : Resource [0..*] « This element has or is affected by some invariants C » FHIR resources fit firmly within the May be used to represent additional information architecture domain and that is not part of the FHIR APIs for data exchange address aspects basic definition of application architecture. From the resource. To make the use of extensions safe and managable, there is a TOGAF perspective , FHIR addresses aspects strict set of architecture views related governance applied to information model the definition and data exchange, which are described in use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the Information Systems Architectures portion definition of the TOGAF Architecture Development Method. With regards extension extension : Extension [0..*] May be used to represent additional information that is not part of the Zachman Framework , FHIR fits within basic definition of the What resource and that modifies the How dimensions understanding of the Architect, Engineer and Technician Perspectives When considering element that contains it and/or the HL7 Services Aware Interoperability Framework (SAIF) , FHIR resources understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and RESTful APIs represent managable, there is a strict set of governance applied to the “Physical Models” definition and “Interface Implementations” within use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the Platform Specific Specifications layer definition of the Information Models and extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the Behavioral Models Viewpoints, respectively. meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements) modifierExtension : Extension [0..*] PrimitiveType 2.16.2 FHIR and Architectural Principles BackboneType FHIR’s primary purpose is to address interoperability with well-structured, expressive data models and simple, efficient data exchange mechanisms. In addition, FHIR aligns May be used to represent additional information that is not part of the following architectural principles: Reuse basic definition of the element and Composability – FHIR resources are designed with that modifies the 80/20 rule understanding of the element in mind – focus on which it is contained and/or the 20% understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that satisfy 80% SHALL be met as part of the interoperability needs. To this end, resources definition of the extension. Applications processing a resource are designed required to meet check for modifier extensions. Modifier extensions SHALL NOT change the general meaning of any elements on Resource or common data requirements DomainResource (including cannot change the meaning of many use cases to avoid modifierExtension itself) (this element modifies the proliferation meaning of numerous, overlapping and redundant resources. other elements) modifierExtension : Extension and customizations exist (see FHIR Profiles ) to allow common, somewhat generic resources to be adopted and adapted as needed for specific use case requirements. In addition, FHIR resources are highly composable in [0..*] CanonicalResource «Interface» An absolute URI that resources commonly refer is used to other resources. identify this {{title}} when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This further promotes reuse SHOULD be globally unique and allows for complex structures to SHOULD be built from more atomic resources. Scalability – Aligning FHIR APIs to the REST architectural style ensure that all transactions are stateless a literal address at which reduces memory usage, eliminates an authoritative instance of this {{title}} is (or will be) published. This URL can be the needs for “sticky” sessions within target of a server farm and therefore supports horizontal scalability. Performance – FHIR resources are lean and suitable for exchange across canonical reference. It SHALL remain the network. Highly optimized formats are available, which has same when the potential {{title}} is stored on different servers url : uri [0..1] A formal identifier that is used to improve performance identify this {{title}} when it is represented in complex transactions across multiple systems connected via a shared and finite network, though most implementers find the standard JSON / XML formats adequate. Usability – FHIR resources are understood by technical experts and non-technical people alike. Even if the details of XML other formats, or JSON syntax are not understood, non-technical people can view these referenced in any browser a specification, model, design or text reader and understand an instance identifier : Identifier [0..*] The identifier that is used to identify this version of the contents within them. Data Fidelity – FHIR {{title}} when it is strongly typed and has mechanisms built referenced in for clinical terminology linkage and validation. In addition, XML and JSON documents can be validated syntactically as well as against a defined set of business rules. specification, model, design or instance. This promotes high data fidelity and goes a long way towards using FHIR to achieve semantic interoperability. Implementability – One of the driving forces for FHIR is an arbitrary value managed by the need {{title}} author and is not expected to create be globally unique. For example, it might be a standard with high adoption across disparate developer communities. FHIR timestamp (e.g. yyyymmdd) if a managed version is easily understood and readily implemented using industry standards and common mark-up and data exchange technologies. not available. There are is also no expectation that versions can be placed in a lexicographical sequence without additional architecture principles related knowledge. (See the versionAlgorithm element.) version : string [0..1] Indicates the mechanism used to consistency, granularity, referential integrity, and others that are not as well established or proven. See compare versions to determine which is more current versionAlgorithm[x] : DataType [0..1] « string | Coding ; null (Strength=Extensible) VersionAlgorithm + » A natural language name identifying the section below on Outstanding Issues {{title}}. This name should be usable as an identifier for details. the resource by machine processing applications such as code generation name : string [0..1] « This element has or is affected by some invariants C » 2.16.3 FHIR Decomposition A short, descriptive, user-friendly title for the {{title}} title : string [0..1] The current state of this {{title}}. (this element modifies the meaning of other elements) status : code [1..1] « As discussed, FHIR’s principal components are resources null (Strength=Required) PublicationStatus ! » A Boolean value to indicate that this {{title}} is authored for testing purposes (or education/evaluation/marketing) and RESTful APIs. However, there is more to not intended for genuine usage experimental : boolean [0..1] The date (and optionally time) when the FHIR specification including {{title}} was last significantly changed. The date must change when the components depicted below. NOTE: business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the {{title}} changes date : dateTime [0..1] The term “component” is used loosely name of the organization or individual responsible for the release and ongoing maintenance of the {{title}} publisher : string [0..1] Contact details to mean assist a part user in finding and communicating with the publisher contact : ContactDetail [0..*] A free text natural language description of something the {{title}} from a consumer's perspective description : markdown [0..1] The content was developed with a focus and does not intend to carry intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific meanings programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for this term provided by rigorous ontologies, modeling frameworks, appropriate {{title}}s useContext : UsageContext [0..*] A legal or other architectural and organizational constructs. Diagrammatically, geographic region in which the components below are depicted below as UML classes. This {{title}} is done purely intended to take advantage be used jurisdiction : CodeableConcept [0..*] « null (Strength=Extensible) JurisdictionValueSet + » Explanation of the semantics afforded using why this notation. FHIR {{title}} is neither objected oriented in needed and why it has been designed as it has purpose : markdown [0..1] A copyright statement relating to the {{title}} and/or its modeling approach nor contents. Copyright statements are generally legal restrictions on the components that make up use and publishing of the FHIR specification UML classes or objects {{title}} copyright : markdown [0..1] A short string (<50 characters), suitable for inclusion in a page footer that identifies the formal sense. Likewise, the UML packages shown below are notional copyright holder, effective period, and used optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved') copyrightLabel : string [0..1] MetadataResource «Interface» The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for organizational purposes only. As shown in usage approvalDate : date [0..1] The date on which the diagram below, it resource content was last reviewed. Review happens periodically after approval but does not change the original approval date lastReviewDate : date [0..1] The period during which the {{title}} content was or is convenient planned to think be in active use effectivePeriod : Period [0..1] Descriptive topics related to the content of the FHIR specification {{title}}. Topics provide a high-level categorization as having components that address the following: Information Model – well as keywords for the components of FHIR related to {{title}} that can be useful for filtering and searching topic : CodeableConcept [0..*] « null (Strength=Example) DefinitionTopic ?? » An individiual or organization primarily involved in the creation and maintenance of FHIR resources Constraints – the components {{title}} author : ContactDetail [0..*] An individual or organization primarily responsible for internal coherence of FHIR addressing constraints and validity Terminology – the components of FHIR related to clinical terminologies and ontologies Usage – {{title}} editor : ContactDetail [0..*] An individual or organization asserted by the component publisher to be primarily responsible for review of some aspect of FHIR addressing the {{title}} reviewer : ContactDetail [0..*] An individual or organization asserted by the publisher to be responsible for officially endorsing the {{title}} for use of FHIR in a run-time capacity some setting endorser : ContactDetail [0..*] Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts relatedArtifact : RelatedArtifact [0..*]

Component definitions: Legend: see Standards Status Colors

FHIR Information Model Base Classes: Element
and Resource
FHIR Infrastructure icon Work Group Data Types Maturity Level : 5 Standards Status : Normative FHIR Conformance Model

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.

FHIR Usage

REST API Structure

Name Flags Card. Type Description & Constraints doco 2.16.4 Creating Resources – Architectural Considerations
. . Base The following list provides general guidelines that apply when FHIR resources are defined. Most of these items are not enforced programmatically requiring human due diligence «A» N Base for all types and governance to ensure adherence. resources

doco Documentation for this format icon

UML Diagram ( Legend )

Resources should have a clear boundary; one that matches one or more logical transaction scopes Resources should differ

Changes since Release 3

Changes from each other in meaning, both R4 and R4B

This complex-type did not just exist in usage (e.g., each different way to use a lab report should 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 result exist in a different resource) Release R4

See the Full Difference for further information

Specializations:

  • Resources need to have a natural identity Element
  • Most resources should be very common and Resource

In addition, this type is used in many different business transactions Resources should not be specific Logical Models that don't have or detailed enough want id / extension .

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

FHIR Infrastructure icon Work Group Maturity Level : 5 Standards Status : Normative

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

The base definition for all elements contained inside a wide range resource. All elements, whether defined as a Datatype (including primitives) or as part of business transactions Resources should be mutually exclusive [this is a very important consideration that helps to reduce redundancy and ambiguity] resource structure, have this base content:

  • Extensions
  • Resources should use other resources, but they should be more than just compositions of other resources; each resource should introduce novel content An internal id

There are 3 kinds of descendant types that specialize Element :

  • Resources should be organized into Primitive datatypes , that add a logical framework based on the commonality primitive value property of the resource and what it links to (see resource framework below) specified type
  • Resources should be large enough to provide meaningful context; resources Complex datatypes , that contain only a few attributes add their own children (all of which are likely too small to provide meaningful business value also elements)
  • Resources should reflect general usage: if most systems treat something as a single concept, that suggests BackboneElement , a single resource; if most systems treat something as distinct concepts, then specialization that suggests multiple resources if two different uses adds modifierExtension, which is the super-type of a "resource" would result all the element types defined in wildly different interpretations of what constitutes "core" then resource definitions (e.g. Patient.contact )

Note that suggests two resources might be appropriate. themselves all specialize the base type Resource .

Structure

Name Flags Card. Type Description & Constraints doco 2.16.5 Organizing
. . Element «A» N Base Base for all elements
+ Rule: All FHIR Resources elements must have a @value or children

Elements defined in Ancestors:
. . . id C 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations


doco Documentation for this format icon

It is impractical to model UML Diagram ( Legend )

Element Unique id for the entirety of health data in element within a single information model. Every modeling initiative in healthcare from HL7 version 2 message specifications to FHIR resources decomposes the healthcare domain into smaller, more manageable sub-domains resource (for internal references). This may be any string value that does not contain spaces id : string [0..1] « This element has or is affected by some invariants C » May be used to represent additional information model snippets. With FHIR, each resource that is essentially a snippet not part of the larger healthcare information domain. When breaking down basic definition of the healthcare information model into smaller chunks (or resources for FHIR), it element. To make the use of extensions safe and managable, there is important to have a framework and strict set of guidelines governance applied to promote consistency and integrity within the resource structures definition and in the way resources reference each other. The framework shown below includes health information model sub-categories organized into layers based on their degree use of commonness. The layers and categories are useful for identifying which parts extensions. Though any implementer can define an extension, there is a set of healthcare information are the most common and therefore need to requirements that SHALL be met as part of the most consistently defined and tightly governed. The categories at the top layers are definition of the most common extension extension : Extension [0..*] Base

Changes since Release 3

Changes from both R4 and contain the FHIR resources that support the largest number of common healthcare transactions. R4B

Element
  • No Changes

Descriptions of the layers in See the framework: Full Difference for further information

Foundation Resources : Foundation resources are the most rudimentary, foundational resources. They are often used Structure

Name Flags Card. Type Description & Constraints doco
.. Element «A» N Base Base for infrastructural tasks. Although not prohibited, they are not always referenced all elements
+ Rule: All FHIR elements must have a @value or children

Elements defined in Ancestors:
... id C 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by other resources. implementations


doco Documentation for this format icon

Clinical Resources : Layer Changes since Release 3 includes

Changes from both R4 and R4B

Element
  • No Changes

See the resources that are clinical in nature but are also very common across many use cases. This includes resources Full Difference for clinical observations, clinical treatment, care provision, and medications. These resources can be used by themselves, but typically build on further information

As the resources base type for all elements included in layer two. For example, a resource, Element is an observation resource will reference important structural element of FHIR. Even the patient resource from layer two. These resources are also frequently contextualized when they are referenced by resources in layers three, four primitive types inherit the base features and five. representation rules that apply to the Element type.

Financial Resources : Layer four is dedicated to financial resources. Logically, financial resources build on clinical and base resources. For example, Constraints

id Level Location Description Expression
img  ele-1 Rule (base) All FHIR elements must have a billing @value or children hasValue() or (children().count() > id.count())

This constraint exists to reduce syntactical variation in resource will reference clinical events and activities as well contents. If an element has no children, then it is always omitted from the resource, as base resources like a patient. opposed to optionally present without any content.

Specialized Resources : In layer five, we find more specialized resources for less common use cases. These resources almost always reference resources in lower layers. Given

The id property of the element is defined to allow implementers to build implementation functionality that FHIR places priority on satisfying makes use of internal references inside the most common resource. This specification does not define any general use cases, there are fewer for the internal id, though some resources in (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 layer. means:

  • The id SHALL be unique within a given resource
  • Resource Contextualization : Layer 6 does not contain The uniqueness boundary extends into contained resources. However, it does extend i.e. a contained resource cannot have the composition framework made up by same id as any element in the first five layers of resources. Layer 6 includes profiles and graphs. Profiles are used to extend, constrain, resource that contains it or otherwise contextualize resources for a given purpose. Graphs any other contained resource
  • The uniqueness boundary is broken at Bundle.entry.resource and Parameters.parameter.resource, since these are compositions of resources, or webs of resource, elements that contain attributes of their own. 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 Group Maturity Level : 5 Standards Status : Normative

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

The complete set base definition for complex elements defined as part of FHIR resources organized against a resource definition - that is, elements that have children that are defined in the resource. Datatype elements do not use this framework type. For instance, Patient.contact is found on an element that is defined as part of the Resources page . patient resource, so it automatically has the type BackboneElement .

The framework serves three primary purposes: Note that the descendant types of BackboneElement are all declared implicitly as part of the definitions of the resources.

  • Organize resource for navigation and identification Structure
  • Classify resources into categories based on common sense groupings or patterns describing expected structures and/or behaviors amongst resources in the same category UML
  • Disseminate resources across layers to stratify relative common-ness with the most common resources in the top layers R4 Diff
  • All

Purposes 2 and 3 set the foundation Structure

Name Flags Card. Type Description & Constraints doco
.. BackboneElement «A» N Element Base for future architectural rigor and elements defined inside a resource governance

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


doco Documentation for this format icon

UML Diagram ( Legend )

BackboneElement May be used to optimize consistency, integrity represent additional information that is not part of the basic definition of the element and predictability that modifies the understanding of new or refined resources the element in which it is contained and/or the future. The actual rules and patterns will be defined understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and refined in future FHIR releases. However, one general guideline managable, there is a strict set of governance applied to state now the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that resources generally reference resources in SHALL be met as part of the same layer definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or higher. In DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other words, elements) modifierExtension : Extension [0..*] Element Unique id for the element within a layer 4 resource will typically only reference resources in layers 4, 3, 2 (for internal references). This may be any string value that does not contain spaces id : string [0..1] « This element has or 1. There is nothing prohibiting a layer 4 resource from referencing a layer 5 resource, but this affected by some invariants C » May be used to represent additional information that is not as common. Given this guideline, it part of the basic definition of the element. To make the use of extensions safe and managable, there is possible a strict set of governance applied to identify the resources definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that are likely to SHALL be most common across use cases and therefore demand the highest degree met as part of consistency and governance. Further, the framework helps identify definition of the areas where creating new FHIR resources is extension extension : Extension [0..*]

Changes since Release 3

Changes from both R4 and R4B

BackboneElement
  • No Changes

See the highest priority. It is generally Full Difference for further information

Structure

Name Flags Card. Type Description & Constraints doco
.. BackboneElement «A» N Element Base for elements defined inside a higher priority to create FHIR resources resource

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


doco Documentation for this format icon

UML Diagram ( Legend )

BackboneElement May be used to represent additional information that is not part of the higher layers (layers 1, 2 basic definition of the element and 3) than that modifies the understanding of the element in which it is to create FHIR resources in contained and/or the lower layers (layers 4 and 5) because understanding of the higher layer resources will containing element's descendants. Usually modifier elements provide negation or qualification. To make the greatest value across the largest number of use cases of extensions safe and stakeholders. This managable, there is not a strict set of governance applied to say that the business transactions needed for the higher layers are not important, it’s just definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that they are not SHALL be met as common across part of the whole healthcare space. The 6th layer definition of the framework are not actually resources. Profiles and Graphs extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of resources any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements) modifierExtension : Extension [0..*] Element Unique id for the element within a resource compositions (for internal references). This may be any string value that continue does not contain spaces id : string [0..1] « This element has or is affected by some invariants C » May be used to represent additional information that is not part of the progression through basic definition of the FHIR Composition Framework. They provide additional contextualization required to satisfy certain use cases. There are several benefits expected from aligning element. To make the creation use of FHIR resources to this framework, including: Organization extensions safe and manageability managable, there is a strict set of health domains - governance applied to the framework provides a basis for decomposition definition and modularity Identifying commonality - use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the framework teases out definition of the common areas extension extension : Extension [0..*]

Changes since Release 3

Changes from the less common areas FHIR resources prioritization - the framework provides a structure for determining priorities both R4 and delegating work R4B

BackboneElement
  • Tiered governance levels - the framework separates the areas needing the most stringent and universal governance from those that require more context-specific governance No Changes

The framework is further elaborated in See the FHIR Resource Considerations page . Full Difference for further information

Another useful tool for visualizing how FHIR resources are organized relative to each other can be found using the Resource Reference Visualization tool on clinFHIR .  

2.16.6.1 FHIR Servers and the
FHIR APIs Infrastructure icon Work Group Maturity Level : 5 Standards Status : Normative A FHIR REST server is any software that implements the FHIR APIs

See also Detailed Descriptions , Mappings , Profiles , Extensions and uses FHIR resources to exchange data. R4 Conversions

The diagram below describes base definition for the useable types defined by the FHIR interface definitions. The methods are classified as: Specification.

See FHIR Datatypes for specialization of this type.

  • iServeInstance – methods that perform Get, Put or Delete operations on a resource Structure
  • iServeType – methods that get type information or metadata about resources UML
  • iServeSystem – methods that expose or enable system behaviors. R4 Diff
  • Additional details on the FHIR APIs can be found at the FHIR RESTful API
  • All and the Operations Framework .

Changes since Release 3

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See diagram below the Full Difference for details. further information

 

FHIR Infrastructure icon Work Group Maturity Level : 5 Standards Status : Normative

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

The pre-conditions base definition for this use case are: the few datatypes that allow modifier extensions:

  • the EMR implements the necessary FHIR APIs Timing
  • the EMR implements the necessary authentication and authorization mechanisms Dosage
  • the patient is successfully authenticated and authorized to access FHIR resources ElementDefinition
The basic flow of the use case is that the patient registers (if required), logs in, enters search criteria to identify a patient or patients of interest (the patient is most like themselves in this use case), retrieves clinical documents for the patient and retrieves clinical resources for the patient. The use cases utilize the GET methods on the iServeInstance interface and works with the following types of FHIR resources:

Although this example use case is very simple, more complex transactions using a combination of GETs, PUTs and DELETEs against resources and metadata can be envisioned. However, the exact details of these use cases including which methods are used, the orchestration of methods and the specific resources involved are outside the scope of the FHIR specification. Structure

Name Flags Card. Type Description & Constraints doco 2.16.7 Outstanding Issues
. . BackboneType «A» N Element Base for datatypes that can carry modifier extensions

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


doco Documentation for this format icon

Resource Consistency and Granularity UML Diagram – there is nothing intrinsically prohibiting one resource from duplicating the same ( Legend )

BackboneType May be used to represent additional information as another resource. Further, there that is nothing prohibiting resources with not part of the same information from defining basic definition of the element and modeling that modifies the data elements differently. HL7 has a number understanding of processes to ensure that resources are consistently designed, but the question element in which it is when to be consistent within contained and/or the specification, understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and when managable, there is a strict set of governance applied to be consistent with the real world practices definition and use of healthcare - these are sometimes in conflict with each other. Resource granularity extensions. Though any implementer can define an extension, there is a related potential problem set of requirements that SHALL be met as there are variations in the size, complexity and comprehensiveness part of the existing resources. Further, definition of the degree extension. Applications processing a resource are required to which check for modifier extensions. Modifier extensions SHALL NOT change the FHIR specification can impose consistency is limited to how much agreement can be gained across various communities. While meaning of any elements on Resource or DomainResource (including cannot change the Implementers Safety Check List meaning of modifierExtension itself) (this element modifies the meaning of other elements) modifierExtension : Extension [0..*] DataType

Changes since Release 3

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See the Considerations Full Difference for FHIR Resource Considerations further information

Structure

Name provide guidance and promote consistency, rules Flags Card. Type Description & Constraints doco
.. BackboneType «A» N Element Base for achieving complete consistency of both content and granularity amongst resources are neither completely datatypes that can carry modifier extensions

Elements defined nor completely enforced. Considering in Ancestors: id , extension
... modifierExtension ?! Σ 0..* Extension Extensions that FHIR is still a new and emerging standard, an over-abundance of constraint and rigor has been avoided cannot be ignored even if unrecognized


doco Documentation for this format icon

UML Diagram ( Legend )

BackboneType May be used to maximize initial adoption. Further, there is a natural tension between consistency and an architectural virtue and the practicalities of supporting the real practice of health care. Considering represent additional information that FHIR ultimately is a reflection not part of the health business processes it supports, FHIR will always carry forward some basic definition of the data discrepancies, inconsistencies element and gaps that are present in modifies the practice understanding of healthcare across different organizations and practitioners. Nonetheless, the issues of resource consistency and granularity is a topic that gets considerable ongoing discussion, and may change as FHIR approaches a final normative standard and as FHIR adoption approaches a level where more control element in which it is warranted, contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or more information/process consistency emerges in qualification. To make the existing healthcare systems. Resource References – there are currently a lack use of strict rules for what resources should be referenced by other resources extensions safe and under what circumstance. There managable, there is potential for ambiguity, duplication, inaccurate and/or conflicting information communicated by a resource graph (a collection strict set of linked resources). Imagine governance applied to the scenario where Resource Type A (e.g., procedure) references Resource Type B (e.g., encounter) and Resource Type C (e.g., patient), definition and Resource Type B (e.g., encounter) also references Resource Type C (e.g., patient). In this scenario, use of extensions. Though any implementer can define an extension, there is a reference to Resource A to Resource C meant to provide the same information as the reference from Resource B to Resource C? If so, is this duplication set of information problematic? Note requirements that this is not unique to FHIR - it is an innate property of information systems. If an actual instance SHALL be met as part of A, and the B that it references, reference different instances definition of Resource C (e.g. the procedure references patient X and an encounter for patient Y), how does the system know that the references extension. Applications processing a resource are intentionally different versus an error or data anomaly? The problem is that there is limited ability required to describe check for modifier extensions. Modifier extensions SHALL NOT change the intent meaning of any elements on Resource or DomainResource (including cannot change the reference which leads to meaning of modifierExtension itself) (this element modifies the possibility meaning of ambiguity other elements) modifierExtension : Extension [0..*] DataType

Changes since Release 3

Changes from both R4 and error. R4B

This complex-type did not exist in Release R4

See the Full Difference for further information

 

FHIR Infrastructure icon Work Group Maturity Level : 5 Standards Status : Normative

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

The Linkage resource base type for all re-useable types defined that have a simple property. See Primitive Types can be used to help with this problem, but additional capabilities may be considered in for the future to allow systems to address referential integrity. list of defined primitives types.

Conditional Semantics Structure – Currently, the constraints

Changes since Release 3

Changes from both R4 and R4B

This complex-type did not exist in a given instance of a resource. For example, if the instance of an Intolerance Resource has Release R4

See the “intolerance type” data element populated with “food intolerance”, then “causative agent” should be constrained to only valid values Full Difference for this value set (e.g., valid foods instead of medications or environmental agents). Tools further information

Structure

Business Rule Enforcement and Validation UML Diagram – As governance increases and more resource rules are defined, it may be advantageous to have a resource validation tool that checks for things like resource consistency, duplication, referential integrity, circular or nonsensical references, and other defined ( Legend )

Changes since Release 3

Changes from both R4 and approved validation rules. Once rules are agreed to, this level of automation can help address R4B

This complex-type did not exist in Release R4

See the other issues outlined above. These kinds of facilities are planned Full Difference for the future. further information