- Home
- Applications
- BaRS Applications
- Applications
- BaRS-APP7
Bookings and Referrals into GP (Application 7)
This is a preview of a developing guide for information only. With the exception of those involved in developing solutions for the first of type (private beta), It is not intended to be used until the completed v1.0.0 documentation for this application is released
If you are interested in developing a BaRS compliant solution right now for the use cases covered by this application, please use the contact form here and the team will be in touch
Versioning information
| Application Version | Minimum Core Version | Minimum Guide Version | Minimum API Spec Version |
|---|---|---|---|
| Application 7 v1.0.0-alpha.2 | v1.0.0 | v1.8.1 | v1.0.0 |
Use Cases Supported
This Application supports the use of the following use case:
| Use Case | Name | Code |
|---|---|---|
| Appointments for Patient Facing Services (PFS) into GP Practice | PFS to Primary Care | A7T1 |
Introduction
Overview
This page provides guidance for implementing the Booking and Referral Standard (BaRS) specifically for the use cases listed above. It should be used alongside the BaRS Core implementation guide and Payload Definitions when developing to the standard.
For more information see Bookings and Referrals into GP (Application 7
Scope and Requirements
Scope Overview
This BaRS Application (Application 7) covers only use case:
- Appointments for Patient Facing Services to GP Practice
The payloads and workflow have been designed to support these services. Other BaRS Applications offer scope for alternative use cases.
Functional Scope
Service Discovery
- Establishing a service to direct requests to is a mandatory step in the workflow
- There is no restriction on the service discovery tools used. Any are capable of being supported whether national or proprietary
- The service must be configured within the BaRS infrastructure (Endpoint Catalogue) before requests can be made
Slot Management
- Booking slots are the responsibility and ownership of Receivers to maintain and offer to Senders
- All slot requests must occur in real-time without caching by either Senders or Receivers
- The returned slots should contain sufficient information for Senders to know what they are booking i.e. have a clear 'type', indicate the role and/or gender of the individual performing on behalf of the service, within any given slot
Booking
- Allowing bookings for a service is a method of managing capacity
- A booking may indicate the exact time an individual can expect to be seen by or is expected to arrive at the service, as is traditionally understood when an 'appointment' is made. Alternatively, the booking timeframe could indicate a range through which the individual may be seen by the service
- The slot the booking is made against may also indicate the type of booking e.g. face-to-face or over the phone and the role of the person who will engage with the individual on behalf of the service
- Bookings are an administrative aspect of the workflow and should not contain clinically pertinent information
API-M
- All requests and response associated with BaRS must occur through the BaRS API Proxy
Constraints
- No additional guidance provided on Slot display for Booking
- Consent within BaRS will be for Direct-Care only
- Certificates for Receiving messages to use nhs.uk domains only.
- Receiving endpoints are to be internet facing.
- Limited Search Slot parameters for Booking - Schedule.actor:healthcareService, Start (range), (slot) status
- Clinical Constraints exist - See Hazard Log
- No element level 'updates' to requests. A new request must be generated to change information in a booking
Requirements
Service Discovery
- The service must support a unique identifier which the Sender extracts to engage in the booking workflow
Slot display
- The schedule and related slot(s) must contain the actual geographic location (e.g address) of the booking, rather than generic details of the location of the overall service provider.
- The slot must contain details of the start/end times of the available slots
- The available slot(s) must be capable of being retrieved from any booking Receiver, regardless of the relationship that the sending user’s organisation has with the receiving service
- Where there are no available slots, the booking Receiver must send an appropriate response to indicate this not merely reply with an empty response
- Where there are no available slots, the booking Sender must present an appropriate message to the end user
- The booking Receiver must return available slots without requiring to know the potential patient details
- Where the booking Receiver has a number of schedules available to fulfil a request (say, when 2 or more clinicians are delivering surgeries at the same site) they must return all of those slots as part of the initial response
- If provided, in addition to Healthcare Service, Schedule and Slot, the booking Sender must display Delivery Channel and Practitioner Role, Name and Gender
- Booking Receivers must not default the Delivery Channel value
- A booking Sender must not assume a booking Receiver will return requested _includes e.g. Location
- Booking Sender must handle a Slot response without non mandatory FHIR resources
- Booking Sender must handle a Slot response with FHIR resources not requested
Booking
- Where a national identifier is included, it must have a verification status of 'Number present and verified' or 'Number present but not traced', otherwise, the referral Sender must not include it in the request
- Where the booking was not successful, the Receiver must send an appropriate response. See failure scenarios for more detail.
- Where the booking was not successful, the Sender must present an appropriate message to the end user. See failure scenarios for more detail.
- If included in the synchronous HTTP response, the booking Sender must make available the human readable identifier for the booking to the end user
- Update to amend a booking request is not supported. If a booking Sender wishes to change information in a request they must follow the re-book workflow
Cancel booking
- The booking Sender must be capable of cancelling any booking made by them, within the current consultation or after the consultation event
- The booking Sender must retrieve the booking to be cancelled from the booking Receiver prior to cancellation to ensure they are working with the most up to date version and it has not already been completed
- The booking Sender must provide visible confirmation to the end user of the status returned by the booking Receiver, indicating whether the original booking was successfully cancelled or not
- If the cancellation fails the booking Receiver must respond with the most appropriately aligned error
- The booking Receiver must store all previous versions of the booking, including cancellations
- The booking Receiver must not be required to inform the patient of the cancellation of the booking. Business/clinical responsibility for informing the patient must remain with the booking Sender
Rebook
- The booking Sender must be capable of rebooking within the current consultation or after the consultation event
- Prior to any rebook workflow being attempted, following a previously successful booking, the patient should be reassessed
- The booking Sender must cancel the original booking prior to making the new booking, whether within the current consultation or after the consultation event
- The booking Sender must provide visible confirmation to the end user of the status returned by the Receiver, indicating whether the original booking was successfully cancelled and the new booking made
- The booking Receiver must not be required to inform the patient of the cancellation, incurred as part of the rebooking process. Business/clinical responsibility for informing the patient must remain with the booking Sender
Contacts
- A minimum of one contact (patient or third party) with a contact method (phone, email, etc.) of phone must be provided in booking requests
- All contacts must have a rank associated with them
- There must be only one contact with a rank of 1
- All contacts must have at least one contact method (phone, email, etc.)
- All contact methods must have a rank
- There must be only one contact method with a rank of 1
- The contact ranked 1 and the contact method ranked 1 must be the primary callback for the request
Audit
- Sufficient information around any activity through the API and subsequent BaRS workflow must be persisted to aid support incidents and audit requirements
Error Handling
- Suppliers must adhere to the error handling guidance
Non Functional
- Suppliers must adhere to the non functional requirements
How does it work?
This section describes how the primary operations used in this Application work. This diagram illustrates the workflow and interactions of a booking process:
To support the workflows for this Application of the standard the operations that need to be supported are:
Standard patterns for appointment operations:
Search for slots
During a referral workflow where booking is required, there are two separate processes that need to be undertaken sequentially. The first is to search for slots and once a slot has been selected, a booking can be made.
The first part of this process involves the sender making a request to the receiver for slots that match the search criteria. This is a "searching" request that requires the response body to include a "searchset" bundle resource.
The search parameters are defined on the BaRS API specification documentation.
| Interaction | Method | Payload Focus | Status Required (MessageHeader, ServiceRequest, Encounter) |
|---|---|---|---|
| Get Slots | GET /GetSlots | n/a | n/a |
Additionally the HTTP request header for the GET Slots would be:
NHSD-Target-Identifier = {Receiver Service Identifier}
X-Request-Id = <GUID_00001>
X-Correlation-Id = <GUID_00002>
NHSD-End-User-Organisation = {FHIR Organisation (Base64 Encoded)}
NHSD-Requesting-Practitioner = {FHIR Practitioner (Base64 Encoded)}
NHSD-Requesting-Software = {FHIR Device (Base64 Encoded)}
The HTTP response header for the GET Slots would be:
X-Request-Id = <GUID_00001>
X-Correlation-Id = <GUID_00002>
Make a booking
Making a booking for this Application follows the standard pattern for BaRS operations.
The message definition that defines this payload for this Application is: BARS Message Definition - Booking Request
In addition to that the specific workflow parameters that are required are as follows:
| Interaction | Method | Payload Focus | Status Required (MessageHeader, ServiceRequest, Encounter) |
|---|---|---|---|
| Booking Request (New) | POST /$process-message{booking-request} | Appointment (booked) | MessageHeader (EventCoding) = booking-request |
| MessageHeader (ReasonCode) = new | |||
| Appointment (Status) = booked | |||
| All resources to include 'lastUpdated' value, under meta section |
Additionally the HTTP request header would be:
NHSD-Target-Identifier = {Receiver Service Identifier}
X-Request-Id = <GUID_00003>
X-Correlation-Id = <GUID_00002>
NHSD-End-User-Organisation = {FHIR Organisation (Base64 Encoded)}
NHSD-Requesting-Practitioner = {FHIR Practitioner (Base64 Encoded)}
NHSD-Requesting-Software = {FHIR Device (Base64 Encoded)}
The HTTP response header would be:
X-Request-Id = <GUID_00003>
X-Correlation-Id = <GUID_00002>
Cancel a Booking
This diagram illustrates the workflow and interactions of a booking cancellation process:
To cancel a booking this Application follows the standard pattern for BaRS operations with an additional step. Before beginning the standard pattern as descbribed on the linked section, it is first necessary to retrieve the latest version of the booking from the receiver as it may have changed locally. This is done by performing a "GET Appointment by ID" call to the receiving system's corresponding API endpoint (via the BaRS proxy).
The response to this request will be the requested Appointment resource which should be checked for its current status to ensure it does not already have a status of "cancelled". If not, this version of the Appointment should be used when re-submitting the modified resource in the POST bundle as described in the standard pattern.
The message definition that defines this payload for this Application is: BARS Message Definition - Cancel Booking Request
As a general principle, when performing an update type of operation (of which cancellation is a special case), only the focus resource is altered. Any resources that are mandated due to contextual, linking or referential integrity reasons play a supporting role, although any resources that include elements that are being changed are included too. This is always defined within the relevant message definition.
In addition the specific workflow parameters that are required are as follows:
| Interaction | Method | Payload Focus | Status Required (MessageHeader, ServiceRequest, Encounter) |
|---|---|---|---|
| Get Booking | GET /Appointment{id} | n/a | n/a |
| Booking Request (Cancel) | POST /$process-message{booking-request} | Appointment (cancelled) | MessageHeader (EventCoding) = booking-request |
| MessageHeader (ReasonCode) = update | |||
| Appointment (Status) = cancelled | |||
| All resources to include 'lastUpdated' value, under the meta section, which must be a later timestamp, on updates, if the content of a particular resource contains updated info. Otherwise, maintain the timestamp originally sent. |
Additionally the HTTP request header for the GET Appointment would be:
NHSD-Target-Identifier = {Receiver Service Identifier}
X-Request-Id = <GUID_00004>
X-Correlation-Id = <GUID_00002>
NHSD-End-User-Organisation = {FHIR Organisation (Base64 Encoded)}
NHSD-Requesting-Practitioner = {FHIR Practitioner (Base64 Encoded)}
NHSD-Requesting-Software = {FHIR Device (Base64 Encoded)}
The HTTP response header for the GET Appointment would be:
X-Request-Id = <GUID_00004>
X-Correlation-Id = <GUID_00002>
the HTTP request header for the POST $process-message would be:
NHSD-Target-Identifier = {Receiver Service Identifier}
X-Request-Id = <GUID_00006>
X-Correlation-Id = <GUID_00002>
NHSD-End-User-Organisation = {FHIR Organisation (Base64 Encoded)}
NHSD-Requesting-Practitioner = {FHIR Practitioner (Base64 Encoded)}
NHSD-Requesting-Software = {FHIR Device (Base64 Encoded)}
The HTTP response header for the POST $process-message would be:
X-Request-Id = <GUID_00006>
X-Correlation-Id = <GUID_00002>
Bundle Processing - detailed
Below is a pseudo code example of how a bundle could be processed based on the above workflow variables:
> Logical - Based on a logical step through in a code format
Receive_Request
{
initialise_variable "messageType"
initialise_variable "MessageReason"
initialise_variable "RequestType"
//HTTP_Headers
{
if (HttpHeaders is null || HttpHeaders not Guid )
OperationOutcome.issue.code = "invalid"
throw exception with "REC_BAD_REQUEST"
then return with HTTP.ResponseCode 400
else if (HttpHeaders.RequestId == RequestId.AlreadyReceived)
OperationOutcome.issue.code = "duplicate"
throw exception with "REC_CONFLICT"
then return with HTTP.ResponseCode 409
}
//Bundle
{
if(Bundle.meta.versionID is null)
OperationOutcome.issue.code = "invariant"
throw exception with "REC_BAD_REQUEST"
then return with HTTP.ResponseCode 400
else if!(Bundle.meta.versionID in versionID.supported)
OperationOutcome.issue.code = "not-supported"
throw exception with "REC_UNPROCESSABLE_ENTITY"
then return with HTTP.ResponseCode 422
}
//Contents;
{
switch(MessageHeader.eventCoding)
{
case "servicerequest-request":
if (MessageHeader.reason.code == "new" && ServiceRequest.status == "active")
{
switch(ServiceRequest.Category)
{
case "Referral":
if (Careplan.status != "completed")
{
RequestType = "unknown"
OperationOutcome.issue.code = "invariant"//A content validation rule failed
throw exception with "REC_BAD_REQUEST"
then return HTTP.ResponseCode 400
}
else if(Encounter.Status.In("triaged","finished"))
RequestType = "Im Receiving a new Referral"
else
RequestType = "unknown"
OperationOutcome.issue.code = "invariant"//A content validation rule failed
throw exception with "REC_BAD_REQUEST"
then return HTTP.ResponseCode 400
break;
default:
RequestType = "unknown"
OperationOutcome.issue.code = "invariant"//A content validation rule failed
throw exception with "REC_BAD_REQUEST"
then return HTTP.ResponseCode 400;
}
}
else if (MessageHeader.reason.code == "update")
{
switch(ServiceRequest.category)
{
case "Referral":
if(ServiceRequest.status.In("entered-in-error","revoked"))
{RequestType = "im receiving a cancelled referral"}
else
{
RequestType = "unknown"
OperationOutcome.issue.code = "invariant"//A content validation rule failed
throw exception with "REC_BAD_REQUEST"
then return HTTP.ResponseCode 400
}
break;
default:
RequestType = "unknown"
OperationOutcome.issue.code = "invariant"//A content validation rule failed
throw exception with "REC_BAD_REQUEST"
then return HTTP.ResponseCode 400;
}
}
else
{
RequestType = "unknown"
OperationOutcome.issue.code = "invariant"//A content validation rule failed
throw exception with "REC_BAD_REQUEST"
then return HTTP.ResponseCode 400}
break;
case "servicerequest-response":
if (MessageHeader.Response is null )
{
RequestType = "Invalid servicerequest-response"
OperationOutcome.issue.code = "invariant"//A content validation rule failed
throw exception with "REC_BAD_REQUEST"
then return HTTP.ResponseCode 400;
}
else if ( !Message.Response.identifier.existsLocally())
{
RequestType = "none or invalid response ID"
OperationOutcome.issue.code = "not-found"//A content validation rule failed
throw exception with "REC_NOT_FOUND"
then return HTTP.ResponseCode 404;
}
switch (ServiceRequest.Category)
{
case "Referral":
if (ServiceRequest.status == "revoked" && MessageHeader.reason.code == "new")
{ RequestType = "im receiving a Safeguarding DNA response (noshow)" }
else
{
RequestType = "unknown"
OperationOutcome.issue.code = "invariant"//A content validation rule failed
throw exception with "REC_BAD_REQUEST"
then return HTTP.ResponseCode 400;
}
break;
default:
RequestType = "unknown"
OperationOutcome.issue.code = "invariant"//A content validation rule failed
throw exception with "REC_BAD_REQUEST"
then return HTTP.ResponseCode 400;
}
case "booking-request":
if (MessageHeader.Reason.code== "new" && Appointment.Status == "booked")
if(slot.IsFree())
{RequestType = "Im Receiving a new booking.";}
else
{
OperationOutcome.issue.code = "conflict"
throw exception with "REC_CONFLICT"
then return with HTTP.ResponseCode 409
}
else if (MessageHeader.Reason.code == "update")
MessageHeaderIsUpdate = true;
switch (Appointment.Status)
{
case "cancelled":
RequestType = "Im Receiving a booking cancellation."
break
case "entered-in-error":
RequestType = "Im Receiving a booking cancellation."
break
default:
OperationOutcome.issue.code = "invariant"//A content validation rule failed
throw exception with "REC_BAD_REQUEST"
then return with HTTP.ResponseCode 400;
break;
}
else
{
OperationOutcome.issue.code = "invariant"//A content validation rule failed
throw exception with "REC_BAD_REQUEST"
then return with HTTP.ResponseCode 400;
}
break;
case "booking-response":
OperationOutcome.issue.code = "invariant"//A content validation rule failed
throw exception with 'REC_BAD_REQUEST'
then return with HTTP.ResponseCode 400
break;
default:
OperationOutcome.issue.code = "invariant"//A content validation rule failed
throw exception with 'REC_BAD_REQUEST'
then return with HTTP.ResponseCode 400
break;
}
}
//Submit
{
if (Message == "update")
{
if (currentLocalData.LastUpdated > originaRequest.ReceivedDate)
{
OperationOutcome.issue.code = "conflict"
throw exception with 'REC_CONFLICT'
then return with HTTP.ResponseCode 409
break;
}
foreach (Entry in Bundle)
{
if (currentLocalData.Item.exists)
{
if (currentLocalData.LastUpdated > originaRequest.Received)
{
OperationOutcome.issue.code = "conflict"
throw exception with 'REC_CONFLICT'
then return with HTTP.ResponseCode 409
break;
}
if(Entry.LastUpdated > currentLocalData.Item.meta.LastUpdated && Entry.fullUrl = currentLocalData.Item.fullUrl)
currentLocalData.Item = Entry.Item
Entry.SubmitWith(currentLocalData.Item.meta.LastUpdated == Entry.LastUpdated )
else
ignore
}
else
Entry.SubmitWith(currentLocalData.Item.meta.LastUpdated == Entry.LastUpdated )
}
Submit(currentLocalData.Bundle.meta.LastUpdated = Bundle.Meta.LastUpdated)
return HTTP.ResponseCode 200 'OK'
}
else
{
foreach(Entry in Bundle)
{
Entry.SubmitWith(currentLocalData.Item.meta.LastUpdated == Entry.LastUpdated )
Submit(currentLocalData.Bundle.meta.LastUpdated = Bundle.Meta.LastUpdated)
return HTTP.ResponseCode 200 'OK'
}
}
}
}
Payloads
The specific guidance around the use of key FHIR resources is described below.
MessageHeader Resource
Standard Patterns for BaRS Operations explains in detail how the MessageHeader resource must be used.
The MessageHeader resource for the Booking Request should have the following resource elements set as follows:
- MessageHeader.eventCoding - must be populated with 'booking-request'
- MessageHeader.reasonCode - must be 'new' or 'update'
- MessageHeader.focus - must reference the Appointment FHIR resource
- MessageHeader.definition - must adhere to Booking Request Message definition
Appointment
The primary resource in a booking is the Appointment resource. When the request 'message bundle' is created by the Sender and processed by the Receiver, this is the starting point from which the booking is understood. It provides either the detail or references to all key FHIR resources. When a Sender builds the booking FHIR 'message bundle' they must ensure the MessageHeader.focus references the Appointment resource.
An important function of the Appointment resource is to link the booking and referral when they are related in a workflow. If the referral is successfully made before the booking, the Sender will have the ServiceRequest.Id value (from the synchronous HTTP response) and this must be included as a relative reference, under Appointment.basedOn, in the booking request.
Payload for making a booking, using a Booking Request
This payload is used to support a booking workflow and contains all the required information for a General Practice to create an appointment for a patient referred into their service.
> Bundle
The Bundle resource is the container for the event message
| BARSBundleMessage (Bundle) | I | There are no (further) constraints on this element Element idBundle Contains a collection of resources DefinitionA container for a collection of resources.
| ||
| id | Σ | 0..1 | string | There are no (further) constraints on this element Element idBundle.id Logical id of this artifact DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
| meta | Σ | 0..1 | Meta | There are no (further) constraints on this element Element idBundle.meta Metadata about the resource DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
|
| implicitRules | Σ ?! | 0..1 | uri | There are no (further) constraints on this element Element idBundle.implicitRules A set of rules under which this content was created DefinitionA 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. Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. 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.
|
| language | 0..1 | codeBinding | There are no (further) constraints on this element Element idBundle.language Language of the resource content DefinitionThe base language in which the resource is written. Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). 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). A human language.
| |
| identifier | Σ | 0..1 | Identifier | There are no (further) constraints on this element Element idBundle.identifier Persistent identifier for the bundle DefinitionA persistent identifier for the bundle that won't change as a bundle is copied from server to server. Persistent 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.
|
| id | 0..1 | string | There are no (further) constraints on this element Element idBundle.identifier.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
| extension | I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.identifier.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay 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. 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) url Constraints
|
| use | Σ ?! | 0..1 | codeBinding | There are no (further) constraints on this element Element idBundle.identifier.use usual | official | temp | secondary | old (If known) DefinitionThe purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known .
|
| type | Σ | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element idBundle.identifier.type Description of identifier DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
|
| system | Σ | 0..1 | uri | There are no (further) constraints on this element Element idBundle.identifier.system The namespace for the identifier value DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive.
General http://www.acme.com/identifiers/patient Mappings
|
| value | Σ | 0..1 | string | There are no (further) constraints on this element Element idBundle.identifier.value The value that is unique DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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.
General 123456 Mappings
|
| period | Σ I | 0..1 | Period | There are no (further) constraints on this element Element idBundle.identifier.period Time period when id is/was valid for use DefinitionTime period during which identifier is/was valid for use. A 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.
|
| assigner | Σ I | 0..1 | Reference() | There are no (further) constraints on this element Element idBundle.identifier.assigner Organization that issued id (may be just text) DefinitionOrganization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
|
| type | Σ | 1..1 | codeBindingFixed Value | Element idBundle.type document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection DefinitionIndicates the purpose of this bundle - how it is intended to be used. It'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. Indicates the purpose of a bundle - how it is intended to be used.
message
|
| timestamp | Σ | 1..1 | instant | There are no (further) constraints on this element Element idBundle.timestamp When the bundle was assembled DefinitionThe date/time that the bundle was assembled - i.e. when the resources were placed in the bundle. For 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:
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.
|
| total | Σ I | 0..1 | unsignedInt | There are no (further) constraints on this element Element idBundle.total If search, the total number of matches DefinitionIf 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. Only 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.
|
| link | Σ | 0..* | BackboneElement | There are no (further) constraints on this element Element idBundle.link Links related to this Bundle DefinitionA series of links that provide context to this bundle. Both 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.
|
| id | 0..1 | string | There are no (further) constraints on this element Element idBundle.link.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
| extension | I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.link.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay 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. 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) url Constraints
|
| modifierExtension | Σ ?! I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.link.modifierExtension Extensions that cannot be ignored even if unrecognized Alternate namesextensions, user content, modifiers DefinitionMay 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). Modifier 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. 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.
|
| relation | Σ | 1..1 | string | There are no (further) constraints on this element Element idBundle.link.relation See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1 DefinitionA name which details the functional use for this link - see http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1. Note that FHIR strings SHALL NOT exceed 1MB in size
|
| url | Σ | 1..1 | uri | There are no (further) constraints on this element Element idBundle.link.url Reference details for the link DefinitionThe reference details for the link. see http://en.wikipedia.org/wiki/Uniform_resource_identifier
|
| entry | Σ I | 0..* | BackboneElement | There are no (further) constraints on this element Element idBundle.entry Entry in the bundle - will have a resource or information DefinitionAn entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).
|
| id | 0..1 | string | There are no (further) constraints on this element Element idBundle.entry.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
| extension | I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.entry.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay 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. 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) url Constraints
|
| modifierExtension | Σ ?! I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.entry.modifierExtension Extensions that cannot be ignored even if unrecognized Alternate namesextensions, user content, modifiers DefinitionMay 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). Modifier 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. 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.
|
| link | Σ | 0..* | see (link) | There are no (further) constraints on this element Element idBundle.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 element Element idBundle.entry.fullUrl URI for resource (Absolute URL server address or URI for UUID/OID) DefinitionThe 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 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).
|
| resource | Σ | 0..1 | Resource | There are no (further) constraints on this element Element idBundle.entry.resource A resource in the bundle DefinitionThe Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.
|
| search | Σ I | 0..1 | BackboneElement | There are no (further) constraints on this element Element idBundle.entry.search Search related information DefinitionInformation about the search process that lead to the creation of this entry.
|
| id | 0..1 | string | There are no (further) constraints on this element Element idBundle.entry.search.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
| extension | I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.entry.search.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay 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. 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) url Constraints
|
| modifierExtension | Σ ?! I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.entry.search.modifierExtension Extensions that cannot be ignored even if unrecognized Alternate namesextensions, user content, modifiers DefinitionMay 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). Modifier 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. 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.
|
| mode | Σ | 0..1 | codeBinding | There are no (further) constraints on this element Element idBundle.entry.search.mode match | include | outcome - why this is in the result set DefinitionWhy 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. There 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. Why 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.
|
| score | Σ | 0..1 | decimal | There are no (further) constraints on this element Element idBundle.entry.search.score Search ranking (between 0 and 1) DefinitionWhen searching, the server's search ranking score for the entry. Servers 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.
|
| request | Σ I | 0..1 | BackboneElement | There are no (further) constraints on this element Element idBundle.entry.request Additional execution information (transaction/batch/history) DefinitionAdditional 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.
|
| id | 0..1 | string | There are no (further) constraints on this element Element idBundle.entry.request.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
| extension | I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.entry.request.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay 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. 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) url Constraints
|
| modifierExtension | Σ ?! I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.entry.request.modifierExtension Extensions that cannot be ignored even if unrecognized Alternate namesextensions, user content, modifiers DefinitionMay 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). Modifier 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. 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.
|
| method | Σ | 1..1 | codeBinding | There are no (further) constraints on this element Element idBundle.entry.request.method GET | HEAD | POST | PUT | DELETE | PATCH DefinitionIn 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. Note that FHIR strings SHALL NOT exceed 1MB in size HTTP verbs (in the HTTP command line). See HTTP rfc for details.
|
| url | Σ | 1..1 | uri | There are no (further) constraints on this element Element idBundle.entry.request.url URL for HTTP equivalent of this entry DefinitionThe URL for this entry, relative to the root (the address to which the request is posted). E.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]".
|
| ifNoneMatch | Σ | 0..1 | string | There are no (further) constraints on this element Element idBundle.entry.request.ifNoneMatch For managing cache currency DefinitionIf the ETag values match, return a 304 Not Modified status. See the API documentation for "Conditional Read". Note that FHIR strings SHALL NOT exceed 1MB in size
|
| ifModifiedSince | Σ | 0..1 | instant | There are no (further) constraints on this element Element idBundle.entry.request.ifModifiedSince For managing cache currency DefinitionOnly perform the operation if the last updated date matches. See the API documentation for "Conditional Read". Note: 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
|
| ifMatch | Σ | 0..1 | string | There are no (further) constraints on this element Element idBundle.entry.request.ifMatch For managing update contention DefinitionOnly perform the operation if the Etag value matches. For more information, see the API section "Managing Resource Contention". Note that FHIR strings SHALL NOT exceed 1MB in size
|
| ifNoneExist | Σ | 0..1 | string | There are no (further) constraints on this element Element idBundle.entry.request.ifNoneExist For conditional creates DefinitionInstruct 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 "?"). Note that FHIR strings SHALL NOT exceed 1MB in size
|
| response | Σ I | 0..1 | BackboneElement | There are no (further) constraints on this element Element idBundle.entry.response Results of execution (transaction/batch/history) DefinitionIndicates 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.
|
| id | 0..1 | string | There are no (further) constraints on this element Element idBundle.entry.response.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
| extension | I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.entry.response.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay 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. 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) url Constraints
|
| modifierExtension | Σ ?! I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.entry.response.modifierExtension Extensions that cannot be ignored even if unrecognized Alternate namesextensions, user content, modifiers DefinitionMay 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). Modifier 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. 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.
|
| status | Σ | 1..1 | string | There are no (further) constraints on this element Element idBundle.entry.response.status Status response code (text optional) DefinitionThe 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. Note that FHIR strings SHALL NOT exceed 1MB in size
|
| location | Σ | 0..1 | uri | There are no (further) constraints on this element Element idBundle.entry.response.location The location (if the operation returns a location) DefinitionThe location header created by processing this operation, populated if the operation returns a location. see http://en.wikipedia.org/wiki/Uniform_resource_identifier
|
| etag | Σ | 0..1 | string | There are no (further) constraints on this element Element idBundle.entry.response.etag The Etag for the resource (if relevant) DefinitionThe Etag for the resource, if the operation for the entry produced a versioned resource (see Resource Metadata and Versioning and Managing Resource Contention). Etags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included.
|
| lastModified | Σ | 0..1 | instant | There are no (further) constraints on this element Element idBundle.entry.response.lastModified Server's date time modified DefinitionThe date/time that the resource was modified on the server. This has to match the same time in the meta header (meta.lastUpdated) if a resource is included.
|
| outcome | Σ | 0..1 | Resource | There are no (further) constraints on this element Element idBundle.entry.response.outcome OperationOutcome with hints and warnings (for batch/transaction) DefinitionAn OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction. For 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.
|
| signature | Σ | 0..1 | Signature | There are no (further) constraints on this element Element idBundle.signature Digital Signature DefinitionDigital Signature - base64 encoded. XML-DSig or a JWT. A 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. The 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.
|
| id | 0..1 | string | There are no (further) constraints on this element Element idBundle.signature.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
| extension | I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.signature.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay 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. 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) url Constraints
|
| type | Σ | 1..* | CodingBinding | There are no (further) constraints on this element Element idBundle.signature.type Indication of the reason the entity signed the object(s) DefinitionAn indication of the reason that the entity signed this document. This may be explicitly included as part of the signature information and can be used when determining accountability for various actions concerning the document. Examples include attesting to: authorship, correct transcription, and witness of specific event. Also known as a "Commitment Type Indication". An indication of the reason that an entity signed the object.
|
| when | Σ | 1..1 | instant | There are no (further) constraints on this element Element idBundle.signature.when When the signature was created DefinitionWhen the digital signature was signed. This should agree with the information in the signature.
|
| who | Σ I | 1..1 | Reference(Device | | | | | ) | There are no (further) constraints on this element Element idBundle.signature.who Who signed DefinitionA reference to an application-usable description of the identity that signed (e.g. the signature used their private key). This should agree with the information in the signature.
|
| id | 0..1 | string | There are no (further) constraints on this element Element idBundle.signature.who.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
| extension | I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.signature.who.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay 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. 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) url Constraints
|
| reference | Σ I | 0..1 | string | There are no (further) constraints on this element Element idBundle.signature.who.reference Literal reference, Relative, internal or absolute URL DefinitionA 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. Using 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.
|
| type | Σ | 0..1 | uriBinding | There are no (further) constraints on this element Element idBundle.signature.who.type Type the reference refers to (e.g. "Patient") DefinitionThe 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). This 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. Aa resource (or, for logical models, the URI of the logical model).
|
| identifier | Σ | 0..1 | Identifier | There are no (further) constraints on this element Element idBundle.signature.who.identifier Logical reference, when literal reference is not known DefinitionAn 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. When 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).
|
| id | 0..1 | string | There are no (further) constraints on this element Element idBundle.signature.who.identifier.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
| extension | I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.signature.who.identifier.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay 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. 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) url Constraints
|
| use | Σ ?! | 0..1 | codeBinding | There are no (further) constraints on this element Element idBundle.signature.who.identifier.use usual | official | temp | secondary | old (If known) DefinitionThe purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known .
|
| type | Σ | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element idBundle.signature.who.identifier.type Description of identifier DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
|
| system | Σ | 0..1 | uri | There are no (further) constraints on this element Element idBundle.signature.who.identifier.system The namespace for the identifier value DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive.
General http://www.acme.com/identifiers/patient Mappings
|
| value | Σ | 0..1 | string | There are no (further) constraints on this element Element idBundle.signature.who.identifier.value The value that is unique DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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.
General 123456 Mappings
|
| period | Σ I | 0..1 | Period | There are no (further) constraints on this element Element idBundle.signature.who.identifier.period Time period when id is/was valid for use DefinitionTime period during which identifier is/was valid for use. A 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.
|
| assigner | Σ I | 0..1 | Reference() | There are no (further) constraints on this element Element idBundle.signature.who.identifier.assigner Organization that issued id (may be just text) DefinitionOrganization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
|
| display | Σ | 0..1 | string | There are no (further) constraints on this element Element idBundle.signature.who.display Text alternative for the resource DefinitionPlain text narrative that identifies the resource in addition to the resource reference. This 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.
|
| onBehalfOf | Σ I | 0..1 | Reference(Device | | | | | ) | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf The party represented DefinitionA reference to an application-usable description of the identity that is represented by the signature. used when the signature is on behalf of a non-signer. The party that can't sign. For example a child.
|
| id | 0..1 | string | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
| extension | I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay 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. 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) url Constraints
|
| reference | Σ I | 0..1 | string | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.reference Literal reference, Relative, internal or absolute URL DefinitionA 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. Using 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.
|
| type | Σ | 0..1 | uriBinding | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.type Type the reference refers to (e.g. "Patient") DefinitionThe 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). This 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. Aa resource (or, for logical models, the URI of the logical model).
|
| identifier | Σ | 0..1 | Identifier | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.identifier Logical reference, when literal reference is not known DefinitionAn 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. When 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).
|
| id | 0..1 | string | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.identifier.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
| extension | I | 0..* | Extension | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.identifier.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay 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. 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) url Constraints
|
| use | Σ ?! | 0..1 | codeBinding | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.identifier.use usual | official | temp | secondary | old (If known) DefinitionThe purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known .
|
| type | Σ | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.identifier.type Description of identifier DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
|
| system | Σ | 0..1 | uri | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.identifier.system The namespace for the identifier value DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive.
General http://www.acme.com/identifiers/patient Mappings
|
| value | Σ | 0..1 | string | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.identifier.value The value that is unique DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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.
General 123456 Mappings
|
| period | Σ I | 0..1 | Period | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.identifier.period Time period when id is/was valid for use DefinitionTime period during which identifier is/was valid for use. A 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.
|
| assigner | Σ I | 0..1 | Reference() | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.identifier.assigner Organization that issued id (may be just text) DefinitionOrganization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
|
| display | Σ | 0..1 | string | There are no (further) constraints on this element Element idBundle.signature.onBehalfOf.display Text alternative for the resource DefinitionPlain text narrative that identifies the resource in addition to the resource reference. This 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.
|
| targetFormat | 0..1 | codeBinding | There are no (further) constraints on this element Element idBundle.signature.targetFormat The technical format of the signed resources DefinitionA mime type that indicates the technical format of the target resources signed by the signature. "xml", "json" and "ttl" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here. The mime type of an attachment. Any valid mime type is allowed.
| |
| sigFormat | 0..1 | codeBinding | There are no (further) constraints on this element Element idBundle.signature.sigFormat The technical format of the signature DefinitionA mime type that indicates the technical format of the signature. Important mime types are application/signature+xml for X ML DigSig, application/jose for JWS, and image/* for a graphical image of a signature, etc. Note that FHIR strings SHALL NOT exceed 1MB in size The mime type of an attachment. Any valid mime type is allowed.
| |
| data | 0..1 | base64Binary | There are no (further) constraints on this element Element idBundle.signature.data The actual signature content (XML DigSig. JWS, picture, etc.) DefinitionThe base64 encoding of the Signature content. When signature is not recorded electronically this element would be empty. Where the signature type is an XML DigSig, the signed content is a FHIR Resource(s), the signature is of the XML form of the Resource(s) using XML-Signature (XMLDIG) "Detached Signature" form.
|
| Data Item | Implementation Guidance | Necessity | Cadinality UKCore | Example Value(s) |
|---|---|---|---|---|
| Bundle | https://simplifier.net/nhsbookingandreferrals/barsbundlemessage | 1..1 | ||
| Bundle.id | This id is generated by the originating sender of the message, retained in subsequent messages.. | MUST | 79120f41-a431-4f08-bcc5-1e67006fcae0 | |
| Bundle.meta | https://www.hl7.org/fhir/resource.html#Meta | MUST | 0..1 | |
| Bundle.meta.profile | This MUST be populated with the structure definition for BaRSBundleMessage : 'https://fhir.nhs.uk/StructureDefinition/BARSBundleMessage' - FIXED VALUE | MUST | 0..1 | https://fhir.nhs.uk/StructureDefinition/BARSBundleMessage |
| Bundle.meta.lastUpdated | All resources MUST include 'lastUpdated' value, under the meta section which MUST be the same timestamp for each resource when created from new, but MUST be a later timestamp on updates to resources, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent. | MUST | 0..1 | 2023-03-08T12:01:08.4677672+00:00 |
| Bundle.type | This MUST be populated with 'message' - FIXED VALUE | MUST | 1..1 | message |
| Bundle.timestamp | This MUST be populated with 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 | MUST | 0..1 | 2023-03-08T12:01:08.4677672+00:00 |
| Bundle.entry(s) | Follow BaRS profile guidance for populating this element | MUST | ||
| Bundle.entry.fullUrl | This MUST be populated with the unique identifier for the resource entry. Transient id relative to the bundle | MUST | 0..1 | urn:uuid:1cbdfb97-5859-48a4-8301-d54eab818d68 |
| Bundle.entry.resourceType | This MUST be populated with the Resources detailed in the message definition. | MUST | 0..1 | MessageHeader,Patient, Appointment |
A resource that describes the BaRS message being exchanged between two systems. It defines the way that the Appointment bundle should be processed when it is being consumed by a receiver A resource that describes a message that is exchanged between systems The 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. Logical id of this artifact The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. The only time that a resource does not have an id is when it is being submitted to the server using a create operation. Metadata about the resource The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. A set of rules under which this content was created A 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. Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. 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. Language of the resource content The base language in which the resource is written. Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). 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). A human language. Text summary of the resource, for human interpretation narrative, html, xhtml, display A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. 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. Contained 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. Contained, inline Resources inline resources, anonymous resources, contained resources These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. This 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. Additional content defined by implementations extensions, user content May 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. 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) An extension to carry a specific instruction for receivers of the message. extensions, user content An extension to carry a specific instruction for receivers of the message. 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. https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-MessageHeaderInstruction Extensions that cannot be ignored extensions, user content May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. 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). Modifier 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. 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) Code for the event this message represents or link to event definition Code 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. Drives the behavior associated with this message. The time of the event will be found in the focus resource. The time of the message will be found in Bundle.timestamp. Message event Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) This will be a set of fixed values that are used to trigger use case specific processing when the bundle is received (refer to guidance for definitions etc..) Message destination application(s) The destination application which the message is intended for. Indicates where message is to be sent for routing purposes. Allows verification of "am I the intended recipient". There SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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 that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. Name of system Human-readable name for the target system. May be used for routing of response and/or to support audit. Note that FHIR strings SHALL NOT exceed 1MB in size Particular delivery destination within the destination Identifies the target end system in situations where the initial message transmission is to an intermediary system. Supports multi-hop routing. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Actual destination address or id Indicates where the message should be routed to. Identifies where to route the message. The id may be a non-resolvable URI for systems that do not use standard network-based addresses. Intended "real-world" recipient for the data Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient. Allows routing beyond just the application level. References 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( | | ) Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Real world sender of the message Identifies the sending system to allow the use of a trust relationship. Allows routing beyond just the application level. Use case is for where a (trusted) sending system is responsible for multiple organizations, and therefore cannot differentiate based on source endpoint / authentication alone. Reference( | | ) Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Reference to the Requester Organisation Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. The source of the data entry The 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. Need to know for audit/traceback requirements and possibly for authorization. Usually only for the request but can be used in a response. Reference( | ) Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. The source of the decision The 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. Need to know for audit/traceback requirements and possibly for authorization. Usually only for the request but can be used in a response. Reference( | ) Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Message source application The source application from which this message originated. Allows replies, supports audit. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Optional Extensions Element extensions, user content Optional Extension Element - found in all resources. 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. Extension(Complex) https://fhir.nhs.uk/StructureDefinition/CDSSExtension Extensions that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. Name of system Human-readable name for the source system. May be used to support audit. EMS Supplier company/ product name Name of software running the system May include configuration or other information useful in debugging. Supports audit and possibly interface engine behavior. Note that FHIR strings SHALL NOT exceed 1MB in size Version of software running Can convey versions of multiple systems in situations where a message passes through multiple hands. Supports audit and possibly interface engine behavior. EMS software version Human contact for problems An e-mail, phone, website or other contact point to use to resolve issues with message communications. Allows escalation of technical issues. Actual message source address or id Identifies the routing target to send acknowledgements to. Identifies where to send responses, may influence security permissions. The uri of the Requester’s endpoint Final responsibility for event The 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. Need to know for audit/traceback requirements and possibly for authorization. Usually only for the request but can be used in a response. Reference( | | ) Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Cause of event Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message. Need to be able to track why resources are being changed and report in the audit log/history of the resource. May affect authorization. Not 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. Reason for event occurrence. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Code defined by a terminology system A reference to a code defined by a terminology system. Allows for alternative encodings within a code system, and translations to other code systems. Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Identity of the terminology system The identification of the code system that defines the meaning of the symbol in the code. Need to be unambiguous about the source of the definition of the symbol. BARS Event lifecycle "new", "update" Version of the system - if relevant The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged. Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date. Symbol in syntax defined by the system A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination). Need to refer to a particular code in the system. Note that FHIR strings SHALL NOT exceed 1MB in size Representation defined by the system A representation of the meaning of the code in the system, following the rules of the system. Need to be able to carry a human-readable meaning of the code for readers that do not know the system. Note that FHIR strings SHALL NOT exceed 1MB in size If this coding was chosen directly by the user Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays). This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing. Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely. Plain text representation of the concept A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user. The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source. Very often the text is the same as a displayName of one of the codings. If this is a reply to prior message Information about the message that this message is a response to. Only present if this message is a response. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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 that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. Id of original message The MessageHeader.id of the message to which this message is a response. Allows receiver to know what message is being responded to. RFC 4122 ok | transient-error | fatal-error Code that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not. Allows the sender of the acknowledge message to know if the request was successful or if action is needed. This is a generic response to the request message. Specific data for the response will be found in MessageHeader.focus. The kind of response to a message. Specific list of hints/warnings/errors Full details of any issues found in the message. Allows the sender of the message to determine what the specific issues are. This SHALL be contained in the bundle. If any of the issues are errors, the response code SHALL be an error. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. The actual content of the message The actual data of the message - a reference to the root/focus class of the event. Every 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. The 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. This MUST reference the UKCore-ServiceRequest resource. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Link to the definition for this message Permanent link to the MessageDefinition for this message. Allows sender to define the expected contents of the message.
> Message Header
BARSMessageHeaderBookingRequest (MessageHeader) I MessageHeader
contained.contained.empty()contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()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()text.`div`.exists()contained.meta.security.empty()id Σ 0..1 string MessageHeader.id
meta Σ 0..1 Meta MessageHeader.meta
hasValue() or (children().count() > id.count())implicitRules Σ ?! 0..1 uri MessageHeader.implicitRules
hasValue() or (children().count() > id.count())language 0..1 codeBinding MessageHeader.language
hasValue() or (children().count() > id.count())text 0..1 Narrative MessageHeader.text
hasValue() or (children().count() > id.count())contained 0..* Resource MessageHeader.contained
extension I 0..* Extension MessageHeader.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()messageHeaderInstruction I 0..* Extension(Coding) MessageHeader.extension:messageHeaderInstruction
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension ?! I 0..* Extension MessageHeader.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()event[x] Σ 1..1 Binding MessageHeader.event[x]
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.event[x].id
extension I 0..* Extension MessageHeader.event[x].extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()system Fixed Value MessageHeader.event[x].system
https://fhir.nhs.uk/CodeSystem/message-events-bars
code 1.. Fixed Value MessageHeader.event[x].code
booking-request
eventCoding Coding eventUri uri destination Σ 1..* BackboneElement MessageHeader.destination
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.destination.id
extension I 0..* Extension MessageHeader.destination.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension Σ ?! I 0..* Extension MessageHeader.destination.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()name Σ 0..1 string MessageHeader.destination.name
hasValue() or (children().count() > id.count())target Σ I 0..1 Reference() MessageHeader.destination.target
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string MessageHeader.destination.target.id
extension I 0..* Extension MessageHeader.destination.target.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string MessageHeader.destination.target.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding MessageHeader.destination.target.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier MessageHeader.destination.target.identifier
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.destination.target.identifier.id
extension I 0..* Extension MessageHeader.destination.target.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding MessageHeader.destination.target.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding MessageHeader.destination.target.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri MessageHeader.destination.target.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MessageHeader.destination.target.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period MessageHeader.destination.target.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() MessageHeader.destination.target.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string MessageHeader.destination.target.display
hasValue() or (children().count() > id.count())endpoint Σ 1..1 url MessageHeader.destination.endpoint
hasValue() or (children().count() > id.count())receiver Σ I 0..1 Reference( | | ) MessageHeader.destination.receiver
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string MessageHeader.destination.receiver.id
extension I 0..* Extension MessageHeader.destination.receiver.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 1..1 string MessageHeader.destination.receiver.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding MessageHeader.destination.receiver.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier MessageHeader.destination.receiver.identifier
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.destination.receiver.identifier.id
extension I 0..* Extension MessageHeader.destination.receiver.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding MessageHeader.destination.receiver.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding MessageHeader.destination.receiver.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri MessageHeader.destination.receiver.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MessageHeader.destination.receiver.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period MessageHeader.destination.receiver.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() MessageHeader.destination.receiver.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string MessageHeader.destination.receiver.display
hasValue() or (children().count() > id.count())sender Σ I 0..1 Reference( | | ) MessageHeader.sender
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string MessageHeader.sender.id
extension I 0..* Extension MessageHeader.sender.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 1..1 string MessageHeader.sender.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding MessageHeader.sender.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier MessageHeader.sender.identifier
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.sender.identifier.id
extension I 0..* Extension MessageHeader.sender.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding MessageHeader.sender.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding MessageHeader.sender.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri MessageHeader.sender.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MessageHeader.sender.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period MessageHeader.sender.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() MessageHeader.sender.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string MessageHeader.sender.identifier.assigner.id
extension I 0..* Extension MessageHeader.sender.identifier.assigner.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 1..1 string Element id MessageHeader.sender.identifier.assigner.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding MessageHeader.sender.identifier.assigner.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier MessageHeader.sender.identifier.assigner.identifier
hasValue() or (children().count() > id.count())display Σ 0..1 string MessageHeader.sender.identifier.assigner.display
hasValue() or (children().count() > id.count())display Σ 0..1 string MessageHeader.sender.display
hasValue() or (children().count() > id.count())enterer Σ I 0..1 Reference( | ) MessageHeader.enterer
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string MessageHeader.enterer.id
extension I 0..* Extension MessageHeader.enterer.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string MessageHeader.enterer.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding MessageHeader.enterer.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier MessageHeader.enterer.identifier
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.enterer.identifier.id
extension I 0..* Extension MessageHeader.enterer.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding MessageHeader.enterer.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding MessageHeader.enterer.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri MessageHeader.enterer.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MessageHeader.enterer.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period MessageHeader.enterer.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() MessageHeader.enterer.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string MessageHeader.enterer.display
hasValue() or (children().count() > id.count())author Σ I 0..1 Reference( | ) MessageHeader.author
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string MessageHeader.author.id
extension I 0..* Extension MessageHeader.author.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string MessageHeader.author.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding MessageHeader.author.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier MessageHeader.author.identifier
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.author.identifier.id
extension I 0..* Extension MessageHeader.author.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding MessageHeader.author.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding MessageHeader.author.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri MessageHeader.author.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MessageHeader.author.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period MessageHeader.author.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() MessageHeader.author.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string MessageHeader.author.display
hasValue() or (children().count() > id.count())source Σ 1..1 BackboneElement MessageHeader.source
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.source.id
extension I 0..* Extension Element id MessageHeader.source.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()myExtension I 0..* Extension(Complex) Element id MessageHeader.source.extension:myExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension Σ ?! I 0..* Extension MessageHeader.source.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()name Σ 0..1 string Element id MessageHeader.source.name
hasValue() or (children().count() > id.count())software Σ 0..1 string MessageHeader.source.software
hasValue() or (children().count() > id.count())version Σ 0..1 string Element id MessageHeader.source.version
hasValue() or (children().count() > id.count())contact Σ I 0..1 ContactPoint MessageHeader.source.contact
hasValue() or (children().count() > id.count())value.empty() or system.exists()endpoint Σ 1..1 url Element id MessageHeader.source.endpoint
hasValue() or (children().count() > id.count())responsible Σ I 0..1 Reference( | | ) MessageHeader.responsible
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string MessageHeader.responsible.id
extension I 0..* Extension MessageHeader.responsible.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string MessageHeader.responsible.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding MessageHeader.responsible.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier MessageHeader.responsible.identifier
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.responsible.identifier.id
extension I 0..* Extension MessageHeader.responsible.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding MessageHeader.responsible.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding MessageHeader.responsible.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri MessageHeader.responsible.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MessageHeader.responsible.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period MessageHeader.responsible.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() MessageHeader.responsible.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string MessageHeader.responsible.display
hasValue() or (children().count() > id.count())reason Σ 1..1 CodeableConcept MessageHeader.reason
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.reason.id
extension I 0..* Extension MessageHeader.reason.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()coding Σ 0..* Coding MessageHeader.reason.coding
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.reason.coding.id
extension I 0..* Extension MessageHeader.reason.coding.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()system Σ 0..1 uriFixed Value Element id MessageHeader.reason.coding.system
hasValue() or (children().count() > id.count())https://fhir.nhs.uk/CodeSystem/message-reason-bars
version Σ 0..1 string MessageHeader.reason.coding.version
hasValue() or (children().count() > id.count())code Σ 0..1 code MessageHeader.reason.coding.code
hasValue() or (children().count() > id.count())display Σ 0..1 string MessageHeader.reason.coding.display
hasValue() or (children().count() > id.count())userSelected Σ 0..1 boolean MessageHeader.reason.coding.userSelected
hasValue() or (children().count() > id.count())text Σ 0..1 string MessageHeader.reason.text
hasValue() or (children().count() > id.count())response Σ 0..1 BackboneElement MessageHeader.response
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.response.id
extension I 0..* Extension MessageHeader.response.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension Σ ?! I 0..* Extension MessageHeader.response.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()identifier Σ 1..1 id MessageHeader.response.identifier
hasValue() or (children().count() > id.count())code Σ 1..1 codeBinding MessageHeader.response.code
hasValue() or (children().count() > id.count())details Σ I 0..1 Reference() MessageHeader.response.details
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string MessageHeader.response.details.id
extension I 0..* Extension MessageHeader.response.details.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string MessageHeader.response.details.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding MessageHeader.response.details.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier MessageHeader.response.details.identifier
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.response.details.identifier.id
extension I 0..* Extension MessageHeader.response.details.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding MessageHeader.response.details.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding MessageHeader.response.details.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri MessageHeader.response.details.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MessageHeader.response.details.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period MessageHeader.response.details.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() MessageHeader.response.details.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string MessageHeader.response.details.display
hasValue() or (children().count() > id.count())focus Σ I 0..* Reference(Resource) MessageHeader.focus
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string MessageHeader.focus.id
extension I 0..* Extension MessageHeader.focus.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 1..1 string Element id MessageHeader.focus.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding MessageHeader.focus.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier MessageHeader.focus.identifier
hasValue() or (children().count() > id.count())id 0..1 string MessageHeader.focus.identifier.id
extension I 0..* Extension MessageHeader.focus.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding MessageHeader.focus.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding MessageHeader.focus.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri MessageHeader.focus.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MessageHeader.focus.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period MessageHeader.focus.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() MessageHeader.focus.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string MessageHeader.focus.display
hasValue() or (children().count() > id.count())definition Σ 0..1 canonical(MessageDefinition) MessageHeader.definition
hasValue() or (children().count() > id.count())
Data Item
Implementation Guidance
Necessity
Cadinality UKCore
Example Value(s)
MessageHeader
https://simplifier.net/nhsbookingandreferrals/barsmessageheaderbookingrequest-duplicate-2
1..1
MessageHeader.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
0..1
MessageHeader.meta.profile
This MUST be populated with the structure definition forBARSMessageHeader-booking-request
MUST
0..1
https://fhir.nhs.uk/StructureDefinition/BARSMessageHeader-booking-request
MessageHeader.meta.lastUpdated
All resources MUST include 'lastUpdated' value, under the meta section which MUST be the same timestamp for each resource when created from new, but MUST be a later timestamp on updates to resources, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
0..1
2023-03-08T12:01:08.4677672+00:00
MessageHeader.extension
This MUST be populated with details of the Clinical Decision Support System used
SHOULD
0..1
MessageHeader.extension.url
This MUST be populated with 'https://fhir.nhs.uk/StructureDefinition/CDSSExtension' - FIXED VALUE
MUST
0..1
https://fhir.nhs.uk/StructureDefinition/CDSSExtension
MessageHeader.extension.extension
MUST
0..1
MessageHeader.extension.extension.url
This MUST be populated with the pre-defined Clinical Decision Support System software url - FIXED VALUE
MUST
0..1
requesterCDSSSoftware
MessageHeader.extension.extension.valueString
This MUST be populated with the Clinical Decision Support System software name e.g. Pathways
MUST
0..1
Pathways
MessageHeader.extension.extension
MUST
0..1
MessageHeader.extension.extension.url
This MUST be populated with the pre-defined Clinical Decision Support System software Version url - FIXED VALUE
MUST
0..1
requesterCDSSVersion
MessageHeader.extension.extension.valueString
This MUST be populated with the Clinical Decision Support System software Version name e.g. 30.2.0
MUST
0..1
30.2.0
MessageHeader.eventcoding
MUST
1..1
MessageHeader.eventcoding.system
This MUST be populated with CodeSystem 'https://fhir.nhs.uk/CodeSystem/message-events-bars' - FIXED VALUE
MUST
0..1
https://fhir.nhs.uk/CodeSystem/message-events-bars
MessageHeader.eventcoding.code
The status MUST be populated with 'booking-request'. See CodeSystem: 'https://fhir.nhs.uk/CodeSystem/message-events-bars' - FIXED VALUE
MUST
0..1
booking-request
MessageHeader.destination
MUST
0..1
MessageHeader.destination.receiver
MUST
0..1
MessageHeader.destination.receiver.reference
This MUST be populated with the full url to the Receiving Organisation resource.
MUST
0..1
urn:uuid:10397afd-479c-42ea-9d5d-e4024481e0f8
MessageHeader.destination.endpoint
This MUST be populated with the system and Service ID separated by a pipe. for example https://fhir.nhs.uk/id/dos-service-id\|11111111, this is to ensure the receiver knows the intended destination.
MUST
1..1
https://fhir.nhs.uk/id/dos-service-id\|1122334455
MessageHeader.sender
MUST
0..1
MessageHeader.sender.reference
This MUST be populated. Follow BaRS profile guidance for populating this element
MUST
0..1
urn:uuid:07939a0c-2854-46ff-9282-ad906bc93679
MessageHeader.source
MUST
1..1
MessageHeader.source.name
This MUST be populated with the sending system supplier name
MUST
0..1
Patient Access System
MessageHeader.source.software
This SHOULD be populated with the sending software application name
SHOULD
0..1
Supplier Software
MessageHeader.source.version
This SHOULD be populated with the sending software version
SHOULD
0..1
V1.0.0
MessageHeader.source.contact
SHOULD
0..1
MessageHeader.source.contact.system
This SHOULD be populated with the Contact Type - phone | fax | email | pager | url | sms | other
SHOULD
0..1
phone
MessageHeader.source.contact.value
This SHOULD be populated with the Contact Type value
SHOULD
0..1
+44 (0123) 123 4567
MessageHeader.source.endpoint
This MUST be populated with the system and Service ID separated by a pipe. for example https://fhir.nhs.uk/id/dos-service-id\|11111111, this is to ensure the receiver knows where any response messages SHOULD be addressed.
MUST
1..1
https://fhir.nhs.uk/id/dos-service-id\\|5566778899
MessageHeader.reason
MUST
0..1
MessageHeader.reason.coding
MUST
0..1
MessageHeader.reason.coding.system
This MUST be populated with 'https://fhir.nhs.uk/CodeSystem/message-reason-bars' - FIXED VALUE
MUST
0..1
https://fhir.nhs.uk/CodeSystem/message-reason-bars
MessageHeader.reason.coding.code
This MUST be populated with 'new' in a new message and 'update' for an update. See CodeSystem: 'https://fhir.nhs.uk/CodeSystem/message-events-bars'
MUST
0..1
new
MessageHeader.reason.coding.display
This SHOULD be populated with 'new' in a new message and 'update' for an update.
SHOULD
0..1
New
MessageHeader.focus
MUST
0..*
MessageHeader.focus.reference
This MUST be populated with a reference to the Appointment
MUST
0..1
urn:uuid:236bb75d-90ef-461f-b71e-fde7f899802c
MessageHeader.definition
This MUST be populated with the MessageDefinition the bundle is based on. This will be used for validation. Value - https://fhir.nhs.uk/MessageDefinition/bars-message-booking-request
MUST
0..1
https://fhir.nhs.uk/MessageDefinition/bars-message-booking-request
This resource will be used to communicate information about an Appointment and is the focus of the Booking interation. A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s). Logical id of this artifact The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. The only time that a resource does not have an id is when it is being submitted to the server using a create operation. Metadata about the resource The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. A set of rules under which this content was created A 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. Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. 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. Language of the resource content The base language in which the resource is written. Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). 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). A human language. Text summary of the resource, for human interpretation narrative, html, xhtml, display A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. 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. Contained 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. Contained, inline Resources inline resources, anonymous resources, contained resources These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. This 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. Additional content defined by implementations extensions, user content May 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. 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) An extension to record the organisation booking the appointment extensions, user content An extension to record the organisation booking the appointment. 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. https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-BookingOrganization An extension to record the delivery channel of a scheduled Appointment extensions, user content An extension to record the delivery channel of a scheduled Appointment. 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. https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-DeliveryChannel Extensions that cannot be ignored extensions, user content May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. 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). Modifier 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. 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) External Ids for this item This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status. If the Appointment's status is "cancelled" then all participants are expected to have their calendars released for the appointment period, and as such any Slots that were marked as BUSY can be re-set to FREE. This element is labeled as a modifier because the status contains the code entered-in-error that mark the Appointment as not currently valid. The free/busy status of an appointment. The coded reason for the appointment being cancelled The coded reason for the appointment being cancelled. This is often used in reporting/billing/futher processing to determine if further actions are required, or specific fees apply. Not 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. AppointmentCancellationReason (example) A broad categorization of the service that is to be performed during this appointment A broad categorization of the service that is to be performed during this appointment. Not 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. The specific service that is to be performed during this appointment The specific service that is to be performed during this appointment. For a provider to provider appointment the code "FOLLOWUP" may be appropriate, as this is expected to be discussing some patient that was seen in the past. The specialty of a practitioner that would be required to perform the service requested in this appointment The specialty of a practitioner that would be required to perform the service requested in this appointment. Not 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) The style of appointment or patient that has been booked in the slot (not service type) The style of appointment or patient that has been booked in the slot (not service type). Not 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. A set of codes that define an appointment reason. Coded reason this appointment is scheduled The coded reason that this appointment is being scheduled. This is more clinical than administrative. Not 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. The Reason for the appointment to take place. Reason the appointment is to take place (resource) Reason the appointment has been scheduled to take place, as specified using information from another resource. When the patient arrives and the encounter begins it may be used as the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure. References 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( | | | ImmunizationRecommendation) Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Used to make informed decisions if needing to re-prioritize The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority). Seeking implementer feedback on this property and how interoperable it is. Using an extension to record a CodeableConcept for named values may be tested at a future connectathon. Shown on a subject line in a meeting request, or appointment list The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field. Note that FHIR strings SHALL NOT exceed 1MB in size Additional information to support the appointment Additional information to support the appointment provided when making the appointment. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. When appointment is to take place Date/Time that the appointment is to take place. Note: 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 When appointment is to conclude Date/Time that the appointment is to conclude. Note: 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 Can be less than start/end (e.g. estimate) Number of minutes that the appointment is to take. This can be less than the duration between the start and end times. For example, where the actual time of appointment is only an estimate or if a 30 minute appointment is being requested, but any time would work. Also, if there is, for example, a planned 15 minute break in the middle of a long appointment, the duration may be 15 minutes less than the difference between the start and end. 32 bit number; for values larger than this, use decimal The slots that this appointment is filling The slots from the participants' schedules that will be filled by the appointment. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. The date that this appointment was initially created The date that this appointment was initially created. This could be different to the meta.lastModified value on the initial entry, as this could have been before the resource was created on the FHIR server, and should remain unchanged over the lifespan of the appointment. This property is required for many use cases where the age of an appointment is considered in processing workflows for scheduling and billing of appointments. Additional comments Additional comments about the appointment. Additional text to aid in facilitating the appointment. For instance, a comment might be, "patient should proceed immediately to infusion room upon arrival" Where this is a planned appointment and the start/end dates are not set then this field can be used to provide additional guidance on the details of the appointment request, including any restrictions on when to book it. Detailed information and instructions for the patient While Appointment.comment contains information for internal use, Appointment.patientInstructions is used to capture patient facing information about the Appointment (e.g. please bring your referral or fast from 8pm night before). Note that FHIR strings SHALL NOT exceed 1MB in size The service request this appointment is allocated to assess incomingReferral The service request this appointment is allocated to assess (e.g. incoming referral or procedure request). References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Participants involved in appointment List of participants involved in the appointment. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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 that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. Role of participant in the appointment Role of participant in the appointment. The role of the participant can be used to declare what the actor will be doing in the scope of this appointment. If the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning. This value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment. Role of participant in encounter. Person, Location/HealthcareService or Device A Person, Location/HealthcareService or Device that is participating in the appointment. References 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( | | | | | | ) Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. required | optional | information-only Whether this participant is required to be present at the meeting. This covers a use-case where two doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present. Note that FHIR strings SHALL NOT exceed 1MB in size Is the Participant required to attend the appointment. accepted | declined | tentative | needs-action Participation status of the actor. Note that FHIR strings SHALL NOT exceed 1MB in size The Participation status of an appointment. Participation period of the actor Participation period of the actor. A 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. Potential date/time interval(s) requested to allocate the appointment within A set of date ranges (potentially including times) that the appointment is preferred to be scheduled within. The duration (usually in minutes) could also be provided to indicate the length of the appointment to fill and populate the start/end times for the actual allocated time. However, in other situations the duration may be calculated by the scheduling system. This does not introduce a capacity for recurring appointments.
> Appointment
UKCoreAppointment (Appointment) I Appointment Appointment
contained.contained.empty()contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()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()text.`div`.exists()contained.meta.security.empty()Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')(start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))start.exists() = end.exists()id Σ 0..1 string Appointment.id
meta Σ 0..1 Meta Appointment.meta
hasValue() or (children().count() > id.count())implicitRules Σ ?! 0..1 uri Appointment.implicitRules
hasValue() or (children().count() > id.count())language 0..1 codeBinding Appointment.language
hasValue() or (children().count() > id.count())text 0..1 Narrative Appointment.text
hasValue() or (children().count() > id.count())contained 0..* Resource Appointment.contained
extension I 0..* Extension Element id Appointment.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()bookingOrganization I 0..1 Extension(Reference()) Element id Appointment.extension:bookingOrganization
hasValue() or (children().count() > id.count())extension.exists() != value.exists()deliveryChannel I 0..1 Extension(code) Element id Appointment.extension:deliveryChannel
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension ?! I 0..* Extension Appointment.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()identifier Σ 0..* Identifier Appointment.identifier
hasValue() or (children().count() > id.count())id 0..1 string Appointment.identifier.id
extension I 0..* Extension Appointment.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Appointment.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Appointment.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Appointment.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Appointment.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Appointment.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Appointment.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))status Σ ?! 1..1 codeBinding Appointment.status
hasValue() or (children().count() > id.count())cancelationReason Σ 0..1 CodeableConcept Appointment.cancelationReason
hasValue() or (children().count() > id.count())serviceCategory Σ 0..* CodeableConcept Appointment.serviceCategory
hasValue() or (children().count() > id.count())serviceType Σ 0..* CodeableConcept Appointment.serviceType
hasValue() or (children().count() > id.count())specialty Σ 0..* CodeableConceptBinding Appointment.specialty
hasValue() or (children().count() > id.count())appointmentType Σ 0..1 CodeableConceptBinding Element id Appointment.appointmentType
hasValue() or (children().count() > id.count())reasonCode Σ 0..* CodeableConceptBinding Appointment.reasonCode
hasValue() or (children().count() > id.count())reasonReference I 0..* Reference( | | | ImmunizationRecommendation) Element id Appointment.reasonReference
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Appointment.reasonReference.id
extension I 0..* Extension Appointment.reasonReference.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Appointment.reasonReference.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Appointment.reasonReference.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Appointment.reasonReference.identifier
hasValue() or (children().count() > id.count())id 0..1 string Appointment.reasonReference.identifier.id
extension I 0..* Extension Appointment.reasonReference.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Appointment.reasonReference.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Appointment.reasonReference.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Appointment.reasonReference.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Appointment.reasonReference.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Appointment.reasonReference.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Appointment.reasonReference.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Appointment.reasonReference.display
hasValue() or (children().count() > id.count())priority 0..1 unsignedInt Appointment.priority
hasValue() or (children().count() > id.count())description 0..1 string Appointment.description
hasValue() or (children().count() > id.count())supportingInformation I 0..* Reference(Resource) Appointment.supportingInformation
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Appointment.supportingInformation.id
extension I 0..* Extension Appointment.supportingInformation.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Appointment.supportingInformation.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Appointment.supportingInformation.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Appointment.supportingInformation.identifier
hasValue() or (children().count() > id.count())id 0..1 string Appointment.supportingInformation.identifier.id
extension I 0..* Extension Appointment.supportingInformation.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Appointment.supportingInformation.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Appointment.supportingInformation.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Appointment.supportingInformation.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Appointment.supportingInformation.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Appointment.supportingInformation.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Appointment.supportingInformation.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Appointment.supportingInformation.display
hasValue() or (children().count() > id.count())start Σ 0..1 instant Appointment.start
hasValue() or (children().count() > id.count())end Σ 0..1 instant Appointment.end
hasValue() or (children().count() > id.count())minutesDuration 0..1 positiveInt Appointment.minutesDuration
hasValue() or (children().count() > id.count())slot I 0..* Reference() Element id Appointment.slot
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Appointment.slot.id
extension I 0..* Extension Appointment.slot.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Appointment.slot.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Appointment.slot.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Appointment.slot.identifier
hasValue() or (children().count() > id.count())id 0..1 string Appointment.slot.identifier.id
extension I 0..* Extension Appointment.slot.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Appointment.slot.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Appointment.slot.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Appointment.slot.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Appointment.slot.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Appointment.slot.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Appointment.slot.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Appointment.slot.display
hasValue() or (children().count() > id.count())created 0..1 dateTime Appointment.created
hasValue() or (children().count() > id.count())comment 0..1 string Appointment.comment
hasValue() or (children().count() > id.count())patientInstruction 0..1 string Appointment.patientInstruction
hasValue() or (children().count() > id.count())basedOn I 0..* Reference() Element id Appointment.basedOn
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Appointment.basedOn.id
extension I 0..* Extension Appointment.basedOn.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Appointment.basedOn.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Appointment.basedOn.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Appointment.basedOn.identifier
hasValue() or (children().count() > id.count())id 0..1 string Appointment.basedOn.identifier.id
extension I 0..* Extension Appointment.basedOn.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Appointment.basedOn.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Appointment.basedOn.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Appointment.basedOn.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Appointment.basedOn.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Appointment.basedOn.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Appointment.basedOn.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Appointment.basedOn.display
hasValue() or (children().count() > id.count())participant I 1..* BackboneElement Appointment.participant
hasValue() or (children().count() > id.count())type.exists() or actor.exists()id 0..1 string Appointment.participant.id
extension I 0..* Extension Appointment.participant.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension Σ ?! I 0..* Extension Appointment.participant.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()type Σ 0..* CodeableConceptBinding Appointment.participant.type
hasValue() or (children().count() > id.count())actor Σ I 0..1 Reference( | | | | | | ) Element id Appointment.participant.actor
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Appointment.participant.actor.id
extension I 0..* Extension Appointment.participant.actor.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Appointment.participant.actor.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Appointment.participant.actor.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Appointment.participant.actor.identifier
hasValue() or (children().count() > id.count())id 0..1 string Appointment.participant.actor.identifier.id
extension I 0..* Extension Appointment.participant.actor.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Appointment.participant.actor.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Appointment.participant.actor.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Appointment.participant.actor.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Appointment.participant.actor.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Appointment.participant.actor.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Appointment.participant.actor.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Appointment.participant.actor.display
hasValue() or (children().count() > id.count())required Σ 0..1 codeBinding Appointment.participant.required
hasValue() or (children().count() > id.count())status Σ 1..1 codeBinding Appointment.participant.status
hasValue() or (children().count() > id.count())period I 0..1 Period Appointment.participant.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)requestedPeriod I 0..* Period Appointment.requestedPeriod
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)
Data Item
Implementation Guidance
Necessity
Cadinality UKCore
Example Value(s)
Appointment
https://simplifier.net/hl7fhirukcorer4/ukcoreappointment
1..1
Appointment.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
3713c8fc-dbcf-4f90-bacf-89d99e434e9b
Appointment.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
Appointment.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Appointment
Appointment.meta.lastupdated
This MUST be populated. All resources MUST include 'lastUpdated' value, under meta section which MUST be the same timestamp for each resource when created from new, but MUST be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
1..1
2023-03-08T12:01:08.4677672+00:00
Appointment.status
This MUST be populated with 'booked' or 'cancelled'
MUST
1..1
booked
Appointment.cancellationReason
If the booking is being cancelled (status). This SHOULD be populated
SHOULD
0..1
Appointment.cancellationReason.text
If the booking is being cancelled (status). This SHOULD be populated with a freetext reason for the cancellation
SHOULD
0..1
The patient has now been referred to secondary care.
Appointment.serviceCategory
This MUST be populated with 'service' the booking can be made for e.g. Aged Care at the Receiver
MUST
0..*
Appointment.serviceCategory.coding
This MUST be populated to describe the 'service' the booking is intended to support at the Receiver
MUST
0..1
Appointment.serviceCategory.system
This MUST be populated with the system of the 'service'
MUST
0..1
http://terminology.hl7.org/CodeSystem/service-category
Appointment.serviceCategory.code
This MUST be populated with the code of the 'service'
MUST
0..1
17
Appointment.serviceCategory.display
This MUST be populated with the display of the 'service'
MUST
0..1
General Practice
Appointment.description
This SHOULD be populated. It is the human readable description of the booking
SHOULD
0..1
Reason for calling
Appointment.start
This MUST be populated with the Start time of the booking
MUST
0..1
2021-10-12T12:30:00+00:00
Appointment.end
This MUST be populated with the End time of the booking
MUST
0..1
2021-10-12T12:30:00+00:00
Appointment.slot
MUST
0..*
Appointment.slot.reference
This MUST be populated with the local logical bundle reference to the Slot resource
MUST
0..1
urn:uuid:c3f6145e-1a26-4345-b3f2-dccbcba62049
Appointment.created
This MUST only be populated with the date/time the booking was generated by the Receiver in the synchronous HTTP response.
MUST
0..1
2021-10-11T15:01:30+00:00"
Appointment.basedOn
This MAY be populated. When the Service Request is made before the booking in the workflow this MUST be populated.
MAY
0..*
Appointment.basedOn.reference
This MAY be populated. This is MUST be the relative reference to the Service Request when referral is made before booking in the workflow
MAY
0..1
ServiceRequest/236bb75d-90ef-461f-b71e-fde7f899802c
Appointment.participant
MUST
1..1
Appointment.participant.actor
This MUST be populated with reference to the patient
MUST
0..1
Appointment.participant.actor.reference
This MUST be populated with the local logical bundle reference to the Patient resource
MUST
0..1
urn:uuid:3a62607b-df65-4932-940c-14262787f62d
Appointment.participant.actor.status
This MUST be populated with 'accepted' - FIXED VALUE
MUST
1..1
accepted
This resource will be used to communicate information about the slot. The Slot resource retrieved via the GET /Slot request and MUST be returned how it was received A slot of time on a schedule that may be available for booking appointments A slot of time on a schedule that may be available for booking appointments. Logical id of this artifact The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. The only time that a resource does not have an id is when it is being submitted to the server using a create operation. Metadata about the resource The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. A set of rules under which this content was created A 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. Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. 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. Language of the resource content The base language in which the resource is written. Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). 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). A human language. Text summary of the resource, for human interpretation narrative, html, xhtml, display A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. 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. Contained 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. Contained, inline Resources inline resources, anonymous resources, contained resources These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. This 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. Additional content defined by implementations extensions, user content May 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. 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) An extension to record the delivery channel of a scheduled Appointment extensions, user content An extension to record the delivery channel of a scheduled Appointment. 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. https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-DeliveryChannel Extensions that cannot be ignored extensions, user content May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. 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). Modifier 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. 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) External Ids for this item External Ids for this item. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. A broad categorization of the service that is to be performed during this appointment A broad categorization of the service that is to be performed during this appointment. Not 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. The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource. Not 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. The specialty of a practitioner that would be required to perform the service requested in this appointment The specialty of a practitioner that would be required to perform the service requested in this appointment. Not 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. Additional details about where the content was created (e.g. clinical specialty). The style of appointment or patient that may be booked in the slot (not service type) The style of appointment or patient that may be booked in the slot (not service type). Not 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. The schedule resource that this slot defines an interval of status information The schedule resource that this slot defines an interval of status information. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. busy | free | busy-unavailable | busy-tentative | entered-in-error busy | free | busy-unavailable | busy-tentative | entered-in-error. Note that FHIR strings SHALL NOT exceed 1MB in size The free/busy status of the slot. Date/Time that the slot is to begin Date/Time that the slot is to begin. Note: 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 Date/Time that the slot is to conclude Date/Time that the slot is to conclude. Note: 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 This slot has already been overbooked, appointments are unlikely to be accepted for this time This slot has already been overbooked, appointments are unlikely to be accepted for this time. If overbooked is missing, systems may assume that there are still appointments available Comments on the slot to describe any extended information. Such as custom constraints on the slot Comments on the slot to describe any extended information. Such as custom constraints on the slot. Note that FHIR strings SHALL NOT exceed 1MB in size
> Slot
UKCoreSlot (Slot) I Slot Slot
contained.contained.empty()contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()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()text.`div`.exists()contained.meta.security.empty()id Σ 0..1 string Slot.id
meta Σ 0..1 Meta Slot.meta
hasValue() or (children().count() > id.count())implicitRules Σ ?! 0..1 uri Slot.implicitRules
hasValue() or (children().count() > id.count())language 0..1 codeBinding Slot.language
hasValue() or (children().count() > id.count())text 0..1 Narrative Slot.text
hasValue() or (children().count() > id.count())contained 0..* Resource Slot.contained
extension I 0..* Extension Element id Slot.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()deliveryChannel I 0..1 Extension(code) Element id Slot.extension:deliveryChannel
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension ?! I 0..* Extension Slot.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()identifier Σ 0..* Identifier Slot.identifier
hasValue() or (children().count() > id.count())id 0..1 string Slot.identifier.id
extension I 0..* Extension Slot.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Slot.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Slot.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Slot.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Slot.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Slot.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Slot.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))serviceCategory Σ 0..* CodeableConcept Slot.serviceCategory
hasValue() or (children().count() > id.count())serviceType Σ 0..* CodeableConcept Slot.serviceType
hasValue() or (children().count() > id.count())specialty Σ 0..* CodeableConceptBinding Slot.specialty
hasValue() or (children().count() > id.count())appointmentType Σ 0..1 CodeableConceptBinding Slot.appointmentType
hasValue() or (children().count() > id.count())schedule Σ I 1..1 Reference() Element id Slot.schedule
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Slot.schedule.id
extension I 0..* Extension Slot.schedule.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Slot.schedule.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Slot.schedule.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Slot.schedule.identifier
hasValue() or (children().count() > id.count())id 0..1 string Slot.schedule.identifier.id
extension I 0..* Extension Slot.schedule.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Slot.schedule.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Slot.schedule.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Slot.schedule.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Slot.schedule.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Slot.schedule.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Slot.schedule.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Slot.schedule.display
hasValue() or (children().count() > id.count())status Σ 1..1 codeBinding Slot.status
hasValue() or (children().count() > id.count())start Σ 1..1 instant Slot.start
hasValue() or (children().count() > id.count())end Σ 1..1 instant Slot.end
hasValue() or (children().count() > id.count())overbooked 0..1 boolean Slot.overbooked
hasValue() or (children().count() > id.count())comment 0..1 string Slot.comment
hasValue() or (children().count() > id.count())
Data Item
Implementation Guidance
Necessity
Cadinality UKCore
Example Value(s)
Slot
This resource will be used to communicate information about the slot. The Slot resource retrieved via the GET /Slot request and MUST be returned how it was received
https://simplifier.net/hl7fhirukcorer4/ukcoreslot
1..1
Slot.id
Id returned as part of the GET /Slot response
Must
1..1
e267afc4-4310-4549-b66a-5bc4db08f09b
Slot.meta
UKCore
Must
1..1
Slot.meta.profile
UKCore
Must
1..1
http://hl7.org/fhir/StructureDefinition/Slot
Slot.meta.lastUpdated
All resources MUST include 'lastUpdated' value, under meta section which must be the same timestamp for each resource when created from new, but must be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
Must
1..1
2023-03-08T12:01:08.4677672+00:00
Slot.serviceCategory
This MUST be populated with 'service' the booking can be made for e.g. Aged Care at the Receiver
MUST
0..1
Slot.serviceCategory.coding
This MUST be populated to describe the 'service' the booking is intended to support at the Receiver
MUST
0..1
Slot.serviceCategory.coding.system
This MUST be populated with the system of the 'service'
MUST
0..1
http://terminology.hl7.org/CodeSystem/service-category
Slot.serviceCategory.coding.code
This MUST be populated with the code of the 'service'
MUST
0..1
17
Slot.serviceCategory.coding.display
This MUST be populated with the display of the 'service'
MUST
0..1
General Practice
Slot.appointmentType
UKCore
Should
0..1
Slot.appointmentType.coding
UKCore
Should
0..1
Slot.appointmentType.coding.code
UKCore
Should
0..1
EMERGENCY
Slot.appointmentType.coding.display
UKCore
Should
0..1
Emergency Appointment
Slot.schedule
UKCore
Must
1..1
Slot.schedule.referrence
UKCore
Must
1..1
urn:uuid:3a62607b-df65-4932-940c-14262787f62d
Slot.status
UKCore
Must
1..1
busy
Slot.start
UKCore
Must
1..1
2021-10-06T10:00:00.000+00:00
Slot.end
UKCore
Must
1..1
2021-10-06T11:00:00.000+00:00
This resource will be used to communicate information about the schedule. The Schedule resource retrieved via the GET /Slot request and MUST be returned how it was received A container for slots of time that may be available for booking appointments Availability A container for slots of time that may be available for booking appointments. Logical id of this artifact The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. The only time that a resource does not have an id is when it is being submitted to the server using a create operation. Metadata about the resource The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. A set of rules under which this content was created A 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. Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. 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. Language of the resource content The base language in which the resource is written. Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). 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). A human language. Text summary of the resource, for human interpretation narrative, html, xhtml, display A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. 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. Contained 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. Contained, inline Resources inline resources, anonymous resources, contained resources These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. This 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. Additional content defined by implementations extensions, user content May 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. 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 that cannot be ignored extensions, user content May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. 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). Modifier 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. 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) External Ids for this item External Ids for this item. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Whether this schedule is in active use Whether this schedule record is in active use or should not be used (such as was entered in error). This element is labeled as a modifier because it may be used to mark that the resource was created in error. This resource is generally assumed to be active if no value is provided for the active element High-level category A broad categorization of the service that is to be performed during this appointment. Not 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. Specific service The specific service that is to be performed during this appointment. Not 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. Type of specialty needed The specialty of a practitioner that would be required to perform the service requested in this appointment. Not 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. Additional details about where the content was created (e.g. clinical specialty). Resource(s) that availability information is being provided for Slots that reference this schedule resource provide the availability details to these referenced resource(s). The capacity to support multiple referenced resource types should be used in cases where the specific resources themselves cannot be scheduled without the other, and thus only make sense to the system exposing them as a group. Common examples of this are where the combination of a practitioner and a room (Location) are always required by a system. Reference( | | | | | | ) Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Period of time covered by schedule The period of time that the slots that reference this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates. A 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. Comments on availability Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated. Note that FHIR strings SHALL NOT exceed 1MB in size
> Schedule
UKCoreSchedule (Schedule) I Schedule Schedule
contained.contained.empty()contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()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()text.`div`.exists()contained.meta.security.empty()id Σ 0..1 string Schedule.id
meta Σ 0..1 Meta Schedule.meta
hasValue() or (children().count() > id.count())implicitRules Σ ?! 0..1 uri Schedule.implicitRules
hasValue() or (children().count() > id.count())language 0..1 codeBinding Schedule.language
hasValue() or (children().count() > id.count())text 0..1 Narrative Schedule.text
hasValue() or (children().count() > id.count())contained 0..* Resource Schedule.contained
extension I 0..* Extension Schedule.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension ?! I 0..* Extension Schedule.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()identifier Σ 0..* Identifier Schedule.identifier
hasValue() or (children().count() > id.count())id 0..1 string Schedule.identifier.id
extension I 0..* Extension Schedule.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Schedule.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Schedule.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Schedule.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Schedule.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Schedule.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Schedule.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))active Σ ?! 0..1 boolean Schedule.active
hasValue() or (children().count() > id.count())serviceCategory Σ 0..* CodeableConcept Schedule.serviceCategory
hasValue() or (children().count() > id.count())serviceType Σ 0..* CodeableConcept Schedule.serviceType
hasValue() or (children().count() > id.count())specialty Σ 0..* CodeableConceptBinding Schedule.specialty
hasValue() or (children().count() > id.count())actor Σ I 1..* Reference( | | | | | | ) Element id Schedule.actor
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Schedule.actor.id
extension I 0..* Extension Schedule.actor.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Schedule.actor.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Schedule.actor.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Schedule.actor.identifier
hasValue() or (children().count() > id.count())id 0..1 string Schedule.actor.identifier.id
extension I 0..* Extension Schedule.actor.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Schedule.actor.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Schedule.actor.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Schedule.actor.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Schedule.actor.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Schedule.actor.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Schedule.actor.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Schedule.actor.display
hasValue() or (children().count() > id.count())planningHorizon Σ I 0..1 Period Schedule.planningHorizon
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)comment 0..1 string Schedule.comment
hasValue() or (children().count() > id.count())
Data Item
Implementation Guidance
Necessity
Cadinality UKCore
Example Value(s)
Schedule
This resource will be used to communicate information about the schedule. The Schedule resource retrieved via the GET /Slot request and MUST be returned how it was received
https://simplifier.net/hl7fhirukcorer4/ukcoreschedule
1..1
Schedule.id
Id returned as part of the GET /Slot response
Must
1..1
e267afc4-4310-4549-b66a-5bc4db08f09b
Schedule.meta
UKCore
Must
1..1
Schedule.meta.profile
UKCore
Must
1..1
http://hl7.org/fhir/StructureDefinition/Schedule
Schedule.meta.lastUpdated
All resources MUST include 'lastUpdated' value, under meta section which must be the same timestamp for each resource when created from new, but must be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
Must
1..1
2023-03-08T12:01:08.4677672+00:00
Schdeule.identifier
UKCore
Must
0..*
Schedule.system
UKCore
Must
0..1
https://system.supplier.co.uk/Diary/id
Schedule.value
UKCore
Must
0..1
8622dfdb-dc6a-47b6-b3a7-2eb2829db28
Schedule.serviceCategory
This MUST be populated with 'service' the booking can be made for e.g. Aged Care at the Receiver
MUST
0..1
Schedule.serviceCategory.coding
This MUST be populated to describe the 'service' the booking is intended to support at the Receiver
MUST
0..1
Schedule.serviceCategory.coding.system
This MUST be populated with the system of the 'service'
MUST
0..1
http://terminology.hl7.org/CodeSystem/service-category
Schedule.serviceCategory.coding.code
This MUST be populated with the code of the 'service'
MUST
0..1
17
Schedule.serviceCategory.coding.display
This MUST be populated with the display of the 'service'
MUST
0..1
General Practice
Schedule.actor
UKCore
Must
1..*
Schedule.actor.referrence
This MUST be populated with the Healthcare Service, PractitionerRole, Practitioner in seperate actors.
Must
0..1
6daaadd8-56e0-4d74-8350-1632331c5452
This resource is used to communicate details about the patient who is the subject of the booking. Information about an individual or animal receiving health care services SubjectOfCare Client Resident Demographics and other administrative information about an individual or animal receiving care or other health-related services. Logical id of this artifact The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. The only time that a resource does not have an id is when it is being submitted to the server using a create operation. Metadata about the resource The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. A set of rules under which this content was created A 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. Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. 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. Language of the resource content The base language in which the resource is written. Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). 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). A human language. Text summary of the resource, for human interpretation narrative, html, xhtml, display A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. 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. Contained 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. Contained, inline Resources inline resources, anonymous resources, contained resources These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. This 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. Additional content defined by implementations extensions, user content May 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. 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) The registered place of birth of the patient. extensions, user content The registered place of birth of the patient. 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. http://hl7.org/fhir/StructureDefinition/patient-birthPlace Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) identifies the meaning of the extension Source of the definition for the extension code - a logical name or a URL. The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. The registered place of birth of the patient. Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). The patient's phenotypic sex at birth. extensions, user content The patient's phenotypic sex at birth. 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. https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-BirthSex Post-mortem donor status. extensions, user content Flag indicating whether the patient authorized the donation of body parts after death. 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. http://hl7.org/fhir/StructureDefinition/patient-cadavericDonor Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) identifies the meaning of the extension Source of the definition for the extension code - a logical name or a URL. The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. Post-mortem donor status. Flag indicating whether the patient authorized the donation of body parts after death. The preferred method of contact, contact times and written communication format given by a Patient or Related Person. extensions, user content The preferred method of contact, contact times and written communication format given by a Patient or Related Person. 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. Extension(Complex) https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-ContactPreference The patient's death notification status. extensions, user content The patient's death notification status. 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. Extension(Complex) https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-DeathNotificationStatus The ethnicity of the subject extensions, user content The ethnicity of the subject. 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. https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-EthnicCategory The residential status of the patient. extensions, user content The residential status of the patient. For example if this patient is a UK resident. 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. https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-ResidentialStatus The patient's professed religious affiliations extensions, user content The patient's professed religious affiliations. 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. http://hl7.org/fhir/StructureDefinition/patient-religion Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) identifies the meaning of the extension Source of the definition for the extension code - a logical name or a URL. The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. The religious affiliation of the patient The religious affiliation of the patient. v3.ReligiousAffiliation (extensible) Whether the patient needs an interpreter extensions, user content This Patient requires an interpreter to communicate healthcare information to the practitioner. The Patient does not speak the default language of the organization, and hence requires an interpreter. If the patient has other languages in the Communications list, then that would be the type of interpreter required. http://hl7.org/fhir/StructureDefinition/patient-interpreterRequired Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) identifies the meaning of the extension Source of the definition for the extension code - a logical name or a URL. The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. Indicator showing whether the patient needs an interpreter Indicator showing if this Patient requires an interpreter to communicate healthcare information to the practitioner. Extensions that cannot be ignored extensions, user content May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. 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). Modifier 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. 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) An identifier for this patient An identifier for this patient. Patients are almost always assigned specific numerical identifiers. Unordered, Open, by system(Value) The patient's NHS number An identifier for this patient. Patients are almost always assigned specific numerical identifiers. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) NHS number verification status extensions, user content The verification/tracing status of the NHS number. 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. https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Whether this patient's record is in active use Whether 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. Need to be able to mark a patient record as not to be used because it was created in error. If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient. This resource is generally assumed to be active if no value is provided for the active element A name associated with the patient A name associated with the individual. Need to be able to track the patient by multiple names. Examples are your official name and a partner name. A 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. A contact detail for the individual A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted. People have (primary) ways to contact them in some way such as phone, email. A 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) phone | fax | email | pager | url | sms | other Telecommunications form for contact point - what communications system is required to make use of the contact. Note that FHIR strings SHALL NOT exceed 1MB in size Telecommunications form for contact point. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Other contact system extensions, user content Other contact system value which extends the system element in the ContactPoint datatype. 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. https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-OtherContactSystem Primitive value for code Primitive value for code System.String 1048576 The actual contact point details The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address). Need to support legacy numbers that are not in a tightly controlled format. Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value. home | work | temp | old | mobile - purpose of this contact point Identifies the purpose for the contact point. Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose. Applications can assume that a contact is current unless it explicitly says that it is temporary or old. Use of contact point. Specify preferred order of use (1 = highest) Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values. Note that rank does not necessarily follow the order in which the contacts are represented in the instance. Time period when the contact point was/is in use Time period when the contact point was/is in use. A 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. male | female | other | unknown Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes. Needed for identification of the individual, in combination with (at least) name and birth date. The 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. The gender of a person used for administrative purposes. The date of birth for the individual The date of birth for the individual. Age of the individual drives many clinical processes. At 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Time of day of birth. extensions, user content The time of day that the patient was born. This includes the date to ensure that the timezone information can be communicated effectively. 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. http://hl7.org/fhir/StructureDefinition/patient-birthTime Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) identifies the meaning of the extension Source of the definition for the extension code - a logical name or a URL. The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. Time of day of birth. The time of day that the patient was born. This includes the date to ensure that the timezone information can be communicated effectively. Primitive value for date Primitive value for date System.Date Indicates if the individual is deceased or not Indicates if the individual is deceased or not. The 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. If 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. An address for the individual An address for the individual May need to keep track of patient addresses for contacting, billing or reporting requirements and also to help with identification. Patient may have multiple addresses with different uses or applicable periods. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) A patient's address key and type extensions, user content A patient's address key and type. 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. Extension(Complex) https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AddressKey home | work | temp | old | billing - purpose of this address The purpose of this address. Allows an appropriate address to be chosen from a list of many. Applications can assume that an address is current unless it explicitly says that it is temporary or old. The use of an address. postal | physical | both Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both. The definition of Address states that "address is intended to describe postal addresses, not physical locations". However, many applications track whether an address has a dual purpose of being a location that can be visited as well as being a valid delivery destination, and Postal addresses are often used as proxies for physical locations (also see the Location resource). The type of an address (physical / postal). Text representation of the address Specifies the entire address as it should be displayed e.g. on a postal label. This may be provided instead of or as well as the specific parts. A renderable, unencoded form. Can provide both a text representation and parts. Applications updating an address SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part. Street name, number, direction & P.O. Box etc. This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information. Note that FHIR strings SHALL NOT exceed 1MB in size Name of city, town etc. Municpality The name of the city, town, suburb, village or other community or delivery center. Note that FHIR strings SHALL NOT exceed 1MB in size District name (aka county) County The name of the administrative area (county). District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead. Sub-unit of country (abbreviations ok) Province, Territory Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (e.g. US 2 letter state codes). Note that FHIR strings SHALL NOT exceed 1MB in size Postal code for area Zip A postal code designating a region defined by the postal service. Note that FHIR strings SHALL NOT exceed 1MB in size Country (e.g. can be ISO 3166 2 or 3 letter code) Country - a nation as commonly understood or generally accepted. ISO 3166 3 letter codes can be used in place of a human readable country name. Time period when address was/is in use Time period when address was/is in use. Allows addresses to be placed in historical context. A 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. Marital (civil) status of a patient This field contains a patient's most recent marital (civil) status. Most, if not all systems capture it. Not 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. An indicator to identify the legal marital status of a person Whether patient is part of a multiple birth Indicates whether the patient is part of a multiple (boolean) or indicates the actual birth order (integer). For disambiguation of multiple-birth children, especially relevant where the care provider doesn't meet the patient, such as labs. Where 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). Image of the patient Image of the patient. Many EHR systems have the capability to capture an image of the patient. Fits with newer social media usage too. Guidelines: A contact party (e.g. guardian, partner, friend) for the patient A contact party (e.g. guardian, partner, friend) for the patient. Need to track people you can contact about the patient. Contact 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Preferred ranking or order of contact applied to a contact on a patient's contact list extensions, user content The preferred ranking or order of contact applied to a contact on a patient's contact list. 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. https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-ContactRank Indicator showing that a patient's contact or related person must be copied in to patient correspondence extensions, user content Extension carrying a boolean indicator showing that a patient's contact or related person must be copied in to patient correspondence. 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. https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-CopyCorrespondenceIndicator Extensions that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. The kind of relationship The nature of the relationship between the patient and the contact person. Used to determine which contact person is the most relevant to approach, depending on circumstances. Not 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. The nature of the relationship between a patient and a contact person for that patient. A name associated with the contact person A name associated with the contact person. Contact persons need to be identified by name, but it is uncommon to need details about multiple other names for that contact person. Names 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. A contact detail for the person A contact detail for the person, e.g. a telephone number or an email address. People have (primary) ways to contact them in some way such as phone, email. Contact 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) phone | fax | email | pager | url | sms | other Telecommunications form for contact point - what communications system is required to make use of the contact. Note that FHIR strings SHALL NOT exceed 1MB in size Telecommunications form for contact point. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Other contact system extensions, user content Other contact system value which extends the system element in the ContactPoint datatype. 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. https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-OtherContactSystem Primitive value for code Primitive value for code System.String 1048576 The actual contact point details The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address). Need to support legacy numbers that are not in a tightly controlled format. Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value. home | work | temp | old | mobile - purpose of this contact point Identifies the purpose for the contact point. Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose. Applications can assume that a contact is current unless it explicitly says that it is temporary or old. Use of contact point. Specify preferred order of use (1 = highest) Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values. Note that rank does not necessarily follow the order in which the contacts are represented in the instance. Time period when the contact point was/is in use Time period when the contact point was/is in use. A 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. Address for the contact person Address for the contact person. Need to keep track where the contact person can be contacted per postal mail or visited. Note: 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). male | female | other | unknown Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes. Needed to address the person correctly. Note that FHIR strings SHALL NOT exceed 1MB in size The gender of a person used for administrative purposes. Organization that is associated with the contact Organization on behalf of which the contact is acting or for which the contact is working. For guardians or business related contacts, the organization is relevant. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. The period during which this contact person or organization is valid to be contacted relating to this patient The period during which this contact person or organization is valid to be contacted relating to this patient. A 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. A language which may be used to communicate with the patient about his or her health A language which may be used to communicate with the patient about his or her health. If 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. If 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Proficiency level of the communication extensions, user content Proficiency level of the communication. 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. Extension(Complex) http://hl7.org/fhir/StructureDefinition/patient-proficiency Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) The proficiency level of the communication extensions, user content How well the patient can communicate this communication (good, poor, etc.). 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) identifies the meaning of the extension Source of the definition for the extension code - a logical name or a URL. The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. The proficiency level for the communication The proficiency level for the communication. The proficiency level for the communication. The proficiency type of the communication extensions, user content What type of communication for the proficiency (spoken, written, etc.). 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) identifies the meaning of the extension Source of the definition for the extension code - a logical name or a URL. The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. The proficiency type for the communication The proficiency type for the communication. The proficiency type for the communication. identifies the meaning of the extension Source of the definition for the extension code - a logical name or a URL. The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. Value of extension Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). Extensions that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. A ValueSet that identifies the language used by a person. A ValueSet that identifies the language used by a person. Most systems in multilingual countries will want to convey language. Not all systems actually need the regional dialect. The 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. A ValueSet that identifies the language used by a person. Language preference indicator Indicates whether or not the patient prefers this language (over other languages he masters up a certain level). People 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. This language is specifically identified for communicating healthcare information. Patient's nominated primary care provider careProvider Patient's nominated care provider. This 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( | | ) Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Organization that is the custodian of the patient record Organization that is the custodian of the patient record. Need to know who recognizes this patient record, manages and updates it. There 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Link to another patient resource that concerns the same actual person Link to another patient resource that concerns the same actual patient. There are multiple use cases: There is no assumption that linked patient records have mutual links. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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 that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. The other patient or related person resource that the link refers to The other patient resource that the link refers to. Referencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual. Reference( | ) Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. replaced-by | replaces | refer | seealso The type of link between this patient resource and another patient resource. Note that FHIR strings SHALL NOT exceed 1MB in size The type of link between this patient resource and another patient resource.
> Patient
It also includes contact information for third parties when required.UKCorePatient (Patient) I Patient Patient
contained.contained.empty()contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()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()text.`div`.exists()contained.meta.security.empty()id Σ 0..1 string Patient.id
meta Σ 0..1 Meta Patient.meta
hasValue() or (children().count() > id.count())implicitRules Σ ?! 0..1 uri Patient.implicitRules
hasValue() or (children().count() > id.count())language 0..1 codeBinding Patient.language
hasValue() or (children().count() > id.count())text 0..1 Narrative Patient.text
hasValue() or (children().count() > id.count())contained 0..* Resource Patient.contained
extension I 0..* Extension Element id Patient.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()birthPlace I 0..1 Extension(Address) Element id Patient.extension:birthPlace
hasValue() or (children().count() > id.count())extension.exists() != value.exists()id 0..1 string Patient.extension:birthPlace.id
extension I 0..0 Extension Patient.extension:birthPlace.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()url 1..1 uriFixed Value Patient.extension:birthPlace.url
http://hl7.org/fhir/StructureDefinition/patient-birthPlace
value[x] 1..1 Element id Patient.extension:birthPlace.value[x]
hasValue() or (children().count() > id.count())valueAddress Address birthSex I 0..1 Extension(code) Element id Patient.extension:birthSex
hasValue() or (children().count() > id.count())extension.exists() != value.exists()cadavericDonor I 0..1 Extension(boolean) Element id Patient.extension:cadavericDonor
hasValue() or (children().count() > id.count())extension.exists() != value.exists()id 0..1 string Patient.extension:cadavericDonor.id
extension I 0..0 Extension Patient.extension:cadavericDonor.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()url 1..1 uriFixed Value Patient.extension:cadavericDonor.url
http://hl7.org/fhir/StructureDefinition/patient-cadavericDonor
value[x] 1..1 Element id Patient.extension:cadavericDonor.value[x]
hasValue() or (children().count() > id.count())valueBoolean boolean contactPreference I 0..1 Extension(Complex) Element id Patient.extension:contactPreference
hasValue() or (children().count() > id.count())extension.exists() != value.exists()deathNotificationStatus I 0..1 Extension(Complex) Element id Patient.extension:deathNotificationStatus
hasValue() or (children().count() > id.count())extension.exists() != value.exists()ethnicCategory I 0..1 Extension(CodeableConcept) Element id Patient.extension:ethnicCategory
hasValue() or (children().count() > id.count())extension.exists() != value.exists()residentialStatus I 0..1 Extension(CodeableConcept) Element id Patient.extension:residentialStatus
hasValue() or (children().count() > id.count())extension.exists() != value.exists()patientReligion I 0..1 Extension(CodeableConcept) Element id Patient.extension:patientReligion
hasValue() or (children().count() > id.count())extension.exists() != value.exists()id 0..1 string Patient.extension:patientReligion.id
extension I 0..0 Extension Patient.extension:patientReligion.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()url 1..1 uriFixed Value Patient.extension:patientReligion.url
http://hl7.org/fhir/StructureDefinition/patient-religion
value[x] 1..1 Binding Element id Patient.extension:patientReligion.value[x]
hasValue() or (children().count() > id.count())valueCodeableConcept CodeableConcept patientInterpreterRequired I 0..1 Extension(boolean) Element id Patient.extension:patientInterpreterRequired
hasValue() or (children().count() > id.count())extension.exists() != value.exists()id 0..1 string Patient.extension:patientInterpreterRequired.id
extension I 0..0 Extension Patient.extension:patientInterpreterRequired.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()url 1..1 uriFixed Value Patient.extension:patientInterpreterRequired.url
http://hl7.org/fhir/StructureDefinition/patient-interpreterRequired
value[x] 1..1 Element id Patient.extension:patientInterpreterRequired.value[x]
hasValue() or (children().count() > id.count())valueBoolean boolean modifierExtension ?! I 0..* Extension Patient.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()identifier Σ 0..* Identifier Element id Patient.identifier
hasValue() or (children().count() > id.count())nhsNumber Σ 0..1 Identifier Element id Patient.identifier:nhsNumber
hasValue() or (children().count() > id.count())id 0..1 string Patient.identifier:nhsNumber.id
extension I 0..* Extension Element id Patient.identifier:nhsNumber.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()nhsNumberVerificationStatus I 0..1 Extension(CodeableConcept) Element id Patient.identifier:nhsNumber.extension:nhsNumberVerificationStatus
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Patient.identifier:nhsNumber.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Patient.identifier:nhsNumber.type
hasValue() or (children().count() > id.count())system Σ 1..1 uriFixed Value Element id Patient.identifier:nhsNumber.system
hasValue() or (children().count() > id.count())https://fhir.nhs.uk/Id/nhs-number
value Σ 1..1 string Patient.identifier:nhsNumber.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Patient.identifier:nhsNumber.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Patient.identifier:nhsNumber.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))active Σ ?! 0..1 boolean Patient.active
hasValue() or (children().count() > id.count())name Σ 0..* HumanName Patient.name
hasValue() or (children().count() > id.count())telecom Σ I 0..* ContactPoint Patient.telecom
hasValue() or (children().count() > id.count())value.empty() or system.exists()id 0..1 string Patient.telecom.id
extension I 0..* Extension Patient.telecom.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()system Σ I 0..1 codeBinding Patient.telecom.system
hasValue() or (children().count() > id.count())id 0..1 string Patient.telecom.system.id
extension I 0..* Extension Element id Patient.telecom.system.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()otherContactSystem I 0..1 Extension(Coding) Element id Patient.telecom.system.extension:otherContactSystem
hasValue() or (children().count() > id.count())extension.exists() != value.exists()value 0..1 System.String Patient.telecom.system.value
value Σ 0..1 string Patient.telecom.value
hasValue() or (children().count() > id.count())use Σ ?! 0..1 codeBinding Patient.telecom.use
hasValue() or (children().count() > id.count())rank Σ 0..1 positiveInt Patient.telecom.rank
hasValue() or (children().count() > id.count())period Σ I 0..1 Period Patient.telecom.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)gender Σ 0..1 codeBinding Patient.gender
hasValue() or (children().count() > id.count())birthDate Σ 0..1 date Patient.birthDate
hasValue() or (children().count() > id.count())id 0..1 string Patient.birthDate.id
extension I 0..* Extension Element id Patient.birthDate.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()birthTime I 0..1 Extension(dateTime) Element id Patient.birthDate.extension:birthTime
hasValue() or (children().count() > id.count())extension.exists() != value.exists()id 0..1 string Patient.birthDate.extension:birthTime.id
extension I 0..0 Extension Patient.birthDate.extension:birthTime.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()url 1..1 uriFixed Value Patient.birthDate.extension:birthTime.url
http://hl7.org/fhir/StructureDefinition/patient-birthTime
value[x] 1..1 Element id Patient.birthDate.extension:birthTime.value[x]
hasValue() or (children().count() > id.count())valueDateTime dateTime value 0..1 System.Date Patient.birthDate.value
deceased[x] Σ ?! 0..1 Patient.deceased[x]
hasValue() or (children().count() > id.count())deceasedBoolean boolean deceasedDateTime dateTime address Σ 0..* Address Element id Patient.address
hasValue() or (children().count() > id.count())id 0..1 string Patient.address.id
extension I 0..* Extension Element id Patient.address.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()addressKey I 0..* Extension(Complex) Element id Patient.address.extension:addressKey
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Patient.address.use
hasValue() or (children().count() > id.count())home
Mappingstype Σ 0..1 codeBinding Patient.address.type
hasValue() or (children().count() > id.count())both
Mappingstext Σ 0..1 string Patient.address.text
hasValue() or (children().count() > id.count())137 Nowhere Street, Erewhon 9132
Mappingsline Σ 0..* string Patient.address.line
hasValue() or (children().count() > id.count())137 Nowhere Street
Mappingscity Σ 0..1 string Patient.address.city
hasValue() or (children().count() > id.count())Erewhon
Mappingsdistrict Σ 0..1 string Patient.address.district
hasValue() or (children().count() > id.count())Madison
Mappingsstate Σ 0..1 string Patient.address.state
hasValue() or (children().count() > id.count())postalCode Σ 0..1 string Patient.address.postalCode
hasValue() or (children().count() > id.count())9132
Mappingscountry Σ 0..1 string Patient.address.country
hasValue() or (children().count() > id.count())period Σ I 0..1 Period Patient.address.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end){
"start": "2010-03-23",
"end": "2010-07-01"
}
MappingsmaritalStatus 0..1 CodeableConceptBinding Element id Patient.maritalStatus
hasValue() or (children().count() > id.count())multipleBirth[x] 0..1 Patient.multipleBirth[x]
hasValue() or (children().count() > id.count())multipleBirthBoolean boolean multipleBirthInteger integer photo I 0..* Attachment Patient.photo
hasValue() or (children().count() > id.count())data.empty() or contentType.exists()contact I 0..* BackboneElement Patient.contact
hasValue() or (children().count() > id.count())name.exists() or telecom.exists() or address.exists() or organization.exists()id 0..1 string Patient.contact.id
extension I 0..* Extension Element id Patient.contact.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()contactRank I 0..1 Extension(positiveInt) Element id Patient.contact.extension:contactRank
hasValue() or (children().count() > id.count())extension.exists() != value.exists()copyCorrespondenceIndicator I 0..1 Extension(boolean) Element id Patient.contact.extension:copyCorrespondenceIndicator
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension Σ ?! I 0..* Extension Patient.contact.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()relationship 0..* CodeableConceptBinding Element id Patient.contact.relationship
hasValue() or (children().count() > id.count())name 0..1 HumanName Patient.contact.name
hasValue() or (children().count() > id.count())telecom I 0..* ContactPoint Patient.contact.telecom
hasValue() or (children().count() > id.count())value.empty() or system.exists()id 0..1 string Patient.contact.telecom.id
extension I 0..* Extension Patient.contact.telecom.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()system Σ I 0..1 codeBinding Patient.contact.telecom.system
hasValue() or (children().count() > id.count())id 0..1 string Patient.contact.telecom.system.id
extension I 0..* Extension Element id Patient.contact.telecom.system.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()otherContactSystem I 0..1 Extension(Coding) Element id Patient.contact.telecom.system.extension:otherContactSystem
hasValue() or (children().count() > id.count())extension.exists() != value.exists()value 0..1 System.String Patient.contact.telecom.system.value
value Σ 0..1 string Patient.contact.telecom.value
hasValue() or (children().count() > id.count())use Σ ?! 0..1 codeBinding Patient.contact.telecom.use
hasValue() or (children().count() > id.count())rank Σ 0..1 positiveInt Patient.contact.telecom.rank
hasValue() or (children().count() > id.count())period Σ I 0..1 Period Patient.contact.telecom.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)address 0..1 Address Patient.contact.address
hasValue() or (children().count() > id.count())gender 0..1 codeBinding Patient.contact.gender
hasValue() or (children().count() > id.count())organization I 0..1 Reference() Element id Patient.contact.organization
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Patient.contact.organization.id
extension I 0..* Extension Patient.contact.organization.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Patient.contact.organization.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Patient.contact.organization.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Patient.contact.organization.identifier
hasValue() or (children().count() > id.count())id 0..1 string Patient.contact.organization.identifier.id
extension I 0..* Extension Patient.contact.organization.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Patient.contact.organization.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Patient.contact.organization.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Patient.contact.organization.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Patient.contact.organization.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Patient.contact.organization.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Patient.contact.organization.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Patient.contact.organization.display
hasValue() or (children().count() > id.count())period I 0..1 Period Patient.contact.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)communication 0..* BackboneElement Patient.communication
hasValue() or (children().count() > id.count())id 0..1 string Patient.communication.id
extension I 0..* Extension Element id Patient.communication.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()proficiency I 0..1 Extension(Complex) Element id Patient.communication.extension:proficiency
hasValue() or (children().count() > id.count())extension.exists() != value.exists()id 0..1 string Patient.communication.extension:proficiency.id
extension I 0..* Extension Element id Patient.communication.extension:proficiency.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()level I 0..1 Extension Patient.communication.extension:proficiency.extension:level
hasValue() or (children().count() > id.count())extension.exists() != value.exists()id 0..1 string Patient.communication.extension:proficiency.extension:level.id
extension I 0..0 Extension Patient.communication.extension:proficiency.extension:level.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()url 1..1 uriFixed Value Patient.communication.extension:proficiency.extension:level.url
level
value[x] 1..1 Binding Element id Patient.communication.extension:proficiency.extension:level.value[x]
hasValue() or (children().count() > id.count())valueCoding Coding type I 0..* Extension Patient.communication.extension:proficiency.extension:type
hasValue() or (children().count() > id.count())extension.exists() != value.exists()id 0..1 string Patient.communication.extension:proficiency.extension:type.id
extension I 0..0 Extension Patient.communication.extension:proficiency.extension:type.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()url 1..1 uriFixed Value Patient.communication.extension:proficiency.extension:type.url
type
value[x] 1..1 Binding Element id Patient.communication.extension:proficiency.extension:type.value[x]
hasValue() or (children().count() > id.count())valueCoding Coding url 1..1 uriFixed Value Patient.communication.extension:proficiency.url
http://hl7.org/fhir/StructureDefinition/patient-proficiency
value[x] 0..0 Patient.communication.extension:proficiency.value[x]
hasValue() or (children().count() > id.count())modifierExtension Σ ?! I 0..* Extension Patient.communication.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()language 1..1 CodeableConceptBinding Element id Patient.communication.language
hasValue() or (children().count() > id.count())preferred 0..1 boolean Patient.communication.preferred
hasValue() or (children().count() > id.count())generalPractitioner I 0..* Reference( | | ) Element id Patient.generalPractitioner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Patient.generalPractitioner.id
extension I 0..* Extension Patient.generalPractitioner.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Patient.generalPractitioner.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Patient.generalPractitioner.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Patient.generalPractitioner.identifier
hasValue() or (children().count() > id.count())id 0..1 string Patient.generalPractitioner.identifier.id
extension I 0..* Extension Patient.generalPractitioner.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Patient.generalPractitioner.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Patient.generalPractitioner.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Patient.generalPractitioner.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Patient.generalPractitioner.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Patient.generalPractitioner.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Patient.generalPractitioner.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Patient.generalPractitioner.display
hasValue() or (children().count() > id.count())managingOrganization Σ I 0..1 Reference() Element id Patient.managingOrganization
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Patient.managingOrganization.id
extension I 0..* Extension Patient.managingOrganization.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Patient.managingOrganization.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Patient.managingOrganization.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Patient.managingOrganization.identifier
hasValue() or (children().count() > id.count())id 0..1 string Patient.managingOrganization.identifier.id
extension I 0..* Extension Patient.managingOrganization.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Patient.managingOrganization.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Patient.managingOrganization.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Patient.managingOrganization.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Patient.managingOrganization.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Patient.managingOrganization.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Patient.managingOrganization.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Patient.managingOrganization.display
hasValue() or (children().count() > id.count())link Σ ?! 0..* BackboneElement Patient.link
hasValue() or (children().count() > id.count())id 0..1 string Patient.link.id
extension I 0..* Extension Patient.link.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension Σ ?! I 0..* Extension Patient.link.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()other Σ I 1..1 Reference( | ) Element id Patient.link.other
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Patient.link.other.id
extension I 0..* Extension Patient.link.other.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Patient.link.other.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Patient.link.other.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Patient.link.other.identifier
hasValue() or (children().count() > id.count())id 0..1 string Patient.link.other.identifier.id
extension I 0..* Extension Patient.link.other.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Patient.link.other.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Patient.link.other.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Patient.link.other.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Patient.link.other.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Patient.link.other.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Patient.link.other.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Patient.link.other.display
hasValue() or (children().count() > id.count())type Σ 1..1 codeBinding Patient.link.type
hasValue() or (children().count() > id.count())
Data Item
Implementation Guidance
Necessity
Cadinality UKCore
Example Value(s)
Patient
https://simplifier.net/hl7fhirukcorer4/ukcore-patient
1..1
Patient.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
9589fb37-87a2-48d8-968f-b371429208a8
Patient.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
Patient.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient
Patient.meta.LastUpdate
This MUST be populated. All resources MUST include 'lastUpdated' value, under meta section which MUST be the same timestamp for each resource when created from new, but MUST be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
1..1
2023-03-08T12:01:08.4677672+00:00
Patient.identifier
SHOULD
0..*
Patient.identifier.system
This SHOULD be populated with namespace for the Identifier
SHOULD
0..*
https://fhir.nhs.uk/Id/nhs-number
Patient.identifier.value
This SHOULD be populated with a human readable patient identifier. When used this MUST be populated with the NHS number when available.If no NHS number is available this SHOULD be populated with the Local patient identifier.
SHOULD
1..1
3478526985
Patient.identifier.extension
This extension is used to record the NHS number Verification status
SHOULD
Patient.identifier.extension.url
This SHOULD be populated. Where used this MUST be populated with Structure Definition 'https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus' - FIXED VALUE
SHOULD
0..1
https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus
Patient.identifier.extension.valueCodeableConcept
SHOULD
0..1
Patient.identifier.extension.valueCodeableConcept.coding
SHOULD
0..1
Patient.identifier.extension.valueCodeableConcept.coding.system
This SHOULD be populated. Where used this MUST be populated with CodeSystem - 'https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus' - FIXED VALUE
SHOULD
0..1
https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus
Patient.identifier.extension.valueCodeableConcept.coding.code
This SHOULD be populated. Where used this MUST either be number-present-and-verified, Number present but not traced or else no NHS number MUST be sent, no other statuses are valid
SHOULD
1..1
number-present-and-verified
Patient.identifier.extension.valueCodeableConcept.coding.display
This SHOULD be populated. Where used this MUST either be populated with 'Number present and-verified' or 'Number present but not traced' no other statuses are valid
MAY
1..1
Number present and verified
Patient.name
SHOULD
0..*
Patient.name.use
Follow UK Core guidance for populating this element
SHOULD
0..1
official
Patient.name.text
Follow UK Core guidance for populating this element
SHOULD
0..1
Mrs Julie Jones
Patient.name.family
Follow UK Core guidance for populating this element
SHOULD
0..1
Jones
Patient.name.given
Follow UK Core guidance for populating this element
SHOULD
0..1
Julie
Patient.name.prefix
Follow UK Core guidance for populating this element
SHOULD
0..1
Mrs
Patient.gender
Follow UK Core guidance for populating this element
SHOULD
0..1
female
Patient.birthDate
Follow UK Core guidance for populating this element
SHOULD
0..1
1959-05-04
Patient.address
SHOULD
0..*
Patient.address.use
This SHOULD be populated. Where used 'home' MUST only be used for the patient's official residing address. 'temp' is used for alternative current locations with an address format, otherwise, a Location resource can be used to pinpoint a location without a building address
SHOULD
0..1
home
Patient.address.type
Follow UK Core guidance for populating this element
SHOULD
0..1
both
Patient.address.text
Follow UK Core guidance for populating this element
SHOULD
0..1
22 Brightside Crescent, Overtown, West Yorkshire, LS10 4YU
Patient.address.line
Follow UK Core guidance for populating this element
SHOULD
0..*
22 Brightside Crescent
Patient.address.city
Follow UK Core guidance for populating this element
SHOULD
0..1
Overtown
Patient.address.district
Follow UK Core guidance for populating this element
SHOULD
0..1
West Yorkshire
Patient.address.postalCode
Follow UK Core guidance for populating this element
SHOULD
0..1
LS10 4YU
Patient.contact
This MUST be used to record telecom information for the patient and/or the patient's representative for the encounter
MUST
0..*
Patient.contact.extension
MUST
0..*
Patient.contact.extension.url
This MUST be populated with Structure Definition 'https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-ContactRank' - FIXED VALUE
MUST
0..1
https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-ContactRank
Patient.contact.extension.urlvaluePositiveInt
This MUST be populated with the rank of the whole contact and MUST be populated with the value '1' for the primary person to contact for referral. There MUST be at least one contact for the referral.
MUST
0..1
1
Patient.contact.relationship
MUST
0..1
Patient.contact.relationship.coding
MUST
0..1
Patient.contact.relationship.coding.system
This MUST be populated with the CodeSystem from the ValueSet 'https://fhir.hl7.org.uk/ValueSet/UKCore-PersonRelationshipType'.
Where the contact details relate to the patient this relationship MUST be populated with the value 'self'.
Where the contact details relate to a patient's representative this SHOULD be populated with their relationship to the patient.
If the relationship is not known this SHOULD be populated with the value 'Unknown'MUST
0..1
https://simplifier.net/hl7fhirukcorer4/ukcore-personrelationshiptype-110
Patient.contact.relationship.coding.code
This MUST be populated with Code of CodeSystem value. See ValueSet 'https://fhir.hl7.org.uk/ValueSet/UKCore-PersonRelationshipType'.
MUST
0..1
EP
Patient.contact.relationship.coding.display
This MUST be populated with Display of CodeSystem value. See ValueSet 'https://fhir.hl7.org.uk/ValueSet/UKCore-PersonRelationshipType'.
MUST
0..1
EP
Patient.contact.name
SHOULD
0..1
Patient.contact.name.family
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
Grayson
Patient.contact.name.given
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
Jack
Patient.contact.telecom
SHOULD
0..*
Patient.contact.telecom.system
This MUST be populated for the rank 1 contact. There MUST be at least one contact phone number for the referral
MUST
phone
Patient.contact.telecom.value
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
0789 1234567
Patient.contact.gender
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
male
Patient.Communication
SHOULD
0..1
Patient.Communication.Language
SHOULD
0..1
Patient.Communication.Language.coding
SHOULD
0..1
Patient.Communication.Language.coding.code
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..*
en
Patient.Communication.Language.coding.system
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
https://fhir.hl7.org.uk/CodeSystem/UKCore-HumanLanguage
Patient.Communication.Language.coding.display
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
English
Patient.Communication.Language.preferred
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
TRUE
Patient.extension
SHOULD
0..*
Patient.extension.url
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
1..1
https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-EthnicCategory
Patient.extension.valueCodeableConcept
SHOULD
0..1
Patient.extension.valueCodeableConcept.coding
SHOULD
0..*
Patient.extension.valueCodeableConcept.coding.system
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
https://fhir.hl7.org.uk/CodeSystem/UKCore-EthnicCategory
Patient.extension.valueCodeableConcept.coding.code
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
A
Patient.extension.valueCodeableConcept.coding.display
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
British, Mixed British
Patient.generalPractitioner
This SHOULD be populated with a reference to the GP Surgery ONLY rather than a specific practitioner
SHOULD
0..1
Patient.generalPractitioner.reference
This SHOULD be populated. Where populated this MUST reference to an Organisation resource
SHOULD
0..1
urn:uuid:b83d13e2-8c2e-422c-88ac-63b8e86a4411
This resource is used to communicate details about the sender and receiver organisations. A grouping of people or organizations with a common purpose A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc. Logical id of this artifact The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. The only time that a resource does not have an id is when it is being submitted to the server using a create operation. Metadata about the resource The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. A set of rules under which this content was created A 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. Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. 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. Language of the resource content The base language in which the resource is written. Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). 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). A human language. Text summary of the resource, for human interpretation narrative, html, xhtml, display A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. 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. Contained 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. Contained, inline Resources inline resources, anonymous resources, contained resources These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. This 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. Additional content defined by implementations extensions, user content May 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. 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) Main location extensions, user content The main location of the organisation. 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. https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-MainLocation The date range that this organization should be considered available. extensions, user content The date range that this organization should be considered available. 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. http://hl7.org/fhir/StructureDefinition/organization-period Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) identifies the meaning of the extension Source of the definition for the extension code - a logical name or a URL. The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. The date range that this organization should be considered available. The date range that this organization should be considered available. Extensions that cannot be ignored extensions, user content May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. 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). Modifier 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. 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) Identifies this organization across multiple systems Identifier for the organization that is used to identify the organization across multiple disparate systems. Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization. Unordered, Open, by system(Value) Organisation Data Service code Identifier code supplier by the Organisation Data Service. Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. ODS Site code to identify the organisation at site level ODS Site code to identify the organisation at site level. Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Whether the organization's record is still in active use Whether the organization's record is still in active use. Need a flag to indicate a record is no longer to be used and should generally be hidden for the user in the UI. This active flag is not intended to be used to mark an organization as temporarily closed or under construction. Instead the Location(s) within the Organization should have the suspended status. If further details of the reason for the suspension are required, then an extension on this element should be used. This element is labeled as a modifier because it may be used to mark that the resource was created in error. This resource is generally assumed to be active if no value is provided for the active element Kind of organization The kind(s) of organization that this is. Need to be able to track the kind of organization that this is - different organization types have different uses. Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes When considering if multiple types are appropriate, you should evaluate if child organizations would be a more appropriate use of the concept, as different types likely are in different sub-areas of the organization. This is most likely to be used where type values have orthogonal values, such as a religious, academic and medical center. We expect that some jurisdictions will profile this optionality to be a single cardinality. Used to categorize the organization. Name used for the organization A name associated with the organization. Need to use the name as the label of the organization. If the name of an organization changes, consider putting the old name in the alias column so that it can still be located through searches. A list of alternate names that the organization is known as, or was known as in the past A list of alternate names that the organization is known as, or was known as in the past. Over time locations and organizations go through many changes and can be known by different names. For searching knowing previous names that the organization was known by can be very useful. There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the organization. A contact detail for the organization A contact detail for the organization. Human contact for the organization. The use code 'home' is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself. An address for the organization An address for the organization. May need to keep track of the organization's addresses for contacting, billing or reporting requirements. Organization may have multiple addresses with different uses or applicable periods. The use code 'home' is not to be used. The organization of which this organization forms a part The organization of which this organization forms a part. Need to be able to track the hierarchy of organizations within an organization. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Contact for the organization for a certain purpose Contact for the organization for a certain purpose. Need to keep track of assigned contact points within bigger organization. Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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 that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. The type of contact Indicates a purpose for which the contact can be reached. Need to distinguish between multiple contact persons. Not 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. The purpose for which you would contact a contact party. A name associated with the contact A name associated with the contact. Need to be able to track the person by name. Names 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. Contact details (telephone, email, etc.) for a contact A contact detail (e.g. a telephone number or an email address) by which the party may be contacted. People have (primary) ways to contact them in some way such as phone, email. Visiting or postal addresses for the contact Visiting or postal addresses for the contact. May need to keep track of a contact party's address for contacting, billing or reporting requirements. Note: 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). Technical endpoints providing access to services operated for the organization Technical endpoints providing access to services operated for the organization. Organizations have multiple systems that provide various services and need to be able to define the technical connection details for how to connect to them, and for what purpose. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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.
> Organization
UKCoreOrganization (Organization) I Organization Organization
contained.contained.empty()contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()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()text.`div`.exists()contained.meta.security.empty()(identifier.count() + name.count()) > 0id Σ 0..1 string Organization.id
meta Σ 0..1 Meta Organization.meta
hasValue() or (children().count() > id.count())implicitRules Σ ?! 0..1 uri Organization.implicitRules
hasValue() or (children().count() > id.count())language 0..1 codeBinding Organization.language
hasValue() or (children().count() > id.count())text 0..1 Narrative Organization.text
hasValue() or (children().count() > id.count())contained 0..* Resource Organization.contained
extension I 0..* Extension Element id Organization.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()mainLocation I 0..* Extension(Reference()) Element id Organization.extension:mainLocation
hasValue() or (children().count() > id.count())extension.exists() != value.exists()organizationPeriod I 0..1 Extension(Period) Element id Organization.extension:organizationPeriod
hasValue() or (children().count() > id.count())extension.exists() != value.exists()id 0..1 string Organization.extension:organizationPeriod.id
extension I 0..0 Extension Organization.extension:organizationPeriod.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()url 1..1 uriFixed Value Organization.extension:organizationPeriod.url
http://hl7.org/fhir/StructureDefinition/organization-period
value[x] 1..1 Element id Organization.extension:organizationPeriod.value[x]
hasValue() or (children().count() > id.count())valuePeriod Period modifierExtension ?! I 0..* Extension Organization.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()identifier Σ I 0..* Identifier Element id Organization.identifier
hasValue() or (children().count() > id.count())odsOrganisationCode Σ I 0..1 Identifier Element id Organization.identifier:odsOrganisationCode
hasValue() or (children().count() > id.count())id 0..1 string Organization.identifier:odsOrganisationCode.id
extension I 0..* Extension Organization.identifier:odsOrganisationCode.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Organization.identifier:odsOrganisationCode.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Organization.identifier:odsOrganisationCode.type
hasValue() or (children().count() > id.count())system Σ 1..1 uriFixed Value Element id Organization.identifier:odsOrganisationCode.system
hasValue() or (children().count() > id.count())https://fhir.nhs.uk/Id/ods-organization-code
value Σ 1..1 string Organization.identifier:odsOrganisationCode.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Organization.identifier:odsOrganisationCode.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Organization.identifier:odsOrganisationCode.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))odsSiteCode Σ I 0..1 Identifier Element id Organization.identifier:odsSiteCode
hasValue() or (children().count() > id.count())id 0..1 string Organization.identifier:odsSiteCode.id
extension I 0..* Extension Organization.identifier:odsSiteCode.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Organization.identifier:odsSiteCode.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Organization.identifier:odsSiteCode.type
hasValue() or (children().count() > id.count())system Σ 1..1 uriFixed Value Element id Organization.identifier:odsSiteCode.system
hasValue() or (children().count() > id.count())https://fhir.nhs.uk/Id/ods-site-code
value Σ 1..1 string Organization.identifier:odsSiteCode.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Organization.identifier:odsSiteCode.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Organization.identifier:odsSiteCode.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))active Σ ?! 0..1 boolean Organization.active
hasValue() or (children().count() > id.count())type Σ 0..* CodeableConcept Organization.type
hasValue() or (children().count() > id.count())name Σ I 0..1 string Organization.name
hasValue() or (children().count() > id.count())alias 0..* string Organization.alias
hasValue() or (children().count() > id.count())telecom I 0..* ContactPoint Organization.telecom
hasValue() or (children().count() > id.count())value.empty() or system.exists()where(use = 'home').empty()address I 0..* Address Organization.address
hasValue() or (children().count() > id.count())where(use = 'home').empty()partOf Σ I 0..1 Reference() Element id Organization.partOf
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Organization.partOf.id
extension I 0..* Extension Organization.partOf.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Organization.partOf.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Organization.partOf.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Organization.partOf.identifier
hasValue() or (children().count() > id.count())id 0..1 string Organization.partOf.identifier.id
extension I 0..* Extension Organization.partOf.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Organization.partOf.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Organization.partOf.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Organization.partOf.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Organization.partOf.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Organization.partOf.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Organization.partOf.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Organization.partOf.display
hasValue() or (children().count() > id.count())contact 0..* BackboneElement Organization.contact
hasValue() or (children().count() > id.count())id 0..1 string Organization.contact.id
extension I 0..* Extension Organization.contact.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension Σ ?! I 0..* Extension Organization.contact.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()purpose 0..1 CodeableConceptBinding Organization.contact.purpose
hasValue() or (children().count() > id.count())name 0..1 HumanName Organization.contact.name
hasValue() or (children().count() > id.count())telecom I 0..* ContactPoint Organization.contact.telecom
hasValue() or (children().count() > id.count())value.empty() or system.exists()address 0..1 Address Organization.contact.address
hasValue() or (children().count() > id.count())endpoint I 0..* Reference(Endpoint) Organization.endpoint
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Organization.endpoint.id
extension I 0..* Extension Organization.endpoint.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Organization.endpoint.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Organization.endpoint.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Organization.endpoint.identifier
hasValue() or (children().count() > id.count())id 0..1 string Organization.endpoint.identifier.id
extension I 0..* Extension Organization.endpoint.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Organization.endpoint.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Organization.endpoint.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Organization.endpoint.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Organization.endpoint.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Organization.endpoint.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Organization.endpoint.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Organization.endpoint.display
hasValue() or (children().count() > id.count())
Data Item
Implementation Guidance
Necessity
Cadinality UKCore
Example Value(s)
Organization
https://simplifier.net/hl7fhirukcorer4/ukcoreorganization
2..*
Organization.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
5d897313-c62d-4e7e-92b7-b2199804fed3
Organization.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
Organization.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization
Organization.meta.lastUpdated
This MUST be populated. All resources MUST include 'lastUpdated' value, under meta section which MUST be the same timestamp for each resource when created from new, but MUST be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
1..1
2023-03-08T12:01:08.4677672+00:00
Organization.identifier
This MUST be populated with an organisation identifier e.g. ODS code
MUST
0..*
Organization.identifier.system
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
https://fhir.nhs.uk/id/ods-organization-code
Organization.identifier.value
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
ABD01
Organization.name
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
Organisation name
This is used to carry details of the healthcare professional making the Booking A person with a formal responsibility in the provisioning of healthcare or related services A person who is directly or indirectly involved in the provisioning of healthcare. Logical id of this artifact The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. The only time that a resource does not have an id is when it is being submitted to the server using a create operation. Metadata about the resource The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. A set of rules under which this content was created A 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. Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. 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. Language of the resource content The base language in which the resource is written. Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). 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). A human language. Text summary of the resource, for human interpretation narrative, html, xhtml, display A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. 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. Contained 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. Contained, inline Resources inline resources, anonymous resources, contained resources These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. This 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. Additional content defined by implementations extensions, user content May 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. 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 that cannot be ignored extensions, user content May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. 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). Modifier 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. 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) An identifier for the person as this agent An identifier that applies to this person in this role. Often, specific identities are assigned for the agent. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Whether this practitioner's record is in active use Whether this practitioner's record is in active use. Need to be able to mark a practitioner record as not to be used because it was created in error. If 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. This resource is generally assumed to be active if no value is provided for the active element The name(s) associated with the practitioner The name(s) associated with the practitioner. The 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. The 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: A contact detail for the practitioner (that apply to all roles) A contact detail for the practitioner, e.g. a telephone number or an email address. Need to know how to reach a practitioner independent to any roles the practitioner may have. Person 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. Address(es) of the practitioner that are not role specific (typically home address) Address(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. The 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. The 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). male | female | other | unknown Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. Needed to address the person correctly. Note that FHIR strings SHALL NOT exceed 1MB in size The gender of a person used for administrative purposes. The date on which the practitioner was born The date of birth for the practitioner. Needed for identification. Image of the person Image of the person. Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too. When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Signed Procedure Consent". Certification, licenses, or training pertaining to the provision of care The 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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 that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. An identifier for this qualification for the practitioner An identifier that applies to this person's qualification in this role. Often, specific identities are assigned for the qualification. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Coded representation of the qualification Coded representation of the qualification. Not 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. Specific qualification the practitioner has to provide a service. Period during which the qualification is valid Period during which the qualification is valid. Qualifications are often for a limited period of time, and can be revoked. A 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. Organization that regulates and issues the qualification Organization that regulates and issues the qualification. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. A language the practitioner can use in patient communication A language the practitioner can use in patient communication. Knowing which language a practitioner speaks can help in facilitating communication with patients. The 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. A human language.
> Practitioner
UKCorePractitioner (Practitioner) I Practitioner Practitioner
contained.contained.empty()contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()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()text.`div`.exists()contained.meta.security.empty()id Σ 0..1 string Practitioner.id
meta Σ 0..1 Meta Practitioner.meta
hasValue() or (children().count() > id.count())implicitRules Σ ?! 0..1 uri Practitioner.implicitRules
hasValue() or (children().count() > id.count())language 0..1 codeBinding Practitioner.language
hasValue() or (children().count() > id.count())text 0..1 Narrative Practitioner.text
hasValue() or (children().count() > id.count())contained 0..* Resource Practitioner.contained
extension I 0..* Extension Practitioner.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension ?! I 0..* Extension Practitioner.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()identifier Σ 0..* Identifier Practitioner.identifier
hasValue() or (children().count() > id.count())id 0..1 string Practitioner.identifier.id
extension I 0..* Extension Practitioner.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Practitioner.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Practitioner.identifier.type
hasValue() or (children().count() > id.count())system Σ 1..1 uri Practitioner.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 1..1 string Practitioner.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Practitioner.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Practitioner.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))active Σ 0..1 boolean Practitioner.active
hasValue() or (children().count() > id.count())name Σ 0..* HumanName Practitioner.name
hasValue() or (children().count() > id.count())telecom Σ I 0..* ContactPoint Practitioner.telecom
hasValue() or (children().count() > id.count())value.empty() or system.exists()address Σ 0..* Address Practitioner.address
hasValue() or (children().count() > id.count())gender Σ 0..1 codeBinding Practitioner.gender
hasValue() or (children().count() > id.count())birthDate Σ 0..1 date Practitioner.birthDate
hasValue() or (children().count() > id.count())photo I 0..* Attachment Practitioner.photo
hasValue() or (children().count() > id.count())data.empty() or contentType.exists()qualification 0..* BackboneElement Practitioner.qualification
hasValue() or (children().count() > id.count())id 0..1 string Practitioner.qualification.id
extension I 0..* Extension Practitioner.qualification.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension Σ ?! I 0..* Extension Practitioner.qualification.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()identifier 0..* Identifier Practitioner.qualification.identifier
hasValue() or (children().count() > id.count())id 0..1 string Practitioner.qualification.identifier.id
extension I 0..* Extension Practitioner.qualification.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Practitioner.qualification.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Practitioner.qualification.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Practitioner.qualification.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Practitioner.qualification.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Practitioner.qualification.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Practitioner.qualification.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))code 1..1 CodeableConcept Practitioner.qualification.code
hasValue() or (children().count() > id.count())period I 0..1 Period Practitioner.qualification.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)issuer I 0..1 Reference() Element id Practitioner.qualification.issuer
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string Practitioner.qualification.issuer.id
extension I 0..* Extension Practitioner.qualification.issuer.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string Practitioner.qualification.issuer.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding Practitioner.qualification.issuer.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier Practitioner.qualification.issuer.identifier
hasValue() or (children().count() > id.count())id 0..1 string Practitioner.qualification.issuer.identifier.id
extension I 0..* Extension Practitioner.qualification.issuer.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding Practitioner.qualification.issuer.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding Practitioner.qualification.issuer.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri Practitioner.qualification.issuer.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Practitioner.qualification.issuer.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period Practitioner.qualification.issuer.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id Practitioner.qualification.issuer.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string Practitioner.qualification.issuer.display
hasValue() or (children().count() > id.count())communication 0..* CodeableConceptBinding Practitioner.communication
hasValue() or (children().count() > id.count())
Data Item
Implementation Guidance
Necessity
Cadinality UKCore
Example Value(s)
Practitioner
https://simplifier.net/hl7fhirukcorer4/ukcorepractitioner
0..*
Practitioner.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
1..1
51182cb1-b199-4222-85f5-16d5428f6358
Practitioner.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
Practitioner.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Practitioner
Practitioner.meta.lastUpdated
This MUST be populated. All resources MUST include 'lastUpdated' value, under meta section which MUST be the same timestamp for each resource when created from new, but MUST be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
1..1
2023-03-08T12:01:08.4677672+00:00
Practitioner.identifier
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..*
Practitioner.identifier.system
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
https://fhir.nhs.uk/Id/sds-role-profile-id
Practitioner.identifier.value
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
PT2489
Practitioner.name
SHOULD
0..*
Practitioner.name.family
Follow UK Core guidance for populating this element
SHOULD
0..1
BLAKE
Practitioner.name.given
Follow UK Core guidance for populating this element
SHOULD
0..1
Marcy
Practitioner.telecom
SHOULD
0..*
Practitioner.telecom.system
Follow UK Core guidance for populating this element
SHOULD
0..1
phone
Practitioner.telecom.value
Follow UK Core guidance for populating this element
SHOULD
0..1
0205568263
Practitioner.telecom.use
Follow UK Core guidance for populating this element
SHOULD
0..1
work
This is used to carry the role of the practitioner making the referral. Note this may be the call handler Roles/organizations the practitioner is associated with A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. Logical id of this artifact The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. The only time that a resource does not have an id is when it is being submitted to the server using a create operation. Metadata about the resource The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. A set of rules under which this content was created A 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. Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. 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. Language of the resource content The base language in which the resource is written. Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). 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). A human language. Text summary of the resource, for human interpretation narrative, html, xhtml, display A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. 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. Contained 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. Contained, inline Resources inline resources, anonymous resources, contained resources These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. This 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. Additional content defined by implementations extensions, user content May 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. 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 that cannot be ignored extensions, user content May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. 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). Modifier 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. 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) An identifier that applies to this person in this role. An identifier that applies to this person in this role. Often, specific identities are assigned for the agent. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Whether this practitioner role record is in active use Whether this practitioner role record is in active use. Need 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. If 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. This resource is generally assumed to be active if no value is provided for the active element The period during which the practitioner is authorized to perform in these role(s) The period during which the person is authorized to act as a practitioner in these role(s) for the organization. Even after the agencies is revoked, the fact that it existed must still be recorded. A 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. Practitioner that is able to provide the defined services for the organization Practitioner that is able to provide the defined services for the organization. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Organization where the roles are available The organization where the Practitioner performs the roles associated. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Roles which this practitioner may perform Roles which this practitioner is authorized to perform for the organization. Need to know what authority the practitioner has - what can they do? A person may have more than one role. The role a person plays representing an organization. Specific specialty of the practitioner Specific specialty of the practitioner. Not 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. Specific specialty associated with the agency. The location(s) at which this practitioner provides care The location(s) at which this practitioner provides care. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. The list of healthcare services that this worker provides for this role's Organization/Location(s) The list of healthcare services that this worker provides for this role's Organization/Location(s). References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Contact details that are specific to the role/location/service Contact details that are specific to the role/location/service. Often practitioners have a dedicated line for each location (or service) that they work at, and need to be able to define separate contact details for each of these. Times the Service Site is available A collection of times the practitioner is available or performing this role at the location and/or healthcareservice. More detailed availability information may be provided in associated Schedule/Slot resources. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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 that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. mon | tue | wed | thu | fri | sat | sun Indicates which days of the week are available between the start and end Times. Note that FHIR strings SHALL NOT exceed 1MB in size The days of the week. Always available? e.g. 24 hour service Is this always available? (hence times are irrelevant) e.g. 24 hour service. Opening time of day (ignored if allDay = true) The opening time of day. Note: If the AllDay flag is set, then this time is ignored. The timezone is expected to be for where this HealthcareService is provided at. Closing time of day (ignored if allDay = true) The closing time of day. Note: If the AllDay flag is set, then this time is ignored. The timezone is expected to be for where this HealthcareService is provided at. Not available during this time due to provided reason The practitioner is not available or performing this role during this period of time due to the provided reason. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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 that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. Reason presented to the user explaining why time not available The reason that can be presented to the user as to why this time is not available. Note that FHIR strings SHALL NOT exceed 1MB in size Service not available from this date Service is not available (seasonally or for a public holiday) from this date. A 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. Description of availability exceptions A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. Note that FHIR strings SHALL NOT exceed 1MB in size Technical endpoints providing access to services operated for the practitioner with this role Technical endpoints providing access to services operated for the practitioner with this role. Organizations have multiple systems that provide various services and ,ay also be different for practitioners too. So the endpoint satisfies the need to be able to define the technical connection details for how to connect to them, and for what purpose. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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.
> Practitioner Role
UKCorePractitionerRole (PractitionerRole) I PractitionerRole PractitionerRole
contained.contained.empty()contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()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()text.`div`.exists()contained.meta.security.empty()id Σ 0..1 string PractitionerRole.id
meta Σ 0..1 Meta PractitionerRole.meta
hasValue() or (children().count() > id.count())implicitRules Σ ?! 0..1 uri PractitionerRole.implicitRules
hasValue() or (children().count() > id.count())language 0..1 codeBinding PractitionerRole.language
hasValue() or (children().count() > id.count())text 0..1 Narrative PractitionerRole.text
hasValue() or (children().count() > id.count())contained 0..* Resource PractitionerRole.contained
extension I 0..* Extension PractitionerRole.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension ?! I 0..* Extension PractitionerRole.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()identifier Σ 0..* Identifier Element id PractitionerRole.identifier
hasValue() or (children().count() > id.count())id 0..1 string PractitionerRole.identifier.id
extension I 0..* Extension PractitionerRole.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding PractitionerRole.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding PractitionerRole.identifier.type
hasValue() or (children().count() > id.count())system Σ 1..1 uri PractitionerRole.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 1..1 string PractitionerRole.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period PractitionerRole.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id PractitionerRole.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))active Σ 0..1 boolean PractitionerRole.active
hasValue() or (children().count() > id.count())period Σ I 0..1 Period PractitionerRole.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)practitioner Σ I 0..1 Reference() Element id PractitionerRole.practitioner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string PractitionerRole.practitioner.id
extension I 0..* Extension PractitionerRole.practitioner.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string PractitionerRole.practitioner.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding PractitionerRole.practitioner.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier PractitionerRole.practitioner.identifier
hasValue() or (children().count() > id.count())id 0..1 string PractitionerRole.practitioner.identifier.id
extension I 0..* Extension PractitionerRole.practitioner.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding PractitionerRole.practitioner.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding PractitionerRole.practitioner.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri PractitionerRole.practitioner.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string PractitionerRole.practitioner.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period PractitionerRole.practitioner.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id PractitionerRole.practitioner.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string PractitionerRole.practitioner.display
hasValue() or (children().count() > id.count())organization Σ I 0..1 Reference() Element id PractitionerRole.organization
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string PractitionerRole.organization.id
extension I 0..* Extension PractitionerRole.organization.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string PractitionerRole.organization.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding PractitionerRole.organization.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier PractitionerRole.organization.identifier
hasValue() or (children().count() > id.count())id 0..1 string PractitionerRole.organization.identifier.id
extension I 0..* Extension PractitionerRole.organization.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding PractitionerRole.organization.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding PractitionerRole.organization.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri PractitionerRole.organization.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string PractitionerRole.organization.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period PractitionerRole.organization.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id PractitionerRole.organization.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string PractitionerRole.organization.display
hasValue() or (children().count() > id.count())code Σ 0..* CodeableConceptBinding Element id PractitionerRole.code
hasValue() or (children().count() > id.count())specialty Σ 0..* CodeableConceptBinding PractitionerRole.specialty
hasValue() or (children().count() > id.count())location Σ I 0..* Reference() Element id PractitionerRole.location
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string PractitionerRole.location.id
extension I 0..* Extension PractitionerRole.location.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string PractitionerRole.location.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding PractitionerRole.location.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier PractitionerRole.location.identifier
hasValue() or (children().count() > id.count())id 0..1 string PractitionerRole.location.identifier.id
extension I 0..* Extension PractitionerRole.location.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding PractitionerRole.location.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding PractitionerRole.location.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri PractitionerRole.location.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string PractitionerRole.location.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period PractitionerRole.location.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id PractitionerRole.location.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string PractitionerRole.location.display
hasValue() or (children().count() > id.count())healthcareService I 0..* Reference(HealthcareService) PractitionerRole.healthcareService
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string PractitionerRole.healthcareService.id
extension I 0..* Extension PractitionerRole.healthcareService.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string PractitionerRole.healthcareService.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding PractitionerRole.healthcareService.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier PractitionerRole.healthcareService.identifier
hasValue() or (children().count() > id.count())id 0..1 string PractitionerRole.healthcareService.identifier.id
extension I 0..* Extension PractitionerRole.healthcareService.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding PractitionerRole.healthcareService.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding PractitionerRole.healthcareService.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri PractitionerRole.healthcareService.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string PractitionerRole.healthcareService.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period PractitionerRole.healthcareService.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id PractitionerRole.healthcareService.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string PractitionerRole.healthcareService.display
hasValue() or (children().count() > id.count())telecom Σ I 0..* ContactPoint PractitionerRole.telecom
hasValue() or (children().count() > id.count())value.empty() or system.exists()availableTime 0..* BackboneElement PractitionerRole.availableTime
hasValue() or (children().count() > id.count())id 0..1 string PractitionerRole.availableTime.id
extension I 0..* Extension PractitionerRole.availableTime.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension Σ ?! I 0..* Extension PractitionerRole.availableTime.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()daysOfWeek 0..* codeBinding PractitionerRole.availableTime.daysOfWeek
hasValue() or (children().count() > id.count())allDay 0..1 boolean PractitionerRole.availableTime.allDay
hasValue() or (children().count() > id.count())availableStartTime 0..1 time PractitionerRole.availableTime.availableStartTime
hasValue() or (children().count() > id.count())availableEndTime 0..1 time PractitionerRole.availableTime.availableEndTime
hasValue() or (children().count() > id.count())notAvailable 0..* BackboneElement PractitionerRole.notAvailable
hasValue() or (children().count() > id.count())id 0..1 string PractitionerRole.notAvailable.id
extension I 0..* Extension PractitionerRole.notAvailable.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension Σ ?! I 0..* Extension PractitionerRole.notAvailable.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()description 1..1 string PractitionerRole.notAvailable.description
hasValue() or (children().count() > id.count())during I 0..1 Period PractitionerRole.notAvailable.during
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)availabilityExceptions 0..1 string PractitionerRole.availabilityExceptions
hasValue() or (children().count() > id.count())endpoint I 0..* Reference(Endpoint) PractitionerRole.endpoint
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string PractitionerRole.endpoint.id
extension I 0..* Extension PractitionerRole.endpoint.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string PractitionerRole.endpoint.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding PractitionerRole.endpoint.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier PractitionerRole.endpoint.identifier
hasValue() or (children().count() > id.count())id 0..1 string PractitionerRole.endpoint.identifier.id
extension I 0..* Extension PractitionerRole.endpoint.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding PractitionerRole.endpoint.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding PractitionerRole.endpoint.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri PractitionerRole.endpoint.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string PractitionerRole.endpoint.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period PractitionerRole.endpoint.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id PractitionerRole.endpoint.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string PractitionerRole.endpoint.display
hasValue() or (children().count() > id.count())
Data Item
Implementation Guidance
Necessity
Cadinality UKCore
Example Value(s)
PractitionerRole
https://simplifier.net/hl7fhirukcorer4/ukcorepractitionerrole
0..*
PractitionerRole.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
1..1
1801e180-e6a1-4753-8a55-ab2d1cff6549
PractitionerRole.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
PractitionerRole.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-PractitionerRole
PractitionerRole.meta.lastUpdated
This MUST be populated. All resources MUST include 'lastUpdated' value, under meta section which MUST be the same timestamp for each resource when created from new, but MUST be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
1..1
2023-03-08T12:01:08.4677672+00:00
PractitionerRole.practitioner
MUST
0..1
PractitionerRole.practitioner.reference
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
urn:uuid:7d948662-bade-450e-b6c5-9bb6ee39cb56
PractitionerRole.Organisation
MUST
0..1
PractitionerRole.Organisation.reference
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
urn:uuid:7d948662-bade-450e-b6c5-9bb6ee39cb51
PractitionerRole.code
SHOULD
0..*
PractitionerRole.code.coding
This SHOULD be populated when indicating the roles a practitioner can perform
SHOULD
1..1
PractitionerRole.code.coding.system
This MUST be populated with the CodeSystem from the ValueSet 'https://fhir.hl7.org.uk/ValueSet/UKCore-PractitionerRoleCode' - FIXED VALUE
SHOULD
0..1
https://fhir.hl7.org.uk/ValueSet/UKCore-PractitionerRoleCode
PractitionerRole.code.coding.code
This MUST be populated with Code of CodeSystem value. See ValueSet 'https://fhir.hl7.org.uk/ValueSet/UKCore-PractitionerRoleCode'.
SHOULD
0..1
224508005
PractitionerRole.code.coding.display
This MUST be populated with Display of CodeSystem value. See ValueSet 'https://fhir.hl7.org.uk/ValueSet/UKCore-PractitionerRoleCode'.
SHOULD
0..1
Administrative healthcare staff
The HealthcareService the request is being made of - Receiver. The HealthcareService resource is retrieved via the GET /Slot request and SHOULD be returned how it was received but MAY be added to. The Id value MUST remain the same. The details of a healthcare service available at a location The details of a healthcare service available at a location. Logical id of this artifact The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. The only time that a resource does not have an id is when it is being submitted to the server using a create operation. Metadata about the resource The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. A set of rules under which this content was created A 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. Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. 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. Language of the resource content The base language in which the resource is written. Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). 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). A human language. Text summary of the resource, for human interpretation narrative, html, xhtml, display A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. 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. Contained 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. Contained, inline Resources inline resources, anonymous resources, contained resources These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. This 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. Additional content defined by implementations extensions, user content May 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. 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 that cannot be ignored extensions, user content May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. 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). Modifier 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. 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) External identifiers for this item External identifiers for this item. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Whether this HealthcareService record is in active use This flag is used to mark the record to not be used. This is not used when a center is closed for maintenance, or for holidays, the notAvailable period is to be used for this. This element is labeled as a modifier because it may be used to mark that the resource was created in error. This resource is generally assumed to be active if no value is provided for the active element Organization that provides this service The organization that provides this healthcare service. This property is recommended to be the same as the Location's managingOrganization, and if not provided should be interpreted as such. If the Location does not have a managing Organization, then this property should be populated. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Broad category of service being performed or delivered service category Identifies the broad category of service being performed or delivered. Selecting a Service Category then determines the list of relevant service types that can be selected in the primary service type. A category of the service(s) that could be provided. Type of service that may be delivered or performed service type The specific type of service that may be delivered or performed. Not 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. Additional details about where the content was created (e.g. clinical specialty). Specialties handled by the HealthcareService Collection of specialties handled by the service site. This is more of a medical term. Not 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. A specialty that a healthcare service may provide. Location(s) where service may be provided The location(s) where this healthcare service may be provided. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Description of service as presented to a consumer while searching Further description of the service as it would be presented to a consumer while searching. Note that FHIR strings SHALL NOT exceed 1MB in size Additional description and/or any specific issues not covered elsewhere Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName. Would expect that a user would not see this information on a search results, and it would only be available when viewing the complete details of the service. Extra details about the service that can't be placed in the other fields Extra details about the service that can't be placed in the other fields. Systems are not required to have markdown support, so the text should be readable without markdown processing. The markdown syntax is GFM - see https://github.github.com/gfm/ Facilitates quick identification of the service If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list. When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Signed Procedure Consent". Contacts related to the healthcare service List of contacts related to this specific healthcare service. If this is empty, then refer to the location's contacts. Location(s) service is intended for/available to The location(s) that this service is available to (not where the service is provided). The locations referenced by the coverage area can include both specific locations, including areas, and also conceptual domains too (mode = kind), such as a physical area (tri-state area) and some other attribute (covered by Example Care Organization). These types of Locations are often not managed by any specific organization. This could also include generic locations such as "in-home". Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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. Conditions under which service is available/offered The code(s) that detail the conditions under which the healthcare service is available/offered. The provision means being commissioned by, contractually obliged or financially sourced. Types of costings that may apply to this healthcare service, such if the service may be available for free, some discounts available, or fees apply. The code(s) that detail the conditions under which the healthcare service is available/offered. Specific eligibility requirements required to use the service Does this service have specific eligibility requirements that need to be met in order to use the service? Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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 that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. Coded value for the eligibility Coded value for the eligibility. Not 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. Coded values underwhich a specific service is made available. Describes the eligibility conditions for the service Describes the eligibility conditions for the service. The description of service eligibility should, in general, not exceed one or two paragraphs. It should be sufficient for a prospective consumer to determine if they are likely to be eligible or not. Where eligibility requirements and conditions are complex, it may simply be noted that an eligibility assessment is required. Where eligibility is determined by an outside source, such as an Act of Parliament, this should be noted, preferably with a reference to a commonly available copy of the source document such as a web page. Programs that this service is applicable to Programs that this service is applicable to. Programs are often defined externally to an Organization, commonly by governments; e.g. Home and Community Care Programs, Homeless Program, …. Government or local programs that this service applies to. Collection of characteristics (attributes) Collection of characteristics (attributes). These could be such things as is wheelchair accessible. A custom attribute that could be provided at a service (e.g. Wheelchair accessibiliy). The language that this service is offered in Some services are specifically made available in multiple languages, this property permits a directory to declare the languages this is offered in. Typically this is only provided where a service operates in communities with mixed languages used. When using this property it indicates that the service is available with this language, it is not derived from the practitioners, and not all are required to use this language, just that this language is available while scheduling. A ValueSet that identifies the language used by a person. Ways that the service accepts referrals Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required. Not 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. The methods of referral can be used when referring to a specific HealthCareService resource. If an appointment is required for access to this service Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service. Times the Service Site is available A collection of times that the Service Site is available. More detailed availability information may be provided in associated Schedule/Slot resources. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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 that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. mon | tue | wed | thu | fri | sat | sun Indicates which days of the week are available between the start and end Times. Note that FHIR strings SHALL NOT exceed 1MB in size The days of the week. Always available? e.g. 24 hour service Is this always available? (hence times are irrelevant) e.g. 24 hour service. Opening time of day (ignored if allDay = true) The opening time of day. Note: If the AllDay flag is set, then this time is ignored. The time zone is expected to be for where this HealthcareService is provided at. Closing time of day (ignored if allDay = true) The closing time of day. Note: If the AllDay flag is set, then this time is ignored. The time zone is expected to be for where this HealthcareService is provided at. Not available during this time due to provided reason The HealthcareService is not available during this period of time due to the provided reason. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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 that cannot be ignored even if unrecognized extensions, user content, modifiers May 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). Modifier 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. 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. Reason presented to the user explaining why time not available The reason that can be presented to the user as to why this time is not available. Note that FHIR strings SHALL NOT exceed 1MB in size Service not available from this date Service is not available (seasonally or for a public holiday) from this date. A 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. Description of availability exceptions A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. Note that FHIR strings SHALL NOT exceed 1MB in size Technical endpoints providing access to electronic services operated for the healthcare service Technical endpoints providing access to services operated for the specific healthcare services defined at this resource. References 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. Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) Literal reference, Relative, internal or absolute URL A 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. Using 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. Type the reference refers to (e.g. "Patient") The 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). This 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. Aa resource (or, for logical models, the URI of the logical model). Logical reference, when literal reference is not known An 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. When 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). Unique id for inter-element referencing Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Additional content defined by implementations extensions, user content May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and 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. 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) usual | official | temp | secondary | old (If known) The purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . Description of identifier A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This 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. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. The namespace for the identifier value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. There 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. Identifier.system is always case sensitive. The value that is unique The portion of the identifier typically relevant to the user and which is unique within the context of the system. If 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. Time period when id is/was valid for use Time period during which identifier is/was valid for use. A 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. Organization that issued id (may be just text) Organization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. Text alternative for the resource Plain text narrative that identifies the resource in addition to the resource reference. This 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.> Healthcare Service
UKCoreHealthcareService (HealthcareService) I HealthcareService HealthcareService
contained.contained.empty()contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()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()text.`div`.exists()contained.meta.security.empty()id Σ 0..1 string HealthcareService.id
meta Σ 0..1 Meta HealthcareService.meta
hasValue() or (children().count() > id.count())implicitRules Σ ?! 0..1 uri HealthcareService.implicitRules
hasValue() or (children().count() > id.count())language 0..1 codeBinding HealthcareService.language
hasValue() or (children().count() > id.count())text 0..1 Narrative HealthcareService.text
hasValue() or (children().count() > id.count())contained 0..* Resource HealthcareService.contained
extension I 0..* Extension HealthcareService.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension ?! I 0..* Extension HealthcareService.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()identifier Σ 0..* Identifier HealthcareService.identifier
hasValue() or (children().count() > id.count())id 0..1 string HealthcareService.identifier.id
extension I 0..* Extension HealthcareService.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding HealthcareService.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding HealthcareService.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri HealthcareService.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string HealthcareService.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period HealthcareService.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id HealthcareService.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))active Σ ?! 0..1 boolean HealthcareService.active
hasValue() or (children().count() > id.count())providedBy Σ I 0..1 Reference() Element id HealthcareService.providedBy
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string HealthcareService.providedBy.id
extension I 0..* Extension HealthcareService.providedBy.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string HealthcareService.providedBy.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding HealthcareService.providedBy.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier HealthcareService.providedBy.identifier
hasValue() or (children().count() > id.count())id 0..1 string HealthcareService.providedBy.identifier.id
extension I 0..* Extension HealthcareService.providedBy.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding HealthcareService.providedBy.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding HealthcareService.providedBy.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri HealthcareService.providedBy.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string HealthcareService.providedBy.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period HealthcareService.providedBy.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id HealthcareService.providedBy.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string HealthcareService.providedBy.display
hasValue() or (children().count() > id.count())category Σ 0..* CodeableConcept HealthcareService.category
hasValue() or (children().count() > id.count())type Σ 0..* CodeableConcept HealthcareService.type
hasValue() or (children().count() > id.count())specialty Σ 0..* CodeableConceptBinding HealthcareService.specialty
hasValue() or (children().count() > id.count())location Σ I 0..* Reference() Element id HealthcareService.location
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string HealthcareService.location.id
extension I 0..* Extension HealthcareService.location.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string HealthcareService.location.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding HealthcareService.location.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier HealthcareService.location.identifier
hasValue() or (children().count() > id.count())id 0..1 string HealthcareService.location.identifier.id
extension I 0..* Extension HealthcareService.location.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding HealthcareService.location.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding HealthcareService.location.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri HealthcareService.location.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string HealthcareService.location.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period HealthcareService.location.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id HealthcareService.location.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string HealthcareService.location.display
hasValue() or (children().count() > id.count())name Σ 0..1 string HealthcareService.name
hasValue() or (children().count() > id.count())comment Σ 0..1 string HealthcareService.comment
hasValue() or (children().count() > id.count())extraDetails 0..1 markdown HealthcareService.extraDetails
hasValue() or (children().count() > id.count())photo Σ I 0..1 Attachment HealthcareService.photo
hasValue() or (children().count() > id.count())data.empty() or contentType.exists()telecom I 0..* ContactPoint HealthcareService.telecom
hasValue() or (children().count() > id.count())value.empty() or system.exists()coverageArea I 0..* Reference() Element id HealthcareService.coverageArea
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string HealthcareService.coverageArea.id
extension I 0..* Extension HealthcareService.coverageArea.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string HealthcareService.coverageArea.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding HealthcareService.coverageArea.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier HealthcareService.coverageArea.identifier
hasValue() or (children().count() > id.count())id 0..1 string HealthcareService.coverageArea.identifier.id
extension I 0..* Extension HealthcareService.coverageArea.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding HealthcareService.coverageArea.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding HealthcareService.coverageArea.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri HealthcareService.coverageArea.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string HealthcareService.coverageArea.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period HealthcareService.coverageArea.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id HealthcareService.coverageArea.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string HealthcareService.coverageArea.display
hasValue() or (children().count() > id.count())serviceProvisionCode 0..* CodeableConcept HealthcareService.serviceProvisionCode
hasValue() or (children().count() > id.count())eligibility 0..* BackboneElement HealthcareService.eligibility
hasValue() or (children().count() > id.count())id 0..1 string HealthcareService.eligibility.id
extension I 0..* Extension HealthcareService.eligibility.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension Σ ?! I 0..* Extension HealthcareService.eligibility.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()code 0..1 CodeableConcept HealthcareService.eligibility.code
hasValue() or (children().count() > id.count())comment 0..1 markdown HealthcareService.eligibility.comment
hasValue() or (children().count() > id.count())program 0..* CodeableConcept HealthcareService.program
hasValue() or (children().count() > id.count())characteristic 0..* CodeableConcept HealthcareService.characteristic
hasValue() or (children().count() > id.count())communication 0..* CodeableConceptBinding Element id HealthcareService.communication
hasValue() or (children().count() > id.count())referralMethod 0..* CodeableConcept HealthcareService.referralMethod
hasValue() or (children().count() > id.count())appointmentRequired 0..1 boolean HealthcareService.appointmentRequired
hasValue() or (children().count() > id.count())availableTime 0..* BackboneElement HealthcareService.availableTime
hasValue() or (children().count() > id.count())id 0..1 string HealthcareService.availableTime.id
extension I 0..* Extension HealthcareService.availableTime.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension Σ ?! I 0..* Extension HealthcareService.availableTime.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()daysOfWeek 0..* codeBinding HealthcareService.availableTime.daysOfWeek
hasValue() or (children().count() > id.count())allDay 0..1 boolean HealthcareService.availableTime.allDay
hasValue() or (children().count() > id.count())availableStartTime 0..1 time HealthcareService.availableTime.availableStartTime
hasValue() or (children().count() > id.count())availableEndTime 0..1 time HealthcareService.availableTime.availableEndTime
hasValue() or (children().count() > id.count())notAvailable 0..* BackboneElement HealthcareService.notAvailable
hasValue() or (children().count() > id.count())id 0..1 string HealthcareService.notAvailable.id
extension I 0..* Extension HealthcareService.notAvailable.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()modifierExtension Σ ?! I 0..* Extension HealthcareService.notAvailable.modifierExtension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()description 1..1 string HealthcareService.notAvailable.description
hasValue() or (children().count() > id.count())during I 0..1 Period HealthcareService.notAvailable.during
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)availabilityExceptions 0..1 string HealthcareService.availabilityExceptions
hasValue() or (children().count() > id.count())endpoint I 0..* Reference(Endpoint) HealthcareService.endpoint
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))id 0..1 string HealthcareService.endpoint.id
extension I 0..* Extension HealthcareService.endpoint.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()reference Σ I 0..1 string HealthcareService.endpoint.reference
hasValue() or (children().count() > id.count())type Σ 0..1 uriBinding HealthcareService.endpoint.type
hasValue() or (children().count() > id.count())identifier Σ 0..1 Identifier HealthcareService.endpoint.identifier
hasValue() or (children().count() > id.count())id 0..1 string HealthcareService.endpoint.identifier.id
extension I 0..* Extension HealthcareService.endpoint.identifier.extension
hasValue() or (children().count() > id.count())extension.exists() != value.exists()use Σ ?! 0..1 codeBinding HealthcareService.endpoint.identifier.use
hasValue() or (children().count() > id.count())type Σ 0..1 CodeableConceptBinding HealthcareService.endpoint.identifier.type
hasValue() or (children().count() > id.count())system Σ 0..1 uri HealthcareService.endpoint.identifier.system
hasValue() or (children().count() > id.count())http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string HealthcareService.endpoint.identifier.value
hasValue() or (children().count() > id.count())123456
Mappingsperiod Σ I 0..1 Period HealthcareService.endpoint.identifier.period
hasValue() or (children().count() > id.count())start.hasValue().not() or end.hasValue().not() or (start <= end)assigner Σ I 0..1 Reference() Element id HealthcareService.endpoint.identifier.assigner
hasValue() or (children().count() > id.count())reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))display Σ 0..1 string HealthcareService.endpoint.display
hasValue() or (children().count() > id.count())
Data Item
Implementation Guidance
Necessity
Cadinality UKCore
Example Value(s)
HealthcareService
https://simplifier.net/hl7fhirukcorer4/ukcorehealthcareservice
1..1
HealthcareService.id
This MUST be populated with the value retrieved for the resource via the GET /Sot request.
MUST
1..1
1801e180-e6a1-4753-8a55-ab2d1cff6549
HealthcareService.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
HealthcareService.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-HealthcareService
HealthcareService.meta.lastUpdated
This MUST be populated. All resources MUST include 'lastUpdated' value, under meta section which MUST be the same timestamp for each resource when created from new, but MUST be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
1..1
2023-03-08T12:01:08.4677672+00:00
HealthcareService.identifier
MUST
0..*
HealthcareService.identifier.system
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
https://system.supplier.co.uk/My/Healthcare/Services
HealthcareService.identifier.value
This MUST be populated with the receiving HealthcareService identifier e.g ODS code
MUST
0..1
100
HealthcareService.active
This MUST be populated. Follow UK Core guidance for populating this element
MUST
HealthcareService.providedBy
This MUST be populated. Follow UK Core guidance for populating this element
MUST
HealthcareService.providedBy.reference
link to the Organisation the request is being made of
MUST
HealthcareService.location
MAY
0..*
HealthcareService.location.reference
Follow UK Core guidance for populating this element
MAY
0..1
urn:uuid:860e4c37-4e36-45fb-8fca-41132cd937a5
HealthcareService.name
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
Healthcare Service Name