Profile: PAS (Response)
PAS Overview
The Provincial Attachment System (PAS) enables healthcare providers to manage a patient’s membership in their panel or roster at a specific healthcare facility. Through seamless messaging interactions, providers can ensure that their Electronic Medical Records (EMR) systems are aligned with PAS, eliminating the need for manual updates and ensuring panel data is consistent across both systems. PAS allows providers to retrieve and manage the Most Responsible Provider (MRP) status, helping improve administrative efficiency and care coordination.
Using FHIR messaging protocols encapsulated in Bundles, requests and responses are exchanged between the systems, enabling smooth communication. This page provides documentation on the structure of PAS (Request) and PAS (Response) messages, and the resource profiles that form the foundation of these interactions.
Please refer to the LRA Configuration page for information on authentication, authorization, environment, and endpoint details.
Response
A PAS Response follows a similar bundle structure, confirming the success or failure of the actions requested. The PAS Response Bundle includes essential resources, such as the MessageHeader, Group, Practitioner, Organization, and OperationOutcome, which reflect the outcome of the operation.
- PAS Response Bundle: A PAS Response Bundle is a FHIR message containing resources like MessageHeader, Group, OperationOutcome, and other related resources to confirm the outcome of the requested actions.
- PAS Response MessageHeader: Identifies the PAS response and its related request, indicating the status of the operation (e.g., success or failure) and the type of response (e.g., add, remove, or query patient panel status).
- PAS Response Group: Confirms the updated relationship between the provider (Group.managingEntity) and the patient (Group.member.entity) within a provider's panel, based on the requested action.
- PAS Practitioner: Represents the provider responsible for the patient's panel management.
- PAS PractitionerRole: Represents the role of the practitioner within the facility, linking the practitioner to their responsibilities within the organization and patient panel.
- PAS Organization: Represents the individual whose membership is being added, removed, or queried within the panel.
- PAS Patient: The individual being added, removed, or queried within the provider's panel.
- OperationOutcome: Provides detailed information about the success or failure of the requested operation, including any errors or warnings encountered during processing.
Response Scenarios
Following are the response scenarios:
Add
The bundle type would be message, and the MRP extension value (on Group.member) should be "Pending".
Here is the example response bundle that will add a patient to a provider panel.
Remove
The bundle type would be message, and the MRP extension value should be "Removed".
Query
The bundle type would be message, and the possible MRP extension values are as follows:
MRP Status Message Description "No MRP" - "Confirmed" - "Not the MRP" - "Pending" - "Removed" -
Profile Content
-
PAS Response Bundle
Simplifier link for the profile: Bundle (PAS-LRA) - response
A PAS Response Bundle is a FHIR message containing resources like MessageHeader, Group, OperationOutcome, and other related resources to confirm the outcome of the requested actions.
LRAPASBundleResponse (Bundle) I Bundle Element id Short descriptionBundle
PAS Response Bundle
DefinitionData type ConstraintsA container for a collection of resources.
Mappings- bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
(type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
- bdl-9: A document must have an identifier with a system and a value
type = 'document' implies (identifier.system.exists() and identifier.value.exists())
- bdl-3: entry.request mandatory for batch/transaction/history, otherwise prohibited
entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
- bdl-4: entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))
- bdl-12: A message must have a MessageHeader as the first resource
type = 'message' implies entry.first().resource.is(MessageHeader)
- bdl-1: total only when a search or history
total.empty() or (type = 'searchset') or (type = 'history')
- bdl-2: entry.search only when a search
entry.search.empty() or (type = 'searchset')
- bdl-11: A document must have a Composition as the first resource
type = 'document' implies entry.first().resource.is(Composition)
- bdl-10: A document must have a date
type = 'document' implies (timestamp.hasValue())
- rim: Entity. Role, or Act
- v2: N/A
- rim: N/A
- cda: ClinicalDocument, if bundle.type = document
id Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.id
Logical id of this artifact
DefinitionCommentsThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Data typeThe only time that a resource does not have an id is when it is being submitted to the server using a create operation.
meta Σ 0..1 Meta There are no (further) constraints on this elementElement idShort descriptionBundle.meta
Metadata about the resource
DefinitionData type ConstraintsThe 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.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
implicitRules Σ ?! 0..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.implicitRules
A set of rules under which this content was created
DefinitionCommentsA reference to a set of rules that were followed when the resource was constructed, and 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.
Data type ConstraintsAsserting 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. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
language 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionBundle.language
Language of the resource content
DefinitionCommentsThe base language in which the resource is written.
Data type BindingLanguage is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
CommonLanguages (preferred)ConstraintsA human language.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
identifier Σ 0..1 Identifier There are no (further) constraints on this elementElement idShort descriptionBundle.identifier
Persistent identifier for the bundle
DefinitionCommentsA persistent identifier for the bundle that won't change as a bundle is copied from server to server.
Data type ConstraintsPersistent identity generally only matters for batches of type Document, Message, and Collection. It would not normally be populated for search and history results and servers ignore Bundle.identifier when processing batches and transactions. For Documents the .identifier SHALL be populated such that the .identifier is globally unique.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
- rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
- servd: Identifier
- w5: FiveWs.identifier
- cda: ClinicalDocument.id
type S Σ 1..1 codeBindingFixed Value Element id Short descriptionBundle.type
document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
DefinitionCommentsIndicates the purpose of this bundle - how it is intended to be used.
Data type BindingIt's possible to use a bundle for other purposes (e.g. a document can be accepted as a transaction). This is primarily defined so that there can be specific rules for some of the bundle types.
BundleType (required)ConstraintsIndicates the purpose of a bundle - how it is intended to be used.
Fixed value- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
Mappingsmessage
- rim: n/a
- w5: FiveWs.class
timestamp Σ 0..1 instant There are no (further) constraints on this elementElement idShort descriptionBundle.timestamp
When the bundle was assembled
DefinitionCommentsThe date/time that the bundle was assembled - i.e. when the resources were placed in the bundle.
Data type ConstraintsFor many bundles, the timestamp is equal to .meta.lastUpdated, because they are not stored (e.g. search results). When a bundle is placed in a persistent store, .meta.lastUpdated will be usually be changed by the server. When the bundle is a message, a middleware agent altering the message (even if not stored) SHOULD update .meta.lastUpdated. .timestamp is used to track the original time of the Bundle, and SHOULD be populated.
Usage:
- document : the date the document was created. Note: the composition may predate the document, or be associated with multiple documents. The date of the composition - the authoring time - may be earlier than the document assembly time
- message : the date that the content of the message was assembled. This date is not changed by middleware engines unless they add additional data that changes the meaning of the time of the message
- history : the date that the history was assembled. This time would be used as the _since time to ask for subsequent updates
- searchset : the time that the search set was assembled. Note that different pages MAY have different timestamps but need not. Having different timestamps does not imply that subsequent pages will represent or include changes made since the initial query
- transaction | transaction-response | batch | batch-response | collection : no particular assigned meaning
The timestamp value should be greater than the lastUpdated and other timestamps in the resources in the bundle, and it should be equal or earlier than the .meta.lastUpdated on the Bundle itself.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- w5: FiveWs.init
- cda: ClinicalDocument.effectiveTime
total Σ I 0..1 unsignedInt There are no (further) constraints on this elementElement idShort descriptionBundle.total
If search, the total number of matches
DefinitionCommentsIf a set of search matches, this is the total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle.
Data type ConstraintsOnly used if the bundle is a search result set. The total does not include resources such as OperationOutcome and included resources, only the total number of matching resources.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
link Σ 0..* BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.link
Links related to this Bundle
DefinitionCommentsA series of links that provide context to this bundle.
Data type ConstraintsBoth Bundle.link and Bundle.entry.link are defined to support providing additional context when Bundles are used (e.g. HATEOAS).
Bundle.entry.link corresponds to links found in the HTTP header if the resource in the entry was read directly.
This specification defines some specific uses of Bundle.link for searching and paging, but no specific uses for Bundle.entry.link, and no defined function in a transaction - the meaning is implementation specific.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.link.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.link.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.link.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
relation Σ 1..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.link.relation
See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
DefinitionCommentsA name which details the functional use for this link - see http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
url Σ 1..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.link.url
Reference details for the link
DefinitionCommentsThe reference details for the link.
Data type Constraintssee http://en.wikipedia.org/wiki/Uniform_resource_identifier
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
entry S Σ I 1..* BackboneElement Element id Short descriptionBundle.entry
Entry in the bundle - will have a resource or information
DefinitionData type Sliced:An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).
Unordered, Open, by resource(Type)
Slice different resources included in the bundleConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- bdl-8: fullUrl cannot be a version specific reference
fullUrl.contains('/_history/').not()
- bdl-5: must be a resource unless there's a request or response
resource.exists() or request.exists() or response.exists()
- rim: n/a
(All Slices) There are no (further) constraints on this elementid 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
link Σ 0..* see (link) There are no (further) constraints on this elementElement idShort descriptionBundle.entry.link
Links related to this entry
DefinitionA series of links that provide context to this entry.
fullUrl Σ 0..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry.fullUrl
URI for resource (Absolute URL server address or URI for UUID/OID)
DefinitionCommentsThe Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that:
- fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle)
- Results from operations might involve resources that are not identified.
Data type ConstraintsfullUrl might not be unique in the context of a resource. Note that since FHIR resources do not need to be served through the FHIR API, the fullURL might be a URN or an absolute URL that does not end with the logical id of the resource (Resource.id). However, but if the fullUrl does look like a RESTful server URL (e.g. meets the regex, then the 'id' portion of the fullUrl SHALL end with the Resource.id.
Note that the fullUrl is not the same as the canonical URL - it's an absolute url for an endpoint serving the resource (these will happen to have the same value on the canonical server for the resource with the canonical URL).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
resource Σ 0..1 Resource There are no (further) constraints on this elementElement idShort descriptionBundle.entry.resource
A resource in the bundle
DefinitionData type MappingsThe Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.
- rim: Entity. Role, or Act
search Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry.search
Search related information
DefinitionData type ConstraintsInformation about the search process that lead to the creation of this entry.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry.search.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry.search.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry.search.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
mode Σ 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionBundle.entry.search.mode
match | include | outcome - why this is in the result set
DefinitionCommentsWhy this entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
Data type BindingThere is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence.
SearchEntryMode (required)ConstraintsWhy an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
score Σ 0..1 decimal There are no (further) constraints on this elementElement idShort descriptionBundle.entry.search.score
Search ranking (between 0 and 1)
DefinitionCommentsWhen searching, the server's search ranking score for the entry.
Data type ConstraintsServers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order.
See Patient Match for the EMPI search which relates to this element.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
request Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry.request
Additional execution information (transaction/batch/history)
DefinitionData type ConstraintsAdditional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry.request.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry.request.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry.request.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
method Σ 1..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionBundle.entry.request.method
GET | HEAD | POST | PUT | DELETE | PATCH
DefinitionCommentsIn a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred.
Data type BindingNote that FHIR strings SHALL NOT exceed 1MB in size
HTTPVerb (required)ConstraintsHTTP verbs (in the HTTP command line). See HTTP rfc for details.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
url Σ 1..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry.request.url
URL for HTTP equivalent of this entry
DefinitionCommentsThe URL for this entry, relative to the root (the address to which the request is posted).
Data type ConstraintsE.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]".
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifNoneMatch Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry.request.ifNoneMatch
For managing cache currency
DefinitionCommentsIf the ETag values match, return a 304 Not Modified status. See the API documentation for "Conditional Read".
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifModifiedSince Σ 0..1 instant There are no (further) constraints on this elementElement idShort descriptionBundle.entry.request.ifModifiedSince
For managing cache currency
DefinitionCommentsOnly perform the operation if the last updated date matches. See the API documentation for "Conditional Read".
Data type ConstraintsNote: This is intended for where precisely observed times are required, typically system logs etc., and not human-reported times - for them, see date and dateTime (which can be as precise as instant, but is not required to be) below. Time zone is always required
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifMatch Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry.request.ifMatch
For managing update contention
DefinitionCommentsOnly perform the operation if the Etag value matches. For more information, see the API section "Managing Resource Contention".
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifNoneExist Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry.request.ifNoneExist
For conditional creates
DefinitionCommentsInstruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for "Conditional Create". This is just the query portion of the URL - what follows the "?" (not including the "?").
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
response Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry.response
Results of execution (transaction/batch/history)
DefinitionData type ConstraintsIndicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry.response.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry.response.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry.response.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
status Σ 1..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry.response.status
Status response code (text optional)
DefinitionCommentsThe status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
location Σ 0..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry.response.location
The location (if the operation returns a location)
DefinitionCommentsThe location header created by processing this operation, populated if the operation returns a location.
Data type Constraintssee http://en.wikipedia.org/wiki/Uniform_resource_identifier
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
etag Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry.response.etag
The Etag for the resource (if relevant)
DefinitionCommentsThe Etag for the resource, if the operation for the entry produced a versioned resource (see Resource Metadata and Versioning and Managing Resource Contention).
Data type ConstraintsEtags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
lastModified Σ 0..1 instant There are no (further) constraints on this elementElement idShort descriptionBundle.entry.response.lastModified
Server's date time modified
DefinitionCommentsThe date/time that the resource was modified on the server.
Data type ConstraintsThis has to match the same time in the meta header (meta.lastUpdated) if a resource is included.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
outcome Σ 0..1 Resource There are no (further) constraints on this elementElement idShort descriptionBundle.entry.response.outcome
OperationOutcome with hints and warnings (for batch/transaction)
DefinitionCommentsAn OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction.
Data type MappingsFor a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned.
This outcome is not used for error responses in batch/transaction, only for hints and warnings. In a batch operation, the error will be in Bundle.entry.response, and for transaction, there will be a single OperationOutcome instead of a bundle in the case of an error.
- rim: Entity. Role, or Act
messageHeader S Σ I 1..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader
Entry in the bundle - will have a resource or information
DefinitionData type ConstraintsAn entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- bdl-8: fullUrl cannot be a version specific reference
fullUrl.contains('/_history/').not()
- bdl-5: must be a resource unless there's a request or response
resource.exists() or request.exists() or response.exists()
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
link Σ 0..* see (link) There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.link
Links related to this entry
DefinitionA series of links that provide context to this entry.
fullUrl Σ 0..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.fullUrl
URI for resource (Absolute URL server address or URI for UUID/OID)
DefinitionCommentsThe Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that:
- fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle)
- Results from operations might involve resources that are not identified.
Data type ConstraintsfullUrl might not be unique in the context of a resource. Note that since FHIR resources do not need to be served through the FHIR API, the fullURL might be a URN or an absolute URL that does not end with the logical id of the resource (Resource.id). However, but if the fullUrl does look like a RESTful server URL (e.g. meets the regex, then the 'id' portion of the fullUrl SHALL end with the Resource.id.
Note that the fullUrl is not the same as the canonical URL - it's an absolute url for an endpoint serving the resource (these will happen to have the same value on the canonical server for the resource with the canonical URL).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
resource Σ I 0..1 LRAPASMessageHeaderResponse Element id Short descriptionBundle.entry:messageHeader.resource
PAS Request MessageHeader
DefinitionData type ConstraintsThe header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.
Mappings- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
contained.contained.empty()
- dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
- dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
- dom-6: A resource should have narrative for robust management
text.`div`.exists()
- dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
contained.meta.security.empty()
- rim: Entity. Role, or Act
- v2: MSH / MSA / ERR
- rim: Message
search Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.search
Search related information
DefinitionData type ConstraintsInformation about the search process that lead to the creation of this entry.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.search.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.search.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.search.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
mode Σ 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.search.mode
match | include | outcome - why this is in the result set
DefinitionCommentsWhy this entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
Data type BindingThere is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence.
SearchEntryMode (required)ConstraintsWhy an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
score Σ 0..1 decimal There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.search.score
Search ranking (between 0 and 1)
DefinitionCommentsWhen searching, the server's search ranking score for the entry.
Data type ConstraintsServers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order.
See Patient Match for the EMPI search which relates to this element.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
request Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.request
Additional execution information (transaction/batch/history)
DefinitionData type ConstraintsAdditional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.request.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.request.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.request.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
method Σ 1..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.request.method
GET | HEAD | POST | PUT | DELETE | PATCH
DefinitionCommentsIn a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred.
Data type BindingNote that FHIR strings SHALL NOT exceed 1MB in size
HTTPVerb (required)ConstraintsHTTP verbs (in the HTTP command line). See HTTP rfc for details.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
url Σ 1..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.request.url
URL for HTTP equivalent of this entry
DefinitionCommentsThe URL for this entry, relative to the root (the address to which the request is posted).
Data type ConstraintsE.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]".
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifNoneMatch Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.request.ifNoneMatch
For managing cache currency
DefinitionCommentsIf the ETag values match, return a 304 Not Modified status. See the API documentation for "Conditional Read".
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifModifiedSince Σ 0..1 instant There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.request.ifModifiedSince
For managing cache currency
DefinitionCommentsOnly perform the operation if the last updated date matches. See the API documentation for "Conditional Read".
Data type ConstraintsNote: This is intended for where precisely observed times are required, typically system logs etc., and not human-reported times - for them, see date and dateTime (which can be as precise as instant, but is not required to be) below. Time zone is always required
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifMatch Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.request.ifMatch
For managing update contention
DefinitionCommentsOnly perform the operation if the Etag value matches. For more information, see the API section "Managing Resource Contention".
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifNoneExist Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.request.ifNoneExist
For conditional creates
DefinitionCommentsInstruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for "Conditional Create". This is just the query portion of the URL - what follows the "?" (not including the "?").
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
response Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.response
Results of execution (transaction/batch/history)
DefinitionData type ConstraintsIndicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.response.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.response.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.response.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
status Σ 1..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.response.status
Status response code (text optional)
DefinitionCommentsThe status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
location Σ 0..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.response.location
The location (if the operation returns a location)
DefinitionCommentsThe location header created by processing this operation, populated if the operation returns a location.
Data type Constraintssee http://en.wikipedia.org/wiki/Uniform_resource_identifier
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
etag Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.response.etag
The Etag for the resource (if relevant)
DefinitionCommentsThe Etag for the resource, if the operation for the entry produced a versioned resource (see Resource Metadata and Versioning and Managing Resource Contention).
Data type ConstraintsEtags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
lastModified Σ 0..1 instant There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.response.lastModified
Server's date time modified
DefinitionCommentsThe date/time that the resource was modified on the server.
Data type ConstraintsThis has to match the same time in the meta header (meta.lastUpdated) if a resource is included.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
outcome Σ 0..1 Resource There are no (further) constraints on this elementElement idShort descriptionBundle.entry:messageHeader.response.outcome
OperationOutcome with hints and warnings (for batch/transaction)
DefinitionCommentsAn OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction.
Data type MappingsFor a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned.
This outcome is not used for error responses in batch/transaction, only for hints and warnings. In a batch operation, the error will be in Bundle.entry.response, and for transaction, there will be a single OperationOutcome instead of a bundle in the case of an error.
- rim: Entity. Role, or Act
outcome S Σ I 1..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome
Entry in the bundle - will have a resource or information
DefinitionData type ConstraintsAn entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- bdl-8: fullUrl cannot be a version specific reference
fullUrl.contains('/_history/').not()
- bdl-5: must be a resource unless there's a request or response
resource.exists() or request.exists() or response.exists()
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
link Σ 0..* see (link) There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.link
Links related to this entry
DefinitionA series of links that provide context to this entry.
fullUrl Σ 0..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.fullUrl
URI for resource (Absolute URL server address or URI for UUID/OID)
DefinitionCommentsThe Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that:
- fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle)
- Results from operations might involve resources that are not identified.
Data type ConstraintsfullUrl might not be unique in the context of a resource. Note that since FHIR resources do not need to be served through the FHIR API, the fullURL might be a URN or an absolute URL that does not end with the logical id of the resource (Resource.id). However, but if the fullUrl does look like a RESTful server URL (e.g. meets the regex, then the 'id' portion of the fullUrl SHALL end with the Resource.id.
Note that the fullUrl is not the same as the canonical URL - it's an absolute url for an endpoint serving the resource (these will happen to have the same value on the canonical server for the resource with the canonical URL).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
resource Σ I 0..1 LRAOperationOutcome Element id Short descriptionBundle.entry:outcome.resource
Information about the success/failure of an action
DefinitionCommentsA collection of error, warning, or information messages that result from a system action.
Data type ConstraintsCan result from the failure of a REST call or be part of the response message returned from a request message.
Mappings- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
contained.contained.empty()
- dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
- dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
- dom-6: A resource should have narrative for robust management
text.`div`.exists()
- dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
contained.meta.security.empty()
- rim: Entity. Role, or Act
- rim: Grouping is handled through multiple repetitions from whatever context references the outcomes (no specific grouper required)
search Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.search
Search related information
DefinitionData type ConstraintsInformation about the search process that lead to the creation of this entry.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.search.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.search.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.search.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
mode Σ 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.search.mode
match | include | outcome - why this is in the result set
DefinitionCommentsWhy this entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
Data type BindingThere is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence.
SearchEntryMode (required)ConstraintsWhy an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
score Σ 0..1 decimal There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.search.score
Search ranking (between 0 and 1)
DefinitionCommentsWhen searching, the server's search ranking score for the entry.
Data type ConstraintsServers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order.
See Patient Match for the EMPI search which relates to this element.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
request Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.request
Additional execution information (transaction/batch/history)
DefinitionData type ConstraintsAdditional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.request.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.request.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.request.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
method Σ 1..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.request.method
GET | HEAD | POST | PUT | DELETE | PATCH
DefinitionCommentsIn a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred.
Data type BindingNote that FHIR strings SHALL NOT exceed 1MB in size
HTTPVerb (required)ConstraintsHTTP verbs (in the HTTP command line). See HTTP rfc for details.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
url Σ 1..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.request.url
URL for HTTP equivalent of this entry
DefinitionCommentsThe URL for this entry, relative to the root (the address to which the request is posted).
Data type ConstraintsE.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]".
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifNoneMatch Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.request.ifNoneMatch
For managing cache currency
DefinitionCommentsIf the ETag values match, return a 304 Not Modified status. See the API documentation for "Conditional Read".
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifModifiedSince Σ 0..1 instant There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.request.ifModifiedSince
For managing cache currency
DefinitionCommentsOnly perform the operation if the last updated date matches. See the API documentation for "Conditional Read".
Data type ConstraintsNote: This is intended for where precisely observed times are required, typically system logs etc., and not human-reported times - for them, see date and dateTime (which can be as precise as instant, but is not required to be) below. Time zone is always required
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifMatch Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.request.ifMatch
For managing update contention
DefinitionCommentsOnly perform the operation if the Etag value matches. For more information, see the API section "Managing Resource Contention".
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifNoneExist Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.request.ifNoneExist
For conditional creates
DefinitionCommentsInstruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for "Conditional Create". This is just the query portion of the URL - what follows the "?" (not including the "?").
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
response Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.response
Results of execution (transaction/batch/history)
DefinitionData type ConstraintsIndicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.response.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.response.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.response.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
status Σ 1..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.response.status
Status response code (text optional)
DefinitionCommentsThe status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
location Σ 0..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.response.location
The location (if the operation returns a location)
DefinitionCommentsThe location header created by processing this operation, populated if the operation returns a location.
Data type Constraintssee http://en.wikipedia.org/wiki/Uniform_resource_identifier
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
etag Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.response.etag
The Etag for the resource (if relevant)
DefinitionCommentsThe Etag for the resource, if the operation for the entry produced a versioned resource (see Resource Metadata and Versioning and Managing Resource Contention).
Data type ConstraintsEtags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
lastModified Σ 0..1 instant There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.response.lastModified
Server's date time modified
DefinitionCommentsThe date/time that the resource was modified on the server.
Data type ConstraintsThis has to match the same time in the meta header (meta.lastUpdated) if a resource is included.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
outcome Σ 0..1 Resource There are no (further) constraints on this elementElement idShort descriptionBundle.entry:outcome.response.outcome
OperationOutcome with hints and warnings (for batch/transaction)
DefinitionCommentsAn OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction.
Data type MappingsFor a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned.
This outcome is not used for error responses in batch/transaction, only for hints and warnings. In a batch operation, the error will be in Bundle.entry.response, and for transaction, there will be a single OperationOutcome instead of a bundle in the case of an error.
- rim: Entity. Role, or Act
group S Σ I 1..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group
Entry in the bundle - will have a resource or information
DefinitionData type ConstraintsAn entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- bdl-8: fullUrl cannot be a version specific reference
fullUrl.contains('/_history/').not()
- bdl-5: must be a resource unless there's a request or response
resource.exists() or request.exists() or response.exists()
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
link Σ 0..* see (link) There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.link
Links related to this entry
DefinitionA series of links that provide context to this entry.
fullUrl Σ 0..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.fullUrl
URI for resource (Absolute URL server address or URI for UUID/OID)
DefinitionCommentsThe Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that:
- fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle)
- Results from operations might involve resources that are not identified.
Data type ConstraintsfullUrl might not be unique in the context of a resource. Note that since FHIR resources do not need to be served through the FHIR API, the fullURL might be a URN or an absolute URL that does not end with the logical id of the resource (Resource.id). However, but if the fullUrl does look like a RESTful server URL (e.g. meets the regex, then the 'id' portion of the fullUrl SHALL end with the Resource.id.
Note that the fullUrl is not the same as the canonical URL - it's an absolute url for an endpoint serving the resource (these will happen to have the same value on the canonical server for the resource with the canonical URL).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
resource Σ I 0..1 LRAPASGroupResponse Element id Short descriptionBundle.entry:group.resource
Group of multiple entities
DefinitionCommentsRepresents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization.
Data type ConstraintsIf both Group.characteristic and Group.member are present, then the members are the individuals who were found who met the characteristic. It's possible that there might be other candidate members who meet the characteristic and aren't (yet) in the list. All members SHALL have the listed characteristics.
Mappings- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
contained.contained.empty()
- dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
- dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
- dom-6: A resource should have narrative for robust management
text.`div`.exists()
- dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
contained.meta.security.empty()
- grp-1: Can only have members if group is "actual"
member.empty() or (actual = true)
- rim: Entity. Role, or Act
- rim: Entity[determinerCode="GRP" or determinerCode="GRP_KIND"]
search Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.search
Search related information
DefinitionData type ConstraintsInformation about the search process that lead to the creation of this entry.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.search.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.search.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.search.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
mode Σ 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.search.mode
match | include | outcome - why this is in the result set
DefinitionCommentsWhy this entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
Data type BindingThere is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence.
SearchEntryMode (required)ConstraintsWhy an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
score Σ 0..1 decimal There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.search.score
Search ranking (between 0 and 1)
DefinitionCommentsWhen searching, the server's search ranking score for the entry.
Data type ConstraintsServers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order.
See Patient Match for the EMPI search which relates to this element.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
request Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.request
Additional execution information (transaction/batch/history)
DefinitionData type ConstraintsAdditional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.request.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.request.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.request.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
method Σ 1..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.request.method
GET | HEAD | POST | PUT | DELETE | PATCH
DefinitionCommentsIn a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred.
Data type BindingNote that FHIR strings SHALL NOT exceed 1MB in size
HTTPVerb (required)ConstraintsHTTP verbs (in the HTTP command line). See HTTP rfc for details.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
url Σ 1..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.request.url
URL for HTTP equivalent of this entry
DefinitionCommentsThe URL for this entry, relative to the root (the address to which the request is posted).
Data type ConstraintsE.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]".
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifNoneMatch Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.request.ifNoneMatch
For managing cache currency
DefinitionCommentsIf the ETag values match, return a 304 Not Modified status. See the API documentation for "Conditional Read".
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifModifiedSince Σ 0..1 instant There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.request.ifModifiedSince
For managing cache currency
DefinitionCommentsOnly perform the operation if the last updated date matches. See the API documentation for "Conditional Read".
Data type ConstraintsNote: This is intended for where precisely observed times are required, typically system logs etc., and not human-reported times - for them, see date and dateTime (which can be as precise as instant, but is not required to be) below. Time zone is always required
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifMatch Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.request.ifMatch
For managing update contention
DefinitionCommentsOnly perform the operation if the Etag value matches. For more information, see the API section "Managing Resource Contention".
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifNoneExist Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.request.ifNoneExist
For conditional creates
DefinitionCommentsInstruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for "Conditional Create". This is just the query portion of the URL - what follows the "?" (not including the "?").
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
response Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.response
Results of execution (transaction/batch/history)
DefinitionData type ConstraintsIndicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.response.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.response.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.response.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
status Σ 1..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.response.status
Status response code (text optional)
DefinitionCommentsThe status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
location Σ 0..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.response.location
The location (if the operation returns a location)
DefinitionCommentsThe location header created by processing this operation, populated if the operation returns a location.
Data type Constraintssee http://en.wikipedia.org/wiki/Uniform_resource_identifier
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
etag Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.response.etag
The Etag for the resource (if relevant)
DefinitionCommentsThe Etag for the resource, if the operation for the entry produced a versioned resource (see Resource Metadata and Versioning and Managing Resource Contention).
Data type ConstraintsEtags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
lastModified Σ 0..1 instant There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.response.lastModified
Server's date time modified
DefinitionCommentsThe date/time that the resource was modified on the server.
Data type ConstraintsThis has to match the same time in the meta header (meta.lastUpdated) if a resource is included.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
outcome Σ 0..1 Resource There are no (further) constraints on this elementElement idShort descriptionBundle.entry:group.response.outcome
OperationOutcome with hints and warnings (for batch/transaction)
DefinitionCommentsAn OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction.
Data type MappingsFor a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned.
This outcome is not used for error responses in batch/transaction, only for hints and warnings. In a batch operation, the error will be in Bundle.entry.response, and for transaction, there will be a single OperationOutcome instead of a bundle in the case of an error.
- rim: Entity. Role, or Act
provider-facility S Σ I 1..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility
Entry in the bundle - will have a resource or information
DefinitionData type ConstraintsAn entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- bdl-8: fullUrl cannot be a version specific reference
fullUrl.contains('/_history/').not()
- bdl-5: must be a resource unless there's a request or response
resource.exists() or request.exists() or response.exists()
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
link Σ 0..* see (link) There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.link
Links related to this entry
DefinitionA series of links that provide context to this entry.
fullUrl Σ 0..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.fullUrl
URI for resource (Absolute URL server address or URI for UUID/OID)
DefinitionCommentsThe Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that:
- fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle)
- Results from operations might involve resources that are not identified.
Data type ConstraintsfullUrl might not be unique in the context of a resource. Note that since FHIR resources do not need to be served through the FHIR API, the fullURL might be a URN or an absolute URL that does not end with the logical id of the resource (Resource.id). However, but if the fullUrl does look like a RESTful server URL (e.g. meets the regex, then the 'id' portion of the fullUrl SHALL end with the Resource.id.
Note that the fullUrl is not the same as the canonical URL - it's an absolute url for an endpoint serving the resource (these will happen to have the same value on the canonical server for the resource with the canonical URL).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
resource Σ I 0..1 PASPractitionerRole Element id Short descriptionBundle.entry:provider-facility.resource
Roles/organizations the practitioner is associated with
DefinitionData type ConstraintsA specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
Mappings- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
contained.contained.empty()
- dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
- dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
- dom-6: A resource should have narrative for robust management
text.`div`.exists()
- dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
contained.meta.security.empty()
- rim: Entity. Role, or Act
- v2: PRD (as one example)
- rim: Role
- servd: ServiceSiteProvider
search Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.search
Search related information
DefinitionData type ConstraintsInformation about the search process that lead to the creation of this entry.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.search.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.search.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.search.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
mode Σ 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.search.mode
match | include | outcome - why this is in the result set
DefinitionCommentsWhy this entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
Data type BindingThere is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence.
SearchEntryMode (required)ConstraintsWhy an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
score Σ 0..1 decimal There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.search.score
Search ranking (between 0 and 1)
DefinitionCommentsWhen searching, the server's search ranking score for the entry.
Data type ConstraintsServers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order.
See Patient Match for the EMPI search which relates to this element.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
request Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.request
Additional execution information (transaction/batch/history)
DefinitionData type ConstraintsAdditional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.request.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.request.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.request.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
method Σ 1..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.request.method
GET | HEAD | POST | PUT | DELETE | PATCH
DefinitionCommentsIn a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred.
Data type BindingNote that FHIR strings SHALL NOT exceed 1MB in size
HTTPVerb (required)ConstraintsHTTP verbs (in the HTTP command line). See HTTP rfc for details.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
url Σ 1..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.request.url
URL for HTTP equivalent of this entry
DefinitionCommentsThe URL for this entry, relative to the root (the address to which the request is posted).
Data type ConstraintsE.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]".
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifNoneMatch Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.request.ifNoneMatch
For managing cache currency
DefinitionCommentsIf the ETag values match, return a 304 Not Modified status. See the API documentation for "Conditional Read".
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifModifiedSince Σ 0..1 instant There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.request.ifModifiedSince
For managing cache currency
DefinitionCommentsOnly perform the operation if the last updated date matches. See the API documentation for "Conditional Read".
Data type ConstraintsNote: This is intended for where precisely observed times are required, typically system logs etc., and not human-reported times - for them, see date and dateTime (which can be as precise as instant, but is not required to be) below. Time zone is always required
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifMatch Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.request.ifMatch
For managing update contention
DefinitionCommentsOnly perform the operation if the Etag value matches. For more information, see the API section "Managing Resource Contention".
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
ifNoneExist Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.request.ifNoneExist
For conditional creates
DefinitionCommentsInstruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for "Conditional Create". This is just the query portion of the URL - what follows the "?" (not including the "?").
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
response Σ I 0..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.response
Results of execution (transaction/batch/history)
DefinitionData type ConstraintsIndicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.response.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.response.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.response.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
status Σ 1..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.response.status
Status response code (text optional)
DefinitionCommentsThe status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
location Σ 0..1 uri There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.response.location
The location (if the operation returns a location)
DefinitionCommentsThe location header created by processing this operation, populated if the operation returns a location.
Data type Constraintssee http://en.wikipedia.org/wiki/Uniform_resource_identifier
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
etag Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.response.etag
The Etag for the resource (if relevant)
DefinitionCommentsThe Etag for the resource, if the operation for the entry produced a versioned resource (see Resource Metadata and Versioning and Managing Resource Contention).
Data type ConstraintsEtags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
lastModified Σ 0..1 instant There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.response.lastModified
Server's date time modified
DefinitionCommentsThe date/time that the resource was modified on the server.
Data type ConstraintsThis has to match the same time in the meta header (meta.lastUpdated) if a resource is included.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
outcome Σ 0..1 Resource There are no (further) constraints on this elementElement idShort descriptionBundle.entry:provider-facility.response.outcome
OperationOutcome with hints and warnings (for batch/transaction)
DefinitionCommentsAn OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction.
Data type MappingsFor a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned.
This outcome is not used for error responses in batch/transaction, only for hints and warnings. In a batch operation, the error will be in Bundle.entry.response, and for transaction, there will be a single OperationOutcome instead of a bundle in the case of an error.
- rim: Entity. Role, or Act
signature Σ 0..1 Signature There are no (further) constraints on this elementElement idShort descriptionBundle.signature
Digital Signature
DefinitionRequirementsDigital Signature - base64 encoded. XML-DSig or a JWT.
CommentsA Signature holds an electronic representation of a signature and its supporting context in a FHIR accessible form. The signature may either be a cryptographic type (XML DigSig or a JWS), which is able to provide non-repudiation proof, or it may be a graphical image that represents a signature or a signature process. This element allows capturing signatures on documents, messages, transactions or even search responses, to support content-authentication, non-repudiation or other business cases. This is primarily relevant where the bundle may travel through multiple hops or via other mechanisms where HTTPS non-repudiation is insufficient.
Data type ConstraintsThe signature could be created by the "author" of the bundle or by the originating device. Requirements around inclusion of a signature, verification of signatures and treatment of signed/non-signed bundles is implementation-environment specific.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
- bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
-
PAS Response MessageHeader
Simplifier link for the profile: Response MessageHeader (PAS-LRA)
Identifies the PAS response and its related request, indicating the status of the operation (e.g., success or failure) and the type of response (e.g., add, remove, or query patient panel status).
LRAPASMessageHeaderResponse (MessageHeader) I MessageHeader Element id Short descriptionMessageHeader
PAS Request MessageHeader
DefinitionData type ConstraintsThe header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.
Mappings- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
contained.contained.empty()
- dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
- dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
- dom-6: A resource should have narrative for robust management
text.`div`.exists()
- dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
contained.meta.security.empty()
- rim: Entity. Role, or Act
- v2: MSH / MSA / ERR
- rim: Message
id Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionMessageHeader.id
Logical id of this artifact
DefinitionCommentsThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Data typeThe only time that a resource does not have an id is when it is being submitted to the server using a create operation.
meta Σ 0..1 Meta There are no (further) constraints on this elementElement idShort descriptionMessageHeader.meta
Metadata about the resource
DefinitionData type ConstraintsThe 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.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
implicitRules Σ ?! 0..1 uri There are no (further) constraints on this elementElement idShort descriptionMessageHeader.implicitRules
A set of rules under which this content was created
DefinitionCommentsA reference to a set of rules that were followed when the resource was constructed, and 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.
Data type ConstraintsAsserting 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. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
language 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionMessageHeader.language
Language of the resource content
DefinitionCommentsThe base language in which the resource is written.
Data type BindingLanguage is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
CommonLanguages (preferred)ConstraintsA human language.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
text 0..1 Narrative There are no (further) constraints on this elementElement idShort descriptionMessageHeader.text
Text summary of the resource, for human interpretation
Alternate namesnarrative, html, xhtml, display
DefinitionCommentsA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Data type ConstraintsContained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
- rim: Act.text?
contained 0..* Resource There are no (further) constraints on this elementElement idShort descriptionMessageHeader.contained
Contained, inline Resources
Alternate namesinline resources, anonymous resources, contained resources
DefinitionCommentsThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Data type MappingsThis should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.
- rim: Entity. Role, or Act
- rim: N/A
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionMessageHeader.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionMessageHeader.modifierExtension
Extensions that cannot be ignored
Alternate namesextensions, user content
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and 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 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 DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
event[x] S Σ 1..1 Binding Element id Short descriptionMessageHeader.event[x]
Code for the event this message represents or link to event definition
DefinitionRequirementsCode that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://terminology.hl7.org/CodeSystem/message-events". Alternatively uri to the EventDefinition.
CommentsDrives the behavior associated with this message.
BindingThe time of the event will be found in the focus resource. The time of the message will be found in Bundle.timestamp.
PASEventValueSet (required)ConstraintsOne of the message events defined as part of this version of FHIR.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- w5: FiveWs.what[x]
- v2: MSH-9.2
- rim: ./payload[classCode="CACT" and moodCode="EVN" and isNormalAct()]/code[isNormalDatatype()]/code
eventCoding Coding Data type destination Σ 0..* BackboneElement There are no (further) constraints on this elementElement idShort descriptionMessageHeader.destination
Message destination application(s)
DefinitionRequirementsThe destination application which the message is intended for.
CommentsIndicates where message is to be sent for routing purposes. Allows verification of "am I the intended recipient".
Data type ConstraintsThere SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- w5: FiveWs.subject[x]
- rim: ./communicationFunction[typeCode="RCV"]
- w5: FiveWs.subject
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionMessageHeader.destination.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionMessageHeader.destination.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionMessageHeader.destination.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
name Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionMessageHeader.destination.name
Name of system
DefinitionRequirementsHuman-readable name for the target system.
CommentsMay be used for routing of response and/or to support audit.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: MSH-5
- rim: unique(./entity[determinerCode="INST" and (classCode=("DEV", "PSN", "ORG"]/name[type='ST' and isNormalDatatype()])
target Σ I 0..1 Reference(Device) There are no (further) constraints on this elementElement idShort descriptionMessageHeader.destination.target
Particular delivery destination within the destination
DefinitionRequirementsIdentifies the target end system in situations where the initial message transmission is to an intermediary system.
CommentsSupports multi-hop routing.
Data type ConstraintsReferences SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- rim: unique(./entity[determinerCode="INST" and (classCode=("DEV", "PSN", "ORG"]
endpoint Σ 1..1 url There are no (further) constraints on this elementElement idShort descriptionMessageHeader.destination.endpoint
Actual destination address or id
DefinitionRequirementsIndicates where the message should be routed to.
CommentsIdentifies where to route the message.
Data type ConstraintsThe id may be a non-resolvable URI for systems that do not use standard network-based addresses.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: MSH-25 (or MSH-6)
- rim: ./telecom
receiver Σ I 0..1 Reference(Practitioner | PractitionerRole | Organization) There are no (further) constraints on this elementElement idShort descriptionMessageHeader.destination.receiver
Intended "real-world" recipient for the data
DefinitionRequirementsAllows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.
CommentsAllows routing beyond just the application level.
Data typeReferences SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
Reference(Practitioner | PractitionerRole | Organization)
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- w5: FiveWs.subject[x]
- v2: PRT-5:PRT-4='WAYR' / PRT-8:PRT-4='WAYR'
- rim: Not directly supported. Could be shared using attentionLine.value with an appropriate keyWordText
- w5: FiveWs.subject
sender Σ I 0..1 Reference(Practitioner | PractitionerRole | Organization) There are no (further) constraints on this elementElement idShort descriptionMessageHeader.sender
Real world sender of the message
DefinitionRequirementsIdentifies the sending system to allow the use of a trust relationship.
CommentsAllows routing beyond just the application level.
Data typeUse case is for where a (trusted) sending system is responsible for multiple organizations, and therefore cannot differentiate based on source endpoint / authentication alone.
Reference(Practitioner | PractitionerRole | Organization)
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- w5: FiveWs.subject[x]
- v2: PRT-5:PRT-4='WAYR' / PRT-8:PRT-4='WAYR'
- rim: Not directly supported. Could be shared using attentionLine.value with an appropriate keyWordText
- w5: FiveWs.subject
enterer Σ I 0..1 Reference(Practitioner | PractitionerRole) There are no (further) constraints on this elementElement idShort descriptionMessageHeader.enterer
The source of the data entry
DefinitionRequirementsThe person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.
CommentsNeed to know for audit/traceback requirements and possibly for authorization.
Data typeUsually only for the request but can be used in a response.
Reference(Practitioner | PractitionerRole)
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- w5: FiveWs.author
- v2: EVN-5 / ORC-10 / PRT-5:PRT-4='EP' / ROL where ROL.3 is EP or ORC.10
- rim: unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[typeCode="ENT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode=("DEV", "PSN") and determinerCode="INST"])
author Σ I 0..1 Reference(Practitioner | PractitionerRole) There are no (further) constraints on this elementElement idShort descriptionMessageHeader.author
The source of the decision
DefinitionRequirementsThe logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.
CommentsNeed to know for audit/traceback requirements and possibly for authorization.
Data typeUsually only for the request but can be used in a response.
Reference(Practitioner | PractitionerRole)
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- w5: FiveWs.author
- v2: ORC-19 / PRT-5:PRT-4='AUT' / ROL where ROL.3 is IP or ORC.12
- rim: unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode=("DEV", "PSN") and determinerCode="INST"])
source Σ 1..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionMessageHeader.source
Message source application
DefinitionRequirementsThe source application from which this message originated.
Data type ConstraintsAllows replies, supports audit.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- w5: FiveWs.actor
- rim: unique(./communicationFunction[typeCode="SND"])
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionMessageHeader.source.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionMessageHeader.source.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionMessageHeader.source.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
name Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionMessageHeader.source.name
Name of system
DefinitionRequirementsHuman-readable name for the source system.
CommentsMay be used to support audit.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: MSH-3
- rim: unique(./entity[determinerCode="INST" and classCode="DEV"]/name[type='ST' and isNormalDatatype()])
software Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionMessageHeader.source.software
Name of software running the system
DefinitionRequirementsMay include configuration or other information useful in debugging.
CommentsSupports audit and possibly interface engine behavior.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: SFT-3 ( +SFT-1)
- rim: unique(./entity[determinerCode="INST" and classCode="DEV"]/softwareName[isNormalDatatype()])
version Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionMessageHeader.source.version
Version of software running
DefinitionRequirementsCan convey versions of multiple systems in situations where a message passes through multiple hands.
CommentsSupports audit and possibly interface engine behavior.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: SFT-2
- rim: (Not supported)
contact Σ I 0..1 ContactPoint There are no (further) constraints on this elementElement idShort descriptionMessageHeader.source.contact
Human contact for problems
DefinitionRequirementsAn e-mail, phone, website or other contact point to use to resolve issues with message communications.
Data type ConstraintsAllows escalation of technical issues.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- cpt-2: A system is required if a value is provided.
value.empty() or system.exists()
- rim: n/a
- v2: XTN
- rim: TEL
- servd: ContactPoint
- v2: (MSH-22?)
- rim: unique(./entity[determinerCode="INST" and classCode="DEV"]/scopesRole[normalRole() and classCode="CON" and layer[classCode="PSN"]/telecom[isNormalDatatype()])
endpoint Σ 1..1 url There are no (further) constraints on this elementElement idShort descriptionMessageHeader.source.endpoint
Actual message source address or id
DefinitionRequirementsIdentifies the routing target to send acknowledgements to.
CommentsIdentifies where to send responses, may influence security permissions.
Data type ConstraintsThe id may be a non-resolvable URI for systems that do not use standard network-based addresses.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: MSH-24
- rim: ./telecom[isNormalDatatype()]
responsible Σ I 0..1 Reference(Practitioner | PractitionerRole | Organization) There are no (further) constraints on this elementElement idShort descriptionMessageHeader.responsible
Final responsibility for event
DefinitionRequirementsThe person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.
CommentsNeed to know for audit/traceback requirements and possibly for authorization.
Data typeUsually only for the request but can be used in a response.
Reference(Practitioner | PractitionerRole | Organization)
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- w5: FiveWs.witness
- v2: ORC-12 / PRT-5:PRT-4='OP' / PRT-8:PRT-4='OP' / ROL where ROL.3 is RO or ORC.11
- rim: unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="RESP" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode="PSN" and determinerCode="INST"] or ./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="RESP" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/scoper[isNormalEntity() and classCode="ORG" and determinerCode="INST"])
reason Σ 0..1 CodeableConcept There are no (further) constraints on this elementElement idShort descriptionMessageHeader.reason
Cause of event
DefinitionRequirementsCoded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message.
CommentsNeed to be able to track why resources are being changed and report in the audit log/history of the resource. May affect authorization.
Data type BindingNot all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.
ExampleMessageReasonCodes (example)ConstraintsReason for event occurrence.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- w5: FiveWs.why[x]
- v2: EVN.4 / ORC.16 / OBR-31-reason for study / BPO-13-BP indication for use / RXO-20-indication / RXE-27-give indication / RXD-21-indication / RXG-22-indication / RXA-19-indication
- rim: unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/reasonCode[isNormalDatatype()])
response S Σ 1..1 BackboneElement There are no (further) constraints on this elementElement idShort descriptionMessageHeader.response
If this is a reply to prior message
DefinitionData type ConstraintsInformation about the message that this message is a response to. Only present if this message is a response.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: MSA
- rim: ./conveyedAcknowledgement
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionMessageHeader.response.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionMessageHeader.response.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionMessageHeader.response.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
identifier S Σ 1..1 id Element id Short descriptionMessageHeader.response.identifier
Message response identifier SHALL match with request Bundle ID
DefinitionRequirementsThe MessageHeader.id of the message to which this message is a response.
CommentsAllows receiver to know what message is being responded to.
Data type ConstraintsRFC 4122
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: MSA-2
- rim: ./acknowledges.id[isNormalDatatype()]
code Σ 1..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionMessageHeader.response.code
ok | transient-error | fatal-error
DefinitionRequirementsCode that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not.
CommentsAllows the sender of the acknowledge message to know if the request was successful or if action is needed.
Data type BindingThis is a generic response to the request message. Specific data for the response will be found in MessageHeader.focus.
ResponseType (required)ConstraintsThe kind of response to a message.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: MSA-1
- rim: ./typeCode[isNormalDatatype()]
details S Σ I 1..1 Reference(LRAOperationOutcome) Element id Short descriptionMessageHeader.response.details
Specific list of hints/warnings/errors
DefinitionRequirementsFull details of any issues found in the message.
CommentsAllows the sender of the message to determine what the specific issues are.
Data typeThis SHALL be contained in the bundle. If any of the issues are errors, the response code SHALL be an error.
Reference(LRAOperationOutcome)
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- v2: ERR
- rim: AcknowledgementDetail or Observation[classCode="ALRT" and moodCode="EVN"]
focus S Σ I 0..* Reference(LRAPASGroupResponse) Element id Short descriptionMessageHeader.focus
The main resource for this PAS request
DefinitionRequirementsThe actual data of the message - a reference to the root/focus class of the event.
CommentsEvery message event is about actual data, a single resource, that is identified in the definition of the event, and perhaps some or all linked resources.
Data typeThe data is defined where the transaction type is defined. The transaction data is always included in the bundle that is the full message. Only the root resource is specified. The resources it references should be contained in the bundle but are not also listed here. Multiple repetitions are allowed to cater for merges and other situations with multiple focal targets.
Reference(LRAPASGroupResponse)
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- rim: unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[typeCode="SUBJ" and isNormalParticipation]/role or ./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/outboundRelationship[typeCode="SBJ" and isNormalActRelatoinship]/target)
definition Σ 0..1 canonical(MessageDefinition) There are no (further) constraints on this elementElement idShort descriptionMessageHeader.definition
Link to the definition for this message
DefinitionRequirementsPermanent link to the MessageDefinition for this message.
Comments Data type ConstraintsAllows sender to define the expected contents of the message.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: Not directly supported.
- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
-
PAS Response Group
Simplifier link for the profile: Group (PAS-LRA Response)
Enable providers to manage their patient panels in their EMR, enable their EMR to exchange information with PAS.
LRAPASGroupResponse (Group) I Group There are no (further) constraints on this elementElement idShort descriptionGroup
Group of multiple entities
DefinitionCommentsRepresents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization.
Data type ConstraintsIf both Group.characteristic and Group.member are present, then the members are the individuals who were found who met the characteristic. It's possible that there might be other candidate members who meet the characteristic and aren't (yet) in the list. All members SHALL have the listed characteristics.
Mappings- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
contained.contained.empty()
- dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
- dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
- dom-6: A resource should have narrative for robust management
text.`div`.exists()
- dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
contained.meta.security.empty()
- grp-1: Can only have members if group is "actual"
member.empty() or (actual = true)
- rim: Entity. Role, or Act
- rim: Entity[determinerCode="GRP" or determinerCode="GRP_KIND"]
id Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionGroup.id
Logical id of this artifact
DefinitionCommentsThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Data typeThe only time that a resource does not have an id is when it is being submitted to the server using a create operation.
meta Σ 0..1 Meta There are no (further) constraints on this elementElement idShort descriptionGroup.meta
Metadata about the resource
DefinitionData type ConstraintsThe 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.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
implicitRules Σ ?! 0..1 uri There are no (further) constraints on this elementElement idShort descriptionGroup.implicitRules
A set of rules under which this content was created
DefinitionCommentsA reference to a set of rules that were followed when the resource was constructed, and 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.
Data type ConstraintsAsserting 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. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
language 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionGroup.language
Language of the resource content
DefinitionCommentsThe base language in which the resource is written.
Data type BindingLanguage is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
CommonLanguages (preferred)ConstraintsA human language.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
text 0..1 Narrative There are no (further) constraints on this elementElement idShort descriptionGroup.text
Text summary of the resource, for human interpretation
Alternate namesnarrative, html, xhtml, display
DefinitionCommentsA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Data type ConstraintsContained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
- rim: Act.text?
contained 0..* Resource There are no (further) constraints on this elementElement idShort descriptionGroup.contained
Contained, inline Resources
Alternate namesinline resources, anonymous resources, contained resources
DefinitionCommentsThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Data type MappingsThis should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.
- rim: Entity. Role, or Act
- rim: N/A
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionGroup.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionGroup.modifierExtension
Extensions that cannot be ignored
Alternate namesextensions, user content
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and 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 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 DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
identifier Σ 0..* Identifier There are no (further) constraints on this elementElement idShort descriptionGroup.identifier
Unique id
DefinitionRequirementsA unique business identifier for this group.
Data type ConstraintsAllows the group to be referenced from external specifications.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
- rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
- servd: Identifier
- w5: FiveWs.identifier
- rim: unique(./id[displayable="true" and scope="OBJ"])
active Σ 0..1 boolean There are no (further) constraints on this elementElement idShort descriptionGroup.active
Whether this group's record is in active use
DefinitionRequirementsIndicates whether the record for the group is available for use or is merely being retained for historical purposes.
Meaning when missingNeed to be able to mark a group record as not to be used because it was created in error or is otherwise no longer available (e.g. a herd that no longer exists).
Data type ConstraintsThis resource is generally assumed to be active if no value is provided for the active element
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- w5: FiveWs.status
- rim: ./statusCode
type S Σ 1..1 codeBindingPattern Element id Short descriptionGroup.type
person | animal | practitioner | device | medication | substance
DefinitionRequirementsIdentifies the broad classification of the kind of resources the group includes.
CommentsIdentifies what type of resources the group is made up of.
Data type BindingGroup members SHALL be of the appropriate resource type (Patient for person or animal; or Practitioner, Device, Medication or Substance for the other types.).
GroupType (required)ConstraintsTypes of resources that are part of group.
Pattern- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
Mappingsperson
- rim: n/a
- w5: FiveWs.class
- rim: person: ./classCode="PSN" animal: ./classCode="ANM" device: ./classCode="DEV" medication: ./classCode="MMAT" and ./playedRole[isNormalRole() and classCode="THER"] food: ./classCode="FOOD"
actual Σ I 1..1 boolean There are no (further) constraints on this elementElement idShort descriptionGroup.actual
Descriptive or actual
DefinitionRequirementsIf true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals.
Data type ConstraintsThere are use-cases for groups that define specific collections of individuals, and other groups that define "types" of intended individuals. The requirements for both kinds of groups are similar, so we use a single resource, distinguished by this flag.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- w5: FiveWs.class
- rim: true: ./determinerCode="GRP" false: ./determinerCode="GRP_KIND"
code Σ 0..1 CodeableConcept There are no (further) constraints on this elementElement idShort descriptionGroup.code
Kind of Group members
DefinitionCommentsProvides a specific type of resource the group includes; e.g. "cow", "syringe", etc.
Data type BindingThis would generally be omitted for Person resources.
(unbound) (example)ConstraintsKind of particular resource; e.g. cow, syringe, lake, etc.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- w5: FiveWs.what[x]
- rim: ./code
name Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionGroup.name
Label for Group
DefinitionRequirementsA label assigned to the group for human identification and communication.
CommentsUsed to identify the group in human communication.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: ./name[type="ST"]
quantity Σ 0..1 unsignedInt There are no (further) constraints on this elementElement idShort descriptionGroup.quantity
Number of members
DefinitionRequirementsA count of the number of resource instances that are part of the group.
CommentsGroup size is a common defining characteristic.
Data type ConstraintsNote that the quantity may be less than the number of members if some of the members are not active.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: ./quantity
managingEntity S Σ I 1..1 Reference(PASPractitionerRole) Element id Short descriptionGroup.managingEntity
The physician that owns the panel
DefinitionCommentsEntity responsible for defining and maintaining Group characteristics and/or registered members.
Data typeThis does not strictly align with ownership of a herd or flock, but may suffice to represent that relationship in simple cases. More complex cases will require an extension.
Reference(PASPractitionerRole)
Allowed aggregation: referenced
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
characteristic 0..* BackboneElement There are no (further) constraints on this elementElement idShort descriptionGroup.characteristic
Include / Exclude group members by Trait
DefinitionRequirementsIdentifies traits whose presence r absence is shared by members of the group.
CommentsNeeds to be a generic mechanism for identifying what individuals can be part of a group.
Data type ConstraintsAll the identified characteristics must be true for an entity to a member of the group.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: ./playedRole[isNormalRole()]/participation[isNormalParticipation() and typeCode="SBJ"]/act[isNormalAct and classCode="OBS" and moodCode="EVN"]
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionGroup.characteristic.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionGroup.characteristic.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionGroup.characteristic.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
code 1..1 CodeableConcept There are no (further) constraints on this elementElement idShort descriptionGroup.characteristic.code
Kind of characteristic
DefinitionRequirementsA code that identifies the kind of trait being asserted.
CommentsNeed a formal way of identifying the characteristic being described.
Data type BindingNot all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.
(unbound) (example)ConstraintsList of characteristics used to describe group members; e.g. gender, age, owner, location, etc.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- rim: ./code
value[x] 1..1 There are no (further) constraints on this elementElement idShort descriptionGroup.characteristic.value[x]
Value held by characteristic
DefinitionRequirementsThe value of the trait that holds (or does not hold - see 'exclude') for members of the group.
CommentsThe value of the characteristic is what determines group membership.
BindingFor Range, it means members of the group have a value that falls somewhere within the specified range.
(unbound) (example)ConstraintsValue of descriptive member characteristic; e.g. red, male, pneumonia, Caucasian, etc.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: ./value
valueCodeableConcept CodeableConcept There are no (further) constraints on this elementData typevalueBoolean boolean There are no (further) constraints on this elementData typevalueQuantity Quantity There are no (further) constraints on this elementData typevalueRange Range There are no (further) constraints on this elementData typevalueReference Reference() There are no (further) constraints on this elementData typeexclude 1..1 boolean There are no (further) constraints on this elementElement idShort descriptionGroup.characteristic.exclude
Group includes or excludes
DefinitionRequirementsIf true, indicates the characteristic is one that is NOT held by members of the group.
CommentsSometimes group membership is determined by characteristics not possessed.
Data type ConstraintsThis is labeled as "Is Modifier" because applications cannot wrongly include excluded members as included or vice versa.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: ./valueNegationInd
period I 0..1 Period There are no (further) constraints on this elementElement idShort descriptionGroup.characteristic.period
Period over which characteristic is tested
DefinitionCommentsThe period over which the characteristic is tested; e.g. the patient had an operation during the month of June.
Data type ConstraintsA Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").
Period is not used for a duration (a measure of elapsed time). See Duration.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- per-1: If present, start SHALL have a lower value than end
start.hasValue().not() or end.hasValue().not() or (start <= end)
- rim: n/a
- v2: DR
- rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
member I 1..* BackboneElement Element id Short descriptionGroup.member
The members of the panel to be acted upon
DefinitionRequirementsIdentifies the resource instances that are members of the group.
Data type ConstraintsOften the only thing of interest about a group is "who's in it".
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: ./scopedRole[isNormalRole() and classCode="MBR"]/player
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionGroup.member.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionGroup.member.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
mrp-status S I 0..1 Extension(code) Element id Short descriptionGroup.member.extension:mrp-status
MRP Status
Alternate namesextensions, user content
DefinitionCommentsThe MRP status of the patient.
Data type Extension URLThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
http://phsa.ca/fhir/StructureDefinition/ca-bc-lra-pas-extension-mrpstatus
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionGroup.member.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
entity S I 1..1 Reference(Patient | Practitioner | PractitionerRole | Device | Medication | Substance | Group) Element id Short descriptionGroup.member.entity
The patient as a member of the panel
DefinitionCommentsA reference to the entity that is a member of the group. Must be consistent with Group.type. If the entity is another group, then the type must be the same.
Data typeReferences SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
Reference(Patient | Practitioner | PractitionerRole | Device | Medication | Substance | Group)
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionGroup.member.entity.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionGroup.member.entity.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
reference Σ I 0..1 string There are no (further) constraints on this elementElement idShort descriptionGroup.member.entity.reference
Literal reference, Relative, internal or absolute URL
DefinitionCommentsA reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
Data type ConstraintsUsing absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
type S Σ 1..1 uriBindingFixed Value Element id Short descriptionGroup.member.entity.type
Type the reference refers to (e.g. "Patient")
DefinitionCommentsThe expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.
The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).
Data type BindingThis element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified.
ResourceType (extensible)ConstraintsAa resource (or, for logical models, the URI of the logical model).
Fixed value- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
MappingsPatient
- rim: n/a
- rim: N/A
identifier S Σ 1..1 Identifier There are no (further) constraints on this elementElement idShort descriptionGroup.member.entity.identifier
Logical reference, when literal reference is not known
DefinitionCommentsAn identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
Data type ConstraintsWhen an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.
When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference
Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
- rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
- servd: Identifier
- rim: .identifier
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionGroup.member.entity.identifier.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionGroup.member.entity.identifier.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
use Σ ?! 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionGroup.member.entity.identifier.use
usual | official | temp | secondary | old (If known)
DefinitionRequirementsThe purpose of this identifier.
CommentsAllows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.
Data type BindingApplications can assume that an identifier is permanent unless it explicitly says that it is temporary.
IdentifierUse (required)ConstraintsIdentifies the purpose for this identifier, if known .
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: N/A
- rim: Role.code or implied by context
type Σ 0..1 CodeableConceptBinding There are no (further) constraints on this elementElement idShort descriptionGroup.member.entity.identifier.type
Description of identifier
DefinitionRequirementsA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
CommentsAllows users to make use of identifiers when the identifier system is not known.
Data type BindingThis element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.
Identifier Type Codes (extensible)ConstraintsA coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- v2: CX.5
- rim: Role.code or implied by context
system S Σ 1..1 uriFixed Value Element id Short descriptionGroup.member.entity.identifier.system
The namespace for the identifier value
DefinitionRequirementsEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
CommentsThere are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.
Data type ConstraintsIdentifier.system is always case sensitive.
Fixed value- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
Mappingshttps://fhir.infoway-inforoute.ca/NamingSystem/ca-bc-patient-healthcare-id
- rim: n/a
- v2: CX.4 / EI-2-4
- rim: II.root or Role.id.root
- servd: ./IdentifierType
value S Σ 1..1 string There are no (further) constraints on this elementElement idShort descriptionGroup.member.entity.identifier.value
The value that is unique
DefinitionCommentsThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Data type ConstraintsIf the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.
Examples- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
General123456
Mappings- rim: n/a
- v2: CX.1 / EI.1
- rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
- servd: ./Value
period Σ I 0..1 Period There are no (further) constraints on this elementElement idShort descriptionGroup.member.entity.identifier.period
Time period when id is/was valid for use
DefinitionCommentsTime period during which identifier is/was valid for use.
Data type ConstraintsA Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").
Period is not used for a duration (a measure of elapsed time). See Duration.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- per-1: If present, start SHALL have a lower value than end
start.hasValue().not() or end.hasValue().not() or (start <= end)
- rim: n/a
- v2: DR
- rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
- v2: CX.7 + CX.8
- rim: Role.effectiveTime or implied by context
- servd: ./StartDate and ./EndDate
assigner Σ I 0..1 Reference(Organization) There are no (further) constraints on this elementElement idShort descriptionGroup.member.entity.identifier.assigner
Organization that issued id (may be just text)
DefinitionCommentsOrganization that issued/manages the identifier.
Data type ConstraintsThe Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- v2: CX.4 / (CX.4,CX.9,CX.10)
- rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
- servd: ./IdentifierIssuingAuthority
display Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionGroup.member.entity.display
Text alternative for the resource
DefinitionCommentsPlain text narrative that identifies the resource in addition to the resource reference.
Data type ConstraintsThis is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
period I 0..1 Period There are no (further) constraints on this elementElement idShort descriptionGroup.member.period
Period member belonged to the group
DefinitionRequirementsThe period that the member was in the group, if known.
CommentsNeed to track who was in a group at a particular time.
Meaning when missingA Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").
Period is not used for a duration (a measure of elapsed time). See Duration.
Data type ConstraintsThe member is in the group at this time
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- per-1: If present, start SHALL have a lower value than end
start.hasValue().not() or end.hasValue().not() or (start <= end)
- rim: n/a
- v2: DR
- rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
inactive 0..1 boolean There are no (further) constraints on this elementElement idShort descriptionGroup.member.inactive
If member is no longer in group
DefinitionRequirementsA flag to indicate that the member is no longer in the group, but previously may have been a member.
Meaning when missingSometimes you don't know when someone stopped being in a group, but not when.
Data type ConstraintsMembers are considered active unless explicitly specified otherwise
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
-
PAS Patient
Simplifier link for the profile: Patient (PAS-LRA)
Enable providers to manage their patient panels in their EMR, enable their EMR to exchange information with PAS.
LRAPASPatient (Patient) I Patient There are no (further) constraints on this elementElement idShort descriptionPatient
Information about an individual or animal receiving health care services
Alternate namesSubjectOfCare Client Resident
DefinitionData type ConstraintsDemographics and other administrative information about an individual or animal receiving care or other health-related services.
Mappings- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
contained.contained.empty()
- dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
- dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
- dom-6: A resource should have narrative for robust management
text.`div`.exists()
- dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
contained.meta.security.empty()
- rim: Entity. Role, or Act
- rim: Patient[classCode=PAT]
- cda: ClinicalDocument.recordTarget.patientRole
id Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionPatient.id
Logical id of this artifact
DefinitionCommentsThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Data typeThe only time that a resource does not have an id is when it is being submitted to the server using a create operation.
meta Σ 0..1 Meta There are no (further) constraints on this elementElement idShort descriptionPatient.meta
Metadata about the resource
DefinitionData type ConstraintsThe 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.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
implicitRules Σ ?! 0..1 uri There are no (further) constraints on this elementElement idShort descriptionPatient.implicitRules
A set of rules under which this content was created
DefinitionCommentsA reference to a set of rules that were followed when the resource was constructed, and 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.
Data type ConstraintsAsserting 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. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
language 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionPatient.language
Language of the resource content
DefinitionCommentsThe base language in which the resource is written.
Data type BindingLanguage is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
CommonLanguages (preferred)ConstraintsA human language.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
text 0..1 Narrative There are no (further) constraints on this elementElement idShort descriptionPatient.text
Text summary of the resource, for human interpretation
Alternate namesnarrative, html, xhtml, display
DefinitionCommentsA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Data type ConstraintsContained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
- rim: Act.text?
contained 0..* Resource There are no (further) constraints on this elementElement idShort descriptionPatient.contained
Contained, inline Resources
Alternate namesinline resources, anonymous resources, contained resources
DefinitionCommentsThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Data type MappingsThis should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.
- rim: Entity. Role, or Act
- rim: N/A
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPatient.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPatient.modifierExtension
Extensions that cannot be ignored
Alternate namesextensions, user content
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and 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 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 DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
identifier S Σ 1..* Identifier Element id Short descriptionPatient.identifier
An identifier for this patient
DefinitionRequirementsAn identifier for this patient.
CommentsPatients are almost always assigned specific numerical identifiers.
Data type Sliced:PHN must be supported as the identifier system, other identifiers can be supplied but only BC PHN for the patient is used
Unordered, Open, by $this(Pattern)
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
- rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
- servd: Identifier
- w5: FiveWs.identifier
- v2: PID-3
- rim: id
- cda: .id
(All Slices) There are no (further) constraints on this elementid 0..1 string There are no (further) constraints on this elementElement idShort descriptionPatient.identifier.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPatient.identifier.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
use Σ ?! 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionPatient.identifier.use
usual | official | temp | secondary | old (If known)
DefinitionRequirementsThe purpose of this identifier.
CommentsAllows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.
Data type BindingApplications can assume that an identifier is permanent unless it explicitly says that it is temporary.
IdentifierUse (required)ConstraintsIdentifies the purpose for this identifier, if known .
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: N/A
- rim: Role.code or implied by context
type Σ 0..1 CodeableConceptBinding There are no (further) constraints on this elementElement idShort descriptionPatient.identifier.type
Description of identifier
DefinitionRequirementsA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
CommentsAllows users to make use of identifiers when the identifier system is not known.
Data type BindingThis element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.
Identifier Type Codes (extensible)ConstraintsA coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- v2: CX.5
- rim: Role.code or implied by context
system S Σ 1..1 uri There are no (further) constraints on this elementElement idShort descriptionPatient.identifier.system
The namespace for the identifier value
DefinitionRequirementsEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
CommentsThere are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.
Data type ConstraintsIdentifier.system is always case sensitive.
Examples- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
Generalhttp://www.acme.com/identifiers/patient
Mappings- rim: n/a
- v2: CX.4 / EI-2-4
- rim: II.root or Role.id.root
- servd: ./IdentifierType
value S Σ 1..1 string There are no (further) constraints on this elementElement idShort descriptionPatient.identifier.value
The value that is unique
DefinitionCommentsThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Data type ConstraintsIf the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.
Examples- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
General123456
Mappings- rim: n/a
- v2: CX.1 / EI.1
- rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
- servd: ./Value
period Σ I 0..1 Period There are no (further) constraints on this elementElement idShort descriptionPatient.identifier.period
Time period when id is/was valid for use
DefinitionCommentsTime period during which identifier is/was valid for use.
Data type ConstraintsA Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").
Period is not used for a duration (a measure of elapsed time). See Duration.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- per-1: If present, start SHALL have a lower value than end
start.hasValue().not() or end.hasValue().not() or (start <= end)
- rim: n/a
- v2: DR
- rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
- v2: CX.7 + CX.8
- rim: Role.effectiveTime or implied by context
- servd: ./StartDate and ./EndDate
assigner Σ I 0..1 Reference(Organization) There are no (further) constraints on this elementElement idShort descriptionPatient.identifier.assigner
Organization that issued id (may be just text)
DefinitionCommentsOrganization that issued/manages the identifier.
Data type ConstraintsThe Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- v2: CX.4 / (CX.4,CX.9,CX.10)
- rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
- servd: ./IdentifierIssuingAuthority
PHN S Σ 1..* IdentifierPattern Element id Short descriptionPatient.identifier:PHN
An identifier for this patient
DefinitionRequirementsAn identifier for this patient.
Data type ConstraintsPatients are almost always assigned specific numerical identifiers.
Pattern- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
Mappings{ "system": "https://fhir.infoway-inforoute.ca/NamingSystem/ca-bc-patient-healthcare-id" }
- rim: n/a
- v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
- rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
- servd: Identifier
- w5: FiveWs.identifier
- v2: PID-3
- rim: id
- cda: .id
active Σ ?! 0..1 boolean There are no (further) constraints on this elementElement idShort descriptionPatient.active
Whether this patient's record is in active use
DefinitionRequirementsWhether this patient record is in active use. Many systems use this property to mark as non-current patients, such as those that have not been seen for a period of time based on an organization's business rules.
It is often used to filter patient lists to exclude inactive patients
Deceased patients may also be marked as inactive for the same reasons, but may be active for some time after death.
CommentsNeed to be able to mark a patient record as not to be used because it was created in error.
Meaning when missingIf a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient.
Data type ConstraintsThis resource is generally assumed to be active if no value is provided for the active element
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- w5: FiveWs.status
- rim: statusCode
- cda: n/a
name S Σ 1..* HumanName There are no (further) constraints on this elementElement idShort descriptionPatient.name
A name associated with the patient
DefinitionRequirementsA name associated with the individual.
CommentsNeed to be able to track the patient by multiple names. Examples are your official name and a partner name.
Data type ConstraintsA patient may have multiple names with different uses or applicable periods. For animals, the name is a "HumanName" in the sense that is assigned and used by humans and has the same patterns.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XPN
- rim: EN (actually, PN)
- servd: ProviderName
- v2: PID-5, PID-9
- rim: name
- cda: .patient.name
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionPatient.name.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPatient.name.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
use Σ ?! 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionPatient.name.use
usual | official | temp | nickname | anonymous | old | maiden
DefinitionRequirementsIdentifies the purpose for this name.
CommentsAllows the appropriate name for a particular context of use to be selected from among a set of names.
Data type BindingApplications can assume that a name is current unless it explicitly says that it is temporary or old.
NameUse (required)ConstraintsThe use of a human name.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XPN.7, but often indicated by which field contains the name
- rim: unique(./use)
- servd: ./NamePurpose
text Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionPatient.name.text
Text representation of the full name
DefinitionRequirementsSpecifies the entire name as it should be displayed e.g. on an application UI. This may be provided instead of or as well as the specific parts.
CommentsA renderable, unencoded form.
Data type ConstraintsCan provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: implied by XPN.11
- rim: ./formatted
family S Σ 1..1 string There are no (further) constraints on this elementElement idShort descriptionPatient.name.family
Family name (often called 'Surname')
Alternate namessurname
DefinitionCommentsThe part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.
Data type ConstraintsFamily Name may be decomposed into specific parts using extensions (de, nl, es related cultures).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XPN.1/FN.1
- rim: ./part[partType = FAM]
- servd: ./FamilyName
given S Σ 1..* string There are no (further) constraints on this elementElement idShort descriptionPatient.name.given
Given names (not always 'first'). Includes middle names
Alternate namesfirst name, middle name
DefinitionCommentsGiven name.
Data type ConstraintsIf only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called "first name" since given names do not always come first.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XPN.2 + XPN.3
- rim: ./part[partType = GIV]
- servd: ./GivenNames
prefix Σ 0..* string There are no (further) constraints on this elementElement idShort descriptionPatient.name.prefix
Parts that come before the name
DefinitionCommentsPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XPN.5
- rim: ./part[partType = PFX]
- servd: ./TitleCode
suffix Σ 0..* string There are no (further) constraints on this elementElement idShort descriptionPatient.name.suffix
Parts that come after the name
DefinitionCommentsPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XPN/4
- rim: ./part[partType = SFX]
period Σ I 0..1 Period There are no (further) constraints on this elementElement idShort descriptionPatient.name.period
Time period when name was/is in use
DefinitionRequirementsIndicates the period of time when this name was valid for the named person.
CommentsAllows names to be placed in historical context.
Data type ConstraintsA Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").
Period is not used for a duration (a measure of elapsed time). See Duration.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- per-1: If present, start SHALL have a lower value than end
start.hasValue().not() or end.hasValue().not() or (start <= end)
- rim: n/a
- v2: DR
- rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
- v2: XPN.13 + XPN.14
- rim: ./usablePeriod[type="IVL<TS>"]
- servd: ./StartDate and ./EndDate
telecom Σ I 0..* ContactPoint There are no (further) constraints on this elementElement idShort descriptionPatient.telecom
A contact detail for the individual
DefinitionRequirementsA contact detail (e.g. a telephone number or an email address) by which the individual may be contacted.
CommentsPeople have (primary) ways to contact them in some way such as phone, email.
Data type ConstraintsA Patient may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. The address might not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- cpt-2: A system is required if a value is provided.
value.empty() or system.exists()
- rim: n/a
- v2: XTN
- rim: TEL
- servd: ContactPoint
- v2: PID-13, PID-14, PID-40
- rim: telecom
- cda: .telecom
gender Σ 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionPatient.gender
male | female | other | unknown
DefinitionRequirementsAdministrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.
CommentsNeeded for identification of the individual, in combination with (at least) name and birth date.
Data type BindingThe gender might not match the biological sex as determined by genetics or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than male and female, though the vast majority of systems and contexts only support male and female. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific sex or gender aspect of interest (anatomical, chromosomal, social, etc.) However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice. Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosomal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overridable error, not a "hard" error. See the Patient Gender and Sex section for additional information about communicating patient gender and sex.
AdministrativeGender (required)ConstraintsThe gender of a person used for administrative purposes.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: PID-8
- rim: player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
- cda: .patient.administrativeGenderCode
birthDate S Σ I 1..1 date Element id Short descriptionPatient.birthDate
The date of birth for the individual
DefinitionRequirementsThe date of birth for the individual.
CommentsAge of the individual drives many clinical processes.
Data type ConstraintsAt least an estimated year should be provided as a guess if the real DOB is unknown There is a standard extension "patient-birthTime" available that should be used where Time is required (such as in maternity/infant care systems).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- FullDateRule: Dates need to be a full date - YYYY-MM-DD
$this.toString().length() = 10
- rim: n/a
- v2: PID-7
- rim: player[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime
- cda: .patient.birthTime
- loinc: 21112-8
deceased[x] Σ ?! 0..1 There are no (further) constraints on this elementElement idShort descriptionPatient.deceased[x]
Indicates if the individual is deceased or not
DefinitionRequirementsIndicates if the individual is deceased or not.
CommentsThe fact that a patient is deceased influences the clinical process. Also, in human communication and relation management it is necessary to know whether the person is alive.
ConstraintsIf there's no value in the instance, it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: PID-30 (bool) and PID-29 (datetime)
- rim: player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime
- cda: n/a
deceasedBoolean boolean There are no (further) constraints on this elementData typedeceasedDateTime dateTime There are no (further) constraints on this elementData typeaddress Σ 0..* Address There are no (further) constraints on this elementElement idShort descriptionPatient.address
An address for the individual
DefinitionRequirementsAn address for the individual.
CommentsMay need to keep track of patient addresses for contacting, billing or reporting requirements and also to help with identification.
Data type ConstraintsPatient may have multiple addresses with different uses or applicable periods.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XAD
- rim: AD
- servd: Address
- v2: PID-11
- rim: addr
- cda: .addr
maritalStatus 0..1 CodeableConceptBinding There are no (further) constraints on this elementElement idShort descriptionPatient.maritalStatus
Marital (civil) status of a patient
DefinitionRequirementsThis field contains a patient's most recent marital (civil) status.
CommentsMost, if not all systems capture it.
Data type BindingNot all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.
Marital Status Codes (extensible)ConstraintsThe domestic partnership status of a person.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- v2: PID-16
- rim: player[classCode=PSN]/maritalStatusCode
- cda: .patient.maritalStatusCode
multipleBirth[x] 0..1 There are no (further) constraints on this elementElement idShort descriptionPatient.multipleBirth[x]
Whether patient is part of a multiple birth
DefinitionRequirementsIndicates whether the patient is part of a multiple (boolean) or indicates the actual birth order (integer).
CommentsFor disambiguation of multiple-birth children, especially relevant where the care provider doesn't meet the patient, such as labs.
ConstraintsWhere the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in triplets would be valueInteger=2 and the third born would have valueInteger=3 If a boolean value was provided for this triplets example, then all 3 patient records would have valueBoolean=true (the ordering is not indicated).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: PID-24 (bool), PID-25 (integer)
- rim: player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber
- cda: n/a
multipleBirthBoolean boolean There are no (further) constraints on this elementData typemultipleBirthInteger integer There are no (further) constraints on this elementData typephoto I 0..* Attachment There are no (further) constraints on this elementElement idShort descriptionPatient.photo
Image of the patient
DefinitionRequirementsImage of the patient.
CommentsMany EHR systems have the capability to capture an image of the patient. Fits with newer social media usage too.
Data type ConstraintsGuidelines:
- Use id photos, not clinical photos.
- Limit dimensions to thumbnail.
- Keep byte count low to ease resource updates.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- att-1: If the Attachment has data, it SHALL have a contentType
data.empty() or contentType.exists()
- rim: n/a
- v2: ED/RP
- rim: ED
- v2: OBX-5 - needs a profile
- rim: player[classCode=PSN|ANM and determinerCode=INSTANCE]/desc
- cda: n/a
contact I 0..* BackboneElement There are no (further) constraints on this elementElement idShort descriptionPatient.contact
A contact party (e.g. guardian, partner, friend) for the patient
DefinitionRequirementsA contact party (e.g. guardian, partner, friend) for the patient.
CommentsNeed to track people you can contact about the patient.
Data type ConstraintsContact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- pat-1: SHALL at least contain a contact's details or a reference to an organization
name.exists() or telecom.exists() or address.exists() or organization.exists()
- rim: n/a
- rim: player[classCode=PSN|ANM and determinerCode=INSTANCE]/scopedRole[classCode=CON]
- cda: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionPatient.contact.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPatient.contact.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPatient.contact.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
relationship 0..* CodeableConceptBinding There are no (further) constraints on this elementElement idShort descriptionPatient.contact.relationship
The kind of relationship
DefinitionRequirementsThe nature of the relationship between the patient and the contact person.
CommentsUsed to determine which contact person is the most relevant to approach, depending on circumstances.
Data type BindingNot all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.
PatientContactRelationship (extensible)ConstraintsThe nature of the relationship between a patient and a contact person for that patient.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- v2: NK1-7, NK1-3
- rim: code
- cda: n/a
name 0..1 HumanName There are no (further) constraints on this elementElement idShort descriptionPatient.contact.name
A name associated with the contact person
DefinitionRequirementsA name associated with the contact person.
CommentsContact persons need to be identified by name, but it is uncommon to need details about multiple other names for that contact person.
Data type ConstraintsNames may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts might or might not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XPN
- rim: EN (actually, PN)
- servd: ProviderName
- v2: NK1-2
- rim: name
- cda: n/a
telecom I 0..* ContactPoint There are no (further) constraints on this elementElement idShort descriptionPatient.contact.telecom
A contact detail for the person
DefinitionRequirementsA contact detail for the person, e.g. a telephone number or an email address.
CommentsPeople have (primary) ways to contact them in some way such as phone, email.
Data type ConstraintsContact may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- cpt-2: A system is required if a value is provided.
value.empty() or system.exists()
- rim: n/a
- v2: XTN
- rim: TEL
- servd: ContactPoint
- v2: NK1-5, NK1-6, NK1-40
- rim: telecom
- cda: n/a
address 0..1 Address There are no (further) constraints on this elementElement idShort descriptionPatient.contact.address
Address for the contact person
DefinitionRequirementsAddress for the contact person.
CommentsNeed to keep track where the contact person can be contacted per postal mail or visited.
Data type ConstraintsNote: address is intended to describe postal addresses for administrative purposes, not to describe absolute geographical coordinates. Postal addresses are often used as proxies for physical locations (also see the Location resource).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XAD
- rim: AD
- servd: Address
- v2: NK1-4
- rim: addr
- cda: n/a
gender 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionPatient.contact.gender
male | female | other | unknown
DefinitionRequirementsAdministrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes.
CommentsNeeded to address the person correctly.
Data type BindingNote that FHIR strings SHALL NOT exceed 1MB in size
AdministrativeGender (required)ConstraintsThe gender of a person used for administrative purposes.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: NK1-15
- rim: player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
- cda: n/a
organization I 0..1 Reference(Organization) There are no (further) constraints on this elementElement idShort descriptionPatient.contact.organization
Organization that is associated with the contact
DefinitionRequirementsOrganization on behalf of which the contact is acting or for which the contact is working.
CommentsFor guardians or business related contacts, the organization is relevant.
Data type ConstraintsReferences SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- v2: NK1-13, NK1-30, NK1-31, NK1-32, NK1-41
- rim: scoper
- cda: n/a
period I 0..1 Period There are no (further) constraints on this elementElement idShort descriptionPatient.contact.period
The period during which this contact person or organization is valid to be contacted relating to this patient
DefinitionCommentsThe period during which this contact person or organization is valid to be contacted relating to this patient.
Data type ConstraintsA Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").
Period is not used for a duration (a measure of elapsed time). See Duration.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- per-1: If present, start SHALL have a lower value than end
start.hasValue().not() or end.hasValue().not() or (start <= end)
- rim: n/a
- v2: DR
- rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
- rim: effectiveTime
- cda: n/a
communication 0..* BackboneElement There are no (further) constraints on this elementElement idShort descriptionPatient.communication
A language which may be used to communicate with the patient about his or her health
DefinitionRequirementsA language which may be used to communicate with the patient about his or her health.
CommentsIf a patient does not speak the local language, interpreters may be required, so languages spoken and proficiency are important things to keep track of both for patient and other persons of interest.
Data type ConstraintsIf no language is specified, this implies that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: LanguageCommunication
- cda: patient.languageCommunication
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionPatient.communication.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPatient.communication.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPatient.communication.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
language 1..1 CodeableConceptBinding There are no (further) constraints on this elementElement idShort descriptionPatient.communication.language
The language which can be used to communicate with the patient about his or her health
DefinitionRequirementsThe ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English.
CommentsMost systems in multilingual countries will want to convey language. Not all systems actually need the regional dialect.
Data type BindingThe structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.
CommonLanguages (preferred)ConstraintsA human language.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- v2: PID-15, LAN-2
- rim: player[classCode=PSN|ANM and determinerCode=INSTANCE]/languageCommunication/code
- cda: .languageCode
preferred 0..1 boolean There are no (further) constraints on this elementElement idShort descriptionPatient.communication.preferred
Language preference indicator
DefinitionRequirementsIndicates whether or not the patient prefers this language (over other languages he masters up a certain level).
CommentsPeople that master multiple languages up to certain level may prefer one or more, i.e. feel more confident in communicating in a particular language making other languages sort of a fall back method.
Data type ConstraintsThis language is specifically identified for communicating healthcare information.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: PID-15
- rim: preferenceInd
- cda: .preferenceInd
generalPractitioner I 0..* Reference(Organization | Practitioner | PractitionerRole) There are no (further) constraints on this elementElement idShort descriptionPatient.generalPractitioner
Patient's nominated primary care provider
Alternate namescareProvider
DefinitionCommentsPatient's nominated care provider.
Data typeThis may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disability setting, or even organization that will provide people to perform the care provider roles. It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources. Multiple GPs may be recorded against the patient for various reasons, such as a student that has his home GP listed along with the GP at university during the school semesters, or a "fly-in/fly-out" worker that has the onsite GP also included with his home GP to remain aware of medical issues.
Jurisdictions may decide that they can profile this down to 1 if desired, or 1 per type.
Reference(Organization | Practitioner | PractitionerRole)
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- v2: PD1-4
- rim: subjectOf.CareEvent.performer.AssignedEntity
- cda: n/a
managingOrganization Σ I 0..1 Reference(Organization) There are no (further) constraints on this elementElement idShort descriptionPatient.managingOrganization
Organization that is the custodian of the patient record
DefinitionRequirementsOrganization that is the custodian of the patient record.
CommentsNeed to know who recognizes this patient record, manages and updates it.
Data type ConstraintsThere is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- rim: scoper
- cda: .providerOrganization
link Σ ?! 0..* BackboneElement There are no (further) constraints on this elementElement idShort descriptionPatient.link
Link to another patient resource that concerns the same actual person
DefinitionRequirementsLink to another patient resource that concerns the same actual patient.
CommentsThere are multiple use cases:
- Duplicate patient records due to the clerical errors associated with the difficulties of identifying humans consistently, and
- Distribution of patient information across multiple servers.
Data type ConstraintsThere is no assumption that linked patient records have mutual links.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: outboundLink
- cda: n/a
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionPatient.link.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPatient.link.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPatient.link.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
other Σ I 1..1 Reference(Patient | RelatedPerson) There are no (further) constraints on this elementElement idShort descriptionPatient.link.other
The other patient or related person resource that the link refers to
DefinitionCommentsThe other patient resource that the link refers to.
Data typeReferencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual.
Reference(Patient | RelatedPerson)
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- v2: PID-3, MRG-1
- rim: id
- cda: n/a
type Σ 1..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionPatient.link.type
replaced-by | replaces | refer | seealso
DefinitionCommentsThe type of link between this patient resource and another patient resource.
Data type BindingNote that FHIR strings SHALL NOT exceed 1MB in size
LinkType (required)ConstraintsThe type of link between this patient resource and another patient resource.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: typeCode
- cda: n/a
- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
-
PAS Practitioner
Simplifier link for the profile: Practitioner (PAS-LRA)
Enable providers to manage their patient panels in their EMR, enable their EMR to exchange information with PAS
LRAPASPractitioner (Practitioner) I Practitioner There are no (further) constraints on this elementElement idShort descriptionPractitioner
A person with a formal responsibility in the provisioning of healthcare or related services
DefinitionData type ConstraintsA person who is directly or indirectly involved in the provisioning of healthcare.
Mappings- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
contained.contained.empty()
- dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
- dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
- dom-6: A resource should have narrative for robust management
text.`div`.exists()
- dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
contained.meta.security.empty()
- rim: Entity. Role, or Act
- v2: PRD (as one example)
- rim: Role
- servd: Provider
id Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitioner.id
Logical id of this artifact
DefinitionCommentsThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Data typeThe only time that a resource does not have an id is when it is being submitted to the server using a create operation.
meta Σ 0..1 Meta There are no (further) constraints on this elementElement idShort descriptionPractitioner.meta
Metadata about the resource
DefinitionData type ConstraintsThe 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.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
implicitRules Σ ?! 0..1 uri There are no (further) constraints on this elementElement idShort descriptionPractitioner.implicitRules
A set of rules under which this content was created
DefinitionCommentsA reference to a set of rules that were followed when the resource was constructed, and 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.
Data type ConstraintsAsserting 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. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
language 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionPractitioner.language
Language of the resource content
DefinitionCommentsThe base language in which the resource is written.
Data type BindingLanguage is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
CommonLanguages (preferred)ConstraintsA human language.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
text 0..1 Narrative There are no (further) constraints on this elementElement idShort descriptionPractitioner.text
Text summary of the resource, for human interpretation
Alternate namesnarrative, html, xhtml, display
DefinitionCommentsA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Data type ConstraintsContained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
- rim: Act.text?
contained 0..* Resource There are no (further) constraints on this elementElement idShort descriptionPractitioner.contained
Contained, inline Resources
Alternate namesinline resources, anonymous resources, contained resources
DefinitionCommentsThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Data type MappingsThis should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.
- rim: Entity. Role, or Act
- rim: N/A
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPractitioner.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPractitioner.modifierExtension
Extensions that cannot be ignored
Alternate namesextensions, user content
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and 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 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 DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
identifier S Σ 1..* Identifier Element id Short descriptionPractitioner.identifier
An identifier for the person as this agent
DefinitionRequirementsAn identifier that applies to this person in this role.
CommentsOften, specific identities are assigned for the agent.
Data type Sliced:Practitioner ID must be supported as the identifier system, other identifiers can be supplied but only BC Practitioner ID is used
Unordered, Open, by $this(Pattern)
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
- rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
- servd: Identifier
- w5: FiveWs.identifier
- v2: PRD-7 (or XCN.1)
- rim: ./id
- servd: ./Identifiers
(All Slices) There are no (further) constraints on this elementid 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitioner.identifier.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPractitioner.identifier.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
use Σ ?! 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionPractitioner.identifier.use
usual | official | temp | secondary | old (If known)
DefinitionRequirementsThe purpose of this identifier.
CommentsAllows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.
Data type BindingApplications can assume that an identifier is permanent unless it explicitly says that it is temporary.
IdentifierUse (required)ConstraintsIdentifies the purpose for this identifier, if known .
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: N/A
- rim: Role.code or implied by context
type Σ 0..1 CodeableConceptBinding There are no (further) constraints on this elementElement idShort descriptionPractitioner.identifier.type
Description of identifier
DefinitionRequirementsA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
CommentsAllows users to make use of identifiers when the identifier system is not known.
Data type BindingThis element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.
Identifier Type Codes (extensible)ConstraintsA coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- v2: CX.5
- rim: Role.code or implied by context
system S Σ 1..1 uri There are no (further) constraints on this elementElement idShort descriptionPractitioner.identifier.system
The namespace for the identifier value
DefinitionRequirementsEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
CommentsThere are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.
Data type ConstraintsIdentifier.system is always case sensitive.
Examples- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
Generalhttp://www.acme.com/identifiers/patient
Mappings- rim: n/a
- v2: CX.4 / EI-2-4
- rim: II.root or Role.id.root
- servd: ./IdentifierType
value S Σ 1..1 string There are no (further) constraints on this elementElement idShort descriptionPractitioner.identifier.value
The value that is unique
DefinitionCommentsThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Data type ConstraintsIf the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.
Examples- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
General123456
Mappings- rim: n/a
- v2: CX.1 / EI.1
- rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
- servd: ./Value
period Σ I 0..1 Period There are no (further) constraints on this elementElement idShort descriptionPractitioner.identifier.period
Time period when id is/was valid for use
DefinitionCommentsTime period during which identifier is/was valid for use.
Data type ConstraintsA Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").
Period is not used for a duration (a measure of elapsed time). See Duration.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- per-1: If present, start SHALL have a lower value than end
start.hasValue().not() or end.hasValue().not() or (start <= end)
- rim: n/a
- v2: DR
- rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
- v2: CX.7 + CX.8
- rim: Role.effectiveTime or implied by context
- servd: ./StartDate and ./EndDate
assigner Σ I 0..1 Reference(Organization) There are no (further) constraints on this elementElement idShort descriptionPractitioner.identifier.assigner
Organization that issued id (may be just text)
DefinitionCommentsOrganization that issued/manages the identifier.
Data type ConstraintsThe Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- v2: CX.4 / (CX.4,CX.9,CX.10)
- rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
- servd: ./IdentifierIssuingAuthority
Prac-ID S Σ 1..* IdentifierPattern Element id Short descriptionPractitioner.identifier:Prac-ID
An identifier for the person as this agent
DefinitionRequirementsAn identifier that applies to this person in this role.
Data type ConstraintsOften, specific identities are assigned for the agent.
Pattern- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
Mappings{ "system": "https://health.gov.bc.ca/fhir/NamingSystem/ca-bc-ministry-practitioner-id" }
- rim: n/a
- v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
- rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
- servd: Identifier
- w5: FiveWs.identifier
- v2: PRD-7 (or XCN.1)
- rim: ./id
- servd: ./Identifiers
active Σ 0..1 boolean There are no (further) constraints on this elementElement idShort descriptionPractitioner.active
Whether this practitioner's record is in active use
DefinitionRequirementsWhether this practitioner's record is in active use.
CommentsNeed to be able to mark a practitioner record as not to be used because it was created in error.
Meaning when missingIf the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.
Data type ConstraintsThis resource is generally assumed to be active if no value is provided for the active element
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- w5: FiveWs.status
- rim: ./statusCode
name S Σ 1..* HumanName There are no (further) constraints on this elementElement idShort descriptionPractitioner.name
The name(s) associated with the practitioner
DefinitionRequirementsThe name(s) associated with the practitioner.
CommentsThe name(s) that a Practitioner is known by. Where there are multiple, the name that the practitioner is usually known as should be used in the display.
Data type ConstraintsThe selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate.
In general, select the value to be used in the ResourceReference.display based on this:
- There is more than 1 name
- Use = usual
- Period is current to the date of the usage
- Use = official
- Other order as decided by internal business rules.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XPN
- rim: EN (actually, PN)
- servd: ProviderName
- v2: XCN Components
- rim: ./name
- servd: ./PreferredName (GivenNames, FamilyName, TitleCode)
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitioner.name.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPractitioner.name.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
use Σ ?! 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionPractitioner.name.use
usual | official | temp | nickname | anonymous | old | maiden
DefinitionRequirementsIdentifies the purpose for this name.
CommentsAllows the appropriate name for a particular context of use to be selected from among a set of names.
Data type BindingApplications can assume that a name is current unless it explicitly says that it is temporary or old.
NameUse (required)ConstraintsThe use of a human name.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XPN.7, but often indicated by which field contains the name
- rim: unique(./use)
- servd: ./NamePurpose
text Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitioner.name.text
Text representation of the full name
DefinitionRequirementsSpecifies the entire name as it should be displayed e.g. on an application UI. This may be provided instead of or as well as the specific parts.
CommentsA renderable, unencoded form.
Data type ConstraintsCan provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: implied by XPN.11
- rim: ./formatted
family S Σ 1..1 string There are no (further) constraints on this elementElement idShort descriptionPractitioner.name.family
Family name (often called 'Surname')
Alternate namessurname
DefinitionCommentsThe part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.
Data type ConstraintsFamily Name may be decomposed into specific parts using extensions (de, nl, es related cultures).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XPN.1/FN.1
- rim: ./part[partType = FAM]
- servd: ./FamilyName
given Σ 0..* string There are no (further) constraints on this elementElement idShort descriptionPractitioner.name.given
Given names (not always 'first'). Includes middle names
Alternate namesfirst name, middle name
DefinitionCommentsGiven name.
Data type ConstraintsIf only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called "first name" since given names do not always come first.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XPN.2 + XPN.3
- rim: ./part[partType = GIV]
- servd: ./GivenNames
prefix Σ 0..* string There are no (further) constraints on this elementElement idShort descriptionPractitioner.name.prefix
Parts that come before the name
DefinitionCommentsPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XPN.5
- rim: ./part[partType = PFX]
- servd: ./TitleCode
suffix Σ 0..* string There are no (further) constraints on this elementElement idShort descriptionPractitioner.name.suffix
Parts that come after the name
DefinitionCommentsPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XPN/4
- rim: ./part[partType = SFX]
period Σ I 0..1 Period There are no (further) constraints on this elementElement idShort descriptionPractitioner.name.period
Time period when name was/is in use
DefinitionRequirementsIndicates the period of time when this name was valid for the named person.
CommentsAllows names to be placed in historical context.
Data type ConstraintsA Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").
Period is not used for a duration (a measure of elapsed time). See Duration.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- per-1: If present, start SHALL have a lower value than end
start.hasValue().not() or end.hasValue().not() or (start <= end)
- rim: n/a
- v2: DR
- rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
- v2: XPN.13 + XPN.14
- rim: ./usablePeriod[type="IVL<TS>"]
- servd: ./StartDate and ./EndDate
telecom Σ I 0..* ContactPoint There are no (further) constraints on this elementElement idShort descriptionPractitioner.telecom
A contact detail for the practitioner (that apply to all roles)
DefinitionRequirementsA contact detail for the practitioner, e.g. a telephone number or an email address.
CommentsNeed to know how to reach a practitioner independent to any roles the practitioner may have.
Data type ConstraintsPerson may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- cpt-2: A system is required if a value is provided.
value.empty() or system.exists()
- rim: n/a
- v2: XTN
- rim: TEL
- servd: ContactPoint
- v2: PRT-15, STF-10, ROL-12
- rim: ./telecom
- servd: ./ContactPoints
address Σ 0..* Address There are no (further) constraints on this elementElement idShort descriptionPractitioner.address
Address(es) of the practitioner that are not role specific (typically home address)
DefinitionRequirementsAddress(es) of the practitioner that are not role specific (typically home address). Work addresses are not typically entered in this property as they are usually role dependent.
CommentsThe home/mailing address of the practitioner is often required for employee administration purposes, and also for some rostering services where the start point (practitioners home) can be used in calculations.
Data type ConstraintsThe PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: XAD
- rim: AD
- servd: Address
- v2: ORC-24, STF-11, ROL-11, PRT-14
- rim: ./addr
- servd: ./Addresses
gender Σ 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionPractitioner.gender
male | female | other | unknown
DefinitionRequirementsAdministrative Gender - the gender that the person is considered to have for administration and record keeping purposes.
CommentsNeeded to address the person correctly.
Data type BindingNote that FHIR strings SHALL NOT exceed 1MB in size
AdministrativeGender (required)ConstraintsThe gender of a person used for administrative purposes.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: STF-5
- rim: ./administrativeGender
- servd: ./GenderCode
birthDate Σ 0..1 date There are no (further) constraints on this elementElement idShort descriptionPractitioner.birthDate
The date on which the practitioner was born
DefinitionRequirementsThe date of birth for the practitioner.
Data type ConstraintsNeeded for identification.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: STF-6
- rim: ./birthTime
- servd: (not represented in ServD)
photo I 0..* Attachment There are no (further) constraints on this elementElement idShort descriptionPractitioner.photo
Image of the person
DefinitionRequirementsImage of the person.
CommentsMany EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too.
Data type ConstraintsWhen providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Signed Procedure Consent".
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- att-1: If the Attachment has data, it SHALL have a contentType
data.empty() or contentType.exists()
- rim: n/a
- v2: ED/RP
- rim: ED
- rim: ./subjectOf/ObservationEvent[code="photo"]/value
- servd: ./ImageURI (only supports the URI reference)
qualification 0..* BackboneElement There are no (further) constraints on this elementElement idShort descriptionPractitioner.qualification
Certification, licenses, or training pertaining to the provision of care
DefinitionData type ConstraintsThe official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CER?
- rim: .playingEntity.playingRole[classCode=QUAL].code
- servd: ./Qualifications
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitioner.qualification.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPractitioner.qualification.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPractitioner.qualification.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is 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 manageable, 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. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
identifier 0..* Identifier There are no (further) constraints on this elementElement idShort descriptionPractitioner.qualification.identifier
An identifier for this qualification for the practitioner
DefinitionRequirementsAn identifier that applies to this person's qualification in this role.
Data type ConstraintsOften, specific identities are assigned for the qualification.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
- rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
- servd: Identifier
- rim: .playingEntity.playingRole[classCode=QUAL].id
code 1..1 CodeableConcept There are no (further) constraints on this elementElement idShort descriptionPractitioner.qualification.code
Coded representation of the qualification
DefinitionCommentsCoded representation of the qualification.
Data type BindingNot all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.
v2.0360.2.7 (example)ConstraintsSpecific qualification the practitioner has to provide a service.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- rim: .playingEntity.playingRole[classCode=QUAL].code
- servd: ./Qualifications.Value
period I 0..1 Period There are no (further) constraints on this elementElement idShort descriptionPractitioner.qualification.period
Period during which the qualification is valid
DefinitionRequirementsPeriod during which the qualification is valid.
CommentsQualifications are often for a limited period of time, and can be revoked.
Data type ConstraintsA Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").
Period is not used for a duration (a measure of elapsed time). See Duration.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- per-1: If present, start SHALL have a lower value than end
start.hasValue().not() or end.hasValue().not() or (start <= end)
- rim: n/a
- v2: DR
- rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
- rim: .playingEntity.playingRole[classCode=QUAL].effectiveTime
- servd: ./Qualifications.StartDate and ./Qualifications.EndDate
issuer I 0..1 Reference(Organization) There are no (further) constraints on this elementElement idShort descriptionPractitioner.qualification.issuer
Organization that regulates and issues the qualification
DefinitionCommentsOrganization that regulates and issues the qualification.
Data type ConstraintsReferences SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- rim: .playingEntity.playingRole[classCode=QUAL].scoper
communication 0..* CodeableConceptBinding There are no (further) constraints on this elementElement idShort descriptionPractitioner.communication
A language the practitioner can use in patient communication
DefinitionRequirementsA language the practitioner can use in patient communication.
CommentsKnowing which language a practitioner speaks can help in facilitating communication with patients.
Data type BindingThe structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.
CommonLanguages (preferred)ConstraintsA human language.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- v2: PID-15, NK1-20, LAN-2
- rim: ./languageCommunication
- servd: ./Languages.LanguageSpokenCode
- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
-
PAS PractitionerRole
Simplifier link for the profile: PractitionerRole (PAS - LRA)
This profile defines a set of constraints to the FHIR PractitionerRole resource for use in PAS messaging responses.
PASPractitionerRole (PractitionerRole) I PractitionerRole There are no (further) constraints on this elementElement idShort descriptionPractitionerRole
Roles/organizations the practitioner is associated with
DefinitionData type ConstraintsA specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
Mappings- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
contained.contained.empty()
- dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
- dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
- dom-6: A resource should have narrative for robust management
text.`div`.exists()
- dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
contained.meta.security.empty()
- rim: Entity. Role, or Act
- v2: PRD (as one example)
- rim: Role
- servd: ServiceSiteProvider
id Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.id
Logical id of this artifact
DefinitionCommentsThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Data typeThe only time that a resource does not have an id is when it is being submitted to the server using a create operation.
meta Σ 0..1 Meta There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.meta
Metadata about the resource
DefinitionData type ConstraintsThe 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.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
implicitRules Σ ?! 0..1 uri There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.implicitRules
A set of rules under which this content was created
DefinitionCommentsA reference to a set of rules that were followed when the resource was constructed, and 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.
Data type ConstraintsAsserting 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. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
language 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.language
Language of the resource content
DefinitionCommentsThe base language in which the resource is written.
Data type BindingLanguage is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
CommonLanguages (preferred)ConstraintsA human language.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
text 0..1 Narrative There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.text
Text summary of the resource, for human interpretation
Alternate namesnarrative, html, xhtml, display
DefinitionCommentsA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Data type ConstraintsContained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
- rim: Act.text?
contained 0..* Resource There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.contained
Contained, inline Resources
Alternate namesinline resources, anonymous resources, contained resources
DefinitionCommentsThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Data type MappingsThis should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.
- rim: Entity. Role, or Act
- rim: N/A
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.modifierExtension
Extensions that cannot be ignored
Alternate namesextensions, user content
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and 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 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 DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
identifier Σ 0..* Identifier There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.identifier
Business Identifiers that are specific to a role/location
DefinitionRequirementsBusiness Identifiers that are specific to a role/location.
Data type ConstraintsOften, specific identities are assigned for the agent.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
- rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
- servd: Identifier
- w5: FiveWs.identifier
- v2: PRD-7 (or XCN.1)
- rim: .id
- servd: ./Identifiers
active Σ 0..1 boolean There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.active
Whether this practitioner role record is in active use
DefinitionRequirementsWhether this practitioner role record is in active use.
CommentsNeed to be able to mark a practitioner role record as not to be used because it was created in error, or otherwise no longer in active use.
Meaning when missingIf this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active.
Data type ConstraintsThis resource is generally assumed to be active if no value is provided for the active element
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- w5: FiveWs.status
- v2: STF-7
- rim: .statusCode
period Σ I 0..1 Period There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.period
The period during which the practitioner is authorized to perform in these role(s)
DefinitionRequirementsThe period during which the person is authorized to act as a practitioner in these role(s) for the organization.
CommentsEven after the agencies is revoked, the fact that it existed must still be recorded.
Data type ConstraintsA Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").
Period is not used for a duration (a measure of elapsed time). See Duration.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- per-1: If present, start SHALL have a lower value than end
start.hasValue().not() or end.hasValue().not() or (start <= end)
- rim: n/a
- v2: DR
- rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
- w5: FiveWs.done[x]
- v2: PRD-8/9 / PRA-5.4
- rim: .performance[@typeCode <= 'PPRF'].ActDefinitionOrEvent.effectiveTime
- servd: (ServD maps Practitioners and Organizations via another entity, so this concept is not available)
practitioner S Σ I 1..1 Reference(Practitioner) There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.practitioner
Practitioner that is able to provide the defined services for the organization
DefinitionCommentsPractitioner that is able to provide the defined services for the organization.
Data type ConstraintsReferences SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- rim: .player
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.practitioner.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.practitioner.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
reference Σ I 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.practitioner.reference
Literal reference, Relative, internal or absolute URL
DefinitionCommentsA reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
Data type ConstraintsUsing absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
type S Σ 1..1 uriBindingFixed Value Element id Short descriptionPractitionerRole.practitioner.type
Type the reference refers to (e.g. "Patient")
DefinitionCommentsThe expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.
The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).
Data type BindingThis element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified.
ResourceType (extensible)ConstraintsAa resource (or, for logical models, the URI of the logical model).
Fixed value- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
MappingsPractitioner
- rim: n/a
- rim: N/A
identifier S Σ 1..1 Identifier There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.practitioner.identifier
Logical reference, when literal reference is not known
DefinitionCommentsAn identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
Data type ConstraintsWhen an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.
When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference
Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
- rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
- servd: Identifier
- rim: .identifier
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.practitioner.identifier.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.practitioner.identifier.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
use Σ ?! 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.practitioner.identifier.use
usual | official | temp | secondary | old (If known)
DefinitionRequirementsThe purpose of this identifier.
CommentsAllows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.
Data type BindingApplications can assume that an identifier is permanent unless it explicitly says that it is temporary.
IdentifierUse (required)ConstraintsIdentifies the purpose for this identifier, if known .
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: N/A
- rim: Role.code or implied by context
type Σ 0..1 CodeableConceptBinding There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.practitioner.identifier.type
Description of identifier
DefinitionRequirementsA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
CommentsAllows users to make use of identifiers when the identifier system is not known.
Data type BindingThis element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.
Identifier Type Codes (extensible)ConstraintsA coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- v2: CX.5
- rim: Role.code or implied by context
system S Σ 1..1 uriFixed Value Element id Short descriptionPractitionerRole.practitioner.identifier.system
The namespace for the identifier value
DefinitionRequirementsEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
CommentsThere are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.
Data type ConstraintsIdentifier.system is always case sensitive.
Fixed value- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
Mappingshttps://health.gov.bc.ca/fhir/NamingSystem/ca-bc-ministry-practitioner-id
- rim: n/a
- v2: CX.4 / EI-2-4
- rim: II.root or Role.id.root
- servd: ./IdentifierType
value S Σ 1..1 string There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.practitioner.identifier.value
The value that is unique
DefinitionCommentsThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Data type ConstraintsIf the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.
Examples- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
General123456
Mappings- rim: n/a
- v2: CX.1 / EI.1
- rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
- servd: ./Value
period Σ I 0..1 Period There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.practitioner.identifier.period
Time period when id is/was valid for use
DefinitionCommentsTime period during which identifier is/was valid for use.
Data type ConstraintsA Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").
Period is not used for a duration (a measure of elapsed time). See Duration.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- per-1: If present, start SHALL have a lower value than end
start.hasValue().not() or end.hasValue().not() or (start <= end)
- rim: n/a
- v2: DR
- rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
- v2: CX.7 + CX.8
- rim: Role.effectiveTime or implied by context
- servd: ./StartDate and ./EndDate
assigner Σ I 0..1 Reference(Organization) There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.practitioner.identifier.assigner
Organization that issued id (may be just text)
DefinitionCommentsOrganization that issued/manages the identifier.
Data type ConstraintsThe Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- v2: CX.4 / (CX.4,CX.9,CX.10)
- rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
- servd: ./IdentifierIssuingAuthority
display Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.practitioner.display
Text alternative for the resource
DefinitionCommentsPlain text narrative that identifies the resource in addition to the resource reference.
Data type ConstraintsThis is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
organization S Σ I 1..1 Reference(Organization) There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.organization
Organization where the roles are available
DefinitionCommentsThe organization where the Practitioner performs the roles associated.
Data type ConstraintsReferences SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- rim: .scoper
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.organization.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.organization.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
reference Σ I 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.organization.reference
Literal reference, Relative, internal or absolute URL
DefinitionCommentsA reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
Data type ConstraintsUsing absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
type S Σ 1..1 uriBindingFixed Value Element id Short descriptionPractitionerRole.organization.type
Type the reference refers to (e.g. "Patient")
DefinitionCommentsThe expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.
The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).
Data type BindingThis element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified.
ResourceType (extensible)ConstraintsAa resource (or, for logical models, the URI of the logical model).
Fixed value- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
MappingsOrganization
- rim: n/a
- rim: N/A
identifier S Σ 1..1 Identifier There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.organization.identifier
Logical reference, when literal reference is not known
DefinitionCommentsAn identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
Data type ConstraintsWhen an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.
When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference
Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
- rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
- servd: Identifier
- rim: .identifier
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.organization.identifier.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.organization.identifier.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay 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 manageable, 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.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
use Σ ?! 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.organization.identifier.use
usual | official | temp | secondary | old (If known)
DefinitionRequirementsThe purpose of this identifier.
CommentsAllows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.
Data type BindingApplications can assume that an identifier is permanent unless it explicitly says that it is temporary.
IdentifierUse (required)ConstraintsIdentifies the purpose for this identifier, if known .
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: N/A
- rim: Role.code or implied by context
type Σ 0..1 CodeableConceptBinding There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.organization.identifier.type
Description of identifier
DefinitionRequirementsA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
CommentsAllows users to make use of identifiers when the identifier system is not known.
Data type BindingThis element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.
Identifier Type Codes (extensible)ConstraintsA coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- v2: CX.5
- rim: Role.code or implied by context
system S Σ 1..1 uriFixed Value Element id Short descriptionPractitionerRole.organization.identifier.system
The namespace for the identifier value
DefinitionRequirementsEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
CommentsThere are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.
Data type ConstraintsIdentifier.system is always case sensitive.
Fixed value- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
Mappingshttps://health.gov.bc.ca/fhir/NamingSystem/ca-bc-msp-facility-id
- rim: n/a
- v2: CX.4 / EI-2-4
- rim: II.root or Role.id.root
- servd: ./IdentifierType
value S Σ 1..1 string There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.organization.identifier.value
The value that is unique
DefinitionCommentsThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Data type ConstraintsIf the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.
Examples- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
General123456
Mappings- rim: n/a
- v2: CX.1 / EI.1
- rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
- servd: ./Value
period Σ I 0..1 Period There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.organization.identifier.period
Time period when id is/was valid for use
DefinitionCommentsTime period during which identifier is/was valid for use.
Data type ConstraintsA Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").
Period is not used for a duration (a measure of elapsed time). See Duration.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- per-1: If present, start SHALL have a lower value than end
start.hasValue().not() or end.hasValue().not() or (start <= end)
- rim: n/a
- v2: DR
- rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
- v2: CX.7 + CX.8
- rim: Role.effectiveTime or implied by context
- servd: ./StartDate and ./EndDate
assigner Σ I 0..1 Reference(Organization) There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.organization.identifier.assigner
Organization that issued id (may be just text)
DefinitionCommentsOrganization that issued/manages the identifier.
Data type ConstraintsThe Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- v2: CX.4 / (CX.4,CX.9,CX.10)
- rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
- servd: ./IdentifierIssuingAuthority
display Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.organization.display
Text alternative for the resource
DefinitionCommentsPlain text narrative that identifies the resource in addition to the resource reference.
Data type ConstraintsThis is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
code Σ 0..* CodeableConcept There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.code
Roles which this practitioner may perform
DefinitionRequirementsRoles which this practitioner is authorized to perform for the organization.
CommentsNeed to know what authority the practitioner has - what can they do?
Data type BindingA person may have more than one role.
PractitionerRole (example)ConstraintsThe role a person plays representing an organization.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- v2: PRD-1 / STF-18 / PRA-3 / PRT-4 / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17
- rim: .code
- servd: (ServD maps Practitioners and Organizations via another entity, so this concept is not available)
specialty Σ 0..* CodeableConceptBinding There are no (further) constraints on this elementElement idShort descriptionPractitionerRole.specialty
Specific specialty of the practitioner
DefinitionCommentsSpecific specialty of the practitioner.
Data type BindingNot all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.
PracticeSettingCodeValueSet (preferred)ConstraintsSpecific specialty associated with the agency.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- v2: PRA-5
- rim: .player.HealthCareProvider[@classCode = 'PROV'].code
- servd: ./Specialty
location - dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources