---
type: "resource"
title: "Resource"
resource: "Resource"
---
# Resource
## Introduction
## Scope and Usage
This specification defines a series of different types of resource that can be used to exchange and/or store data in order to solve a wide range of healthcare related problems, both clinical and administrative. In addition, this specification defines several different ways of exchanging the resources. All the resources defined in this specification and elsewhere are specializations of this Resource type.
A resource is an entity that:
- has a known identity by which it can be addressed
- identifies itself as one of the types of resource defined in this specification or as described below
- contains a set of structured data items as described by the definition of the resource type
- has an identified version that changes if the contents of the resource change
Resources have [multiple representations](resource-formats).
## Boundaries and Relationships
The following optional elements and properties are defined for all resources:
- An identity
- Meta data
- A base language
- A reference to "Implicit Rules"
Resource is the ancestor of [DomainResource](domainresource) from which most recources are derived. [Bundle](bundle), [Parameters](parameters), and [Binary](binary) extend Resource directly.
Note: there is documentation for the [Structure](formats), [UML](formats#uml), [XML](xml), and [JSON](json) representations of the resource structure.
### Additional Resources defined Outside This Specification
This specification defines the base <%res-type-count%> resources that comprise the "FHIR resources". Additional resources may be defined in other specifications, and used as part of the FHIR framework. For those implementers who wish to use other resources, or find that they need to, the following rules apply:
- Additional Resources to be used like this SHALL be registered with HL7
- Unapproved resources SHALL NOT be used
- Registered and approved resources are given a name by HL7, and this is the name that must be used for the resource
- All such registered and approved resources SHALL have a publicly available definition using a [StructureDefinition](structuredefinition) published as part of an [ImplementationGuide](implementationguide), published at the canonical URL. Note that the definitions will be reviewed for quality by HL7 prior to approval
HL7 publishes the list of approved resource at **(somewhere?)** (todo: this needs further work, but at this time the functional list is published here: [IG Registry](https://raw.githubusercontent.com/FHIR/ig-registry/refs/heads/master/additional-resources.json)). If you wish to register such a resource, the process starts by making a proposal [here](https://chat.fhir.org/#narrow/channel/491058-Additional-Resource-Proposals).
These sections contain information about how additional resources work in the various places that they may be encountered through this specification:
- [JSON representation](json#additional)
- [XML representation](xml#additional)
- [Defining Additional Resources](structuredefinition#additional)
- [Bundle.entry](bundle#additional)
- [CapabilityStatement.rest.resource](capabilitystatement#additional)
- [DomainResource.contained](domainresource#additional)
- [Parameters.parameter.resource](parameters#additional)
### Moving Additional Resources to FHIR Core
Additional resources are all expected to eventually migrate to this specification once they are stable.
Generally, the process for moving an Additional Resource to core is:
- The responsible WG/WGs need to request moving into core.
- FMG needs to approve moving into core (criteria TBD by FMG).
- The resource will be added to the next ballot of FHIR core.
- The resource will be officially available when the milestone release that includes it is published.
- Concurrently with that FHIR Core publication, the status of the 'additional' definition should be updated so that it is deprecated and then eventually removed
- Once the resource has been moved to core, the `resourceDefinition` element defined for XML and JSON is allowed to remain present, but SHOULD NOT be added. If it is present, the version SHALL be correct with regards to the published core FHIR version
## Notes
### Resource Identity
There are two different ways to identify a resource:
- By a "Location" URL that identifies where it can be accessed (based on the "Logical ID"). This location will be changed as it is copied/moved around
- By some inherent identifier ("Business Identifier" or "Canonical URL") that is part of the resource and remains fixed as it is copied/moved around
### Logical ID
Each resource has an `id` element which contains the "logical id" of the resource assigned by the server responsible for storing it. Resources almost always have a known logical id except for a few special cases:
- when a new resource is being sent to a server to assign a logical id in the [create interaction](http#create)
- A search response or history response Bundle
- Any resource (including Parameters) passed as input to an operation that was created purely for use as operation input and is not retained/persisted by the operation invoker
- Any resource (including Parameters) received as output from an operation that was generated as part of performing the operation and is not retained/persisted by the operation performer.
- A resource created for exchange outside the RESTful context (e.g. a document sent by email or FTP), including some types of messaging exchanges.
The logical id is unique within the space of all resources of the same type on the same server. Once assigned by the server, the id is never changed.
The location of a resource instance is an absolute URI constructed from the server base address at which the instance is found, the resource type and the Logical ID, such as http://test.fhir.org/r5/rest/Patient/123 (where `123` is the Logical Id of a [Patient](patient) resource). When the location is an HTTP address, this address can generally be used to retrieve or manipulate the resource. Note that implementations SHOULD NOT assume that the location of a resource is always resolvable to an accessible server - it may be temporarily unavailable, or not available by policy (e.g. firewalls) or in some cases, it might not actually exist (e.g. use of resource outside a RESTful environment). Resources reference each other by their location. These references are allowed to be absolute or relative (see [Resource References](references) for further discussion).
When a resource is copied from one server to another server, the copy might or might not keep the same logical id on the new server. This depends on replication and server policy. For further details, see [Managing Resource Identity](managing) (including "Consistent Resource Identification").
Logical ids (and therefore locations) are case sensitive. Logical Ids are always opaque, and external systems need not and should not attempt to determine their internal structure. A logical id SHALL always be represented in the same way in resource references and URLs. Ids can be up to 64 characters long, and contain any combination of upper and lowercase ASCII letters, numerals, "-" and ".".
In some contexts, resources are not associated with location on a RESTful server, either because they are only created transiently for transfer between systems, or the systems are not using RESTful servers. In these cases, resources may be assigned some kind of location anyway, for purposes of consistency, or they might not have an assigned logical id, and they are identified based on other kinds of identifiers. See [Resolving references in Bundles](bundle#references) for one method of using resources not associated with RESTful servers.
\[%dragons-start%\]
#### FHIR Version Conversion Issue
If a system does not have server-unique (as opposed to resource-unique) logical ids for resources and are using Basic to do [cross-version representations using Basic](basic), be aware that ID collisions are possible and problematic. Possible mitigations could include prefixing/suffixing ids, using a common id namespace for resources subject to being exposed as Basic, or moving to globally unique logical ids. Note that ids SHOULD be consistent regardless of the FHIR version used to expose the data.
\[%dragons-end%\]
#### Identifier Categories
In general, identifiers are sometimes categorised into one of three categories: Business, informational, and instance.
- a **business identifier** that uniquely identifies a singleton thing in the real-world, e.g. a patient Jane Dupont, a drug Amoxycillin, etc., and if there are records about this thing inside systems, such an id would be one way to search for such record(s)
- an **informational identifier** that is guaranteed unique for every informational entity known inside systems, including entities that appear to be not directly related to real-world singleton entities (e.g. each med. rec. event on some patient's Rx list), aka things that don't have business identifiers;, aka things that are 'just information'
- an **instance identifier**, guaranteed to be unique for any distinguishable instance of each logical informational entity (i.e. doesn't change for exact copies, but does change as soon as changes are made)
In these terms, the `logical id` is an instance identifier, and all the other identifiers are loosely called "business" identifiers. Note that due to real-world practices around IDs, business identifiers are often used to identify things by proxy e.g. identifying multiple different patient records for the same person by the same driver's license number.
#### "Business" Identifiers
Although the logical id of a resource changes as it moves from server to server, all copies of the resource refer to the same underlying concept, and this concept may also be represented in other formats (variously, [HL7 V2](http://www.hl7.org/implement/standards/product_brief.cfm?product_id=185), [CDA](http://www.hl7.org/implement/standards/product_brief.cfm?product_id=7), XDS, and many more). Each representation carries common identifiers that identify the underlying concept (also called "real-world entity") consistently across all contexts of use. This is known as the `business identifier`, and is found in the _identifier_ element, which has the type [Identifier](datatypes#Identifier).
All resources that have an `identifier` element support searching by the identifier, so that records can be located by that method. So if an [HL7 V2](http://www.hl7.org/implement/standards/product_brief.cfm?product_id=185) message has the following OBR:
OBR|1|845439^GHH OE|1045813^GHH LAB|1554-5^GLUCOSE^LN|||200202150730|...
Then the DiagnosticReport it represents can be located using the following query:
GET \[base\]/DiagnosticReport?identifier=1045813
Most resources have a logical master server, the system on which the record first is created, and which manages the record directly. In the master system, the `Logical ID` might be the same value found in the business identifier since the master server can enforce business practices that make for stable identifiers. This is usually not a safe practice on secondary systems which are not in a position to enforce their required identifier consistency.
#### Canonical URLs
Some resource types have a defined element `url` which is the 'canonical URL' that always identifies the resource. This is a special kind of Business Identifier. Note that the element actually contains a URI, but is named `url` for legacy reasons.
The canonical URL serves as a stable logical identifier for the resource, and **is the preferred way to reference a conformance or knowledge resource**. The canonical URL SHOULD also resolve to the location where the master copy of the artifact is found, though it is not always possible to arrange this. The canonical URL SHALL NOT refer to some other resource (though it may resolve to a different version of the same resource).
See [Canonical references](references#canonical) for further discussion of canonical references and the [canonical data type](datatypes#canonical). The following resources have canonical URLs:
- [ActivityDefinition](activitydefinition)
- [ActorDefinition](actordefinition)
- [CapabilityStatement](capabilitystatement)
- [ChargeItemDefinition](https://build.fhir.org/ig/HL7/admin-incubator/StructureDefinition-ChargeItemDefinition.html)
- [Citation](https://build.fhir.org/ig/HL7/ebm/StructureDefinition-Citation.html)
- [CodeSystem](codesystem)
- [CompartmentDefinition](compartmentdefinition)
- [ConceptMap](conceptmap)
- [ConditionDefinition](https://build.fhir.org/ig/HL7/pc-incubator/StructureDefinition-ConditionDefinition.html)
- [DeviceDefinition](devicedefinition)
- [EventDefinition](eventdefinition)
- [Evidence](evidence)
- [EvidenceVariable](evidencevariable)
- [ExampleScenario](examplescenario)
- [ImplementationGuide](implementationguide)
- [Library](library)
- [Measure](measure)
- [MessageDefinition](messagedefinition)
- [NamingSystem](namingsystem)
- [ObservationDefinition](observationdefinition)
- [OperationDefinition](operationdefinition)
- [PlanDefinition](plandefinition)
- [Questionnaire](questionnaire)
- [Requirements](requirements)
- [SearchParameter](searchparameter)
- [SpecimenDefinition](specimendefinition)
- [StructureDefinition](structuredefinition)
- [StructureMap](structuremap)
- [SubscriptionTopic](subscriptiontopic)
- [TerminologyCapabilities](terminologycapabilities)
- [ValueSet](valueset)
Other [Additional Resources](resource#additional) have canonical urls.
### Consistent Resource Identification
Business Identifiers are the preferred basis to recognize the same content on different systems. For example:
GET http://a.company.example.com/Patient/23
GET http://other.company.example.com/fhir/Patient/5860200e-0ee3-42f5-8095-506e18dc9ca2
Given that the identifier is the same, the patient resources are understood to mean that they describe the same patient. For this reason, systems SHOULD:
- Only assign identifiers to resources when they uniquely identify the real-world entity that the resources match (e.g. do not use account numbers as patient identifiers when multiple different patients share the same account number)
- Preserve identifiers as much as possible and not throw them away. Even if the identifiers are not useful to the system itself, they are likely to be useful to downstream consumers
- When serving resources, use consistent identifiers from the master persistent store where ever possible (e.g. when a resource is created from a primary record, populate the identifier, and store the identifier somewhere so the same identifier is used next time)
Following these practices will make for consistent identification of concepts and real-world entities across healthcare eco-systems. For example, medication orders can be represented as [MedicationRequest](medicationrequest) and [MedicationStatement](medicationstatement). Some systems - primary sources - will provide the medication order as a MedicationRequest while other secondary systems will provide them as a MedicationStatement. Any system processing the resources will need to reconcile these, and the presence of consistent identifiers will considerably simplify the reconciliation process.
Note that this specification provides two other related methods by which common source derivation can be indicated:
- [Provenance](provenance) - resources that have provenance statements where [Provenance.entity.what\[x\]](provenance-definitions#Provenance.entity.what_x_) refers to the same source, and the .entity.role is `derivation`
- [Resource.meta.source](resource-definitions#Meta.source) - two resources that have the same source
The granularity of [Provenance.entity.what\[x\]](provenance-definitions#Provenance.entity.what_x_) / [Resource.meta.source](resource-definitions#Meta.source) is not fixed to a single resource - multiple resources can be derived from a single source entity (e.g. a single CDA document), so applications need to be careful assuming that matching entity source information means that the resources are identifying the same real-world concept.
### Implicit Rules
A reference to a custom agreement that describes how the resource is being used (e.g. an [implementation guide](profiling#glossary)) that was followed when the resource was constructed, where the implementation guide must be known and understood in order to safely processing the content.
Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term, and should be avoided where possible. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally exchangeable sense.
Note that resources are almost always constructed following some custom agreement. Best practice - which is recommended throughout the conformance resources - is that such agreements make all knowledge about the content of the resource explicit in the content of the resource; if custom agreements follow this advice, and declare their extensions as required, then it is not necessary to understand the agreement in order to safely process the resource content. For this reason, use of `implicitRules` is rare.
### Language
Each resource may have a language element that specifies the base language of the content using a [code defined in BCP 47](http://tools.ietf.org/html/bcp47). The language element is provided to support indexing and accessibility (e.g. text-to-speech use the language tag).
If a language is specified, it should also be specified on the [Narrative Text](narrative#Narrative). The html language tag in the narrative is used when processing the narrative. The language tag on the resource is provided so that applications processing the data in the resource can specify the language of any alternate presentations generated from the data.
There is no default language, though one may be inferred from the context of use. Not all of the content of the resource has to be in the specified language. [Multiple languages](languages) can be supported.
Any valid language code as defined in [BCP 47](http://tools.ietf.org/html/bcp47) is valid. The language code system is complex, with parts for Primary Language, Script, Region, and other variants and extensions. In order to simplify implementations, the language element has a [preferred binding](terminologies#preferred) to an enumerated list of common language codes encountered in applications, with translations, and also a [maximum binding](terminologies#binding) of any language; this allows most applications to simply use a look up table, without preventing the use of any language code.
### Resource Metadata
Each resource contains an element "meta", of type "Meta", which is a set of metadata that provides technical and workflow context to the resource. The metadata items are all optional, though some or all of them may be required in particular implementations or contexts of use.
| Metadata Item | Type | Usage |
| --- | --- | --- |
| versionId (0..1) | [id](datatypes#id) | Changes each time the content of the resource changes. Can be referenced in a [resource reference](references#Resource). Can be used to ensure that updates are based on the latest version of the resource.
The version can be globally unique, or scoped by the Logical Id of the resource. Version identifiers are generally either a serially incrementing id scoped by the logical id, or a uuid, though neither of these approaches is required. There is no fixed order for version ids - clients cannot assume that a versionId that comes after another one either numerically or alphabetically represents a later version. The same versionId can never be used for more than one version of the same resource.
On the RESTful API: On receiving an [update](http#update), [patch](http#patch), or other FHIR operation that impacts meta, the server SHALL update this item to the current value, or remove it. Note that servers SHOULD support versions, but some are unable to |
| lastUpdated (0..1) | [instant](datatypes#instant) | If populated, this value changes each time the content of the resource changes. It can be used by a system or a human to judge the currency of the resource content. Note that [version aware updates](http#update) do not depend on this element. Note that [a timezone code](http://hl7.org/fhir/extensions/StructureDefinition-timezone.html) extension may be present on Meta.lastUpdated. If present, the timezone code applies to the server copy of the resource, and not necessarily to other time related elements within the resource even if the timezone offsets are the same.
On the RESTful API: On receiving a [create](http#create), [update](http#update), [patch](http#patch), or other FHIR operation that impacts meta, the server SHALL update this item to the current time on the server |
| source (0..1) | [uri](datatypes#uri) | A uri that identifies the data source of the resource. This provides a minimal amount of [Provenance](provenance) information that can be used to track or differentiate the source of information in the resource. The source may be another resource, or it may be a more abstract or general identifier, or identify another FHIR server, end-point, document, message, database, etc. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used.
On the RESTful API: On receiving a [create](http#create), [update](http#update), [patch](http#patch), or other FHIR operation that impacts meta, the server SHOULD generally leave this unchanged, unless applicable business rules, along with available provenance, dictate otherwise |
| profile (0..\*) | [canonical](datatypes#canonical) | An assertion that the content conforms to a resource profile (a [StructureDefinition](structuredefinition)). See [Extending and Restricting Resources](profiling#resources) for further discussion. Can be changed as profiles and value sets change or the system rechecks conformance. The profile can be used to [indicate which version(s) of FHIR a resource conforms to](versioning#mp-version).
On the RESTful API: On receiving a [create](http#create), [update](http#update), [patch](http#patch), or other FHIR operation that impacts meta, the server MAY elect to remove invalid claims, SHOULD retain claims that are correct or untested, and MAY add additional claims it believes are valid |
| security (0..\*) | [Coding](datatypes#Coding) | [Security labels](security-labels) applied to this resource. These tags connect resources in specific ways to the overall security policy and infrastructure. Security tags can be updated when the resource changes, or whenever the security sub-system chooses to.
On the RESTful API: On receiving a [create](http#create), [update](http#update), [patch](http#patch), or other FHIR operation that impacts meta, the server SHOULD preserve the labels unless applicable business rules dictate otherwise |
| tag (0..\*) | [Coding](datatypes#Coding) | [Tags](resource-definitions#Meta.tag) applied to this resource. Tags are used to relate resources to process and workflow. Applications are not required to consider the tags when interpreting the meaning of a resource.
On the RESTful API: On receiving a [create](http#create), [update](http#update), [patch](http#patch), or other FHIR operation that impacts meta, the server SHOULD preserve the labels unless applicable business rules dictate otherwise |
### Meta
| [FHIR Infrastructure](http://www.hl7.org/Special/committees/fiwg/index.cfm) Work Group | [Maturity Level](versions#maturity): 5 | [Standards Status](versions#std-process): [Normative](versions#std-process "Standard Status") |
| --- | --- | --- |
See also [Base Definition](resource#Meta), [Detailed Descriptions](resource-definitions#Meta), [Mappings](resource-mappings#Meta), [Profiles](resource-profiles#Meta) and [Extensions](http://hl7.org/fhir/extensions/extensions-resource.html#Meta)
- [Structure](#tabs-Meta-struc)
- [UML](#tabs-Meta-uml)
- [XML](#tabs-Meta-xml)
- [JSON](#tabs-Meta-json)
- [Turtle](#tabs-Meta-ttl)
- [Version Diff](#tabs-Meta-diff)
- [All](#tabs-Meta-all)
**Structure**
| [Name](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "The logical name of the element") | [Flags](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "Information about the use of the element") | [Card.](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "Minimum and Maximum # of times the the element can appear in the instance") | [Type](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "Reference to the type of the element") | [Description & Constraints](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "Additional information about the element")[](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "Legend for this format") |
| --- | --- | --- | --- | --- |
|  [Meta](resource-definitions#Meta "Meta : The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries")[N](versions#std-process "Standards Status = Normative") | | [Element](types#Element) | Metadata about a resource
Elements defined in Ancestors: [id](types#Element "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."), [extension](types#Element "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 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 SHALL be met as part of the definition of the extension.") |
|  [versionId](resource-definitions#Meta.versionId "Meta.versionId : The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries") | 0..1 | [id](datatypes#id) | Version specific identifier
|
|  [lastUpdated](resource-definitions#Meta.lastUpdated "Meta.lastUpdated : When the resource last changed - e.g. when the version changed.") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries") | 0..1 | [instant](datatypes#instant) | When the resource version last changed
|
|  [source](resource-definitions#Meta.source "Meta.source : A uri that identifies the data source of the resource. This provides a minimal amount of [[[Provenance]]] information that can be used to track or differentiate the source of information in the resource. The source may identify another server, document, message, database, etc. It can also refer to portions of a structure, such as a section, segment, row, etc.") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries") | 0..1 | [uri](datatypes#uri) | Identifies where the resource comes from
|
|  [profile](resource-definitions#Meta.profile "Meta.profile : A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries") | 0..\* | [canonical](datatypes#canonical)([StructureDefinition](structuredefinition)) | Profiles this resource claims to conform to
|
|  [security](resource-definitions#Meta.security "Meta.security : Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries") | 0..\* | [Coding](datatypes#Coding) | Security Labels applied to this resource
Binding: [All Security Labels](valueset-security-labels "Security Labels from the Healthcare Privacy and Security Classification System.") ([Extensible](terminologies#extensible "To be conformant, the concept in this element SHALL be from the specified value set if any of the codes within the value set can apply to the concept being communicated. If the value set does not cover the concept (based on human review), alternate codings (or, data type allowing, text) may be included instead."))
|
|  [tag](resource-definitions#Meta.tag "Meta.tag : Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries") | 0..\* | [Coding](datatypes#Coding) | Tags applied to this resource
Binding: [Common Tags](valueset-common-tags "Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".") ([Example](terminologies#example "Instances are not expected or even encouraged to draw from the specified value set. The value set merely provides examples of the types of concepts intended to be included."))
|
|
[ Documentation for this format](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "Legend for this format") |
Definition: [XML](meta.profile.xml) | [JSON](meta.profile.json)
**UML Diagram** ([Legend](formats#uml))
MetaThe version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deletedversionId : id \[0..1\]When the resource last changed - e.g. when the version changedlastUpdated : instant \[0..1\]A uri that identifies the data source of the resource. This provides a minimal amount of \[\[\[Provenance\]\]\] information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etcsource : uri \[0..1\]A list of profiles (references to \[\[\[StructureDefinition\]\]\] resources) that this resource claims to conform to. The URL is a reference to \[\[\[StructureDefinition.url\]\]\]profile : canonical \[0..\*\] « StructureDefinition »Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructuresecurity : Coding \[0..\*\] « Security Labels from the Healthcare Privacy and Security Classification System. (Strength=Extensible)AllSecurityLabels\+ »Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resourcetag : Coding \[0..\*\] « Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". (Strength=Example)CommonTags?? »DataType
**XML Template**
<[**meta**](resource-definitions#Meta "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.") xmlns="http://hl7.org/fhir">
<[**versionId**](resource-definitions#Meta.versionId "The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.") value="\[[id](datatypes#id)\]"/>
<[**lastUpdated**](resource-definitions#Meta.lastUpdated "When the resource last changed - e.g. when the version changed.") value="\[[instant](datatypes#instant)\]"/>
<[**source**](resource-definitions#Meta.source "A uri that identifies the data source of the resource. This provides a minimal amount of [[[Provenance]]] information that can be used to track or differentiate the source of information in the resource. The source may identify another server, document, message, database, etc. It can also refer to portions of a structure, such as a section, segment, row, etc.") value="\[[uri](datatypes#uri)\]"/>
<[**profile**](resource-definitions#Meta.profile "A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].")\>
<[**security**](resource-definitions#Meta.security "Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.")\>
<[**tag**](resource-definitions#Meta.tag "Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.")\>
**JSON Template**
{[](json "Documentation for this format")
// from Element: [extension](extensibility)
"[versionId](resource-definitions#Meta.versionId "The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.")" : "<[id](datatypes#id)\>", // [Version specific identifier](terminologies#unbound)
"[lastUpdated](resource-definitions#Meta.lastUpdated "When the resource last changed - e.g. when the version changed.")" : "<[instant](datatypes#instant)\>", // [When the resource version last changed](terminologies#unbound)
"[source](resource-definitions#Meta.source "A uri that identifies the data source of the resource. This provides a minimal amount of [[[Provenance]]] information that can be used to track or differentiate the source of information in the resource. The source may identify another server, document, message, database, etc. It can also refer to portions of a structure, such as a section, segment, row, etc.")" : "<[uri](datatypes#uri)\>", // [Identifies where the resource comes from](terminologies#unbound)
"[profile](resource-definitions#Meta.profile "A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].")" : \["<[canonical](datatypes#canonical)([StructureDefinition](structuredefinition#StructureDefinition))>"\], // [Profiles this resource claims to conform to](terminologies#unbound)
"[security](resource-definitions#Meta.security "Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.")" : \[{ [Coding](datatypes#Coding) }\], // [Security Labels applied to this resource](valueset-security-labels)
"[tag](resource-definitions#Meta.tag "Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.")" : \[{ [Coding](datatypes#Coding) }\] // [Tags applied to this resource](valueset-common-tags)
}
**Turtle Template**
@prefix fhir: .
\[
# from Element: [Element.extension](extensibility)
fhir:[versionId](resource-definitions#Meta.versionId "The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.") \[ [id](datatypes#id) \] ; # 0..1 Version specific identifier
fhir:[lastUpdated](resource-definitions#Meta.lastUpdated "When the resource last changed - e.g. when the version changed.") \[ [instant](datatypes#instant) \] ; # 0..1 When the resource version last changed
fhir:[source](resource-definitions#Meta.source "A uri that identifies the data source of the resource. This provides a minimal amount of [[[Provenance]]] information that can be used to track or differentiate the source of information in the resource. The source may identify another server, document, message, database, etc. It can also refer to portions of a structure, such as a section, segment, row, etc.") \[ [uri](datatypes#uri) \] ; # 0..1 Identifies where the resource comes from
fhir:[profile](resource-definitions#Meta.profile "A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].") ( \[ [canonical](datatypes#canonical)([StructureDefinition](structuredefinition#StructureDefinition)) \] ... ) ; # 0..\* Profiles this resource claims to conform to
fhir:[security](resource-definitions#Meta.security "Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.") ( \[ [Coding](datatypes#Coding) \] ... ) ; # 0..\* Security Labels applied to this resource
fhir:[tag](resource-definitions#Meta.tag "Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.") ( \[ [Coding](datatypes#Coding) \] ... ) ; # 0..\* Tags applied to this resource
\]
**Changes since Release 3**
**Changes from both R4 and R4B**
| [Meta](resource#Meta) |
- No Changes
|
| --- | --- |
See the [Full Difference](diff) for further information
**Structure**
| [Name](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "The logical name of the element") | [Flags](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "Information about the use of the element") | [Card.](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "Minimum and Maximum # of times the the element can appear in the instance") | [Type](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "Reference to the type of the element") | [Description & Constraints](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "Additional information about the element")[](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "Legend for this format") |
| --- | --- | --- | --- | --- |
|  [Meta](resource-definitions#Meta "Meta : The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries")[N](versions#std-process "Standards Status = Normative") | | [Element](types#Element) | Metadata about a resource
Elements defined in Ancestors: [id](types#Element "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."), [extension](types#Element "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 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 SHALL be met as part of the definition of the extension.") |
|  [versionId](resource-definitions#Meta.versionId "Meta.versionId : The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries") | 0..1 | [id](datatypes#id) | Version specific identifier
|
|  [lastUpdated](resource-definitions#Meta.lastUpdated "Meta.lastUpdated : When the resource last changed - e.g. when the version changed.") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries") | 0..1 | [instant](datatypes#instant) | When the resource version last changed
|
|  [source](resource-definitions#Meta.source "Meta.source : A uri that identifies the data source of the resource. This provides a minimal amount of [[[Provenance]]] information that can be used to track or differentiate the source of information in the resource. The source may identify another server, document, message, database, etc. It can also refer to portions of a structure, such as a section, segment, row, etc.") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries") | 0..1 | [uri](datatypes#uri) | Identifies where the resource comes from
|
|  [profile](resource-definitions#Meta.profile "Meta.profile : A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries") | 0..\* | [canonical](datatypes#canonical)([StructureDefinition](structuredefinition)) | Profiles this resource claims to conform to
|
|  [security](resource-definitions#Meta.security "Meta.security : Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries") | 0..\* | [Coding](datatypes#Coding) | Security Labels applied to this resource
Binding: [All Security Labels](valueset-security-labels "Security Labels from the Healthcare Privacy and Security Classification System.") ([Extensible](terminologies#extensible "To be conformant, the concept in this element SHALL be from the specified value set if any of the codes within the value set can apply to the concept being communicated. If the value set does not cover the concept (based on human review), alternate codings (or, data type allowing, text) may be included instead."))
|
|  [tag](resource-definitions#Meta.tag "Meta.tag : Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.") | [Σ](elementdefinition-definitions#ElementDefinition.isSummary "This element is included in summaries") | 0..\* | [Coding](datatypes#Coding) | Tags applied to this resource
Binding: [Common Tags](valueset-common-tags "Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".") ([Example](terminologies#example "Instances are not expected or even encouraged to draw from the specified value set. The value set merely provides examples of the types of concepts intended to be included."))
|
|
[ Documentation for this format](https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views "Legend for this format") |
**UML Diagram** ([Legend](formats#uml))
MetaThe version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deletedversionId : id \[0..1\]When the resource last changed - e.g. when the version changedlastUpdated : instant \[0..1\]A uri that identifies the data source of the resource. This provides a minimal amount of \[\[\[Provenance\]\]\] information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etcsource : uri \[0..1\]A list of profiles (references to \[\[\[StructureDefinition\]\]\] resources) that this resource claims to conform to. The URL is a reference to \[\[\[StructureDefinition.url\]\]\]profile : canonical \[0..\*\] « StructureDefinition »Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructuresecurity : Coding \[0..\*\] « Security Labels from the Healthcare Privacy and Security Classification System. (Strength=Extensible)AllSecurityLabels\+ »Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resourcetag : Coding \[0..\*\] « Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". (Strength=Example)CommonTags?? »DataType
**XML Template**
<[**meta**](resource-definitions#Meta "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.") xmlns="http://hl7.org/fhir">
<[**versionId**](resource-definitions#Meta.versionId "The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.") value="\[[id](datatypes#id)\]"/>
<[**lastUpdated**](resource-definitions#Meta.lastUpdated "When the resource last changed - e.g. when the version changed.") value="\[[instant](datatypes#instant)\]"/>
<[**source**](resource-definitions#Meta.source "A uri that identifies the data source of the resource. This provides a minimal amount of [[[Provenance]]] information that can be used to track or differentiate the source of information in the resource. The source may identify another server, document, message, database, etc. It can also refer to portions of a structure, such as a section, segment, row, etc.") value="\[[uri](datatypes#uri)\]"/>
<[**profile**](resource-definitions#Meta.profile "A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].")\>
<[**security**](resource-definitions#Meta.security "Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.")\>
<[**tag**](resource-definitions#Meta.tag "Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.")\>
**JSON Template**
{[](json "Documentation for this format")
// from Element: [extension](extensibility)
"[versionId](resource-definitions#Meta.versionId "The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.")" : "<[id](datatypes#id)\>", // [Version specific identifier](terminologies#unbound)
"[lastUpdated](resource-definitions#Meta.lastUpdated "When the resource last changed - e.g. when the version changed.")" : "<[instant](datatypes#instant)\>", // [When the resource version last changed](terminologies#unbound)
"[source](resource-definitions#Meta.source "A uri that identifies the data source of the resource. This provides a minimal amount of [[[Provenance]]] information that can be used to track or differentiate the source of information in the resource. The source may identify another server, document, message, database, etc. It can also refer to portions of a structure, such as a section, segment, row, etc.")" : "<[uri](datatypes#uri)\>", // [Identifies where the resource comes from](terminologies#unbound)
"[profile](resource-definitions#Meta.profile "A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].")" : \["<[canonical](datatypes#canonical)([StructureDefinition](structuredefinition#StructureDefinition))>"\], // [Profiles this resource claims to conform to](terminologies#unbound)
"[security](resource-definitions#Meta.security "Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.")" : \[{ [Coding](datatypes#Coding) }\], // [Security Labels applied to this resource](valueset-security-labels)
"[tag](resource-definitions#Meta.tag "Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.")" : \[{ [Coding](datatypes#Coding) }\] // [Tags applied to this resource](valueset-common-tags)
}
**Turtle Template**
@prefix fhir: .
\[
# from Element: [Element.extension](extensibility)
fhir:[versionId](resource-definitions#Meta.versionId "The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.") \[ [id](datatypes#id) \] ; # 0..1 Version specific identifier
fhir:[lastUpdated](resource-definitions#Meta.lastUpdated "When the resource last changed - e.g. when the version changed.") \[ [instant](datatypes#instant) \] ; # 0..1 When the resource version last changed
fhir:[source](resource-definitions#Meta.source "A uri that identifies the data source of the resource. This provides a minimal amount of [[[Provenance]]] information that can be used to track or differentiate the source of information in the resource. The source may identify another server, document, message, database, etc. It can also refer to portions of a structure, such as a section, segment, row, etc.") \[ [uri](datatypes#uri) \] ; # 0..1 Identifies where the resource comes from
fhir:[profile](resource-definitions#Meta.profile "A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].") ( \[ [canonical](datatypes#canonical)([StructureDefinition](structuredefinition#StructureDefinition)) \] ... ) ; # 0..\* Profiles this resource claims to conform to
fhir:[security](resource-definitions#Meta.security "Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.") ( \[ [Coding](datatypes#Coding) \] ... ) ; # 0..\* Security Labels applied to this resource
fhir:[tag](resource-definitions#Meta.tag "Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.") ( \[ [Coding](datatypes#Coding) \] ... ) ; # 0..\* Tags applied to this resource
\]
**Changes since Release 3**
**Changes from both R4 and R4B**
| [Meta](resource#Meta) |
- No Changes
|
| --- | --- |
See the [Full Difference](diff) for further information
## StructureDefinition
### Elements (Simplified)
- **[Resource](/resource-definitions#Resource)** [0..*]: - Base Resource
- **[Resource.id](/resource-definitions#Resource.id)** [0..1]: [http://hl7.org/fhirpath/System.String](/http://hl7.org/fhirpath/System.String) Logical id of this artifact
- **[Resource.meta](/resource-definitions#Resource.meta)** [0..1]: [Meta](/Meta) Metadata about the resource
- **[Resource.implicitRules](/resource-definitions#Resource.implicitRules)** [0..1]: [uri](/uri) A set of rules under which this content was created
- **[Resource.language](/resource-definitions#Resource.language)** [0..1]: [code](/code) required:[all-languages](/valueset-all-languages) Language of the resource content
## Mappings
- [Resource Mappings](/resource-mappings) — 1 mapping entries
## Implementation Guide
### implementationguide-Resource-core.xml
```xml
```
## Operations
- [convert](/resource-operation-convert) — Convert from one form to another — This operation takes a resource in one form, and returns to in another form.
- [graphql](/resource-operation-graphql) — Execute a graphql statement — Execute a graphql statement on a since resource or against the entire system.
- [validate](/resource-operation-validate) — Validate a resource — The validate operation checks whether the attached content would be acceptable either generally, as a create, an update or as a delete to an existing resource.
[Full Operations](/resource-operations)
## Resource Packs
### list-Resource-packs.xml
```xml
-
```
## Search Parameters
- [_content](/resource-search#_content) — **special** — Search on the entire content of the resource — `-`
- [_id](/resource-search#_id) — **token** — Logical id of this artifact — `Resource.id`
- [_in](/resource-search#_in) — **reference** — Allows for the retrieval of resources that are active members of a CareTeam, Group, or List — `Resource.id`
- [_language](/resource-search#_language) — **token** — Language of the resource content — `Resource.language`
- [_lastUpdated](/resource-search#_lastUpdated) — **date** — When the resource version last changed — `Resource.meta.lastUpdated`
- [_list](/resource-search#_list) — **special** — Allows for the retrieval of resources that are referenced by a List resource or by one of the pre-defined functional lists — `-`
- [_profile](/resource-search#_profile) — **reference** — Profiles this resource claims to conform to — `Resource.meta.profile`
- [_query](/resource-search#_query) — **special** — A custom search profile that describes a specific defined query operation — `-`
- [_security](/resource-search#_security) — **token** — Security Labels applied to this resource — `Resource.meta.security`
- [_source](/resource-search#_source) — **uri** — Identifies where the resource comes from — `Resource.meta.source`
- [_tag](/resource-search#_tag) — **token** — Tags applied to this resource — `Resource.meta.tag`
- [_has](/resource-search#_has) — **special** — Provides limited support for reverse chaining - that is, selecting resources based on the properties of resources that refer to them (instead of chaining where resources can be selected based on the properties of resources that they refer to). See the FHIR search page for further documentation — `-`
- [_type](/resource-search#_type) — **special** — A resource type filter — `-`
- [_filter](/resource-search#_filter) — **special** — Filter search parameter which supports a more sophisticated grammar for searching. See [documentation](search_filter.html) for further details — `-`
[Full Search Parameters](/resource-search)