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
Referrals into Pharmacy (Application 5)
Use Cases Supported
This application supports the use of the following use cases:
- Primary Care to Community Pharmacy (CPCS)
Introduction
Overview
This page provides guidance for implementing the 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.
Data model endorsements
The GP to Pharmacy CPCS (Community Pharmacist Consultation Service) Minor Illness referral information data model is informed by user research with pharmacy service providers. We have engaged with NHS England (NHSE) Policy teams to establish the service information requirements. The data model is based on the Community Pharmacy Standard v3.0 as defined and endorsed by the Professional Records Standards Body (PRSB). The referral information has been validated by the NHSE Pharmacy Clinical Reference Group. This provides the necessary confidence that solutions built to the standard will be both fit for purpose and safe.
Scope and Requirements
Scope Overview
This BaRS Application (Referrals into Pharmacy Application 5) supports the following use case ONLY:
- GP to Pharmacy CPCS (Community Pharmacist Consultation Service) for Minor Illness Service
The payload and workflow have been designed to support this service. 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. However, the NHS England Directory of Services supports this application and futher details are provided in the 'Find a Service' section
- The service must be configured within the BaRS infrastructure (Endpoint Catalogue) before requests can be made
Referral
- A referral is a request for care, on behalf of an individual, from one service to another
- The referral can be sent without having to establish the capacity of the receiving service
- The referral will contain primarily clinical information, indicating the need of the individual and must state the anticipated action required by the receiving service (see Task FHIR resource)
API-M
- All requests and responses associated with BaRS must occur through the BaRS API Proxy
Constraints
- All Service IDs in First of Type (FoT) will be those from the Urgent and Emergency Care (UEC) Directory of Services (DoS)
- No guidance is provided on the display of referral information beyond the Principles for rendering BaRS Payload.
- Consent within BaRS will be for Direct-Care only
- Certificates for receiving messages to use nhs.uk domains only and be internet facing
- Clincial Constraints exist - See Hazard Log
- No element level 'updates' to requests are supported. A new request must be generated to change information in the referral request
Requirements
Service Discovery
- The service must support a unique identifier which the Sender extracts to engage in the BaRS referral workflow
Referral
- Clinical and non-clinical users must be capable of making referrals
- The referral Receiver must accept the referral request regardless of whether the patient is known to the service provider
- The referral Receiver must accept potential patients who do not have a national validated identifier e.g. NHS Number.
- Where a national identifier is included, it must be 'Number present and verified', otherwise, the referral Sender must not include it in the request
- Any new or existing safeguarding concern, recorded as part of the assessment, must be included in the referral Sender's request
- The referral Receiver must clearly identify any included safeguarding concern to the end user
- Any new or existing individual requirements, e.g. need for interpreter, recorded as part of the assessment, must be included in the referral Sender's request
- The referral Receiver must clearly identify any included individual requirements to the end user
- The referral Receiver must accurately represent information made by the Sender to the end user
- The referral Sender must include the Pharmacy Service that the request is intended for (from the defined list)
- The referral Sender must indicate consent to share (for Direct Care) to the Receiver
- The referral Sender must indicate the urgency (providing timeframe within which included actions are expected to take place) of the request to the Receiver
- The referral Sender must make available the human readable identifier for the referral, included in the HTTP synchronous response, to the end user so they can share with the patient/third party
- Where the referral was not successful, the Receiver must send an appropriate response
- Where the referral was not successful, the Sender must present an appropriate message to the end user
- Update to amend a referral request is not supported. If a referral Sender wishes to change information in a request they must follow the re-refer workflow
Cancel referral
- The referral Sender must be capable of cancelling any referral made by them, within the current consultation or after the consultation event
- The referral Sender must perform a read of the referral to be cancelled, from the referral Receiver, prior to cancellation to ensure they are working with the most up-to date information and it has not already been actioned
- Where the re-referral was not successful, the Receiver must send an appropriate response
- Where the re-referral was not successful, the Sender must present an appropriate message to the end user
- The referral Receiver must store all previous versions of the referral
- The referral Receiver must not be required to inform the patient of the cancellation of the referral. Business/clinical responsibility for informing the patient remains with the referral Sender
Re-refer
- The referral Sender must be capable of re-referring within the current consultation or after the consultation event
- If the patient recontacts the sending service after the sender's consultation has been completed, the patient should be reassessed prior to attempting to re-refer
- The referral Sender should revoke the original referral prior to making a re-referral, whether within the current consultation or after the consultation event
- Where the re-referral was not successful, the Receiver must send an appropriate response
- Where the re-referral was not successful, the Sender must present an appropriate message to the end user
- The referral Receiver must not be required to inform the patient of the cancellation, incurred as part of the re-refer process. Business/clinical responsibility for informing the patient remains with the referral Sender
Contacts
- A minimum of one contact (patient or third party) with a contact method (phone, email, etc.) of phone must be provided in referral 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
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 referral request:
To support the workflows for this application of the standard the operations that need to be supported are:
Find a Service
The BaRS referral process as shown above does not include guidance on how a user should determine if a referral to Pharmacy is appropriate for the patient. It is the responsibility of the referring organisaton to ensure patients are pre-screened by GP Practice staff (care navigators or clinicians) prior to beginning the referral process, using their own judgement or an appropriate triage tool.
Directory of Services API
Pharmacy services are profiled on the Directory of Services (DoS).
For this application, systems should use the Directory of Services - Urgent and Emergency Care - REST API.
Details on how to develop to use this API and onboard to use it in production, are provided in the links above.
For this application the Service Type search will be used: Search by Service Type | docs-dos-api (developer.nhs.uk).
Guidance on how to call the DoS API
This API supports a search by location (e.g. the patient's current location). Note that the DoS API used does not support the concept of searching for services that are open within a given timeframe, however the results from DOS include all opening times. The service search results should be filtered to those that are open in the timeframe required for the referral. The filtered results should be displayed back to the user, in order to allow them to choose with the patient where they want to go.
The search parameters to be used are as follows:
Parameter | Type | Required? | GP to Pharamcy Guidance Notes |
---|---|---|---|
caseID | String | No | Do not populate |
postcode | String | Yes | Populate with where the GP Practice is or the Patient’s home address – dependent on where the patient is now |
searchDistance | Integer | No | Do not populate – the default value is 37.5 miles which is more than adequate search radius |
gpPracticeID | Integer | No | Do not populate |
age | Integer | No | Do not populate |
gender | String | No | Do not populate |
disposition | String | No | Do not populate |
serviceTypeIds | Array | Yes | Use the relevant service type for the need required in the referral – as detailed further in next section |
numberPerType | Integer | No | Do not populate |
Guidance on service search and which services to display
Pharmacy Service Type | Search method | Opening Hours Guidance |
---|---|---|
Community Pharmacy Consultation Service and Common Conditions Service | Use Service Type ID 131- Pharmacy Urgent Meds Supply Note this is labelled 'Pharmacy Urgent Meds Supply', but it is deemed appropriate to return one profile per Pharmacy that will do Pharmacy Urgent Meds Supply, CPCS and CCS. |
These services are time critical and the patient must be seen within 24 hours, and so any pharmacies closed now (or closing in the next 30 mins) AND not open in the next 24 hours should not be displayed to the user. Discretion is permitted if the nearest pharmacy is open now but due to close soon. If no pharmacies in the local area are open in the next 24 hours then a message needs to be clearly displayed to the user so they can consider other alternatives. (Note this is a very unlikely scenario – but may happen in rural areas with only a few nearby Pharmacies or around bank holiday weekends). Ensure the display clearly shows: |
Blood Pressure Check Service | Use Service Type ID 149 - Pharmacy Blood Pressure Check | This service is not time critical and so all nearest services can be displayed to the user. Ensure the display clearly shows: |
Pharmacy Contraception Service | Use Service Type ID 149 - Pharmacy Contraception | This service is not time critical and so all nearest services can be displayed to the user. Ensure the display clearly shows: |
When a service is chosen, the "Service ID" field in the DOS data will be used as the Receiver Service Identifier to then initiate the referral as per the following sections.
Make a Referral
Making a referral for this application follows the standard pattern for BaRS operations.
The message definition that defines this payload for this application is: BARS Message Definition ServiceRequest - Request Referral
In addition to that the specific workflow parameters that are required are as follows:
Interaction | Method | Payload Focus | Status Required (MessageHeader, ServiceRequest, Encounter) |
---|---|---|---|
Referral Request (New) | POST /$process-message{servicerequest-request} | ServiceRequest (active) | MessageHeader (EventCoding) = servicerequest-request |
MessageHeader (ReasonCode) = new | |||
ServiceRequest (Status) = active | |||
ServiceRequest (Category) = referral | |||
ServiceRequest (Category) = referraltopharmacy | |||
Encounter (Status) = triaged/finished | |||
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_000001>
X-Correlation-Id = <GUID_000002>
NHSD-End-User-Organisation = {FHIR Organisation (Base64 Encoded)}
NHSD-Requesting-Practitioner = {FHIR Practitioner (Base64 Encoded)}
NHSD-Requesting-Person = {FHIR Person (Base64 Encoded)}
NHSD-Requesting-Software = {FHIR Device (Base64 Encoded)}
The HTTP response header would be:
X-Request-Id = <GUID_000001>
X-Correlation-Id = <GUID_000002>
Cancel a Referral
To cancel a referral this application follows the standard pattern for BaRS operations with an additional step. Before beginning the standard pattern as descbribed on the linked section, the referral sender must perform a read of the referral to be cancelled, from the referral receiver, prior to cancellation to ensure they are working with the most up-to date information and it has not already been actioned. This is done by performing a "GET ServiceRequest by ID" call to the receiving system's corresponding API endpoint (via the BaRS proxy).
The response to this request will be the requested ServiceRequest resource which should be checked for its current status to ensure it does not already have a status of "revoked" or "completed". If not, this version of the ServiceRequest 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 ServiceRequest - Request - Cancelled
As a general princple, when performing an update type of operation (of which cancellation is a special case), only the focus resource, any resources that are mandated due to contextual, linking or referential integrity reasons and any resources that include elements that are being changed, should be include. This is always defined within the relevent message definition.
If the update-to-cancel is taking place as part of a re-referral routine, once the cancellation is complete, the new referral message can be sent. This step in the workflow would follow the same process as 'Make a referral' detailed above.
In addition the specific workflow parameters that are required are as follows:
Interaction | Method | Payload Focus | Status Required (MessageHeader, ServiceRequest, Encounter) |
---|---|---|---|
Get Referral | GET /ServiceRequest{id} | n/a | n/a |
Referral Request (Cancel) | POST /$process-message{servicerequest-request} | ServiceRequest (revoked) | MessageHeader (EventCoding) = servicerequest-request |
MessageHeader (ReasonCode) = update | |||
ServiceRequest (Status) = revoked | |||
ServiceRequest (Category) = referral | |||
ServiceRequest (Category) = referraltopharmacy | |||
Encounter (Status) = triaged/finished | |||
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 ServiceRequest would be:
NHSD-Target-Identifier = {Receiver Service Identifier}
X-Request-Id = <GUID_107>
X-Correlation-Id = <GUID_108>
NHSD-End-User-Organisation = {FHIR Organisation (Base64 Encoded)}
NHSD-Requesting-Practitioner = {FHIR Practitioner (Base64 Encoded)}
NHSD-Requesting-Person = {FHIR Person (Base64 Encoded)}
NHSD-Requesting-Software = {FHIR Device (Base64 Encoded)}
The HTTP response header for the GET ServiceRequest would be:
X-Request-Id = <GUID_107>
X-Correlation-Id = <GUID_108>
the HTTP request header for the POST $process-message would be:
NHSD-Target-Identifier = {Receiver Service Identifier}
X-Request-Id = <GUID_000003>
X-Correlation-Id = <GUID_000002>
NHSD-End-User-Organisation = {FHIR Organisation (Base64 Encoded)}
NHSD-Requesting-Practitioner = {FHIR Practitioner (Base64 Encoded)}
NHSD-Requesting-Person = {FHIR Person (Base64 Encoded)}
NHSD-Requesting-Software = {FHIR Device (Base64 Encoded)}
The HTTP response header for the POST $process-message would be:
X-Request-Id = <GUID_000003>
X-Correlation-Id = <GUID_000002>
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 422 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
MessageHeader Resource
The MessageHeader resource is required as part of the technical capability of making a referral. Rather than providing clinical or administrative content for the end users; the function of all other resources are outlined. This resource holds key information about where the request has come from (MessageHeader.source), who it is intended for (MessageHeader.destination), what type of request it is (MessageHeader.eventCoding) and how to start interpreting the request (MessageHeader.focus).
Any Receiver of the request 'message bundle' must first check the MessageHeader.destination and verify the MessageHeader.destination.receiver.reference refers to their Organisation. The MessageHeader.destination.endpoint is, in turn, the Healthcare Service Id they are expected to be processing the request on behalf of.
The type of request must be checked next and there are three important elements which drive workflow:
- eventCoding - determines the type of request, either booking or referral. The value must be populated from this CodeSystem and will always be referral for this Application.
- reasonCode - indicates whether the message is new or an update to something the Receiver already has. The value must be populated from this CodeSystem.
- definition - specifies the MessageDefinition the request must adhere to and must be rejected if it fails to do so.
Once the above checks have been made the detail of the request can start to be unpacked and processed. The MessageHeader.focus provides the key to doing this. It indicates the lens through which the request 'message bundle' must be interpreted. In this Application the element will always point to the ServiceRequest. Most other FHIR resources in the 'message bundle' will link to or from the 'focus' resource.
When generating asynchronous Response messages (as opposed to an HTTP synchronous response (200) message), where a Receiver is sending a 'message bundle' back to an originating Sender. Firstly, the Sender, in the original request must include a NHSD-Target-Identifier (their reference on the Endpoint Catalogue) under MessageHeader.source.endpoint, to which the Receiver is able to direct a response back to, regardless of whether they expect a response or not. The Receiver must take and store this value, along with the Bundle.Id value, to send a response message back to the Sender through the BaRS API Proxy. This is not a workflow in this Application but is used in other BaRS Applications and fundamental to BaRS workflows in general.
If the workflow dictates an asynchonous response is to be sent, the Receiver must populate MessageHeader.response.identifier with the Bundle.Id of the original request 'message bundle' and set the MessageHeader.response.code value to 'ok'.
ServiceRequest Resource
The 'focus' resource in a referral is the ServiceRequest resource. When the request 'message bundle' is created by the Sender and processed by the Receiver, this is the starting point from which the referral is understood. It provides either the detail or references to all key FHIR resources, for example, the Patient, Encounter and Careplan. The guidance for this resource below provides more granular, element level, detail. A key point when a Sender builds the referral FHIR 'message bundle' is to ensure the MessageHeader.focus references the ServiceRequest resource.
Encounter Resource
The Encounter is used to represent the interaction between a patient and healthcare service provider. It links with numerous other resources, to reflect the assessment performed.
In the initial referral request, the Sender will include an Encounter resource as the container for their assessment, which established the need for the referral. This encounter should include a reference to the Sender's assessment under encounter.identifier. Additionally, the encounter.episodeOfCare must be populated with a 'journeyId' reference which can be used in subsequent referrals to allow the audit of the route a patient took through service providers to resolve their initial request for care.
A second Encounter resource is used to transfer the human readable reference of the newly created referral, at the Receiver side. When a referral request is made, the Receiver should include a new, secondary, encounter resource with the status of 'planned' in their synchronous HTTP response (200) to the Sender's request. This new 'planned' encounter will have both an Id and an Identifier value, indicating the Receiver's local reference and human readable one, respectively. This secondary, 'planned', encounter is not mandatory (cardinality of 0..1), unlike the primary encounter resource (1..1) (See the Entity Relationship Diagram for reference). The human readable (Identifier) reference is intended to allow Senders to provide something to the patient which they can take between services to support consistent joined up care, although, it is also a useful link for the services themselves to use when discussing a patient's transition of care. The local (Id) reference is not intended to be human readable but rather machine readable.
CarePlan Resource
The CarePlan resource is used in a referral request to communicate the next steps in care, linking both the 'problem' identified (Condition resource, careplan.addresses), following the assessment performed by the Sender, and the required action to move the patient's issue to resolution (Task resource, careplan.activity.reference). The Receiver will utilise the detail in this resource to summarise what the previous assessment ascertained about the patient, to be used in any subsequent consultation with the patient. This overall clinical narrative and assessment output is included in this resource, under element careplan.outcomeCodeableConcept.text, as 'freetext'.
Condition Resource
The Condition resource is used to encapsulate the overall 'problem' the referral intends to resolve for the patient. The detail provided here underpins the rationale for the CarePlan and is a central resource for the Receiver looking for information about the patient and reason for referral.
The key information about the 'problem' is comprised of two components within this Application, careplan.category and careplan.code. The category is used to qualify the code value, providing additional context to interpret the issue identified. For example, in this Application, the category will stipulate this is a 'presenting complaint', highlighting the provenance of the 'problem' for the Receiver to start their consultation. This is in addition to other specific status fields on the resource.
Task Resource
The Task is used to direct the next action(s) required by the Sender making the referral. Task supports in fulfilling Careplan, which also references it. The narrative within the payload starts with the assessment performed by the Sender (Encounter), identifying a 'problem' (Condition) which a plan of care (CarePlan) is established to address. The Sender is unable to support the plan of care so transitions responsibility, via a referral (ServiceRequest), while directing the next requested action (Task).
This Application utilises two elements within Task to direct the activity and timeframe, using Task.code and Task.restriction. The code will be a fixed value, indicating that a consultation is being request of the 'Community Pharmacist Consultation Service for minor illness', dictating the action should take place within thirty minutes, under the restriction.period element.
Flag Resource
The Flag resource is used to communicate prospective warnings of potential issues when providing care to the patient. The population of the Flag Resource is optional as not all subjects will have relevant issues.
BaRS Senders should populate Flag resources and should make adequate provision in their solution to support key flags in BaRS Application workflows, for example, Safeguarding, for this Application. When populating this resource, Senders must include both flag.category and flag.code values using the specific BaRS CodeSystems.
When a BARS Receiver processes information in a Flag resource;
- they should populate a flag in their system, if their solution supports that flag
- they must display the information in the Flag resource in a way that supports the associated workflow (i.e. the relevant end users can see it and act upon it)
- rendering of Flag information must be in line with the Principles for rendering BaRS Payload.
Consent
In the BaRS UEC Applications the level of consent is stipulated to be for 'Direct Care' only. A referral must contain a Consent resource and it must adhere to the example provided under the BaRS FHIR assets.
Referral Payload
Payload for requesting a referral, using Service Request
This payload is used to transmit all the necessary information that is required for pharmacies to accept a patient referred into their service.
> Bundle
The Bundle resource is the container for the event message
Bundle | I | Bundle | There are no (further) constraints on this element Element IdBundle Contains a collection of resources DefinitionA container for a collection of resources.
| |
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.
|
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 . IdentifierUse (required)Constraints
|
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. Identifier Type Codes (extensible)Constraints
|
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(UK Core Organization) | 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. Reference(UK Core Organization) Constraints
|
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. BundleType (required)Constraints
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.
|
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).
|
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.
|
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. SearchEntryMode (required)Constraints
|
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.
|
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](https://tools.ietf.org/html/rfc7231) for details. HTTPVerb (required)Constraints
|
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.
|
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.
|
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. SignatureTypeCodes (preferred)Constraints
|
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 | UK Core PractitionerRole | UK Core Organization | UK Core Practitioner | UK Core RelatedPerson | UK Core Patient) | 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. Reference(Device | UK Core PractitionerRole | UK Core Organization | UK Core Practitioner | UK Core RelatedPerson | UK Core Patient) 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). ResourceType (extensible)Constraints
|
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).
|
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 . IdentifierUse (required)Constraints
|
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. Identifier Type Codes (extensible)Constraints
|
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(UK Core Organization) | 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. Reference(UK Core Organization) Constraints
|
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 | UK Core PractitionerRole | UK Core Organization | UK Core Practitioner | UK Core RelatedPerson | UK Core Patient) | 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. Reference(Device | UK Core PractitionerRole | UK Core Organization | UK Core Practitioner | UK Core RelatedPerson | UK Core Patient) 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). ResourceType (extensible)Constraints
|
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).
|
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 . IdentifierUse (required)Constraints
|
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. Identifier Type Codes (extensible)Constraints
|
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(UK Core Organization) | 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. Reference(UK Core Organization) Constraints
|
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. Mime Types (required)Constraints
| |
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. Mime Types (required)Constraints
| |
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 | Profile Cardinality | 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 | 1..1 | 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 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 | 0..1 | 2023-03-08T12:01:08.4677672+00:00 |
Bundle.meta.versionId | This MUST be populated with the version of the Application the bundle complies with. The Receiver will read this to know whether they are capable of processing. | MUST | 0..1 | 1.1.0 |
Bundle.type | This must be populated with 'message' - FIXED VALUE | MUST | 1..1 | message |
Bundle.timestamp | 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 | 1..1 | 2023-03-08T12:01:08.4677672+00:00 |
Bundle.entry(s) | Follow BaRS profile guidance for populating this element | MUST | 1..* | |
Bundle.entry.fullUrl | 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 | Resources detailed in the message definition. | MUST | 0..1 | MessageHeader,Patient, Encounter |
A resource that describes the BaRS message being exchanged between two systems. 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. 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 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 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. 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. 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). 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. Reference(UK Core 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(UK Core Organization | UK Core Practitioner | UK Core PractitionerRole) 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). 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. Reference(UK Core 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(UK Core PractitionerRole | UK Core Organization | UK Core Practitioner) 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). 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. Reference(UK Core Organization) 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). 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(UK Core Practitioner | UK Core PractitionerRole) 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). 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. Reference(UK Core 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(UK Core Practitioner | UK Core PractitionerRole) 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). 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. Reference(UK Core 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. 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 Name of system Human-readable name for the source system. May be used to support audit. Note that FHIR strings SHALL NOT exceed 1MB in size 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. Note that FHIR strings SHALL NOT exceed 1MB in size 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(UK Core Organization | UK Core PractitionerRole | UK Core Practitioner) 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). 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. Reference(UK Core 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. 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. 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. The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously. 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. 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. Reference(UK Core OperationOutcome) 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). 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. Reference(UK Core 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. 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). 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. Reference(UK Core 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
MessageHeader I MessageHeader 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()
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()
event[x] Σ 1..1 Binding MessageHeader.event[x]
hasValue() or (children().count() > id.count())
system 1.. MessageHeader.event[x].system
code 1.. MessageHeader.event[x].code
eventCoding Coding eventUri uri destination Σ 1..* BackboneElement MessageHeader.destination
hasValue() or (children().count() > id.count())
name Σ 0..1 string MessageHeader.destination.name
hasValue() or (children().count() > id.count())
target Σ I 0..1 Reference(UK Core Device) MessageHeader.destination.target
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
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())
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(UK Core Organization) 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(UK Core Organization | UK Core Practitioner | UK Core PractitionerRole) MessageHeader.destination.receiver
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
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())
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(UK Core Organization) 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(UK Core PractitionerRole | UK Core Organization | UK Core Practitioner) MessageHeader.sender
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
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())
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(UK Core Organization) 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'))
reference Σ I 1..1 string 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(UK Core Practitioner | UK Core PractitionerRole) MessageHeader.enterer
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
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())
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(UK Core Organization) 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(UK Core Practitioner | UK Core PractitionerRole) MessageHeader.author
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
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())
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(UK Core Organization) 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())
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()
name Σ 0..1 string 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 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(UK Core Organization | UK Core PractitionerRole | UK Core Practitioner) MessageHeader.responsible
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
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())
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(UK Core Organization) 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())
coding Σ 0..* Coding MessageHeader.reason.coding
hasValue() or (children().count() > id.count())
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())
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(UK Core OperationOutcome) MessageHeader.response.details
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
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())
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(UK Core Organization) 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'))
reference Σ I 1..1 string 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())
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(UK Core Organization) 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
Profile Cardinality
Example Value(s)
MessageHeader
https://simplifier.net/nhsbookingandreferrals/barsmessageheaderservicerequestrequest
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 for BaRSMessageHeader-servicerequest-request.
MUST
0..1
2023-03-08T12:01:08.4677672+00:00
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
https://fhir.nhs.uk/StructureDefinition/BARSMEssageHeader-servicerequest-request
MessageHeader.extension
This MUST be populated with details of the Clinical Decision Support System used
SHOULD
0..*
MessageHeader.extension.url
This MUST be populated with 'https://fhir.nhs.uk/StructureDefinition/CDSSExtension' - FIXED VALUE
SHOULD
1..1
https://fhir.nhs.uk/StructureDefinition/CDSSExtension
MessageHeader.extension.extension
SHOULD
0..*
MessageHeader.extension.extension.url
This MUST be populated with the pre-defined Clinical Decision Support System software url - FIXED VALUE
SHOULD
1..1
RequesterCDSSSoftware
MessageHeader.extension.extension.valueString
This MUST be populated with the Clinical Decision Support System software name e.g. Pathways
SHOULD
0..1
Pathways
MessageHeader.extension.extension
SHOULD
0..*
MessageHeader.extension.extension.url
This MUST be populated with the pre-defined Clinical Decision Support System software Version url - FIXED VALUE
SHOULD
1..1
RequesterCDSSVersion
MessageHeader.extension.extension.valueString
This MUST be populated with the Clinical Decision Support System software Version name e.g. 30.2.0
SHOULD
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 'servicerequest-request'. See CodeSystem: 'https://fhir.nhs.uk/CodeSystem/message-events-bars' - FIXED VALUE
MUST
0..1
servicerequest-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
NHS Trust
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 ServiceRequest
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-servicerequest-request-referral
MUST
0..1
https://fhir.nhs.uk/MessageDefinition/bars-message-servicerequest-request-referral
This Resource is the focus of the Referral interaction A request for a service to be performed diagnostic request, referral, referral request, transfer of care request A record of a request for service such as diagnostic investigations, treatments, or operations to be performed. 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) This represents the source of referral extensions, user content This represents the source of referral. 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-SourceOfServiceRequest Identifiers assigned to this order Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller. The identifier.type element is used to distinguish between the identifiers assigned by the orderer (known as the 'Placer' in HL7 v2) and the producer of the observations in response to the order (known as the 'Filler' in HL7 v2). For further discussion and examples see the resource notes section below. 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. Reference(UK Core Organization) Instantiates FHIR protocol or definition The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this ServiceRequest. Note: This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. canonical(ActivityDefinition | PlanDefinition) Instantiates external protocol or definition The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this ServiceRequest. This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. What request fulfills fulfills Plan/proposal/order fulfilled by this 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. Reference(UK Core CarePlan | UK Core MedicationRequest | UK Core ServiceRequest) 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). 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. Reference(UK Core 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. What request replaces supersedes, prior, renewed order The request takes the place of the referenced completed or terminated request(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. Reference(UK Core ServiceRequest) 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). 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. Reference(UK Core 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. Composite Request ID grouperId, groupIdentifier A shared identifier common to all service requests that were authorized more or less simultaneously by a single author, representing the composite or group identifier. Some business processes need to know if multiple items were ordered as part of the same "requisition" for billing or other purposes. Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. 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. Reference(UK Core Organization) draft | active | on-hold | revoked | completed | entered-in-error | unknown The status of the order. The status is generally fully in the control of the requester - they determine whether the order is draft or active and, after it has been activated, competed, cancelled or suspended. States relating to the activities of the performer are reflected on either the corresponding event (see Event Pattern for general discussion) or using the Task resource. The status of a service order. proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Whether the request is a proposal, plan, an original order or a reflex order. This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. The kind of service request. Classification of service A code that classifies the service for searching, sorting and display purposes (e.g. "Surgical Procedure"). Used for filtering what service request are retrieved and displayed. There may be multiple axis of categorization depending on the context or use case for retrieving or displaying the resource. The level of granularity is defined by the category concepts in the value set. Classification of the requested service. routine | urgent | asap | stat Indicates how quickly the ServiceRequest should be addressed with respect to other requests. Note that FHIR strings SHALL NOT exceed 1MB in size If missing, this task should be performed with normal priority Identifies the level of importance to be assigned to actioning the request. True if service/procedure should not be performed Set this to true if the record is saying that the service/procedure should NOT be performed. Used for do not ambulate, do not elevate head of bed, do not flush NG tube, do not take blood pressure on a certain arm, etc. In general, only the code and timeframe will be present, though occasional additional qualifiers such as body site or even performer could be included to narrow the scope of the prohibition. If the ServiceRequest.code and ServiceRequest.doNotPerform both contain negation, that will reinforce prohibition and should not have a double negative interpretation. If missing, the request is a positive request e.g. "do perform" What is being requested/ordered service requested A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested. Many laboratory and radiology procedure codes embed the specimen/organ system in the test order name, for example, serum or serum/plasma glucose, or a chest x-ray. The specimen might not be recorded separately from the test code. A set of codes that define a procedure or a procedure with explicit context. Selected from the SNOMED CT UK coding system. Additional order information detailed instructions Additional details and instructions about the how the services are to be delivered. For example, and order for a urinary catheter may have an order detail for an external or indwelling catheter, or an order for a bandage may require additional instructions specifying how the bandage should be applied. For information from the medical record intended to support the delivery of the requested services, use the Codified order entry details which are based on order context. Service amount An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction). When ordering a service the number of service items may need to be specified separately from the the service item. Individual or Entity the service is ordered for On whom or what the service is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans). 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. 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). 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. Reference(UK Core 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. Encounter in which the request was created context An encounter that provides additional information about the healthcare context in which this request is made. 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. 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). 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. Reference(UK Core 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 service should occur schedule The date/time at which the requested service should occur. Preconditions for service If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc. A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc. Date request signed orderedOn When the request transitioned to being actionable. DateTime the Referral Request was generated Who/what is requesting service author, orderer The individual who initiated the request and has responsibility for its activation. This not the dispatcher, but rather who is the authorizer. This element is not intended to handle delegation which would generally be managed through the Provenance resource. Reference(UK Core Device | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) 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). 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. Reference(UK Core 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. Performer role specialty Desired type of performer for doing the requested service. This is a role, not a participation type. In other words, does not describe the task but describes the capacity. For example, “compounding pharmacy”, “psychiatrist” or “internal referral”. Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc. Requested performer request recipient The desired performer for doing the requested service. For example, the surgeon, dermatopathologist, endoscopist, etc. Referral To Reference(UK Core CareTeam | UK Core Device | UK Core HealthcareService | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) 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). 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. Reference(UK Core 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. Requested location The preferred location(s) where the procedure should actually happen in coded or free text form. E.g. at home or nursing day care center. 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 location type where services are delivered. Requested location A reference to the the preferred location(s) where the procedure should actually happen. E.g. at home or nursing day care center. 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. 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). 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. Reference(UK Core 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. Explanation/Justification for procedure or service An explanation or justification for why this service is being requested in coded or textual form. This is often for billing purposes. May relate to the resources referred to in This element represents why the referral is being made and may be used to decide how the service will be performed, or even if it will be performed at all. Use A set of codes that define a reason for a service request. Explanation/Justification for service or service Indicates another resource that provides a justification for why this service is being requested. May relate to the resources referred to in This element represents why the referral is being made and may be used to decide how the service will be performed, or even if it will be performed at all. To be as specific as possible, a reference to Observation or Condition should be used if available. Otherwise when referencing DiagnosticReport it should contain a finding in Reference(UK Core Condition | UK Core DiagnosticReport | UK Core DocumentReference | UK Core Observation) 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). 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. Reference(UK Core 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. Associated insurance coverage Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be needed for delivering the requested service. 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(Coverage | ClaimResponse) 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). 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. Reference(UK Core 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. Additional clinical information Ask at order entry question, AOE Additional clinical information about the patient or specimen that may influence the services or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as "ask at order entry questions (AOEs)". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurements. To represent information about how the services are to be delivered use the 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). 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. Reference(UK Core 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. Procedure Samples One or more specimens that the laboratory procedure will use. Many diagnostic procedures need a specimen, but the request itself is not actually about the specimen. This element is for when the diagnostic is requested on already existing specimens and the request points to the specimen it applies to. Conversely, if the request is entered first with an unknown specimen, then the Specimen resource points to the ServiceRequest. 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). 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. Reference(UK Core 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. Location on Body location Anatomic location where the procedure should be performed. This is the target site. Knowing where the procedure is performed is important for tracking if multiple sites are possible. Only used if not implicit in the code found in ServiceRequest.code. If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately) then use the standard extension procedure-targetBodyStructure. A set of codes that define an anatomical or acquired body structure site. Selected from the SNOMED CT UK coding system. Comments Any other notes and comments made about the service request. For example, internal billing notes. For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible). Patient or consumer-oriented instructions Instructions in terms that are understood by the patient or consumer. Note that FHIR strings SHALL NOT exceed 1MB in size Request provenance Key events in the history of the request. This might not include provenances for all versions of the request – only those deemed “relevant” or important.
This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude
All Provenances should have some historical version of this Request as their subject. 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). 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. Reference(UK Core 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.
> Service Request
ServiceRequest I ServiceRequest ServiceRequest
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()
orderDetail.empty() or code.exists()
extension I 0..* Extension ServiceRequest.extension
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
sourceOfServiceRequest I 0..1 Extension(CodeableConcept) ServiceRequest.extension:sourceOfServiceRequest
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
identifier Σ 0..* Identifier ServiceRequest.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.identifier.assigner
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
instantiatesCanonical Σ 0..* canonical(ActivityDefinition | PlanDefinition) ServiceRequest.instantiatesCanonical
hasValue() or (children().count() > id.count())
instantiatesUri Σ 0..* uri ServiceRequest.instantiatesUri
hasValue() or (children().count() > id.count())
basedOn Σ I 0..* Reference(UK Core CarePlan | UK Core MedicationRequest | UK Core ServiceRequest) ServiceRequest.basedOn
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string ServiceRequest.basedOn.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding ServiceRequest.basedOn.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier ServiceRequest.basedOn.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.basedOn.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.basedOn.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.basedOn.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.basedOn.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.basedOn.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.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 ServiceRequest.basedOn.display
hasValue() or (children().count() > id.count())
replaces Σ I 0..* Reference(UK Core ServiceRequest) ServiceRequest.replaces
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string ServiceRequest.replaces.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding ServiceRequest.replaces.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier ServiceRequest.replaces.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.replaces.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.replaces.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.replaces.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.replaces.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.replaces.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.replaces.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 ServiceRequest.replaces.display
hasValue() or (children().count() > id.count())
requisition Σ 0..1 Identifier ServiceRequest.requisition
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.requisition.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.requisition.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.requisition.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.requisition.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.requisition.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.requisition.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 ServiceRequest.status
hasValue() or (children().count() > id.count())
intent Σ ?! 1..1 codeBindingFixed Value Element Id ServiceRequest.intent
hasValue() or (children().count() > id.count())
plan
category Σ 1..1 CodeableConcept ServiceRequest.category
hasValue() or (children().count() > id.count())
priority Σ 0..1 codeBinding ServiceRequest.priority
hasValue() or (children().count() > id.count())
doNotPerform Σ ?! 0..1 boolean ServiceRequest.doNotPerform
hasValue() or (children().count() > id.count())
code Σ 0..1 CodeableConceptBinding ServiceRequest.code
hasValue() or (children().count() > id.count())
orderDetail Σ I 0..* CodeableConcept ServiceRequest.orderDetail
supportingInformation
element.hasValue() or (children().count() > id.count())
quantity[x] Σ 0..1 ServiceRequest.quantity[x]
hasValue() or (children().count() > id.count())
quantityQuantity Quantity quantityRatio Ratio quantityRange Range subject Σ I 1..1 Reference(UK Core Patient) Element Id ServiceRequest.subject
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string ServiceRequest.subject.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding ServiceRequest.subject.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier ServiceRequest.subject.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.subject.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.subject.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.subject.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.subject.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.subject.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.subject.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 ServiceRequest.subject.display
hasValue() or (children().count() > id.count())
encounter Σ I 0..1 Reference(UK Core Encounter) ServiceRequest.encounter
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string ServiceRequest.encounter.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding ServiceRequest.encounter.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier ServiceRequest.encounter.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.encounter.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.encounter.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.encounter.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.encounter.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.encounter.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.encounter.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 ServiceRequest.encounter.display
hasValue() or (children().count() > id.count())
occurrence[x] Σ 0..1 ServiceRequest.occurrence[x]
hasValue() or (children().count() > id.count())
occurrencePeriod Period Data Type asNeeded[x] Σ 0..1 ServiceRequest.asNeeded[x]
hasValue() or (children().count() > id.count())
asNeededBoolean boolean asNeededCodeableConcept CodeableConcept authoredOn Σ 1..1 dateTime Element Id ServiceRequest.authoredOn
hasValue() or (children().count() > id.count())
requester Σ I 0..1 Reference(UK Core Device | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) ServiceRequest.requester
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string ServiceRequest.requester.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding ServiceRequest.requester.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier ServiceRequest.requester.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.requester.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.requester.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.requester.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.requester.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.requester.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.requester.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 ServiceRequest.requester.display
hasValue() or (children().count() > id.count())
performerType Σ 0..1 CodeableConcept ServiceRequest.performerType
hasValue() or (children().count() > id.count())
performer Σ I 0..* Reference(UK Core CareTeam | UK Core Device | UK Core HealthcareService | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) Element Id ServiceRequest.performer
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string ServiceRequest.performer.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding ServiceRequest.performer.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier ServiceRequest.performer.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.performer.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.performer.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.performer.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.performer.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.performer.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.performer.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 ServiceRequest.performer.display
hasValue() or (children().count() > id.count())
locationCode Σ 0..* CodeableConcept ServiceRequest.locationCode
hasValue() or (children().count() > id.count())
locationReference Σ I 0..* Reference(UK Core Location) ServiceRequest.locationReference
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string ServiceRequest.locationReference.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding ServiceRequest.locationReference.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier ServiceRequest.locationReference.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.locationReference.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.locationReference.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.locationReference.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.locationReference.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.locationReference.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.locationReference.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 ServiceRequest.locationReference.display
hasValue() or (children().count() > id.count())
reasonCode Σ 0..* CodeableConceptBinding ServiceRequest.reasonCode
supportingInfo
.CodeableConcept.text
element if the data is free (uncoded) text as shown in the CT Scan example.hasValue() or (children().count() > id.count())
reasonReference Σ I 0..* Reference(UK Core Condition | UK Core DiagnosticReport | UK Core DocumentReference | UK Core Observation) ServiceRequest.reasonReference
supportingInfo
.DiagnosticReport.conclusion
and/or DiagnosticReport.conclusionCode
. When using a reference to DocumentReference, the target document should contain clear findings language providing the relevant reason for this service request. Use the CodeableConcept text element in ServiceRequest.reasonCode
if the data is free (uncoded) text as shown in the CT Scan example.hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string ServiceRequest.reasonReference.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding ServiceRequest.reasonReference.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier ServiceRequest.reasonReference.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.reasonReference.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.reasonReference.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.reasonReference.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.reasonReference.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.reasonReference.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.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 ServiceRequest.reasonReference.display
hasValue() or (children().count() > id.count())
insurance I 0..* Reference(Coverage | ClaimResponse) ServiceRequest.insurance
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string ServiceRequest.insurance.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding ServiceRequest.insurance.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier ServiceRequest.insurance.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.insurance.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.insurance.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.insurance.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.insurance.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.insurance.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.insurance.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 ServiceRequest.insurance.display
hasValue() or (children().count() > id.count())
supportingInfo I 0..* Reference(Resource) ServiceRequest.supportingInfo
instructions
element.hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string ServiceRequest.supportingInfo.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding ServiceRequest.supportingInfo.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier ServiceRequest.supportingInfo.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.supportingInfo.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.supportingInfo.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.supportingInfo.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.supportingInfo.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.supportingInfo.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.supportingInfo.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 ServiceRequest.supportingInfo.display
hasValue() or (children().count() > id.count())
specimen Σ I 0..* Reference(UK Core Specimen) ServiceRequest.specimen
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string ServiceRequest.specimen.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding ServiceRequest.specimen.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier ServiceRequest.specimen.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.specimen.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.specimen.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.specimen.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.specimen.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.specimen.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.specimen.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 ServiceRequest.specimen.display
hasValue() or (children().count() > id.count())
bodySite Σ 0..* CodeableConceptBinding ServiceRequest.bodySite
hasValue() or (children().count() > id.count())
note 0..* Annotation ServiceRequest.note
hasValue() or (children().count() > id.count())
patientInstruction Σ 0..1 string ServiceRequest.patientInstruction
hasValue() or (children().count() > id.count())
relevantHistory I 0..* Reference(UK Core Provenance) ServiceRequest.relevantHistory
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string ServiceRequest.relevantHistory.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding ServiceRequest.relevantHistory.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier ServiceRequest.relevantHistory.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding ServiceRequest.relevantHistory.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding ServiceRequest.relevantHistory.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri ServiceRequest.relevantHistory.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string ServiceRequest.relevantHistory.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period ServiceRequest.relevantHistory.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) ServiceRequest.relevantHistory.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 ServiceRequest.relevantHistory.display
hasValue() or (children().count() > id.count())
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
ServiceRequest
https://simplifier.net/nhsbookingandreferrals/barsservicerequestrequestcasetransfer
1..1
ServiceRequest.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..1
236bb75d-90ef-461f-b71e-fde7f899802c
ServiceRequest.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
0..1
ServiceRequest.meta.profile
This MUST be populated with the structure definition for BaRSServiceRequest-request-referral
MUST
0..1
https://fhir.nhs.uk/StructureDefinition/BARSServiceRequest-request-referral
ServiceRequest.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
ServiceRequest.basedOn
MUST
0..*
ServiceRequest.basedOnreference
This MUST be populated with a reference to the CarePlan resource
MUST
0..1
urn:uuid:236bb75d-90ef-461f-b71e-fde7f899802c
ServiceRequest.status
This MUST be populated with one of three values: 'active', 'revoked' or 'entered-in-error'. 'revoked' is used when a SR is cancelled while 'entered-in-error' is used when sent to the wrong endpoint and needs to be removed.
MUST
1..1
active
ServiceRequest.intent
This MUST be populated with 'plan' - FIXED VALUE
MUST
1..1
plan
ServiceRequest.category
MUST
1..1
ServiceRequest.category.coding
MUST
0..*
ServiceRequest.category.coding.system
This MUST be populated with CodeSystem 'https://fhir.nhs.uk/CodeSystem/message-category-servicerequest' - FIXED VALUE
MUST
0..1
https://fhir.nhs.uk/CodeSystem/message-category-servicerequest
ServiceRequest.category.coding.code
This MUST be populated with Code 'referral'. See CodeSystem: 'https://fhir.nhs.uk/CodeSystem/message-category-servicerequest' - FIXED VALUE
MUST
0..1
referral
ServiceRequest.category.coding.display
This MUST be populated with Display 'Transfer of Care'. See CodeSystem: 'https://fhir.nhs.uk/CodeSystem/message-category-servicerequest'
MUST
0..1
Transfer of Care
ServiceRequest.category.coding
BaRS Code System for Use Case
MUST
0..*
ServiceRequest.category.coding.system
This MUST be populated with CodeSystem 'https://fhir.nhs.uk/CodeSystem/usecases-categories-bars' - FIXED VALUE
MUST
0..1
https://fhir.nhs.uk/CodeSystem/usecases-categories-bars
ServiceRequest.category.coding.code
This MUST be populated with Code for the use-case. See CodeSystem: 'https://fhir.nhs.uk/CodeSystem/usecases-categories-bars'
MUST
0..1
referraltopharmacy
ServiceRequest.category.coding.display
This MUST be populated with Display for the use-case. See CodeSystem: 'https://fhir.nhs.uk/CodeSystem/usecases-categories-bars'
MUST
0..1
Referral to Pharmacy
ServiceRequest.subject
Follow BaRS profile guidance for populating this element
MUST
1..1
ServiceRequest.subject.reference
This MUST be populated. Follow BaRS profile guidance for populating this element
MUST
0..1
urn:uuid:9589fb37-87a2-48d8-968f-b371429208a8
ServiceRequest.encounter
MUST
0..1
ServiceRequest.encounter.reference
This MUST be populated with a Reference to the Encounter resource
MUST
0..1
urn:uuid:8c63d621-4d86-4f57-8699-e8e22d49935d
ServiceRequest.occurencePeriod
Timeframe within which pharmacy must manage the referral (Urgency)
MUST
0..1
ServiceRequest.occurencePeriod.start
The start of the period must be ‘now’.
MUST
0..1
2023-03-08T12:01:08.4677672+00:00
ServiceRequest.occurencePeriod.end
The overall time by which the referral should be dealt with by the pharmacy. An overall 'urgency' or Service Level Agreement (SLA) of the referral could be determined based on the start and end values. If Task(s) has a restriction.period the shortest end value will determine when the next action should occur.
MUST
0..1
2023-03-08T12:01:08.4677672+00:00
ServiceRequest.authoredOn
This MUST be populated with the date time the request transitioned to being actionable. In case it's 'blank' the date time SHOULD fall back to the submission time/system time of the SENDING system.
MUST
1..1
2023-03-08T12:01:08.4677672+00:00
ServiceRequest.requester
SHOULD
0..1
ServiceRequest.requester.reference
This MUST be populated with a reference to the Practitioner resource. This is the Healthcare Professional making the request. This does not strictly need to be a clinician.
MUST
0..1
urn:uuid:8c63d621-3424-4f57-8699-e8e22d32423g
ServiceRequest.performer
MUST
0..*
ServiceRequest.performer.reference
This MUST be populated with a reference to the requested HealthcareService resource
MUST
0..1
urn:uuid:8c63d621-2344-4f57-8699-e8e22d44235h
ServiceRequest.reasonCode
This will ONLY be populated in a cancellation message with the reason for cancellation
SHOULD
0..*
ServiceRequest.reasonCode.text
This SHOULD be populated. This will ONLY be populated in a cancellation message with the reason for cancellation and SHOULD only be used in conjunction with a corresponding status - revoked or entered-in-error
SHOULD
0..1
Revoked as patient has been dealt with.
In this interaction this resource represents the sender’s encounter. Each Organisation within the patient’s journey will create a new encounter (Case). These Encounters are linked through the JourneyID which is unchanged throughout the patient’s Journey. An interaction during which services are provided to the patient Visit An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient. 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 support the method by which an individual was admitted into hospital. extensions, user content This extension has been developed to demonstrate the representation of the method by which a patient was admitted to hospital. 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-AdmissionMethod An extension to support the method of discharge from a hospital. extensions, user content This extension has been developed to demonstrate the representation of the method by which a patient was discharged from hospital. 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-DischargeMethod An extension to support the status of an individual on discharge from an Emergency Care Department. extensions, user content This extension has been developed to demonstrate the representation of the status of a patient on discharge from an Emergency Care Department. 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-EmergencyCareDischargeStatus Information relating to a patient's legal status on admission or discharge. extensions, user content Information relating to a patient's legal status on admission or discharge. 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-LegalStatus An extension to support the outcome of an Outpatient attendance. extensions, user content This extension has been developed to demonstrate the representation of the outcome of an Outpatient attendance. 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-OutcomeOfAttendance Identifier(s) by which this encounter is known Identifier(s) by which this encounter is known. 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. Reference(UK Core Organization) planned | arrived | triaged | in-progress | onleave | finished | cancelled + planned | arrived | triaged | in-progress | onleave | finished | cancelled +. Note that internal business rules will determine the appropriate transitions that may occur between statuses (and also classes). Current state of the encounter. List of past encounter statuses The status history permits the encounter resource to contain the status history without needing to read through the historical versions of the resource, or even have the server store them. The current status is always found in the current version of the resource, not the status history. planned | arrived | triaged | in-progress | onleave | finished | cancelled + planned | arrived | triaged | in-progress | onleave | finished | cancelled +. Note that FHIR strings SHALL NOT exceed 1MB in size Current state of the encounter. The time that the episode was in the specified status The time that the episode was in the specified status. 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. Classification of patient encounter Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations. 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. Classification of the encounter. List of past encounter classes The class history permits the tracking of the encounters transitions without needing to go through the resource history. This would be used for a case where an admission starts of as an emergency encounter, then transitions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kind of discharge from emergency to inpatient. inpatient | outpatient | ambulatory | emergency + inpatient | outpatient | ambulatory | emergency +. 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. Classification of the encounter. The time that the episode was in the specified class The time that the episode was in the specified class. 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. Specific type of encounter Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation). Since there are many ways to further classify encounters, this element is 0..*. A code from the SNOMED Clinical Terminology UK coding system that describes an encounter between a care professional and the patient (or patient's record). Specific type of service Broad categorization of the service that is to be provided (e.g. cardiology). 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. Any code from the SNOMED CT UK Refset with fully specified name 'Services simple reference set (foundation metadata concept)' with Refset Id 1127531000000102. Indicates the urgency of the encounter Indicates the urgency of the encounter. 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. Indicates the urgency of the encounter. The patient or group present at the encounter patient The patient or group present at the encounter. While the encounter is always about the patient, the patient might not actually be known in all contexts of use, and there may be a group of patients that could be anonymous (such as in a group therapy for Alcoholics Anonymous - where the recording of the encounter could be used for billing on the number of people/staff and not important to the context of the specific patients) or alternately in veterinary care a herd of sheep receiving treatment (where the animals are not individually tracked). Reference(Group | UK Core Patient) 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). 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. Reference(UK Core 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. Episode(s) of care that this encounter should be recorded against Where a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem. The association is recorded on the encounter as these are typically created after the episode of care and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years). 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(UK Core EpisodeOfCare) 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). 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. Reference(UK Core 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 ServiceRequest that initiated this encounter incomingReferral The request this encounter satisfies (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. Reference(UK Core ServiceRequest) 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). 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. Reference(UK Core 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. List of participants involved in the encounter The list of people responsible for providing the service. Role of participant in encounter Role of participant in encounter. The participant type indicates how an individual participates in an encounter. It includes non-practitioner participants, and for practitioners this is to describe the action type in the context of this encounter (e.g. Admitting Dr, Attending Dr, Translator, Consulting Dr). This is different to the practitioner roles which are functional roles, derived from terms of employment, education, licensing, etc. Role of participant in encounter. Period of time during the encounter that the participant participated The period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's period. 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. Persons involved in the encounter other than the patient Persons involved in the encounter other than the patient. 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(UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) 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). 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. Reference(UK Core 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 appointment that scheduled this encounter The appointment that scheduled this encounter. 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. 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). 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. Reference(UK Core 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 start and end time of the encounter The start and end time of the encounter. If not (yet) known, the end of the Period may be omitted. Quantity of time the encounter lasted (less time absent) Quantity of time the encounter lasted. This excludes the time during leaves of absence. May differ from the time the Encounter.period lasted because of leave of absence. Coded reason the encounter takes place Indication, Admission diagnosis Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis. For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis). Reason why the encounter takes place. Reason the encounter takes place (reference) Indication, Admission diagnosis Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis. For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis). Reference(UK Core Condition | UK Core Procedure | UK Core Observation | ImmunizationRecommendation) 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). 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. Reference(UK Core 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 diagnoses relevant to this encounter The list of diagnoses relevant to this encounter. The diagnosis or procedure relevant to the encounter Admission diagnosis, discharge diagnosis, indication Reason the encounter takes place, as specified using information from another resource. For admissions, this is the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure. For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis). Reference(UK Core Condition | UK Core Procedure) 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). 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. Reference(UK Core 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. Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …). 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 diagnosis this condition represents. Ranking of the diagnosis (for each role type) Ranking of the diagnosis (for each role type). 32 bit number; for values larger than this, use decimal The set of accounts that may be used for billing for this Encounter The set of accounts that may be used for billing for this Encounter. The billing system may choose to allocate billable items associated with the Encounter to different referenced Accounts based on internal business rules. 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). 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. Reference(UK Core 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. Details about the admission to a healthcare service Details about the admission to a healthcare service. An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included. The duration recorded in the period of this encounter covers the entire scope of this hospitalization record. Pre-admission identifier Pre-admission identifier. 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. Reference(UK Core Organization) The location/organization from which the patient came before admission The location/organization from which the patient came before admission. 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(UK Core Location | UK Core Organization) 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). 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. Reference(UK Core 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. From where patient was admitted (physician referral, transfer) From where patient was admitted (physician referral, transfer). 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 source of admission to a Hospital Provider Spell or a Nursing Episode when the Patient is in a Hospital Site or a Care Home. The type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission Whether this hospitalization is a readmission and why if known. 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 re-admission of this hospitalization encounter. Diet preferences reported by the patient Diet preferences reported by the patient. Used to track patient's diet restrictions and/or preference. For a complete description of the nutrition needs of a patient during their stay, one should use the nutritionOrder resource which links to Encounter. For example, a patient may request both a dairy-free and nut-free diet preference (not mutually exclusive). Medical, cultural or ethical food preferences to help with catering requirements. Special courtesies (VIP, board member) Special courtesies (VIP, board member). 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. Special courtesies. Wheelchair, translator, stretcher, etc. Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things. 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. Special arrangements. Location/organization to which the patient is discharged Location/organization to which the patient is discharged. 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(UK Core Organization | UK Core Location) 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). 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. Reference(UK Core 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. Category or kind of location after discharge Category or kind of location after discharge. 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 destination of a Patient on completion of a Hospital Provider Spell, or a note that the Patient died or was a still birth. List of locations where the patient has been List of locations where the patient has been during this encounter. Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type "kind" such as "client's home" and an encounter.class = "virtual". Location the encounter takes place The location where the encounter takes place. 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. 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). 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. Reference(UK Core 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. planned | active | reserved | completed The status of the participants' presence at the specified location during the period specified. If the participant is no longer at the location, then the period will have an end date/time. When the patient is no longer active at a location, then the period end date is entered, and the status may be changed to completed. The status of the location. The physical type of the location (usually the level in the location hierachy - bed room ward etc.) This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query. This information is de-normalized from the Location resource to support the easier understanding of the encounter resource and processing in messaging or query. There may be many levels in the hierachy, and this may only pic specific levels that are required for a specific usage scenario. A set of codes that define the physical type of location where an encounter takes place. Time period during which the patient was present at the location Time period during which the patient was present at the location. 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. The organization (facility) responsible for this encounter The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy. 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(UK Core Organization) 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). 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. Reference(UK Core 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. Another Encounter this encounter is part of Another Encounter of which this encounter is a part of (administratively or in time). This is also used for associating a child's encounter back to the mother's encounter. Refer to the Notes section in the Patient resource for further details. 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). 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. Reference(UK Core 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.
> Encounter
For an incident with multiple patients, each patient would have its own encounter"Encounter I Encounter Encounter
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()
extension I 0..* Extension Element Id Encounter.extension
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
admissionMethod I 0..1 Extension(CodeableConcept) Element Id Encounter.extension:admissionMethod
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
dischargeMethod I 0..1 Extension(CodeableConcept) Element Id Encounter.extension:dischargeMethod
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
emergencyCareDischargeStatus I 0..1 Extension(CodeableConcept) Element Id Encounter.extension:emergencyCareDischargeStatus
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
legalStatus I 0..* Extension(Complex) Element Id Encounter.extension:legalStatus
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
OutcomeOfAttendance I 0..1 Extension(CodeableConcept) Element Id Encounter.extension:OutcomeOfAttendance
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
identifier Σ 0..* Identifier Encounter.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.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 Encounter.status
hasValue() or (children().count() > id.count())
statusHistory 0..* BackboneElement Encounter.statusHistory
hasValue() or (children().count() > id.count())
status 1..1 codeBinding Encounter.statusHistory.status
hasValue() or (children().count() > id.count())
period I 1..1 Period Encounter.statusHistory.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
class Σ 1..1 CodingBinding Encounter.class
hasValue() or (children().count() > id.count())
classHistory 0..* BackboneElement Encounter.classHistory
hasValue() or (children().count() > id.count())
class 1..1 CodingBinding Encounter.classHistory.class
hasValue() or (children().count() > id.count())
period I 1..1 Period Encounter.classHistory.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
type Σ 0..* CodeableConceptBinding Element Id Encounter.type
hasValue() or (children().count() > id.count())
serviceType Σ 0..1 CodeableConceptBinding Element Id Encounter.serviceType
hasValue() or (children().count() > id.count())
priority 0..1 CodeableConcept Encounter.priority
hasValue() or (children().count() > id.count())
subject Σ I 0..1 Reference(Group | UK Core Patient) Element Id Encounter.subject
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Encounter.subject.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Encounter.subject.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Encounter.subject.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.subject.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.subject.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.subject.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.subject.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.subject.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.subject.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 Encounter.subject.display
hasValue() or (children().count() > id.count())
episodeOfCare Σ I 0..* Reference(UK Core EpisodeOfCare) Element Id Encounter.episodeOfCare
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Encounter.episodeOfCare.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Encounter.episodeOfCare.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Encounter.episodeOfCare.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.episodeOfCare.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.episodeOfCare.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.episodeOfCare.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.episodeOfCare.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.episodeOfCare.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.episodeOfCare.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 Encounter.episodeOfCare.display
hasValue() or (children().count() > id.count())
basedOn I 0..* Reference(UK Core ServiceRequest) Element Id Encounter.basedOn
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Encounter.basedOn.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Encounter.basedOn.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Encounter.basedOn.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.basedOn.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.basedOn.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.basedOn.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.basedOn.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.basedOn.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.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 Encounter.basedOn.display
hasValue() or (children().count() > id.count())
participant Σ 0..* BackboneElement Encounter.participant
hasValue() or (children().count() > id.count())
type Σ 0..* CodeableConceptBinding Encounter.participant.type
hasValue() or (children().count() > id.count())
period I 0..1 Period Encounter.participant.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
individual Σ I 0..1 Reference(UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) Element Id Encounter.participant.individual
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Encounter.participant.individual.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Encounter.participant.individual.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Encounter.participant.individual.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.participant.individual.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.participant.individual.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.participant.individual.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.participant.individual.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.participant.individual.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.participant.individual.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 Encounter.participant.individual.display
hasValue() or (children().count() > id.count())
appointment Σ I 0..* Reference(Appointment) Encounter.appointment
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Encounter.appointment.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Encounter.appointment.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Encounter.appointment.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.appointment.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.appointment.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.appointment.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.appointment.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.appointment.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.appointment.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 Encounter.appointment.display
hasValue() or (children().count() > id.count())
period I 0..1 Period Encounter.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
length I 0..1 Duration Encounter.length
hasValue() or (children().count() > id.count())
code.empty() or system.exists()
code.exists() implies ((system = %ucum) and value.exists())
reasonCode Σ 0..* CodeableConceptBinding Encounter.reasonCode
hasValue() or (children().count() > id.count())
reasonReference Σ I 0..* Reference(UK Core Condition | UK Core Procedure | UK Core Observation | ImmunizationRecommendation) Element Id Encounter.reasonReference
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Encounter.reasonReference.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Encounter.reasonReference.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Encounter.reasonReference.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.reasonReference.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.reasonReference.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.reasonReference.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.reasonReference.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.reasonReference.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.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 Encounter.reasonReference.display
hasValue() or (children().count() > id.count())
diagnosis Σ 0..* BackboneElement Element Id Encounter.diagnosis
hasValue() or (children().count() > id.count())
condition Σ I 1..1 Reference(UK Core Condition | UK Core Procedure) Element Id Encounter.diagnosis.condition
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Encounter.diagnosis.condition.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Encounter.diagnosis.condition.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Encounter.diagnosis.condition.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.diagnosis.condition.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.diagnosis.condition.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.diagnosis.condition.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.diagnosis.condition.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.diagnosis.condition.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.diagnosis.condition.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 Encounter.diagnosis.condition.display
hasValue() or (children().count() > id.count())
use 0..1 CodeableConceptBinding Encounter.diagnosis.use
hasValue() or (children().count() > id.count())
rank 0..1 positiveInt Encounter.diagnosis.rank
hasValue() or (children().count() > id.count())
account I 0..* Reference(Account) Encounter.account
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Encounter.account.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Encounter.account.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Encounter.account.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.account.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.account.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.account.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.account.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.account.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.account.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 Encounter.account.display
hasValue() or (children().count() > id.count())
hospitalization 0..1 BackboneElement Encounter.hospitalization
hasValue() or (children().count() > id.count())
preAdmissionIdentifier 0..1 Identifier Encounter.hospitalization.preAdmissionIdentifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.hospitalization.preAdmissionIdentifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.hospitalization.preAdmissionIdentifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.hospitalization.preAdmissionIdentifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.hospitalization.preAdmissionIdentifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.hospitalization.preAdmissionIdentifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.hospitalization.preAdmissionIdentifier.assigner
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
origin I 0..1 Reference(UK Core Location | UK Core Organization) Element Id Encounter.hospitalization.origin
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Encounter.hospitalization.origin.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Encounter.hospitalization.origin.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Encounter.hospitalization.origin.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.hospitalization.origin.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.hospitalization.origin.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.hospitalization.origin.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.hospitalization.origin.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.hospitalization.origin.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.hospitalization.origin.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 Encounter.hospitalization.origin.display
hasValue() or (children().count() > id.count())
admitSource 0..1 CodeableConceptBinding Element Id Encounter.hospitalization.admitSource
hasValue() or (children().count() > id.count())
reAdmission 0..1 CodeableConcept Encounter.hospitalization.reAdmission
hasValue() or (children().count() > id.count())
dietPreference 0..* CodeableConcept Encounter.hospitalization.dietPreference
hasValue() or (children().count() > id.count())
specialCourtesy 0..* CodeableConceptBinding Encounter.hospitalization.specialCourtesy
hasValue() or (children().count() > id.count())
specialArrangement 0..* CodeableConceptBinding Encounter.hospitalization.specialArrangement
hasValue() or (children().count() > id.count())
destination I 0..1 Reference(UK Core Organization | UK Core Location) Element Id Encounter.hospitalization.destination
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Encounter.hospitalization.destination.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Encounter.hospitalization.destination.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Encounter.hospitalization.destination.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.hospitalization.destination.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.hospitalization.destination.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.hospitalization.destination.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.hospitalization.destination.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.hospitalization.destination.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.hospitalization.destination.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 Encounter.hospitalization.destination.display
hasValue() or (children().count() > id.count())
dischargeDisposition 0..1 CodeableConceptBinding Element Id Encounter.hospitalization.dischargeDisposition
hasValue() or (children().count() > id.count())
location 0..* BackboneElement Encounter.location
hasValue() or (children().count() > id.count())
location I 1..1 Reference(UK Core Location) Element Id Encounter.location.location
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Encounter.location.location.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Encounter.location.location.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Encounter.location.location.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.location.location.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.location.location.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.location.location.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.location.location.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.location.location.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.location.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 Encounter.location.location.display
hasValue() or (children().count() > id.count())
status 0..1 codeBinding Encounter.location.status
hasValue() or (children().count() > id.count())
physicalType 0..1 CodeableConceptBinding Element Id Encounter.location.physicalType
hasValue() or (children().count() > id.count())
period I 0..1 Period Encounter.location.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
serviceProvider I 0..1 Reference(UK Core Organization) Element Id Encounter.serviceProvider
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Encounter.serviceProvider.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Encounter.serviceProvider.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Encounter.serviceProvider.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.serviceProvider.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.serviceProvider.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.serviceProvider.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.serviceProvider.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.serviceProvider.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.serviceProvider.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 Encounter.serviceProvider.display
hasValue() or (children().count() > id.count())
partOf I 0..1 Reference(UK Core Encounter) Element Id Encounter.partOf
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Encounter.partOf.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Encounter.partOf.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Encounter.partOf.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Encounter.partOf.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Encounter.partOf.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Encounter.partOf.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Encounter.partOf.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Encounter.partOf.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Encounter.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 Encounter.partOf.display
hasValue() or (children().count() > id.count())
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
Encounter
https://simplifier.net/hl7fhirukcorer4/ukcore-encounter
1..1
Encounter.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..1
236bb75d-90ef-461f-b71e-fde7f899802c
Encounter.meta
This MUST be populated with https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
Encounter.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Encounter
Encounter.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
1..1
2023-03-08T12:01:08.4677672+00:00
Encounter.Identifier
SHOULD be the human readable identifier of the encounter.
SHOULD
0..*
Encounter.status
This MUST be populated with 'finished' or 'triaged'.
MUST
1..1
finished
Encounter.class
MUST
1..1
Encounter.class.system
This MUST be populated with CodeSystem 'http://terminology.hl7.org/CodeSystem/v3-ActCode' - FIXED VALUE
MUST
0..1
http://terminology.hl7.org/CodeSystem/v3-ActCode
Encounter.class.code
This MUST be populated with Code 'EMER'. See CodeSystem: 'http://terminology.hl7.org/CodeSystem/v3-ActCode' - FIXED VALUE
MUST
0..1
EMER
Encounter.class.display
This MUST be populated with Display 'Emergency'. See CodeSystem: 'http://terminology.hl7.org/CodeSystem/v3-ActCode' - FIXED VALUE
MUST
0..1
Emergency
Encounter.subject
MUST
0..1
Encounter.subject.reference
This MUST be populated with a reference to the Patient resource.
MUST
1..1
urn:uuid:9589fb37-87a2-48d8-968f-b371429208a8
Encounter.episodeOfCare
MUST
0..*
Encounter.episodeOfCare.reference
This MUST be populated with the JourneyID which links all encounters within the patient’s journey. This MUST be created at the patient’s first contact and passed in all subsequent referrals.
MUST
1..1
9589fb37-87a2-48d8-968f-b371429208a8
Encounter.period
SHOULD
0..1
Encounter.period.start
This SHOULD be populated with the time the contact with the practitioner was established. This SHOULD be the contact immediately prior to the referral being sent.
SHOULD
0..1
2023-03-08T12:01:08.4677672+00:00
In this interaction the CarePlan resource is used to communicate triage outcome information and associated clinical information Healthcare plan for patient or group Care Team Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. External Ids for this plan Business identifiers assigned to this care plan by the performer or other systems which remain constant as the resource is updated and propagates from server to server. Allows identification of the care plan as it is known by various participating systems and in a way that remains consistent across servers. This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. 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. Reference(UK Core Organization) Instantiates FHIR protocol or definition The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan. canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition) Instantiates external protocol or definition The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan. This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. Fulfills CarePlan fulfills A care plan that is fulfilled in whole or in part by this care plan. Allows tracing of the care plan and tracking whether proposals/recommendations were acted upon. 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. 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). 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. Reference(UK Core 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. CarePlan replaced by this CarePlan supersedes Completed or terminated care plan whose function is taken by this new care plan. Allows tracing the continuation of a therapy or administrative process instantiated through multiple care plans. The replacement could be because the initial care plan was immediately rejected (due to an issue) or because the previous care plan was completed, but the need for the action described by the care plan remains ongoing. 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). 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. Reference(UK Core 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. Part of referenced CarePlan A larger care plan of which this particular care plan is a component or step. Each care plan is an independent request, such that having a care plan be part of another care plan can cause issues with cascading statuses. As such, this element is still being discussed. 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). 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. Reference(UK Core 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. draft | active | on-hold | revoked | completed | entered-in-error | unknown Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record. Allows clinicians to determine whether the plan is actionable or not. The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the care plan. This element is labeled as a modifier because the status contains the code entered-in-error that marks the plan as not currently valid. Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record. proposal | plan | order | option Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain. Proposals/recommendations, plans and orders all use the same structure and can exist in the same fulfillment chain. This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. Codes indicating the degree of authority/intentionality associated with a care plan. Type of plan Identifies what "kind" of plan this is to support differentiation between multiple co-existing plans; e.g. "Home health", "psychiatric", "asthma", "disease management", "wellness plan", etc. Used for filtering what plan(s) are retrieved and displayed to different types of users. There may be multiple axes of categorization and one plan may serve multiple purposes. In some cases, this may be redundant with references to CarePlan.concern. Identifies what "kind" of plan this is to support differentiation between multiple co-existing plans; e.g. "Home health", "psychiatric", "asthma", "disease management", etc. Human-friendly name for the care plan Human-friendly name for the care plan. Note that FHIR strings SHALL NOT exceed 1MB in size Summary of nature of plan A description of the scope and nature of the plan. Provides more detail than conveyed by category. Note that FHIR strings SHALL NOT exceed 1MB in size Who the care plan is for patient Identifies the patient or group whose intended care is described by the plan. 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(Group | UK Core Patient) 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). 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. Reference(UK Core 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. Encounter created as part of The Encounter during which this CarePlan was created or to which the creation of this record is tightly associated. This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. CarePlan activities conducted as a result of the care plan may well occur as part of other encounters. 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). 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. Reference(UK Core 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. Time period plan covers timing Indicates when the plan did (or is intended to) come into effect and end. Allows tracking what plan(s) are in effect at a particular time. Any activities scheduled as part of the plan should be constrained to the specified period regardless of whether the activities are planned within a single encounter/episode or across multiple encounters/episodes (e.g. the longitudinal management of a chronic condition). Date record was first recorded authoredOn Represents when this particular CarePlan record was created in the system, which is often a system-generated date. Who is the designated responsible party When populated, the author is responsible for the care plan. The care plan is attributed to the author. The author may also be a contributor. For example, an organization can be an author, but not listed as a contributor. Reference(Device | UK Core Patient | UK Core Practitioner | UK Core RelatedPerson | UK Core Organization | UK Core CareTeam | UK Core PractitionerRole) 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). 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. Reference(UK Core 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. Who provided the content of the care plan Identifies the individual(s) or organization who provided the contents of the care plan. Collaborative care plans may have multiple contributors. Reference(Device | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson | UK Core Organization | UK Core CareTeam) 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). 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. Reference(UK Core 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. Who's involved in plan? Identifies all people and organizations who are expected to be involved in the care envisioned by this plan. Allows representation of care teams, helps scope care plan. In some cases may be a determiner of access permissions. 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. 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). 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. Reference(UK Core 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. Health issues this plan addresses Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan. Links plan to the conditions it manages. The element can identify risks addressed by the plan as well as active conditions. (The Condition resource can include things like "at risk for hypertension" or "fall risk".) Also scopes plans - multiple plans may exist addressing different concerns. When the diagnosis is related to an allergy or intolerance, the Condition and AllergyIntolerance resources can both be used. However, to be actionable for decision support, using Condition alone is not sufficient as the allergy or intolerance condition needs to be represented as an AllergyIntolerance. 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). 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. Reference(UK Core 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. Information considered as part of plan Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include comorbidities, recent procedures, limitations, recent assessments, etc. Identifies barriers and other considerations associated with the care plan. Use "concern" to identify specific conditions addressed by the care plan. 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). 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. Reference(UK Core 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. Desired outcome of plan Describes the intended objective(s) of carrying out the care plan. Provides context for plan. Allows plan effectiveness to be evaluated by clinicians. Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline. 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). 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. Reference(UK Core 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. Action to occur as part of plan Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc. Allows systems to prompt for performance of planned activities, and validate plans against best practice. Results of the activity Identifies the outcome at the point when the status of the activity is assessed. For example, the outcome of an education activity could be patient understands (or not). Note that this should not duplicate the activity status (e.g. completed or in progress). Identifies the results of the activity. Appointment, Encounter, Procedure, etc. Details of the outcome or action resulting from the activity. The reference to an "event" resource, such as Procedure or Encounter or Observation, is the result/outcome of the activity itself. The activity can be conveyed using CarePlan.activity.detail OR using the CarePlan.activity.reference (a reference to a “request” resource). Links plan to resulting actions. The activity outcome is independent of the outcome of the related goal(s). For example, if the goal is to achieve a target body weight of 150 lbs and an activity is defined to diet, then the activity outcome could be calories consumed whereas the goal outcome is an observation for the actual body weight measured. 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). 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. Reference(UK Core 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. Comments about the activity status/progress Notes about the adherence/status/progress of the activity. Can be used to capture information about adherence, progress, concerns, etc. This element should NOT be used to describe the activity to be performed - that occurs either within the resource pointed to by activity.detail.reference or in activity.detail.description. Individual responsible for the annotation The individual responsible for making the annotation. Organization is used when there's no need for specific attribution as to who made the comment. Reference(UK Core Patient | UK Core Practitioner | UK Core RelatedPerson | UK Core Organization) When the annotation was made Indicates when this particular annotation was made. The annotation - text content (as markdown) The text of the annotation in markdown format. 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/ Activity details defined in specific resource The details of the proposed activity represented in a specific resource. Details in a form consistent with other applications and contexts of use. Standard extension exists (resource-pertainsToGoal) that allows goals to be referenced from any of the referenced resources in CarePlan.activity.reference. Reference(Appointment | CommunicationRequest | DeviceRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup | MedicationRequest) 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). 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. Reference(UK Core 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. In-line definition of activity A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc. Details in a simple form for generic care plan systems. Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. May determine what types of extensions are permitted. Note that FHIR strings SHALL NOT exceed 1MB in size Resource types defined as part of FHIR that can be represented as in-line definitions of a care plan activity. Instantiates FHIR protocol or definition The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity. Allows Questionnaires that the patient (or practitioner) should fill in to fulfill the care plan activity. canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) Instantiates external protocol or definition The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity. Allows Questionnaires that the patient (or practitioner) should fill in to fulfill the care plan activity. This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. Detail type of activity Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encounter. Allows matching performed to planned as well as validation against protocols. Tends to be less relevant for activities involving particular products. Codes should not convey negation - use "prohibited" instead. Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter. Why activity should be done or why activity was prohibited Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibited. This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonCondition instead. Identifies why a care plan activity is needed. Can include any health condition codes as well as such concepts as "general wellness", prophylaxis, surgical preparation, etc. Why activity is needed Indicates another resource, such as the health condition(s), whose existence justifies this request and drove the inclusion of this particular activity as part of the plan. Conditions can be identified at the activity level that are not identified as reasons for the overall plan. Reference(UK Core Condition | UK Core Observation | UK Core DocumentReference | DiagnosticReport) 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). 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. Reference(UK Core 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. Goals this activity relates to Internal reference that identifies the goals that this activity is intended to contribute towards meeting. So that participants know the link explicitly. 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. 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). 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. Reference(UK Core 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. not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error Identifies what progress is being made for the specific activity. Indicates progress against the plan, whether the activity is still relevant for the plan. Some aspects of status can be inferred based on the resources linked in actionTaken. Note that "status" is only as current as the plan was most recently updated. Codes that reflect the current state of a care plan activity within its overall life cycle. Reason for current status Provides reason why the activity isn't yet started, is on hold, was cancelled, etc. Will generally not be present if status is "complete". Be sure to prompt to update this (or at least remove the existing value) if the status is changed. If true, activity is prohibiting action If true, indicates that the described activity is one that must NOT be engaged in when following the plan. If false, or missing, indicates that the described activity is one that should be engaged in when following the plan. Captures intention to not do something that may have been previously typical. This element is labeled as a modifier because it marks an activity as an activity that is not to be performed. If missing indicates that the described activity is one that should be engaged in when following the plan. When activity is to occur The period, timing or frequency upon which the described activity is to occur. Allows prompting for activities and detection of missed planned activities. Where it should happen Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc. Helps in planning of activity. May reference a specific clinical location or may identify a type of location. 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). 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. Reference(UK Core 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. Who will be responsible? Identifies who's expected to be involved in the activity. Helps in planning of activity. A performer MAY also be a participant in the care plan. Reference(HealthcareService | Device | UK Core Practitioner | UK Core PractitionerRole | UK Core Organization | UK Core RelatedPerson | UK Core Patient | UK Core CareTeam) 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). 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. Reference(UK Core 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. What is to be administered/supplied Identifies the food, drug or other product to be consumed or supplied in the activity. A product supplied or administered as part of a care plan activity. How to consume/day? daily dose Identifies the quantity expected to be consumed in a given day. Allows rough dose checking. The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator. How much to administer/supply/consume Identifies the quantity expected to be supplied, administered or consumed by the subject. The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator. Extra info describing activity to perform This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. Note that FHIR strings SHALL NOT exceed 1MB in size Comments about the plan General notes about the care plan not covered elsewhere. Used to capture information that applies to the plan as a whole that doesn't fit into discrete elements. For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible). Individual responsible for the annotation The individual responsible for making the annotation. Organization is used when there's no need for specific attribution as to who made the comment. Reference(UK Core Practitioner | UK Core RelatedPerson | UK Core Patient | UK Core Organization) When the annotation was made Indicates when this particular annotation was made. The annotation - text content (as markdown) The text of the annotation in markdown format. 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/
> CarePlan
CarePlan I CarePlan CarePlan
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 Σ 0..* Identifier CarePlan.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.identifier.assigner
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
instantiatesCanonical Σ 0..* canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition) CarePlan.instantiatesCanonical
hasValue() or (children().count() > id.count())
instantiatesUri Σ 0..* uri CarePlan.instantiatesUri
hasValue() or (children().count() > id.count())
basedOn Σ I 0..* Reference(UK Core CarePlan) Element Id CarePlan.basedOn
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.basedOn.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.basedOn.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.basedOn.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.basedOn.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.basedOn.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.basedOn.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.basedOn.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.basedOn.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.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 CarePlan.basedOn.display
hasValue() or (children().count() > id.count())
replaces Σ I 0..* Reference(UK Core CarePlan) Element Id CarePlan.replaces
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.replaces.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.replaces.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.replaces.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.replaces.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.replaces.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.replaces.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.replaces.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.replaces.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.replaces.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 CarePlan.replaces.display
hasValue() or (children().count() > id.count())
partOf Σ I 0..* Reference(UK Core CarePlan) Element Id CarePlan.partOf
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.partOf.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.partOf.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.partOf.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.partOf.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.partOf.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.partOf.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.partOf.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.partOf.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.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 CarePlan.partOf.display
hasValue() or (children().count() > id.count())
status Σ ?! 1..1 codeBinding CarePlan.status
hasValue() or (children().count() > id.count())
intent Σ ?! 1..1 codeBinding CarePlan.intent
hasValue() or (children().count() > id.count())
category Σ 0..* CodeableConcept CarePlan.category
hasValue() or (children().count() > id.count())
title Σ 0..1 string CarePlan.title
hasValue() or (children().count() > id.count())
description Σ 0..1 string CarePlan.description
hasValue() or (children().count() > id.count())
subject Σ I 1..1 Reference(Group | UK Core Patient) Element Id CarePlan.subject
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.subject.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.subject.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.subject.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.subject.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.subject.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.subject.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.subject.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.subject.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.subject.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 CarePlan.subject.display
hasValue() or (children().count() > id.count())
encounter Σ I 0..1 Reference(UK Core Encounter) Element Id CarePlan.encounter
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.encounter.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.encounter.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.encounter.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.encounter.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.encounter.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.encounter.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.encounter.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.encounter.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.encounter.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 CarePlan.encounter.display
hasValue() or (children().count() > id.count())
period Σ I 0..1 Period CarePlan.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
created Σ 0..1 dateTime CarePlan.created
hasValue() or (children().count() > id.count())
author Σ I 0..1 Reference(Device | UK Core Patient | UK Core Practitioner | UK Core RelatedPerson | UK Core Organization | UK Core CareTeam | UK Core PractitionerRole) Element Id CarePlan.author
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.author.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.author.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.author.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.author.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.author.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.author.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.author.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.author.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.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 CarePlan.author.display
hasValue() or (children().count() > id.count())
contributor I 0..* Reference(Device | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson | UK Core Organization | UK Core CareTeam) Element Id CarePlan.contributor
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.contributor.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.contributor.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.contributor.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.contributor.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.contributor.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.contributor.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.contributor.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.contributor.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.contributor.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 CarePlan.contributor.display
hasValue() or (children().count() > id.count())
careTeam I 0..* Reference(UK Core CareTeam) Element Id CarePlan.careTeam
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.careTeam.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.careTeam.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.careTeam.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.careTeam.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.careTeam.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.careTeam.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.careTeam.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.careTeam.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.careTeam.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 CarePlan.careTeam.display
hasValue() or (children().count() > id.count())
addresses Σ I 0..* Reference(UK Core Condition) Element Id CarePlan.addresses
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.addresses.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.addresses.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.addresses.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.addresses.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.addresses.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.addresses.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.addresses.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.addresses.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.addresses.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 CarePlan.addresses.display
hasValue() or (children().count() > id.count())
supportingInfo I 0..* Reference(Resource) CarePlan.supportingInfo
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.supportingInfo.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.supportingInfo.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.supportingInfo.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.supportingInfo.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.supportingInfo.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.supportingInfo.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.supportingInfo.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.supportingInfo.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.supportingInfo.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 CarePlan.supportingInfo.display
hasValue() or (children().count() > id.count())
goal I 0..* Reference(Goal) CarePlan.goal
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.goal.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.goal.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.goal.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.goal.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.goal.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.goal.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.goal.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.goal.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.goal.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 CarePlan.goal.display
hasValue() or (children().count() > id.count())
activity I 0..* BackboneElement CarePlan.activity
hasValue() or (children().count() > id.count())
detail.empty() or reference.empty()
outcomeCodeableConcept 0..* CodeableConcept CarePlan.activity.outcomeCodeableConcept
hasValue() or (children().count() > id.count())
outcomeReference I 0..* Reference(Resource) CarePlan.activity.outcomeReference
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.activity.outcomeReference.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.activity.outcomeReference.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.activity.outcomeReference.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.activity.outcomeReference.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.activity.outcomeReference.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.activity.outcomeReference.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.activity.outcomeReference.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.activity.outcomeReference.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.activity.outcomeReference.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 CarePlan.activity.outcomeReference.display
hasValue() or (children().count() > id.count())
progress 0..* Annotation CarePlan.activity.progress
hasValue() or (children().count() > id.count())
author[x] Σ 0..1 CarePlan.activity.progress.author[x]
hasValue() or (children().count() > id.count())
authorString string Data Type authorReference Reference(UK Core Patient | UK Core Practitioner | UK Core RelatedPerson | UK Core Organization) Data Type time Σ 0..1 dateTime CarePlan.activity.progress.time
hasValue() or (children().count() > id.count())
text Σ 1..1 markdown CarePlan.activity.progress.text
hasValue() or (children().count() > id.count())
reference I 0..1 Reference(Appointment | CommunicationRequest | DeviceRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup | MedicationRequest) Element Id CarePlan.activity.reference
The goal should be visible when the resource referenced by CarePlan.activity.reference is viewed independently from the CarePlan. Requests that are pointed to by a CarePlan using this element should not point to this CarePlan using the "basedOn" element. i.e. Requests that are part of a CarePlan are not "based on" the CarePlan.hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.activity.reference.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.activity.reference.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.activity.reference.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.activity.reference.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.activity.reference.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.activity.reference.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.activity.reference.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.activity.reference.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.activity.reference.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 CarePlan.activity.reference.display
hasValue() or (children().count() > id.count())
detail I 0..1 BackboneElement CarePlan.activity.detail
hasValue() or (children().count() > id.count())
kind 0..1 codeBinding CarePlan.activity.detail.kind
hasValue() or (children().count() > id.count())
instantiatesCanonical 0..* canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) CarePlan.activity.detail.instantiatesCanonical
hasValue() or (children().count() > id.count())
instantiatesUri 0..* uri CarePlan.activity.detail.instantiatesUri
hasValue() or (children().count() > id.count())
code 0..1 CodeableConcept CarePlan.activity.detail.code
hasValue() or (children().count() > id.count())
reasonCode 0..* CodeableConcept CarePlan.activity.detail.reasonCode
hasValue() or (children().count() > id.count())
reasonReference I 0..* Reference(UK Core Condition | UK Core Observation | UK Core DocumentReference | DiagnosticReport) Element Id CarePlan.activity.detail.reasonReference
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.activity.detail.reasonReference.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.activity.detail.reasonReference.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.activity.detail.reasonReference.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.activity.detail.reasonReference.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.activity.detail.reasonReference.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.activity.detail.reasonReference.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.activity.detail.reasonReference.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.activity.detail.reasonReference.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.activity.detail.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 CarePlan.activity.detail.reasonReference.display
hasValue() or (children().count() > id.count())
goal I 0..* Reference(Goal) CarePlan.activity.detail.goal
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.activity.detail.goal.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.activity.detail.goal.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.activity.detail.goal.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.activity.detail.goal.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.activity.detail.goal.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.activity.detail.goal.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.activity.detail.goal.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.activity.detail.goal.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.activity.detail.goal.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 CarePlan.activity.detail.goal.display
hasValue() or (children().count() > id.count())
status ?! 1..1 codeBinding CarePlan.activity.detail.status
The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the activity.hasValue() or (children().count() > id.count())
statusReason 0..1 CodeableConcept CarePlan.activity.detail.statusReason
hasValue() or (children().count() > id.count())
doNotPerform ?! 0..1 boolean CarePlan.activity.detail.doNotPerform
hasValue() or (children().count() > id.count())
scheduled[x] 0..1 CarePlan.activity.detail.scheduled[x]
hasValue() or (children().count() > id.count())
scheduledTiming Timing scheduledPeriod Period scheduledString string location I 0..1 Reference(UK Core Location) Element Id CarePlan.activity.detail.location
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.activity.detail.location.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.activity.detail.location.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.activity.detail.location.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.activity.detail.location.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.activity.detail.location.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.activity.detail.location.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.activity.detail.location.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.activity.detail.location.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.activity.detail.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 CarePlan.activity.detail.location.display
hasValue() or (children().count() > id.count())
performer I 0..* Reference(HealthcareService | Device | UK Core Practitioner | UK Core PractitionerRole | UK Core Organization | UK Core RelatedPerson | UK Core Patient | UK Core CareTeam) Element Id CarePlan.activity.detail.performer
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string CarePlan.activity.detail.performer.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding CarePlan.activity.detail.performer.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier CarePlan.activity.detail.performer.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding CarePlan.activity.detail.performer.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding CarePlan.activity.detail.performer.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri CarePlan.activity.detail.performer.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string CarePlan.activity.detail.performer.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period CarePlan.activity.detail.performer.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id CarePlan.activity.detail.performer.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 CarePlan.activity.detail.performer.display
hasValue() or (children().count() > id.count())
product[x] 0..1 CarePlan.activity.detail.product[x]
hasValue() or (children().count() > id.count())
productCodeableConcept CodeableConcept Data Type productReference Reference(Substance | UK Core Medication) Data Type dailyAmount I 0..1 SimpleQuantity CarePlan.activity.detail.dailyAmount
hasValue() or (children().count() > id.count())
code.empty() or system.exists()
comparator.empty()
quantity I 0..1 SimpleQuantity CarePlan.activity.detail.quantity
hasValue() or (children().count() > id.count())
code.empty() or system.exists()
comparator.empty()
description 0..1 string CarePlan.activity.detail.description
hasValue() or (children().count() > id.count())
note 0..* Annotation CarePlan.note
hasValue() or (children().count() > id.count())
author[x] Σ 0..1 CarePlan.note.author[x]
hasValue() or (children().count() > id.count())
authorString string Data Type authorReference Reference(UK Core Practitioner | UK Core RelatedPerson | UK Core Patient | UK Core Organization) Data Type time Σ 0..1 dateTime CarePlan.note.time
hasValue() or (children().count() > id.count())
text Σ 1..1 markdown CarePlan.note.text
hasValue() or (children().count() > id.count())
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
CarePlan
https://simplifier.net/hl7fhirukcorer4/ukcore-careplan
1..1
CarePlan.id
MUST only be generated by the Receiver as the id for the resource in the synchronous HTTP response.
MUST
0..1
236bb75d-90ef-461f-b71e-fde7f899802c
CarePlan.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
CarePlan.meta.profile
UKCore
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-CarePlan
CarePlan.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
CarePlan.status
This MUST be populated with the value ‘completed’
MUST
1..1
completed
CarePlan.intent
This MUST be populated with the value ‘plan’
MUST
1..1
plan
CarePlan.subject
MUST
1..1
CarePlan.subject.reference
This MUST be populated with a reference to the Patient
MUST
1..1
urn:uuid:9589fb37-87a2-48d8-968f-b371429208a8
CarePlan.encounter
MUST
0..1
CarePlan.encounter.reference
This MUST be populated with a reference to the senders Encounter
MUST
1..1
urn:uuid:b83d13e2-8c2e-422c-88ac-63b8e86a4413
CarePlan.period
MUST
0..1
CarePlan.period.start
Disposition date/Time. This MUST be populated with the datetime of the identification of the dispatch/disposition code.
MUST
0..1
2023-03-08T12:01:08.4677672+00:00
CarePlan.addresses
MUST
0..*
CarePlan.addresses.reference
This MUST reference a Condition resource. This identifies which 'presenting complaint or issue' (as defined in the Information model) precipitated the generation of the CarePlan
MUST
0..*
urn:uuid:8d12c664-0b6c-4e9b-8b70-10ccc81dbd89
CarePlan.activity
SHOULD
0..*
CarePlan.activity.outcomeCodeableConcept
SHOULD
0..*
CarePlan.activity.outcomeCodeableConcept.text
This SHOULD be populated with the clinical narrative.
If a triage assessment has been undertaken, using a CDSS, the Q&A output SHOULD be formatted and included as freetext in this element.SHOULD
0..1
Who is this query about constipation about?: An adult or child over 10 years old\n Do you have constipation and any of the following apply to you?: None of the above\n\n Symptoms: 2/7 hx constipation\n\n Self-care / medication already tried: None\n\n Patient concerns: Unable to pass stool dor 2/7; straining.\n
CarePlan.activity.reference
This MUST reference a Task resource which defines the requested instruction to the Receiver. The Sender may include multiple tasks, each under a new activity - see Task resource guidance for more detail.
MUST
0..1
CarePlan.activity.reference.reference
This MUST reference a Task resource indicating an instruction to the Receiver.
MUST
0..1
urn:uuid:6bd421cf-e43f-4470-b12d-b592f82c4bfe
This resource is used to communicate details about the patient who is the subject of the referral. 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. 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 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. System.String 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 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. System.String 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 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. System.String 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 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. System.String Indicator showing whether the patient needs an interpreter Indicator showing if this Patient requires an interpreter to communicate healthcare information to the practitioner. An identifier for this patient An identifier for this patient. Patients are almost always assigned specific numerical identifiers. Unordered, Open, by system(Value) Constraints The patient's NHS number An identifier for this patient. Patients are almost always assigned specific numerical identifiers. 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. Reference(UK Core 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). 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. 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 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). 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 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. System.String 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. 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. 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. 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 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. 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. 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 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. Reference(UK Core Organization) 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). 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. Reference(UK Core 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. 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 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. 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. 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. System.String Value of extension Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). 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(UK Core Practitioner | UK Core Organization | UK Core PractitionerRole) 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). 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. Reference(UK Core 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). Reference(UK Core Organization) 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). 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. Reference(UK Core 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. 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(UK Core Patient | UK Core RelatedPerson) 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). 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. Reference(UK Core 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.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()
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()
url 1..1 System.StringFixed 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()
url 1..1 System.StringFixed 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()
url 1..1 System.StringFixed 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()
url 1..1 System.StringFixed 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 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())
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(UK Core Organization) 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()
system Σ I 0..1 codeBinding Patient.telecom.system
hasValue() or (children().count() > id.count())
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 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())
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()
url 1..1 System.StringFixed 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 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())
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()
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()
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()
system Σ I 0..1 codeBinding Patient.contact.telecom.system
hasValue() or (children().count() > id.count())
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 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(UK Core Organization) 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'))
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())
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(UK Core Organization) 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())
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()
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()
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()
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 System.StringFixed 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())
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(UK Core Practitioner | UK Core Organization | UK Core PractitionerRole) 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'))
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())
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(UK Core Organization) 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(UK Core Organization) 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'))
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())
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(UK Core Organization) 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())
other Σ I 1..1 Reference(UK Core Patient | UK Core RelatedPerson) 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'))
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())
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(UK Core Organization) 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
Profile Cardinality
Example Value(s)
Patient
It also includes contact information for third parties when required.
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
0..1
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
1..1
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
0..*
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
1..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 or no NHS number MUST be sent, no other status is valid
SHOULD
0..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' no other status is valid
SHOULD
0..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..*
Patient.contact.relationship.coding
MUST
0..*
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
MUST
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
0..1
phone
Patient.contact.telecom.value
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
0789 1234567
Patient.contact.telecom.rank
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
1
Patient.contact.gender
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
male
Patient.Communication
SHOULD
0..*
Patient.Communication.Language
MUST
1..1
Patient.Communication.Language.coding
MUST
1..1
Patient.Communication.Language.coding.code
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
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
0..1
https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-EthnicCategory
Patient.extension.url.valueCodeableConcept
SHOULD
0..1
Patient.extension.url.valueCodeableConcept.coding
SHOULD
0..1
Patient.extension.url.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.url.valueCodeableConcept.coding.code
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
A
Patient.extension.url.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..*
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 problem or issue of the referral. Detailed information about conditions, problems or diagnoses A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. 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) A reference to a resource that is the actual problem extensions, user content A reference to a Condition, Observation, FamilyMemberHistory, or AllergyIntolerance that is the actual problem. 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(Reference(UK Core AllergyIntolerance | UK Core Condition | UK Core Observation | FamilyMemberHistory)) https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-ActualProblem The episodicity status of a condition extensions, user content The episodicity status of a condition. 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-ConditionEpisode An extension to record the significance of the problem header condition. extensions, user content An extension to record the significance of the problem header condition. 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-ProblemSignificance A reference to any resource that provides related clinical content to the Condition. extensions, user content A reference to any resource that provides related clinical content to the Condition. 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(Reference(Resource)) https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-RelatedClinicalContent Related problem header condition (target) extensions, user content Related problem header condition (target) 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-RelatedProblemHeader External Ids for this condition Business identifiers assigned to this condition by the performer or other systems which remain constant as the resource is updated and propagates from server to server. Allows identification of the condition as it is known by various participating systems and in a way that remains consistent across servers. This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. 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. Reference(UK Core Organization) active | recurrence | relapse | inactive | remission | resolved The clinical status of the condition. The data type is CodeableConcept because clinicalStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. The clinical status of the condition or diagnosis. unconfirmed | provisional | differential | confirmed | refuted | entered-in-error The verification status to support the clinical status of the condition. verificationStatus is not required. For example, when a patient has abdominal pain in the ED, there is not likely going to be a verification status.
The data type is CodeableConcept because verificationStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. The verification status to support or decline the clinical status of the condition or diagnosis. problem-list-item | encounter-diagnosis A category assigned to the condition. The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts. A ValueSet to identify the category of a condition. Subjective severity of condition A subjective assessment of the severity of the condition as evaluated by the clinician. Coding of the severity with a terminology is preferred, where possible. A subjective assessment of the severity of the condition as evaluated by the clinician. Identification of the condition, problem or diagnosis type Identification of the condition, problem or diagnosis. 0..1 to account for primarily narrative only resources. 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 code from the SNOMED Clinical Terminology UK with the expression (<404684003 |Clinical finding| OR <413350009 |Finding with explicit context| OR <272379006 |Event|). Anatomical location, if relevant The anatomical location where this condition manifests itself. Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension bodySite. May be a summary code, or a reference to a very precise definition of the location, or both. A code from the SNOMED Clinical Terminology UK with the expression (<<442083009 |anatomical or acquired body structure|). Who has the condition? patient Indicates the patient or group who the condition record is associated with. Group is typically used for veterinary or public health use cases. 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(Group | UK Core Patient) 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). 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. Reference(UK Core 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. Encounter created as part of The Encounter during which this Condition was created or to which the creation of this record is tightly associated. This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. This record indicates the encounter this particular record is associated with. In the case of a "new" diagnosis reflecting ongoing/revised information about the condition, this might be distinct from the first encounter in which the underlying condition was first "known". 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). 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. Reference(UK Core 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. Estimated or actual date, date-time, or age Estimated or actual date or date-time the condition began, in the opinion of the clinician. Age is generally used when the patient reports an age at which the Condition began to occur. When in resolution/remission The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate. There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. Date record was first recorded The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date. Who recorded the condition Individual who recorded the record and takes responsibility for its content. 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(UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) 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). 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. Reference(UK Core 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. Person who asserts this condition Individual who is making the condition statement. 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(UK Core Practitioner | UK Core PractitionerRole | UK Core Patient | UK Core RelatedPerson) 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). 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. Reference(UK Core 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. Stage/grade, usually assessed formally Clinical stage or grade of a condition. May include formal severity assessments. Simple summary (disease specific) A simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific. 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. Codes describing condition stages (e.g. Cancer stages). Formal record of assessment Reference to a formal record of the evidence on which the staging assessment is based. 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(ClinicalImpression | UK Core DiagnosticReport | UK Core Observation) 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). 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. Reference(UK Core 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. Kind of staging The kind of staging, such as pathological or clinical staging. 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. Codes describing the kind of condition staging (e.g. clinical or pathological). Supporting evidence Supporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition. The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both. Manifestation/symptom A manifestation or symptom that led to the recording of this condition. 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. Codes that describe the manifestation or symptoms of a condition. Supporting information found elsewhere Links to other relevant information, including pathology reports. 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. 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). 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. Reference(UK Core 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. Additional information about the Condition Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis. For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible). Individual responsible for the annotation The individual responsible for making the annotation. Organization is used when there's no need for specific attribution as to who made the comment. Reference(UK Core Practitioner | UK Core Patient | UK Core RelatedPerson | UK Core Organization) When the annotation was made Indicates when this particular annotation was made. The annotation - text content (as markdown) The text of the annotation in markdown format. 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/> Condition
Condition I Condition Condition
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()
verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty()
abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists()
clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty()
extension I 0..* Extension Element Id Condition.extension
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
actualProblem I 0..1 Extension(Reference(UK Core AllergyIntolerance | UK Core Condition | UK Core Observation | FamilyMemberHistory)) Element Id Condition.extension:actualProblem
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
conditionEpisode I 0..* Extension(code) Element Id Condition.extension:conditionEpisode
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
problemSignificance I 0..1 Extension(code) Element Id Condition.extension:problemSignificance
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
relatedClinicalContent I 0..* Extension(Reference(Resource)) Element Id Condition.extension:relatedClinicalContent
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
relatedProblemHeader I 0..* Extension(Complex) Element Id Condition.extension:relatedProblemHeader
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
identifier Σ 0..* Identifier Condition.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Condition.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Condition.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Condition.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Condition.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Condition.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Condition.identifier.assigner
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
clinicalStatus Σ ?! I 0..1 CodeableConceptBinding Condition.clinicalStatus
hasValue() or (children().count() > id.count())
verificationStatus Σ ?! I 0..1 CodeableConceptBinding Condition.verificationStatus
hasValue() or (children().count() > id.count())
category 0..* CodeableConceptBinding Element Id Condition.category
hasValue() or (children().count() > id.count())
severity 0..1 CodeableConceptBinding Condition.severity
hasValue() or (children().count() > id.count())
code Σ 0..1 CodeableConceptBinding Element Id Condition.code
hasValue() or (children().count() > id.count())
bodySite Σ 0..* CodeableConceptBinding Element Id Condition.bodySite
hasValue() or (children().count() > id.count())
subject Σ I 1..1 Reference(Group | UK Core Patient) Element Id Condition.subject
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Condition.subject.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Condition.subject.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Condition.subject.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Condition.subject.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Condition.subject.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Condition.subject.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Condition.subject.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Condition.subject.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Condition.subject.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 Condition.subject.display
hasValue() or (children().count() > id.count())
encounter Σ I 0..1 Reference(UK Core Encounter) Element Id Condition.encounter
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Condition.encounter.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Condition.encounter.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Condition.encounter.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Condition.encounter.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Condition.encounter.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Condition.encounter.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Condition.encounter.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Condition.encounter.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Condition.encounter.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 Condition.encounter.display
hasValue() or (children().count() > id.count())
onset[x] Σ 0..1 Condition.onset[x]
hasValue() or (children().count() > id.count())
onsetDateTime dateTime onsetAge Age onsetPeriod Period onsetRange Range onsetString string abatement[x] I 0..1 Condition.abatement[x]
hasValue() or (children().count() > id.count())
abatementDateTime dateTime abatementAge Age abatementPeriod Period abatementRange Range abatementString string recordedDate Σ 0..1 dateTime Condition.recordedDate
hasValue() or (children().count() > id.count())
recorder Σ I 0..1 Reference(UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) Element Id Condition.recorder
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Condition.recorder.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Condition.recorder.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Condition.recorder.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Condition.recorder.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Condition.recorder.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Condition.recorder.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Condition.recorder.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Condition.recorder.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Condition.recorder.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 Condition.recorder.display
hasValue() or (children().count() > id.count())
asserter Σ I 0..1 Reference(UK Core Practitioner | UK Core PractitionerRole | UK Core Patient | UK Core RelatedPerson) Element Id Condition.asserter
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Condition.asserter.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Condition.asserter.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Condition.asserter.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Condition.asserter.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Condition.asserter.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Condition.asserter.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Condition.asserter.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Condition.asserter.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Condition.asserter.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 Condition.asserter.display
hasValue() or (children().count() > id.count())
stage I 0..* BackboneElement Condition.stage
hasValue() or (children().count() > id.count())
summary.exists() or assessment.exists()
summary I 0..1 CodeableConcept Condition.stage.summary
hasValue() or (children().count() > id.count())
assessment I 0..* Reference(ClinicalImpression | UK Core DiagnosticReport | UK Core Observation) Element Id Condition.stage.assessment
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Condition.stage.assessment.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Condition.stage.assessment.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Condition.stage.assessment.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Condition.stage.assessment.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Condition.stage.assessment.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Condition.stage.assessment.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Condition.stage.assessment.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Condition.stage.assessment.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Condition.stage.assessment.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 Condition.stage.assessment.display
hasValue() or (children().count() > id.count())
type 0..1 CodeableConcept Condition.stage.type
hasValue() or (children().count() > id.count())
evidence I 0..* BackboneElement Condition.evidence
hasValue() or (children().count() > id.count())
code.exists() or detail.exists()
code Σ I 0..* CodeableConcept Condition.evidence.code
hasValue() or (children().count() > id.count())
detail Σ I 0..* Reference(Resource) Condition.evidence.detail
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Condition.evidence.detail.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Condition.evidence.detail.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Condition.evidence.detail.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Condition.evidence.detail.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Condition.evidence.detail.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Condition.evidence.detail.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Condition.evidence.detail.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Condition.evidence.detail.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Condition.evidence.detail.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 Condition.evidence.detail.display
hasValue() or (children().count() > id.count())
note 0..* Annotation Condition.note
hasValue() or (children().count() > id.count())
author[x] Σ 0..1 Condition.note.author[x]
hasValue() or (children().count() > id.count())
authorString string Data Type authorReference Reference(UK Core Practitioner | UK Core Patient | UK Core RelatedPerson | UK Core Organization) Data Type time Σ 0..1 dateTime Condition.note.time
hasValue() or (children().count() > id.count())
text Σ 1..1 markdown Condition.note.text
hasValue() or (children().count() > id.count())
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
Condition
https://simplifier.net/HL7FHIRUKCoreR4/UKCore-Condition
1..*
Condition.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..1
7aa5814d-d71f-4c9a-a956-03d89f25aae4
Condition.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
Condition.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
Condition.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
Condition.clinicalStatus
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
active
Condition.verificationStatus
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
unconfirmed
Condition.category
The qualifier of the problem or issue necessitating the referral request
MUST
0..1
Condition.category.coding.system
This MUST be populated with CodeSystem - http://snomed.info/sct
MUST
0..1
http://snomed.info/sct
Condition.category.coding.code
This MUST be populated with the Code (SNOMED) of the class of problem or issue
MUST
0..1
33962009
Condition.category.coding.display
This MUST be populated with the human readable Display (SNOMED) of the class of problem or issue
MUST
0..1
Presenting complaint
Condition.code
The 'presenting complaint or issue' (as defined in the Information model) that precipitated the generation of the associated CarePlan
MUST
0..1
Condition.code.text
This MUST be populated with the freetext description of the problem or issue
MUST
0..1
Vomiting
Condition.subject
MUST
1..1
Condition.subject.reference
This MUST be populated with a reference to the Patient
MUST
1..1
urn:uuid:9589fb37-87a2-48d8-968f-b371429208a8
Condition.encounter
MUST
0..1
Condition.encounter.reference
This MUST be populated with a reference to the senders Encounter
MUST
0..1
urn:uuid:b83d13e2-8c2e-422c-88ac-63b8e86a4413
Condition.note
Follow UK Core guidance for populating this element
SHOULD NOT
0..1
This resource is used to communicate details about Task/s that the Sender is requesting of the Receiver. A task to be performed A task to be performed. Task Instance Identifier The business identifier for this task. 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. Reference(UK Core Organization) Formal definition of task The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task. Enables a formal definition of how he task is to be performed, enabling automation. Formal definition of task The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task. Enables a formal definition of how he task is to be performed (e.g. using BPMN, BPEL, XPDL or other formal notation to be associated with a task), enabling automation. see http://en.wikipedia.org/wiki/Uniform_resource_identifier Request fulfilled by this task BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a "request" resource such as a ServiceRequest, MedicationRequest, ServiceRequest, CarePlan, etc. which is distinct from the "request" resource the task is seeking to fulfill. This latter resource is referenced by FocusOn. For example, based on a ServiceRequest (= BasedOn), a task is created to fulfill a procedureRequest ( = FocusOn ) to collect a specimen from a patient. 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. 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). 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. Reference(UK Core 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. Requisition or grouper id An identifier that links together multiple tasks and other requests that were created in the same context. Billing and/or reporting can be linked to whether multiple requests were created as a single unit. Composite task Task that this particular task is part of. Allows tasks to be broken down into sub-steps (and this division can occur independent of the original task). This should usually be 0..1. 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). 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. Reference(UK Core 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. draft | requested | received | accepted | + The current status of the task. These states enable coordination of task status with off-the-shelf workflow solutions that support automation of tasks. Note that FHIR strings SHALL NOT exceed 1MB in size The current status of the task. Reason for current status An explanation as to why this task is held, failed, was refused, etc. This applies to the current status. Look at the history of the task to see reasons for past statuses. Codes to identify the reason for current status. These will typically be specific to a particular workflow. E.g. "Specimen collected", "IV prepped" Contains business-specific nuances of the business state. There's often a need to track substates of a task - this is often variable by specific workflow implementation. 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 domain-specific business-contextual sub-state of the task. For example: "Blood drawn", "IV inserted", "Awaiting physician signature", etc. unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Indicates the "level" of actionability associated with the Task, i.e. i+R[9]Cs this a proposed task, a planned task, an actionable task, etc. This element is immutable. Proposed tasks, planned tasks, etc. must be distinct instances. In most cases, Tasks will have an intent of "order". Distinguishes whether the task is a proposal, plan or full order. routine | urgent | asap | stat Indicates how quickly the Task should be addressed with respect to other requests. Used to identify the service level expected while performing a task. Note that FHIR strings SHALL NOT exceed 1MB in size If missing, this task should be performed with normal priority The task's priority. Task Type A name or code (or both) briefly describing what the task involves. The title (eg "My Tasks", "Outstanding Tasks for Patient X") should go into the code. Codes to identify what the task involves. These will typically be specific to a particular workflow. Human-readable explanation of task A free-text description of what is to be performed. Note that FHIR strings SHALL NOT exceed 1MB in size What task is acting on The request being actioned or the resource being manipulated by this task. Used to identify the thing to be done. If multiple resources need to be manipulated, use sub-tasks. (This ensures that status can be tracked independently for each referenced resource.). 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). 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. Reference(UK Core 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. Beneficiary of the Task Patient The entity who benefits from the performance of the service specified in the task (e.g., the patient). Used to track tasks outstanding for a beneficiary. Do not use to track the task owner or creator (see owner and creator respectively). This can also affect access control. 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. 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). 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. Reference(UK Core 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 event during which this task originated The healthcare event (e.g. a patient and healthcare provider interaction) during which this task was created. For some tasks it may be important to know the link between the encounter the task originated within. 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. 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). 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. Reference(UK Core 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. Start and end time of execution Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end). 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. Task Creation Date Created Date The date and time this task was created. Most often used along with lastUpdated to track duration of task to supporting monitoring and management. Task Last Modified Date Update Date The date and time of last modification to this task. Used along with history to track task activity and time in a particular task state. This enables monitoring and management. Who is asking for task to be done The creator of the task. Identifies who created this task. May be used by access control mechanisms (e.g., to ensure that only the creator can cancel a task). 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(UK Core Device | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) 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). 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. Reference(UK Core 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. Requested performer The kind of participant that should perform the task. Use to distinguish tasks on different activity queues. 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(s) of task performers allowed. Responsible individual Performer, Executer Individual organization or Device currently responsible for task execution. Identifies who is expected to perform this task. Tasks may be created with an owner not yet identified. Reference(UK Core CareTeam | UK Core Device | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson | UK Core HealthcareService) 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). 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. Reference(UK Core 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. Where task occurs Principal physical location where the this task is performed. Ties the event to where the records are likely kept and provides context around the event occurrence (e.g. if it occurred inside or outside a dedicated healthcare setting). 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. 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). 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. Reference(UK Core 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. Why task is needed A description or code indicating why this task needs to be performed. This should only be included if there is no focus or if it differs from the reason indicated on the focus. Indicates why the task is needed. E.g. Suspended because patient admitted to hospital. Why task is needed A resource reference indicating why this task needs to be performed. Tasks might be justified based on an Observation, a Condition, a past or planned procedure, etc. This should only be included if there is no focus or if it differs from the reason indicated on the focus. Use the CodeableConcept text element in 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). 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. Reference(UK Core 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. Associated insurance coverage Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant to the Task. 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(Coverage | ClaimResponse) 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). 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. Reference(UK Core 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. Comments made about the task Free-text information captured about the task as it progresses. For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible). Key events in history of the Task Status History Links to Provenance records for past versions of this Task that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the task. This element does not point to the Provenance associated with the current version of the resource - as it would be created after this version existed. The Provenance for the current version can be retrieved with a _revinclude. 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). 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. Reference(UK Core 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. Constraints on fulfillment tasks If the Task.focus is a request resource and the task is seeking fulfillment (i.e. is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned. Sometimes when fulfillment is sought, you don't want full fulfillment. How many times to repeat Indicates the number of times the requested action should occur. E.g. order that requests monthly lab tests, fulfillment is sought for 1. 32 bit number; for values larger than this, use decimal When fulfillment sought Over what time-period is fulfillment sought. E.g. order that authorizes 1 year's services. Fulfillment is sought for next 3 months. Note that period.high is the due date representing the time by which the task should be completed. For whom is fulfillment sought? For requests that are targeted to more than on potential recipient/target, for whom is fulfillment sought? 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(UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson | Group) 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). 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. Reference(UK Core 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. Information used to perform task Supporting Information Additional information that may be needed in the execution of the task. Resources and data used to perform the task. This data is used in the business logic of task execution, and is stored separately because it varies between workflows. Label for the input Name A code or description indicating how the input is intended to be used as part of the task execution. Inputs are named to enable task automation to bind data and pass it from one task to the next. If referencing a BPMN workflow or Protocol, the "system" is the URL for the workflow definition and the code is the "name" of the required input. Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc. Content to use in performing the task The value of the input parameter as a basic type. Information produced as part of task Outputs produced by the Task. Resources and data produced during the execution the task. This data is generated by the business logic of task execution, and is stored separately because it varies between workflows. Label for output Name The name of the Output parameter. Outputs are named to enable task automation to bind data and pass it from one task to the next. 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. Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc. Result of output The value of the Output parameter as a basic type. Task outputs can take any form.> Task
Task I Task Task
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()
lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
identifier 0..* Identifier Task.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Task.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Task.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Task.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Task.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Task.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Task.identifier.assigner
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
instantiatesCanonical Σ 0..1 canonical(ActivityDefinition) Task.instantiatesCanonical
hasValue() or (children().count() > id.count())
instantiatesUri Σ 0..1 uri Task.instantiatesUri
hasValue() or (children().count() > id.count())
basedOn Σ I 0..* Reference(Resource) Task.basedOn
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Task.basedOn.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Task.basedOn.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Task.basedOn.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Task.basedOn.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Task.basedOn.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Task.basedOn.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Task.basedOn.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Task.basedOn.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Task.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 Task.basedOn.display
hasValue() or (children().count() > id.count())
groupIdentifier Σ 0..1 Identifier Task.groupIdentifier
hasValue() or (children().count() > id.count())
partOf Σ I 0..* Reference(UK Core Task) Element Id Task.partOf
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Task.partOf.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Task.partOf.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Task.partOf.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Task.partOf.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Task.partOf.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Task.partOf.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Task.partOf.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Task.partOf.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Task.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 Task.partOf.display
hasValue() or (children().count() > id.count())
status Σ ?! 1..1 codeBinding Task.status
hasValue() or (children().count() > id.count())
statusReason Σ 0..1 CodeableConcept Task.statusReason
hasValue() or (children().count() > id.count())
businessStatus Σ 0..1 CodeableConcept Task.businessStatus
hasValue() or (children().count() > id.count())
intent Σ 1..1 codeBinding Task.intent
hasValue() or (children().count() > id.count())
priority 0..1 codeBinding Task.priority
hasValue() or (children().count() > id.count())
code Σ 0..1 CodeableConcept Task.code
hasValue() or (children().count() > id.count())
description Σ 0..1 string Task.description
hasValue() or (children().count() > id.count())
focus Σ I 0..1 Reference(Resource) Task.focus
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Task.focus.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Task.focus.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Task.focus.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Task.focus.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Task.focus.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Task.focus.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Task.focus.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Task.focus.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Task.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 Task.focus.display
hasValue() or (children().count() > id.count())
for Σ I 0..1 Reference(Resource) Task.for
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Task.for.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Task.for.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Task.for.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Task.for.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Task.for.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Task.for.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Task.for.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Task.for.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Task.for.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 Task.for.display
hasValue() or (children().count() > id.count())
encounter Σ I 0..1 Reference(UK Core Encounter) Element Id Task.encounter
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Task.encounter.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Task.encounter.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Task.encounter.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Task.encounter.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Task.encounter.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Task.encounter.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Task.encounter.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Task.encounter.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Task.encounter.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 Task.encounter.display
hasValue() or (children().count() > id.count())
executionPeriod Σ I 0..1 Period Task.executionPeriod
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
authoredOn I 0..1 dateTime Task.authoredOn
hasValue() or (children().count() > id.count())
lastModified Σ I 0..1 dateTime Task.lastModified
hasValue() or (children().count() > id.count())
requester Σ I 0..1 Reference(UK Core Device | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) Element Id Task.requester
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Task.requester.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Task.requester.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Task.requester.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Task.requester.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Task.requester.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Task.requester.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Task.requester.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Task.requester.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Task.requester.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 Task.requester.display
hasValue() or (children().count() > id.count())
performerType 0..* CodeableConceptBinding Task.performerType
hasValue() or (children().count() > id.count())
owner Σ I 0..1 Reference(UK Core CareTeam | UK Core Device | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson | UK Core HealthcareService) Element Id Task.owner
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Task.owner.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Task.owner.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Task.owner.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Task.owner.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Task.owner.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Task.owner.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Task.owner.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Task.owner.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Task.owner.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 Task.owner.display
hasValue() or (children().count() > id.count())
location Σ I 0..1 Reference(UK Core Location) Element Id Task.location
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Task.location.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Task.location.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Task.location.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Task.location.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Task.location.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Task.location.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Task.location.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Task.location.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Task.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 Task.location.display
hasValue() or (children().count() > id.count())
reasonCode 0..1 CodeableConcept Task.reasonCode
hasValue() or (children().count() > id.count())
reasonReference I 0..1 Reference(Resource) Task.reasonReference
Task.reasonCode
if the data is free (uncoded) text.hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Task.reasonReference.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Task.reasonReference.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Task.reasonReference.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Task.reasonReference.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Task.reasonReference.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Task.reasonReference.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Task.reasonReference.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Task.reasonReference.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Task.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 Task.reasonReference.display
hasValue() or (children().count() > id.count())
insurance I 0..* Reference(Coverage | ClaimResponse) Task.insurance
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Task.insurance.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Task.insurance.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Task.insurance.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Task.insurance.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Task.insurance.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Task.insurance.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Task.insurance.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Task.insurance.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Task.insurance.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 Task.insurance.display
hasValue() or (children().count() > id.count())
note 0..* Annotation Task.note
hasValue() or (children().count() > id.count())
relevantHistory I 0..* Reference(UK Core Provenance) Element Id Task.relevantHistory
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Task.relevantHistory.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Task.relevantHistory.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Task.relevantHistory.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Task.relevantHistory.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Task.relevantHistory.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Task.relevantHistory.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Task.relevantHistory.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Task.relevantHistory.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Task.relevantHistory.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 Task.relevantHistory.display
hasValue() or (children().count() > id.count())
restriction 0..1 BackboneElement Task.restriction
hasValue() or (children().count() > id.count())
repetitions 0..1 positiveInt Task.restriction.repetitions
hasValue() or (children().count() > id.count())
period I 0..1 Period Task.restriction.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
recipient I 0..* Reference(UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson | Group) Element Id Task.restriction.recipient
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Task.restriction.recipient.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Task.restriction.recipient.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Task.restriction.recipient.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Task.restriction.recipient.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Task.restriction.recipient.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Task.restriction.recipient.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Task.restriction.recipient.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Task.restriction.recipient.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Task.restriction.recipient.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 Task.restriction.recipient.display
hasValue() or (children().count() > id.count())
input 0..* BackboneElement Task.input
hasValue() or (children().count() > id.count())
type 1..1 CodeableConcept Task.input.type
hasValue() or (children().count() > id.count())
value[x] 1..1 Task.input.value[x]
hasValue() or (children().count() > id.count())
valueBase64Binary base64Binary valueBoolean boolean valueCanonical canonical() valueCode code valueDate date valueDateTime dateTime valueDecimal decimal valueId id valueInstant instant valueInteger integer valueMarkdown markdown valueOid oid valuePositiveInt positiveInt valueString string valueTime time valueUnsignedInt unsignedInt valueUri uri valueUrl url valueUuid uuid valueAddress Address valueAge Age valueAnnotation Annotation valueAttachment Attachment valueCodeableConcept CodeableConcept valueCoding Coding valueContactPoint ContactPoint valueCount Count valueDistance Distance valueDuration Duration valueHumanName HumanName valueIdentifier Identifier valueMoney Money valuePeriod Period valueQuantity Quantity valueRange Range valueRatio Ratio valueSampledData SampledData valueSignature Signature valueTiming Timing valueContactDetail ContactDetail valueContributor Contributor valueDataRequirement DataRequirement valueExpression Expression valueParameterDefinition ParameterDefinition valueRelatedArtifact RelatedArtifact valueTriggerDefinition TriggerDefinition valueUsageContext UsageContext valueDosage Dosage valueMeta Meta valueReference Reference() output 0..* BackboneElement Task.output
hasValue() or (children().count() > id.count())
type 1..1 CodeableConcept Task.output.type
hasValue() or (children().count() > id.count())
value[x] 1..1 Task.output.value[x]
hasValue() or (children().count() > id.count())
valueBase64Binary base64Binary valueBoolean boolean valueCanonical canonical() valueCode code valueDate date valueDateTime dateTime valueDecimal decimal valueId id valueInstant instant valueInteger integer valueMarkdown markdown valueOid oid valuePositiveInt positiveInt valueString string valueTime time valueUnsignedInt unsignedInt valueUri uri valueUrl url valueUuid uuid valueAddress Address valueAge Age valueAnnotation Annotation valueAttachment Attachment valueCodeableConcept CodeableConcept valueCoding Coding valueContactPoint ContactPoint valueCount Count valueDistance Distance valueDuration Duration valueHumanName HumanName valueIdentifier Identifier valueMoney Money valuePeriod Period valueQuantity Quantity valueRange Range valueRatio Ratio valueSampledData SampledData valueSignature Signature valueTiming Timing valueContactDetail ContactDetail valueContributor Contributor valueDataRequirement DataRequirement valueExpression Expression valueParameterDefinition ParameterDefinition valueRelatedArtifact RelatedArtifact valueTriggerDefinition TriggerDefinition valueUsageContext UsageContext valueDosage Dosage valueMeta Meta valueReference Reference()
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
Task
https://simplifier.net/HL7FHIRUKCoreR4/UKCore-Task
1..*
Task.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..1
a6450d17-cb7e-483b-8f71-b8201cfbcbd4
Task.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
Task.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
Task.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
Task.status
This MUST be populated with 'requested' - Fixed Value
MUST
1..1
requested
Task.intent
This MUST be populated with 'order' - Fixed Value
MUST
1..1
order
Task.code
This MUST be populated with the action (by the specific Pharmacy Service (Referral Type)) the Sender is requesting of the Receiver. If multiple actions (which are to occur within different timeframes) are to be requested these would be represented in independent Task resources.
MUST
0..1
Task.code.coding.system
This MUST be populated with CodeSystem - http://snomed.info/sct
MUST
0..1
http://snomed.info/sct
Task.code.coding.code
This MUST be populated with the Code (SNOMED) of action by the Pharmacy Service
MUST
0..1
1577041000000100
Task.code.coding.display
This MUST be populated with the human readable Display (SNOMED) of action by the Pharmacy Service
MUST
0..1
Community Pharmacist Consultation Service for minor illness (procedure)
Task.description
This SHOULD be populated with a human readable summary of the intended instruction of the Task, combining the key elements e.g. Task.code and Task.restriction.period
SHOULD
0..1
Initial assessment by Pharmacist for CPCS Minor Illness Service within 30 minutes'
Task.focus
0..1
Task.focus.reference
Used for New Medicines Service to indicate the MedicationStatement to provide guidance on
Must
0..1
urn:uuid:8c63d621-4d86-4f57-8699-e8e22d49935d
Task.encounter
SHOULD
0..1
Task.encounter.reference
This MUST be populated with a reference to the senders Encounter
SHOULD
0..1
urn:uuid:b83d13e2-8c2e-422c-88ac-63b8e86a4413
Task.authoredOn
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
2023-03-08T12:15:08+00:00
Task.restriction.period
This SHOULD be populated to indicate when time sensitive requests to be undertaken
SHOULD
0..1
Task.restriction.period.start
This SHOULD be populated with the start of time sensitive requests for a task to be undertaken
SHOULD
0..1
2023-03-08T12:45:08+00:00
Task.restriction.period.end
This SHOULD be populate with the latest time the task can be completed within
SHOULD
0..1
2023-03-08T13:15:08+00:00
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. 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. Extension(Reference(UK Core Location)) 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 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. System.String The date range that this organization should be considered available. The date range that this organization should be considered available. 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) Constraints 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. 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. Reference(UK Core 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. 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. Reference(UK Core 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. Reference(UK Core Organization) 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). 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. Reference(UK Core 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. 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. 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). 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. Reference(UK Core 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
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()) > 0
extension I 0..* Extension Element Id Organization.extension
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
mainLocation I 0..* Extension(Reference(UK Core Location)) 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()
url 1..1 System.StringFixed 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 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())
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(UK Core Organization) 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())
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(UK Core Organization) 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(UK Core Organization) 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'))
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())
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(UK Core Organization) 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())
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'))
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())
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(UK Core Organization) 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
Profile Cardinality
Example Value(s)
Organisation
https://simplifier.net/hl7fhirukcorer4/ukcore-organization
2..*
Organization.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..1
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 SHOULD be populated with an organisation identifier e.g. ODS code
SHOULD
0..*
Organization.identifier.system
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
https://fhir.nhs.uk/id/ods-organization-code
Organization.identifier.value
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
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 referral 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. 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. 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. Reference(UK Core 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. 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. 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. Reference(UK Core 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. Reference(UK Core Organization) 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). 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. Reference(UK Core 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
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()
identifier Σ 0..* Identifier Practitioner.identifier
hasValue() or (children().count() > id.count())
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(UK Core Organization) 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())
identifier 0..* Identifier Practitioner.qualification.identifier
hasValue() or (children().count() > id.count())
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(UK Core Organization) 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(UK Core Organization) 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'))
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())
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(UK Core Organization) 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
Profile Cardinality
Example Value(s)
Practitioner
https://simplifier.net/hl7fhirukcorer4/ukcore-practitioner
1..*
Practitioner.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..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 SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..*
Practitioner.identifier.system
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
https://fhir.nhs.uk/Id/sds-role-profile-id
Practitioner.identifier.value
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
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. 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. 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. Reference(UK Core 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. Reference(UK Core Practitioner) 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). 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. Reference(UK Core 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. Reference(UK Core Organization) 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). 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. Reference(UK Core 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. 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). 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. Reference(UK Core 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. 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). 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. Reference(UK Core 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. 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. 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. 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). 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. Reference(UK Core 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
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()
identifier Σ 0..* Identifier Element Id PractitionerRole.identifier
hasValue() or (children().count() > id.count())
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(UK Core Organization) 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(UK Core Practitioner) 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'))
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())
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(UK Core Organization) 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(UK Core Organization) 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'))
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())
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(UK Core Organization) 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(UK Core Location) 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'))
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())
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(UK Core Organization) 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'))
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())
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(UK Core Organization) 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())
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())
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'))
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())
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(UK Core Organization) 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
Profile Cardinality
Example Value(s)
PractitionerRole
https://simplifier.net/hl7fhirukcorer4/ukcore-practitionerrole
1..*
PractitionerRole.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..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
SHOULD
0..1
PractitionerRole.practitioner.reference
This SHOULD be populated but MUST be populated for the Practitoner resource linked to serviceRequest.performer.
SHOULD
0..1
urn:uuid:7d948662-bade-450e-b6c5-9bb6ee39cb56
PractitionerRole.Organisation
SHOULD
0..1
PractitionerRole.Organisation.reference
This SHOULD be populated where the Organisation is known. Follow UK Core guidance for populating this element
SHOULD
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
PractitionerRole.healthcareService
SHOULD
0..*
PractitionerRole.healthcareService.reference
This SHOULD be populated where the Organisation of the ServiceRequest.performer is not known.
SHOULD
0..*
urn:uuid:6f3cc6930da34578812ca36de01268f9
The Flag resource is used to risks and special patient requirements e.g. transport requirements, accessibility requirements, and reasonable adjustments. It can also be used to carry information about safeguarding concerns. Key information to flag to healthcare providers Barriers to Care, Alert, Warning Prospective warnings of potential issues when providing care to the patient. Business identifier Business identifiers assigned to this flag by the performer or other systems which remain constant as the resource is updated and propagates from server to server. Allows identification of the flag as it is known by various participating systems and in a way that remains consistent across servers. This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. 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. Reference(UK Core Organization) active | inactive | entered-in-error Supports basic workflow. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. Indicates whether this flag is active and needs to be displayed to a user, or whether it is no longer needed or was entered in error. Clinical, administrative, etc. Allows a flag to be divided into different categories like clinical, administrative etc. Intended to be used as a means of filtering which flags are displayed to particular user or in a given context. The value set will often need to be adjusted based on local business rules and usage context. A general category for flags for filtering/display purposes. Coded or textual message to display to user The coded value or textual component of the flag to display to the user. If non-coded, use CodeableConcept.text. This element should always be included in the narrative. Detail codes identifying specific flagged issues. Who/What is flag about? The patient, location, group, organization, or practitioner etc. this is about record this flag is associated with. 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(UK Core Location | UK Core Medication | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core Procedure | Group | PlanDefinition) 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). 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. Reference(UK Core 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. Time period when flag is active The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified. 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. Alert relevant during encounter This alert is only relevant during the encounter. If both Flag.encounter and Flag.period are valued, then Flag.period.start shall not be before Encounter.period.start and Flag.period.end shall not be after Encounter.period.end. 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). 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. Reference(UK Core 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. Flag creator The person, organization or device that created the flag. 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(UK Core Device | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole) 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). 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. Reference(UK Core 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.
> Flag
Flag I Flag Flag
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 Σ 0..* Identifier Flag.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Flag.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Flag.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Flag.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Flag.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Flag.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Flag.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 Flag.status
hasValue() or (children().count() > id.count())
category Σ 0..* CodeableConcept Flag.category
hasValue() or (children().count() > id.count())
code Σ 1..1 CodeableConcept Flag.code
hasValue() or (children().count() > id.count())
subject Σ I 1..1 Reference(UK Core Location | UK Core Medication | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core Procedure | Group | PlanDefinition) Element Id Flag.subject
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Flag.subject.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Flag.subject.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Flag.subject.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Flag.subject.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Flag.subject.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Flag.subject.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Flag.subject.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Flag.subject.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Flag.subject.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 Flag.subject.display
hasValue() or (children().count() > id.count())
period Σ I 0..1 Period Flag.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
encounter Σ I 0..1 Reference(UK Core Encounter) Element Id Flag.encounter
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Flag.encounter.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Flag.encounter.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Flag.encounter.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Flag.encounter.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Flag.encounter.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Flag.encounter.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Flag.encounter.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Flag.encounter.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Flag.encounter.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 Flag.encounter.display
hasValue() or (children().count() > id.count())
author Σ I 0..1 Reference(UK Core Device | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole) Element Id Flag.author
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Flag.author.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Flag.author.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Flag.author.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Flag.author.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Flag.author.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Flag.author.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Flag.author.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Flag.author.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Flag.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 Flag.author.display
hasValue() or (children().count() > id.count())
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
Flag
https://simplifier.net/hl7fhirukcorer4/ukcore-flag
0..*
Flag.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..1
77be46e3-7f01-4afe-b37d-7a301db6df63
Flag.meta
https://www.hl7.org/fhir/resource.html#Meta
1..1
Flag.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
http://hl7.org/fhir/StructureDefinition/Flag
Flag.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
Flag.status
A status of 'active' MUST be assigned
MUST
1..1
active
Flag.category
This MUST be used to indicate the 'type' of Flag e.g. Safeguarding Concern etc.
MUST
0..*
Flag.category.coding
This MUST be populated with the overarching Flag Category: e.g. Safeguarding or Reasonable Adjustment from CodeSystem 'https://fhir.nhs.uk/CodeSystem/flag-categories-bars'
MUST
1..1
Flag.category.coding.system
This MUST be populated with 'https://fhir.nhs.uk/CodeSystem/flag-categories-bars' - FIXED VALUE
MUST
0..1
https://fhir.nhs.uk/CodeSystem/flag-categories-bars
Flag.category.coding.code
This MUST be populated with the Code of the Flag Category. See CodeSystem https://fhir.nhs.uk/CodeSystem/flag-categories-bars
MUST
0..1
RA
Flag.category.coding.display
This MUST be populated with the Display of the Flag Category. See CodeSystem https://fhir.nhs.uk/CodeSystem/flag-categories-bars
MUST
0..1
Reasonable Adjustment
Flag.code
MUST
1..1
Flag.code.coding
This MUST be populated with the detail of what is being flagged in Flag Category. e.g. for Reasonable Adjustment (Flag Category): 'adjustforneedlephobia'(Code) 'Adjust for needle phobia'(Display). It would not be appropriate to indicate a Category of 'Safeguarding' and a Code of 'Reasonable Adjustment'. The Category and Code MUST correlate.
MUST
1..1
Flag.code.coding.system
This MUST be populated with the Coding System for what is being flagged e.g. https://fhir.nhs.uk/CodeSystem/reasonable-adjustment-codes-bars
MUST
0..1
https://fhir.nhs.uk/CodeSystem/reasonable-adjustment-codes-bars
Flag.code.coding.code
This MUST be populated with the relevant Code from the selected Flag code CodeSystem
MUST
0..1
adjustforneedlephobia
Flag.code.coding.display
This MUST be populated with the Display text from the Flag code CodeSystem
MUST
0..1
Adjust for needle phobia
Flag.subject
MUST
1..1
Flag.subject.reference
This MUST be populated with the subject that the flag refers to. Where the flag relates to the patient (e.g. reasonable adjustments) this will reference the Patient resource
MUST
1..1
urn:uuid:9589fb37-87a2-48d8-968f-b371429208a8
Flag.period
SHOULD
0..1
Flag.period.start
Follow UK Core guidance for populating this element
SHOULD
0..1
2023-03-08T12:01:08.4677672+00:00
Flag.period.end
Follow UK Core guidance for populating this element
MAY
0..1
2023-03-08T12:01:08.4677672+00:00
This resource MAY be used to carry new medication prescribed at the encounter. This SHOULD NOT be used to carry Medication History obtained from external sources. Record of medication being taken by a patient A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains. The primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information. When interpreting a medicationStatement, the value of the status and NotTaken needed to be considered:
MedicationStatement.status + MedicationStatement.wasNotTaken
Status=Active + NotTaken=T = Not currently taking
Status=Completed + NotTaken=T = Not taken in the past
Status=Intended + NotTaken=T = No intention of taking
Status=Active + NotTaken=F = Taking, but not as prescribed
Status=Active + NotTaken=F = Taking
Status=Intended +NotTaken= F = Will be taking (not started)
Status=Completed + NotTaken=F = Taken in past
Status=In Error + NotTaken=N/A = In Error. 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) Indicates whether a pharmacist verified a medication extensions, user content This extension is used to indicate whether a pharmacist verified a medication. 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-PharmacistVerifiedIndicator The type of organisation or setting responsible for authorising and issuing a medication extensions, user content This extension carries the type of organisation or setting responsible for authorising and issuing a medication. 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-MedicationPrescribingOrganization The date when a prescription was last issued extensions, user content This extension supports the exchange of the date information when a prescription was last issued. 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-MedicationStatementLastIssueDate External identifier Identifiers associated with this Medication Statement 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. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server. This is a business identifier, not a resource identifier. 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. Reference(UK Core Organization) Fulfils plan, proposal or order A plan, proposal or order that is fulfilled in whole or in part by this event. Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon. 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(UK Core CarePlan | UK Core MedicationRequest | UK Core ServiceRequest) 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). 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. Reference(UK Core 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. Part of referenced event A larger event of which this particular event is a component or step. This should not be used when indicating which resource a MedicationStatement has been derived from. If that is the use case, then MedicationStatement.derivedFrom should be used. 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(UK Core MedicationDispense | UK Core MedicationStatement | UK Core Observation | UK Core Procedure | UK Core MedicationAdministration) 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). 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. Reference(UK Core 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. active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken A code representing the patient or other source's judgment about the state of the medication used that this statement is about. Generally, this will be active or completed. MedicationStatement is a statement at a point in time. The status is only representative at the point when it was asserted. The value set for MedicationStatement.status contains codes that assert the status of the use of the medication by the patient (for example, stopped or on hold) as well as codes that assert the status of the medication statement itself (for example, entered in error). This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. A coded concept indicating the current status of a MedicationStatement. Reason for current status Captures the reason for the current state of the MedicationStatement. This is generally only used for "exception" statuses such as "not-taken", "on-hold", "cancelled" or "entered-in-error". The reason for performing the event at all is captured in reasonCode, not here. A coded concept indicating the reason for the status of the statement. Type of medication usage Indicates where the medication is expected to be consumed or administered. 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 coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered. What medication was taken Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications. If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource. A coded concept identifying the substance or product being taken. Who is/was taking the medication The person, animal or group who is/was taking the medication. 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(Group | UK Core Patient) 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). 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. Reference(UK Core 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. Encounter / Episode associated with MedicationStatement The encounter or episode of care that establishes the context for this MedicationStatement. 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(UK Core EpisodeOfCare | UK Core Encounter) 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). 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. Reference(UK Core 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/time or interval when the medication is/was/will be taken The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.taken element is No). This attribute reflects the period over which the patient consumed the medication and is expected to be populated on the majority of Medication Statements. If the medication is still being taken at the time the statement is recorded, the "end" date will be omitted. The date/time attribute supports a variety of dates - year, year/month and exact date. If something more than this is required, this should be conveyed as text. When the statement was asserted? The date when the medication statement was asserted by the information source. Person or organization that provided the information about the taking of this medication The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g. Claim or MedicationRequest. 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(UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core RelatedPerson | UK Core PractitionerRole) 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). 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. Reference(UK Core 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. Additional supporting information Allows linking the MedicationStatement to the underlying MedicationRequest, or to other information that supports or is used to derive the MedicationStatement. Likely references would be to MedicationRequest, MedicationDispense, Claim, Observation or QuestionnaireAnswers. The most common use cases for deriving a MedicationStatement comes from creating a MedicationStatement from a MedicationRequest or from a lab observation or a claim. it should be noted that the amount of information that is available varies from the type resource that you derive the MedicationStatement from. 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). 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. Reference(UK Core 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. Reason for why the medication is being/was taken A reason for why the medication is being/was taken. This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonForUseReference. A coded concept identifying why the medication is being taken. Condition or observation that supports why the medication is being/was taken Condition or observation that supports why the medication is being/was taken. This is a reference to a condition that is the reason why the medication is being/was taken. If only a code exists, use reasonForUseCode. Reference(UK Core Condition | UK Core Observation) 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). 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. Reference(UK Core 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. Further information about the statement Provides extra information about the medication statement that is not conveyed by the other attributes. For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible). Individual responsible for the annotation The individual responsible for making the annotation. Organization is used when there's no need for specific attribution as to who made the comment. Reference(UK Core Patient | UK Core Practitioner | UK Core RelatedPerson) When the annotation was made Indicates when this particular annotation was made. The annotation - text content (as markdown) The text of the annotation in markdown format. 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/ Details of how medication is/was taken or should be taken Indicates how the medication is/was or should be taken by the patient. The dates included in the dosage on a Medication Statement reflect the dates for a given dose. For example, "from November 1, 2016 to November 3, 2016, take one tablet daily and from November 4, 2016 to November 7, 2016, take two tablets daily." It is expected that this specificity may only be populated where the patient brings in their labeled container or where the Medication Statement is derived from a MedicationRequest. The order of the dosage instructions Indicates the order in which the dosage instructions should be applied or interpreted. If the sequence number of multiple Dosages is the same, then it is implied that the instructions are to be treated as concurrent. If the sequence number is different, then the Dosages are intended to be sequential. 32 bit number; for values larger than this, use decimal Free text dosage instructions e.g. SIG Free text dosage instructions e.g. SIG. Free text dosage instructions can be used for cases where the instructions are too complex to code. The content of this attribute does not include the name or description of the medication. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. It is expected that the text instructions will always be populated. If the dosage.timing attribute is also populated, then the dosage.text should reflect the same information as the timing. Additional information about administration or preparation of the medication should be included as text. Note that FHIR strings SHALL NOT exceed 1MB in size Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Supplemental instructions to the patient on how to take the medication (e.g. "with meals" or"take half to one hour before food") or warnings for the patient about the medication (e.g. "may cause drowsiness" or "avoid exposure of skin to direct sunlight or sunlamps"). Additional instruction is intended to be coded, but where no code exists, the element could include text. For example, "Swallow with plenty of water" which might or might not be coded. Information about administration or preparation of the medication (e.g. "infuse as rapidly as possibly via intraperitoneal port" or "immediately following drug x") should be populated in dosage.text. A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery". Patient or consumer oriented instructions Instructions in terms that are understood by the patient or consumer. Note that FHIR strings SHALL NOT exceed 1MB in size When medication should be administered When medication should be administered. The timing schedule for giving the medication to the patient. This data type allows many different expressions. For example: "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time period. This attribute might not always be populated while the Dosage.text is expected to be populated. If both are populated, then the Dosage.text should reflect the content of the Dosage.timing. Take "as needed" (for x) Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). Can express "as needed" without a reason by setting the Boolean = True. In this case the CodeableConcept is not populated. Or you can express "as needed" with a reason by including the CodeableConcept. In this case the Boolean is assumed to be True. If you set the Boolean to False, then the dose is given according to the schedule and is not "prn" or "as needed". A set of codes that define a precondition for taking a medication Body site to administer to Body site to administer to. A coded specification of the anatomic site where the medication first enters the body. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension bodySite. May be a summary code, or a reference to a very precise definition of the location, or both. A coded concept describing the site location the medicine enters into or onto the body. How drug should enter body How drug should enter body. A code specifying the route or physiological path of administration of a therapeutic agent into or onto a patient's body. 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 coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject. Technique for administering medication Technique for administering medication. A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. For examples, Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration. A coded concept describing the technique by which the medicine is administered. Amount of medication administered The amount of medication administered. The kind of dose or rate specified The kind of dose or rate specified, for example, ordered or calculated. If the type is not populated, assume to be "ordered". 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 kind of dose or rate specified. Amount of medication per dose Amount of medication per dose. The amount of therapeutic or other substance given at one administration event. Note that this specifies the quantity of the specified medication, not the quantity for each active ingredient(s). Each ingredient amount can be communicated in the Medication resource. For example, if one wants to communicate that a tablet was 375 mg, where the dose was one tablet, you can use the Medication resource to document that the tablet was comprised of 375 mg of drug XYZ. Alternatively if the dose was 375 mg, then you may only need to use the Medication resource to indicate this was a tablet. If the example were an IV such as dopamine and you wanted to communicate that 400mg of dopamine was mixed in 500 ml of some IV solution, then this would all be communicated in the Medication resource. If the administration is not intended to be instantaneous (rate is present or timing has a duration), this can be specified to convey the total amount to be administered over the period of time as indicated by the schedule e.g. 500 ml in dose, with timing used to convey that this should be done over 4 hours. Amount of medication per unit of time Amount of medication per unit of time. Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time period. It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour. Upper limit on medication per unit of time Upper limit on medication per unit of time. The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time. For example, 1000mg in 24 hours. This is intended for use as an adjunct to the dosage when there is an upper cap. For example "2 tablets every 4 hours to a maximum of 8/day". Upper limit on medication per administration Upper limit on medication per administration. The maximum total quantity of a therapeutic substance that may be administered to a subject per administration. This is intended for use as an adjunct to the dosage when there is an upper cap. For example, a body surface area related dose with a maximum amount, such as 1.5 mg/m2 (maximum 2 mg) IV over 5 – 10 minutes would have doseQuantity of 1.5 mg/m2 and maxDosePerAdministration of 2 mg. Upper limit on medication per lifetime of the patient Upper limit on medication per lifetime of the patient. The maximum total quantity of a therapeutic substance that may be administered per lifetime of the subject. The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.
> MedicationStatement
MedicationStatement I MedicationStatement MedicationStatement
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()
extension I 0..* Extension Element Id MedicationStatement.extension
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
pharmacistVerifiedIndicator I 0..1 Extension(boolean) Element Id MedicationStatement.extension:pharmacistVerifiedIndicator
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
medicationPrescribingOrganization I 0..1 Extension(CodeableConcept) Element Id MedicationStatement.extension:medicationPrescribingOrganization
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
medicationStatementLastIssueDate I 0..1 Extension(dateTime) Element Id MedicationStatement.extension:medicationStatementLastIssueDate
hasValue() or (children().count() > id.count())
extension.exists() != value.exists()
identifier Σ 0..* Identifier MedicationStatement.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding MedicationStatement.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding MedicationStatement.identifier.type
hasValue() or (children().count() > id.count())
system Σ 1..1 uri MedicationStatement.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 1..1 string MedicationStatement.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period MedicationStatement.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id MedicationStatement.identifier.assigner
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
basedOn Σ I 0..* Reference(UK Core CarePlan | UK Core MedicationRequest | UK Core ServiceRequest) Element Id MedicationStatement.basedOn
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string MedicationStatement.basedOn.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding MedicationStatement.basedOn.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier MedicationStatement.basedOn.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding MedicationStatement.basedOn.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding MedicationStatement.basedOn.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri MedicationStatement.basedOn.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MedicationStatement.basedOn.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period MedicationStatement.basedOn.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id MedicationStatement.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 MedicationStatement.basedOn.display
hasValue() or (children().count() > id.count())
partOf Σ I 0..* Reference(UK Core MedicationDispense | UK Core MedicationStatement | UK Core Observation | UK Core Procedure | UK Core MedicationAdministration) Element Id MedicationStatement.partOf
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string MedicationStatement.partOf.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding MedicationStatement.partOf.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier MedicationStatement.partOf.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding MedicationStatement.partOf.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding MedicationStatement.partOf.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri MedicationStatement.partOf.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MedicationStatement.partOf.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period MedicationStatement.partOf.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id MedicationStatement.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 MedicationStatement.partOf.display
hasValue() or (children().count() > id.count())
status Σ ?! 1..1 codeBinding MedicationStatement.status
hasValue() or (children().count() > id.count())
statusReason 0..* CodeableConcept MedicationStatement.statusReason
hasValue() or (children().count() > id.count())
category Σ 0..1 CodeableConceptBinding Element Id MedicationStatement.category
hasValue() or (children().count() > id.count())
medication[x] Σ 1..1 Binding Element Id MedicationStatement.medication[x]
hasValue() or (children().count() > id.count())
medicationCodeableConcept CodeableConcept Data Type medicationReference Reference(UK Core Medication) Data Type subject Σ I 1..1 Reference(Group | UK Core Patient) Element Id MedicationStatement.subject
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string MedicationStatement.subject.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding MedicationStatement.subject.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier MedicationStatement.subject.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding MedicationStatement.subject.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding MedicationStatement.subject.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri MedicationStatement.subject.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MedicationStatement.subject.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period MedicationStatement.subject.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id MedicationStatement.subject.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 MedicationStatement.subject.display
hasValue() or (children().count() > id.count())
context Σ I 0..1 Reference(UK Core EpisodeOfCare | UK Core Encounter) Element Id MedicationStatement.context
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string MedicationStatement.context.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding MedicationStatement.context.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier MedicationStatement.context.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding MedicationStatement.context.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding MedicationStatement.context.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri MedicationStatement.context.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MedicationStatement.context.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period MedicationStatement.context.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id MedicationStatement.context.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 MedicationStatement.context.display
hasValue() or (children().count() > id.count())
effective[x] Σ 0..1 MedicationStatement.effective[x]
hasValue() or (children().count() > id.count())
effectiveDateTime dateTime effectivePeriod Period dateAsserted Σ 0..1 dateTime MedicationStatement.dateAsserted
hasValue() or (children().count() > id.count())
informationSource I 0..1 Reference(UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core RelatedPerson | UK Core PractitionerRole) Element Id MedicationStatement.informationSource
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string MedicationStatement.informationSource.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding MedicationStatement.informationSource.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier MedicationStatement.informationSource.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding MedicationStatement.informationSource.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding MedicationStatement.informationSource.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri MedicationStatement.informationSource.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MedicationStatement.informationSource.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period MedicationStatement.informationSource.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id MedicationStatement.informationSource.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 MedicationStatement.informationSource.display
hasValue() or (children().count() > id.count())
derivedFrom I 0..* Reference(Resource) MedicationStatement.derivedFrom
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string MedicationStatement.derivedFrom.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding MedicationStatement.derivedFrom.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier MedicationStatement.derivedFrom.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding MedicationStatement.derivedFrom.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding MedicationStatement.derivedFrom.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri MedicationStatement.derivedFrom.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MedicationStatement.derivedFrom.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period MedicationStatement.derivedFrom.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id MedicationStatement.derivedFrom.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 MedicationStatement.derivedFrom.display
hasValue() or (children().count() > id.count())
reasonCode 0..* CodeableConcept MedicationStatement.reasonCode
hasValue() or (children().count() > id.count())
reasonReference I 0..* Reference(UK Core Condition | UK Core Observation) Element Id MedicationStatement.reasonReference
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string MedicationStatement.reasonReference.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding MedicationStatement.reasonReference.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier MedicationStatement.reasonReference.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding MedicationStatement.reasonReference.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding MedicationStatement.reasonReference.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri MedicationStatement.reasonReference.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string MedicationStatement.reasonReference.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period MedicationStatement.reasonReference.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id MedicationStatement.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 MedicationStatement.reasonReference.display
hasValue() or (children().count() > id.count())
note 0..* Annotation MedicationStatement.note
hasValue() or (children().count() > id.count())
author[x] Σ 0..1 MedicationStatement.note.author[x]
hasValue() or (children().count() > id.count())
authorString string Data Type authorReference Reference(UK Core Patient | UK Core Practitioner | UK Core RelatedPerson) Data Type time Σ 0..1 dateTime MedicationStatement.note.time
hasValue() or (children().count() > id.count())
text Σ 1..1 markdown MedicationStatement.note.text
hasValue() or (children().count() > id.count())
dosage 0..* Dosage MedicationStatement.dosage
hasValue() or (children().count() > id.count())
sequence Σ 0..1 integer MedicationStatement.dosage.sequence
hasValue() or (children().count() > id.count())
text Σ 0..1 string MedicationStatement.dosage.text
hasValue() or (children().count() > id.count())
additionalInstruction Σ 0..* CodeableConcept MedicationStatement.dosage.additionalInstruction
hasValue() or (children().count() > id.count())
patientInstruction Σ 0..1 string MedicationStatement.dosage.patientInstruction
hasValue() or (children().count() > id.count())
timing Σ 0..1 Timing MedicationStatement.dosage.timing
hasValue() or (children().count() > id.count())
asNeeded[x] Σ 0..1 Binding Element Id MedicationStatement.dosage.asNeeded[x]
hasValue() or (children().count() > id.count())
asNeededBoolean boolean asNeededCodeableConcept CodeableConcept site Σ 0..1 CodeableConceptBinding Element Id MedicationStatement.dosage.site
hasValue() or (children().count() > id.count())
route Σ 0..1 CodeableConceptBinding Element Id MedicationStatement.dosage.route
hasValue() or (children().count() > id.count())
method Σ 0..1 CodeableConceptBinding Element Id MedicationStatement.dosage.method
hasValue() or (children().count() > id.count())
doseAndRate Σ 0..* Element MedicationStatement.dosage.doseAndRate
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConcept MedicationStatement.dosage.doseAndRate.type
hasValue() or (children().count() > id.count())
dose[x] Σ 0..1 MedicationStatement.dosage.doseAndRate.dose[x]
hasValue() or (children().count() > id.count())
doseRange Range doseQuantity SimpleQuantity rate[x] Σ 0..1 MedicationStatement.dosage.doseAndRate.rate[x]
hasValue() or (children().count() > id.count())
rateRatio Ratio rateRange Range rateQuantity SimpleQuantity maxDosePerPeriod Σ I 0..1 Ratio MedicationStatement.dosage.maxDosePerPeriod
hasValue() or (children().count() > id.count())
(numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())
maxDosePerAdministration Σ I 0..1 SimpleQuantity MedicationStatement.dosage.maxDosePerAdministration
hasValue() or (children().count() > id.count())
code.empty() or system.exists()
comparator.empty()
maxDosePerLifetime Σ I 0..1 SimpleQuantity MedicationStatement.dosage.maxDosePerLifetime
hasValue() or (children().count() > id.count())
code.empty() or system.exists()
comparator.empty()
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
MedicationStatement
https://simplifier.net/hl7fhirukcorer4/ukcoremedicationstatement
0..*
MedicationStatement.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..1
89e4a6d0-4054-4267-b86a-b7cf55c0d941
MedicationStatement.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
MedicationStatement.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationStatement
MedicationStatement.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
MedicationStatement.status
Follow UK Core guidance for populating this element
MUST
1..1
active
MedicationStatement.category
MAY
0..1
MedicationStatement.category.coding
MUST
1..1
MedicationStatement.category.coding.system
Follow UK Core guidance for populating this element
MAY
0..1
http://terminology.hl7.org/CodeSystem/medication-statement-category
MedicationStatement.category.coding.code
Follow UK Core guidance for populating this element
MAY
0..1
outpatient
MedicationStatement.category.coding.display
Follow UK Core guidance for populating this element
MAY
0..1
Outpatient
MedicationStatement.medicationCodeableConcept
MUST
1..1
MedicationStatement.medicationCodeableConcept.coding
MedicationStatement.medicationCodeableConcept.coding.system
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
https://dmd.nhs.uk/
MedicationStatement.medicationCodeableConcept.coding.code
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
39732311000001104
MedicationStatement.medicationCodeableConcept.coding.display
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
Amoxicillin 250mg capsules
MedicationStatement.subject
MUST
1..1
MedicationStatement.subject.reference
This MUST be a reference to the patient
MUST
0..1
urn:uuid:9589fb37-87a2-48d8-968f-b371429208a8
MedicationStatement.context
MAY
0..1
MedicationStatement.context.reference
Follow UK Core guidance for populating this element
MAY
0..1
urn:uuid:8c63d621-4d86-4f57-8699-e8e22d49935d
MedicationStatement.effectiveDateTime
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
2021-09-23
MedicationStatement.dateAsserted
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
2021-10-22
MedicationStatement.reasonCode
SHOULD
0..*
MedicationStatement.reasonCode.coding
MUST
1..1
MedicationStatement.reasonCode.coding.system
Follow UK Core guidance for populating this element
SHOULD
0..1
http://snomed.info/sct
MedicationStatement.reasonCode.coding.code
Follow UK Core guidance for populating this element
SHOULD
0..1
65363002
MedicationStatement.reasonCode.coding.display
Follow UK Core guidance for populating this element
SHOULD
0..1
Otitis Media
MedicationStatement.dosage
SHOULD
0..*
MedicationStatement.dosage.text
Follow UK Core guidance for populating this element
MAY
0..1
2 capsules 4 times a day.
MedicationStatement.dosage.timing
SHOULD
0..1
MedicationStatement.dosage.timing.repeat
MUST
0..1
MedicationStatement.dosage.timing.repeat.frequency
Follow UK Core guidance for populating this element
SHOULD
0..1
4
MedicationStatement.dosage.timing.repeat.period
Follow UK Core guidance for populating this element
SHOULD
0..1
1
MedicationStatement.dosage.timing.repeat.period unit
Follow UK Core guidance for populating this element
SHOULD
0..1
d
MedicationStatement.dosage.asNeededCodeableConcept
SHOULD
0..1
MedicationStatement.dosage.asNeededCodeableConcept.coding
MUST
1..1
MedicationStatement.dosage.asNeededCodeableConcept.coding.system
Follow UK Core guidance for populating this element
SHOULD
0..1
http://snomed.info/sct
MedicationStatement.dosage.asNeededCodeableConcept.coding.code
Follow UK Core guidance for populating this element
SHOULD
0..1
16001004
MedicationStatement.dosage.asNeededCodeableConcept.coding.display
Follow UK Core guidance for populating this element
SHOULD
0..1
Otalgia
MedicationStatement.dosage.site
MAY
0..1
MedicationStatement.dosage.site.coding
MUST
1..1
MedicationStatement.dosage.site.coding.system
Follow UK Core guidance for populating this element
MAY
0..1
http://snomed.info/sct
MedicationStatement.dosage.site.coding.code
Follow UK Core guidance for populating this element
MAY
0..1
123851003
MedicationStatement.dosage.site.coding.display
Follow UK Core guidance for populating this element
MAY
0..1
Mouth region structure
MedicationStatement.dosage.route
SHOULD
0..1
MedicationStatement.dosage.route.coding
MUST
1..1
MedicationStatement.dosage.route.coding.system
Follow UK Core guidance for populating this element
SHOULD
0..1
http://snomed.info/sct
MedicationStatement.dosage.route.coding.code
Follow UK Core guidance for populating this element
SHOULD
0..1
26643006
MedicationStatement.dosage.route.coding.display
Follow UK Core guidance for populating this element
SHOULD
0..1
Oral
MedicationStatement.dosage.method
SHOULD
0..*
MedicationStatement.dosage.method.coding
MUST
1..1
MedicationStatement.dosage.method.coding.system
Follow UK Core guidance for populating this element
SHOULD
0..1
http://snomed.info/sct
MedicationStatement.dosage.method.coding.code
Follow UK Core guidance for populating this element
SHOULD
0..1
421984009
MedicationStatement.dosage.method.coding.display
Follow UK Core guidance for populating this element
SHOULD
0..1
Until finished
MedicationStatement.dosage.doseAndRate
SHOULD
0..*
MedicationStatement.dosage.doseAndRate.doseQuantity
SHOULD
0..1
MedicationStatement.dosage.doseAndRate.doseQuantity.value
Follow UK Core guidance for populating this element
SHOULD
0..1
500
MedicationStatement.dosage.doseAndRate.doseQuantity.unit
Follow UK Core guidance for populating this element
SHOULD
0..1
milligram
MedicationStatement.dosage.doseAndRate.doseQuantity.system
Follow UK Core guidance for populating this element
SHOULD
0..1
http://unitsofmeasure.org
MedicationStatement.dosage.doseAndRate.doseQuantity.code
Follow UK Core guidance for populating this element
SHOULD
0..1
mg
This resource can be used to communicate measurements and simple assertions made about a patient. Measurements and simple assertions Vital Signs, Measurement, Results, Tests Measurements and simple assertions made about a patient, device or other subject. Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc. Other resources are used to provide context for observations such as laboratory reports, etc. Business Identifier for observation A unique identifier assigned to this observation. Allows observations to be distinguished and referenced. 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. Reference(UK Core Organization) Fulfills plan, proposal or order Fulfills A plan, proposal or order that is fulfilled in whole or in part by this event. For example, a MedicationRequest may require a patient to have laboratory test performed before it is dispensed. Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon. 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(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) 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). 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. Reference(UK Core 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. Part of referenced event Container A larger event of which this particular Observation is a component or step. For example, an observation as part of a procedure. To link an Observation to an Encounter use Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) 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). 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. Reference(UK Core 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. registered | preliminary | final | amended + The status of the result value. Need to track the status of individual results. Some results are finalized before the whole report is finalized. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. Codes providing the status of an observation. Classification of type of observation A code that classifies the general type of observation being made. Used for filtering what observations are retrieved and displayed. In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once. The level of granularity is defined by the category concepts in the value set. Codes for high level observation categories. Type of observation (code / type) Name Describes what was observed. Sometimes this is called the observation "name". Knowing what kind of observation is being made is essential to understanding the observation. All code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation. Codes identifying names of simple observations. 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. Unordered, Open, by system(Value) Constraints 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. A code from the SNOMED Clinical Terminology UK coding system describing a type of observation 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. The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously. 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. 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. 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. The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously. 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. Who and/or what the observation is about The patient, or group of patients, location, or device this observation is about and into whose record the observation is placed. If the actual focus of the observation is different from the subject (or a sample of, part, or region of the subject), the Observations have no value if you don't know who or what they're about. One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated. Reference(Group | Device | UK Core Patient | UK Core Location) 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). 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. Reference(UK Core 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. What the observation is about, when it is not about the subject of record The actual focus of an observation when it is not the patient of record representing something or someone associated with the patient such as a spouse, parent, fetus, or donor. For example, fetus observations in a mother's record. The focus of an observation could also be an existing condition, an intervention, the subject's diet, another observation of the subject, or a body structure such as tumor or implanted device. An example use case would be using the Observation resource to capture whether the mother is trained to change her child's tracheostomy tube. In this example, the child is the patient of record and the mother is the focus. Typically, an observation is made about the subject - a patient, or group of patients, location, or device - and the distinction between the subject and what is directly measured for an observation is specified in the observation code itself ( e.g., "Blood Glucose") and does not need to be represented separately using this element. Use 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). 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. Reference(UK Core 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 event during which this observation is made Context The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made. For some observations it may be important to know the link between an observation and a particular encounter. This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests). 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). 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. Reference(UK Core 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. Clinically relevant time/time-period for observation Occurrence The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the "physiologically relevant time". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself. Knowing when an observation was deemed true is important to its relevance as well as determining trends. At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the Timing datatype which allow the measurement to be tied to regular life events. Date/Time this version was made available The date and time this version of the observation was made available to providers, typically after the results have been reviewed and verified. For Observations that don’t require review and verification, it may be the same as the Who is responsible for the observation Who was responsible for asserting the observed value as "true". May give a degree of confidence in the observation and also indicates where follow-up questions should be directed. 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(CareTeam | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) 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). 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. Reference(UK Core 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 result The information determined as a result of making the observation, if the information has a simple value. An observation exists to have a value, though it might not if it is in error, or if it represents a group of observations. An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the Notes section below. Why the result is missing Provides a reason why the expected value in the element Observation.value[x] is missing. For many results it is necessary to handle exceptional values in measurements. Null or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "specimen unsatisfactory". The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0. Because of these options, use-case agreements are required to interpret general observations for null or exceptional values. Codes specifying why the result (`Observation.value[x]`) is missing. High, low, normal, etc. Abnormal Flag A categorical assessment of an observation value. For example, high, low, normal. For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result. Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Codes identifying interpretations of observations. Comments about the observation Comments about the observation or the results. Need to be able to provide free text additional information. May include general statements about the observation, or statements about significant, unexpected or unreliable results values, or information about its source when relevant to its interpretation. Individual responsible for the annotation The individual responsible for making the annotation. Organization is used when there's no need for specific attribution as to who made the comment. Reference(UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core RelatedPerson) When the annotation was made Indicates when this particular annotation was made. The annotation - text content (as markdown) The text of the annotation in markdown format. 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/ Observed body part Indicates the site on the subject's body where the observation was made (i.e. the target site). Only used if not implicit in code found in Observation.code. In many systems, this may be represented as a related observation instead of an inline component. If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension bodySite. Codes describing anatomical locations. May include laterality. 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. Unordered, Open, by code(Value), system(Value) Constraints 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. A code from the SNOMED Clinical Terminology UK with the expression (<<442083009 |anatomical or acquired body structure|) 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. The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously. 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. How it was done Indicates the mechanism used to perform the observation. In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results. Only used if not implicit in code for Observation.code. Methods for simple observations. Specimen used for this observation The specimen that was used when this observation was made. Should only be used if not implicit in code found in 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). 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. Reference(UK Core 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. (Measurement) Device The device used to generate the observation data. Note that this is not meant to represent a device involved in the transmission of the result, e.g., a gateway. Such devices may be documented using the Provenance resource where relevant. Reference(Device | DeviceMetric) 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). 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. Reference(UK Core 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. Provides guide for interpretation Guidance on how to interpret the value by comparison to a normal or recommended range. Multiple reference ranges are interpreted as an "OR". In other words, to represent two distinct target populations, two Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts. Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties. Low Range, if relevant The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3). The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator. High Range, if relevant The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3). The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator. Reference range qualifier Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range. Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc., - for proper interpretation. This SHOULD be populated if there is more than one range. If this element is not present then the normal range is assumed. Code for the meaning of a reference range. Reference range population Codes to indicate the target population this reference range applies to. For example, a reference range may be based on the normal population or a particular sex or race. Multiple Need to be able to identify the target population for proper interpretation. This SHOULD be populated if there is more than one range. If this element is not present then the normal population is assumed. Codes identifying the population the reference range applies to. Applicable age range, if relevant The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so. Some analytes vary greatly over age. The stated low and high value are assumed to have arbitrarily high precision when it comes to determining which values are in the range. I.e. 1.99 is not in the range 2 -> 3. Text based reference range in an observation Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of "Negative" or a list or table of "normals". Note that FHIR strings SHALL NOT exceed 1MB in size Related resource that belongs to the Observation group This observation is a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group. When using this element, an observation will typically have either a value or a set of related resources, although both may be present in some cases. For a discussion on the ways Observations can assembled in groups together, see Notes below. Note that a system may calculate results from QuestionnaireResponse into a final score and represent the score as an Observation. Reference(QuestionnaireResponse | MolecularSequence | UK Core Observation) 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). 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. Reference(UK Core 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. Related measurements the observation is made from The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image. All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value. The most common reference will be another Observation. For a discussion on the ways Observations can assembled in groups together, see Notes below. Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | UK Core Observation) 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). 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. Reference(UK Core 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. Component results Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations. Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable). However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation. For a discussion on the ways Observations can be assembled in groups together see Notes below. Type of component observation (code / type) Describes what was observed. Sometimes this is called the observation "code". Knowing what kind of observation is being made is essential to understanding the observation. All code-value and component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation. Codes identifying names of simple observations. 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. Unordered, Open, by code(Value), system(Value) Constraints 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. A code from the SNOMED Clinical Terminology UK coding system describing a type of observation 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. The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously. 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. Actual component result The information determined as a result of making the observation, if the information has a simple value. An observation exists to have a value, though it might not if it is in error, or if it represents a group of observations. Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the Notes section below. Why the component result is missing Provides a reason why the expected value in the element Observation.component.value[x] is missing. For many results it is necessary to handle exceptional values in measurements. "Null" or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "test not done". The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Because of these options, use-case agreements are required to interpret general observations for exceptional values. Codes specifying why the result (`Observation.value[x]`) is missing. High, low, normal, etc. Abnormal Flag A categorical assessment of an observation value. For example, high, low, normal. For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result. Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Codes identifying interpretations of observations. Provides guide for interpretation of component result Guidance on how to interpret the value by comparison to a normal or recommended range. Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts. Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.> Observation
Observation I Observation Observation
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()
value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
dataAbsentReason.empty() or value.empty()
identifier Σ 0..* Identifier Observation.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Observation.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Observation.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Observation.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Observation.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Observation.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Observation.identifier.assigner
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
basedOn Σ I 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Observation.basedOn
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Observation.basedOn.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Observation.basedOn.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Observation.basedOn.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Observation.basedOn.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Observation.basedOn.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Observation.basedOn.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Observation.basedOn.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Observation.basedOn.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Observation.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 Observation.basedOn.display
hasValue() or (children().count() > id.count())
partOf Σ I 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Observation.partOf
encounter
. See the Notes below for guidance on referencing another Observation.hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Observation.partOf.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Observation.partOf.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Observation.partOf.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Observation.partOf.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Observation.partOf.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Observation.partOf.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Observation.partOf.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Observation.partOf.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Observation.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 Observation.partOf.display
hasValue() or (children().count() > id.count())
status Σ ?! 1..1 codeBinding Observation.status
hasValue() or (children().count() > id.count())
category 0..* CodeableConceptBinding Observation.category
hasValue() or (children().count() > id.count())
code Σ 1..1 CodeableConcept Observation.code
hasValue() or (children().count() > id.count())
coding Σ 0..* Coding Element Id Observation.code.coding
hasValue() or (children().count() > id.count())
snomedCT Σ 0..* CodingBinding Element Id Observation.code.coding:snomedCT
hasValue() or (children().count() > id.count())
system Σ 1..1 uriFixed Value Element Id Observation.code.coding:snomedCT.system
hasValue() or (children().count() > id.count())
http://snomed.info/sct
version Σ 0..1 string Observation.code.coding:snomedCT.version
hasValue() or (children().count() > id.count())
code Σ 1..1 code Observation.code.coding:snomedCT.code
hasValue() or (children().count() > id.count())
display Σ 1..1 string Observation.code.coding:snomedCT.display
hasValue() or (children().count() > id.count())
userSelected Σ 0..1 boolean Observation.code.coding:snomedCT.userSelected
hasValue() or (children().count() > id.count())
loinc Σ 0..* Coding Observation.code.coding:loinc
hasValue() or (children().count() > id.count())
system Σ 1..1 uriFixed Value Element Id Observation.code.coding:loinc.system
hasValue() or (children().count() > id.count())
http://loinc.org
version Σ 0..1 string Observation.code.coding:loinc.version
hasValue() or (children().count() > id.count())
code Σ 1..1 code Observation.code.coding:loinc.code
hasValue() or (children().count() > id.count())
display Σ 1..1 string Observation.code.coding:loinc.display
hasValue() or (children().count() > id.count())
userSelected Σ 0..1 boolean Observation.code.coding:loinc.userSelected
hasValue() or (children().count() > id.count())
text Σ 0..1 string Observation.code.text
hasValue() or (children().count() > id.count())
subject Σ I 0..1 Reference(Group | Device | UK Core Patient | UK Core Location) Element Id Observation.subject
focus
element or the code
itself specifies the actual focus of the observation.hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Observation.subject.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Observation.subject.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Observation.subject.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Observation.subject.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Observation.subject.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Observation.subject.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Observation.subject.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Observation.subject.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Observation.subject.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 Observation.subject.display
hasValue() or (children().count() > id.count())
focus Σ I 0..* Reference(Resource) Observation.focus
specimen
if a reference to a specimen is required. If a code is required instead of a resource use either bodysite
for bodysites or the standard extension focusCode.hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Observation.focus.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Observation.focus.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Observation.focus.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Observation.focus.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Observation.focus.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Observation.focus.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Observation.focus.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Observation.focus.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Observation.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 Observation.focus.display
hasValue() or (children().count() > id.count())
encounter Σ I 0..1 Reference(UK Core Encounter) Element Id Observation.encounter
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Observation.encounter.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Observation.encounter.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Observation.encounter.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Observation.encounter.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Observation.encounter.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Observation.encounter.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Observation.encounter.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Observation.encounter.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Observation.encounter.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 Observation.encounter.display
hasValue() or (children().count() > id.count())
effective[x] Σ 0..1 Observation.effective[x]
hasValue() or (children().count() > id.count())
effectiveDateTime dateTime effectivePeriod Period effectiveTiming Timing effectiveInstant instant issued Σ 0..1 instant Observation.issued
lastUpdated
time of the resource itself. For Observations that do require review and verification for certain updates, it might not be the same as the lastUpdated
time of the resource itself due to a non-clinically significant update that doesn’t require the new version to be reviewed and verified again.hasValue() or (children().count() > id.count())
performer Σ I 0..* Reference(CareTeam | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) Element Id Observation.performer
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Observation.performer.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Observation.performer.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Observation.performer.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Observation.performer.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Observation.performer.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Observation.performer.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Observation.performer.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Observation.performer.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Observation.performer.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 Observation.performer.display
hasValue() or (children().count() > id.count())
value[x] Σ I 0..1 Observation.value[x]
hasValue() or (children().count() > id.count())
valueQuantity Quantity valueCodeableConcept CodeableConcept valueString string valueBoolean boolean valueInteger integer valueRange Range valueRatio Ratio valueSampledData SampledData valueTime time valueDateTime dateTime valuePeriod Period dataAbsentReason I 0..1 CodeableConceptBinding Observation.dataAbsentReason
hasValue() or (children().count() > id.count())
interpretation 0..* CodeableConceptBinding Observation.interpretation
hasValue() or (children().count() > id.count())
note 0..* Annotation Observation.note
hasValue() or (children().count() > id.count())
author[x] Σ 0..1 Observation.note.author[x]
hasValue() or (children().count() > id.count())
authorString string Data Type authorReference Reference(UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core RelatedPerson) Data Type time Σ 0..1 dateTime Observation.note.time
hasValue() or (children().count() > id.count())
text Σ 1..1 markdown Observation.note.text
hasValue() or (children().count() > id.count())
bodySite 0..1 CodeableConcept Observation.bodySite
hasValue() or (children().count() > id.count())
coding Σ 0..* Coding Element Id Observation.bodySite.coding
hasValue() or (children().count() > id.count())
snomedCT Σ 0..1 CodingBinding Element Id Observation.bodySite.coding:snomedCT
hasValue() or (children().count() > id.count())
system Σ 1..1 uriFixed Value Element Id Observation.bodySite.coding:snomedCT.system
hasValue() or (children().count() > id.count())
http://snomed.info/sct
version Σ 0..1 string Observation.bodySite.coding:snomedCT.version
hasValue() or (children().count() > id.count())
code Σ 1..1 code Observation.bodySite.coding:snomedCT.code
hasValue() or (children().count() > id.count())
display Σ 1..1 string Observation.bodySite.coding:snomedCT.display
hasValue() or (children().count() > id.count())
userSelected Σ 0..1 boolean Observation.bodySite.coding:snomedCT.userSelected
hasValue() or (children().count() > id.count())
text Σ 0..1 string Observation.bodySite.text
hasValue() or (children().count() > id.count())
method 0..1 CodeableConceptBinding Element Id Observation.method
hasValue() or (children().count() > id.count())
specimen I 0..1 Reference(Specimen) Observation.specimen
Observation.code
. Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Observation.specimen.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Observation.specimen.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Observation.specimen.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Observation.specimen.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Observation.specimen.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Observation.specimen.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Observation.specimen.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Observation.specimen.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Observation.specimen.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 Observation.specimen.display
hasValue() or (children().count() > id.count())
device I 0..1 Reference(Device | DeviceMetric) Observation.device
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Observation.device.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Observation.device.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Observation.device.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Observation.device.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Observation.device.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Observation.device.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Observation.device.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Observation.device.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Observation.device.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 Observation.device.display
hasValue() or (children().count() > id.count())
referenceRange I 0..* BackboneElement Observation.referenceRange
referenceRange
elements would be used.hasValue() or (children().count() > id.count())
low.exists() or high.exists() or text.exists()
low I 0..1 SimpleQuantity Observation.referenceRange.low
hasValue() or (children().count() > id.count())
code.empty() or system.exists()
comparator.empty()
high I 0..1 SimpleQuantity Observation.referenceRange.high
hasValue() or (children().count() > id.count())
code.empty() or system.exists()
comparator.empty()
type 0..1 CodeableConceptBinding Observation.referenceRange.type
hasValue() or (children().count() > id.count())
appliesTo 0..* CodeableConcept Observation.referenceRange.appliesTo
appliesTo
are interpreted as an "AND" of the target populations. For example, to represent a target population of African American females, both a code of female and a code for African American would be used.hasValue() or (children().count() > id.count())
age I 0..1 Range Observation.referenceRange.age
hasValue() or (children().count() > id.count())
low.empty() or high.empty() or (low <= high)
text 0..1 string Observation.referenceRange.text
hasValue() or (children().count() > id.count())
hasMember Σ I 0..* Reference(QuestionnaireResponse | MolecularSequence | UK Core Observation) Element Id Observation.hasMember
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Observation.hasMember.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Observation.hasMember.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Observation.hasMember.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Observation.hasMember.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Observation.hasMember.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Observation.hasMember.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Observation.hasMember.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Observation.hasMember.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Observation.hasMember.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 Observation.hasMember.display
hasValue() or (children().count() > id.count())
derivedFrom Σ I 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | UK Core Observation) Element Id Observation.derivedFrom
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
reference Σ I 0..1 string Observation.derivedFrom.reference
hasValue() or (children().count() > id.count())
type Σ 0..1 uriBinding Observation.derivedFrom.type
hasValue() or (children().count() > id.count())
identifier Σ 0..1 Identifier Observation.derivedFrom.identifier
hasValue() or (children().count() > id.count())
use Σ ?! 0..1 codeBinding Observation.derivedFrom.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Observation.derivedFrom.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Observation.derivedFrom.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Observation.derivedFrom.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Observation.derivedFrom.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Observation.derivedFrom.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 Observation.derivedFrom.display
hasValue() or (children().count() > id.count())
component Σ 0..* BackboneElement Observation.component
hasValue() or (children().count() > id.count())
code Σ 1..1 CodeableConcept Observation.component.code
hasValue() or (children().count() > id.count())
coding Σ 0..* Coding Element Id Observation.component.code.coding
hasValue() or (children().count() > id.count())
snomedCT Σ 0..* CodingBinding Element Id Observation.component.code.coding:snomedCT
hasValue() or (children().count() > id.count())
system Σ 1..1 uriFixed Value Element Id Observation.component.code.coding:snomedCT.system
hasValue() or (children().count() > id.count())
http://snomed.info/sct
version Σ 0..1 string Observation.component.code.coding:snomedCT.version
hasValue() or (children().count() > id.count())
code Σ 1..1 code Observation.component.code.coding:snomedCT.code
hasValue() or (children().count() > id.count())
display Σ 1..1 string Observation.component.code.coding:snomedCT.display
hasValue() or (children().count() > id.count())
userSelected Σ 0..1 boolean Observation.component.code.coding:snomedCT.userSelected
hasValue() or (children().count() > id.count())
text Σ 0..1 string Observation.component.code.text
hasValue() or (children().count() > id.count())
value[x] Σ 0..1 Observation.component.value[x]
hasValue() or (children().count() > id.count())
valueQuantity Quantity valueCodeableConcept CodeableConcept valueString string valueBoolean boolean valueInteger integer valueRange Range valueRatio Ratio valueSampledData SampledData valueTime time valueDateTime dateTime valuePeriod Period dataAbsentReason I 0..1 CodeableConceptBinding Observation.component.dataAbsentReason
hasValue() or (children().count() > id.count())
interpretation 0..* CodeableConceptBinding Observation.component.interpretation
hasValue() or (children().count() > id.count())
referenceRange 0..* see (referenceRange) Observation.component.referenceRange
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
Observation
https://simplifier.net/hl7fhirukcorer4/ukcore-observation
0..*
Observation.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..1
e3dd3833-5622-4cdd-bddf-97942c58d190
Observation.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
Observation.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation
Observation.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
Observation.status
This MUST be populated and set to FINAL - FIXED VALUE
MUST
1..1
final
Observation.code
MUST
1..1
Observation.code.text
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
Expectations and wishes
Observation.performer
SHOULD
0..*
Observation.performer.reference
This SHOULD be populated. Where populated this MUST reference to a Practitioner resource
SHOULD
0..1
urn:uuid:9589fb37-87a2-48d8-968f-b371429208a8
Observation.subject
MUST
0..1
Observation.subject.reference
This MUST be populated with reference to a Patient resource
MUST
0..1
urn:uuid:9589fb37-87a2-48d8-968f-b371429208a8
Observation.encounter
SHOULD
0..1
Observation.encounter.reference
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
urn:uuid:8c63d621-4d86-4f57-8699-e8e22d49935d
Observation.effectiveDateTime
Follow UK Core guidance for populating this element
MAY
0..1
2023-03-08T12:01:08.4677672+00:00
Observation.note
Follow UK Core guidance for populating this element
SHOULD NOT
0..*
Resource used to communicate a healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time. This is limited to communicating consent to share information for Direct Care for this Release of BaRS A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time. Broadly, there are 3 key areas of consent for patients: Consent around sharing information (aka Privacy Consent Directive - Authorization to Collect, Use, or Disclose information), consent for specific treatment, or kinds of treatment, and general advance care directives. Identifier for this record (external references) Unique identifier for this copy of the Consent Statement. This identifier identifies this copy of the consent. Where this identifier is also used elsewhere as the identifier for a consent record (e.g. a CDA consent document) then the consent details are expected to be the same. 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. Reference(UK Core Organization) draft | proposed | active | rejected | inactive | entered-in-error Indicates the current state of this consent. The Consent Directive that is pointed to might be in various lifecycle states, e.g., a revoked Consent Directive. This element is labeled as a modifier because the status contains the codes rejected and entered-in-error that mark the Consent as not currently valid. Indicates the state of the consent. Which of the four areas this resource covers (extensible) A selector of the type of consent being presented: ADR, Privacy, Treatment, Research. This list is now extensible. 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 four anticipated uses for the Consent Resource. Classification of the consent statement - for indexing/retrieval A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements. 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 classification of the type of consents found in a consent statement. Who the consent applies to The patient/healthcare consumer to whom this consent applies. Commonly, the patient the consent pertains to is the author, but for young and old people, it may be some other person. When this Consent was created or indexed When this Consent was issued / created / indexed. This is not the time of the original consent, but the time that this statement was made or derived. Who is agreeing to the policy and rules consentor Either the Grantor, which is the entity responsible for granting the rights listed in a Consent Directive or the Grantee, which is the entity responsible for complying with the Consent Directive, including any obligations or limitations on authorizations and enforcement of prohibitions. Commonly, the patient the consent pertains to is the consentor, but particularly for young and old people, it may be some other person - e.g. a legal guardian. Reference(UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) Custodian of the consent custodian The organization that manages the consent, and the framework within which it is executed. 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(UK Core Organization) Source from which this consent is taken The source on which this consent statement is based. The source might be a scanned original paper form, or a reference to a consent that links back to such a source, a reference to a document repository (e.g. XDS) that stores the original consent document. The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id. Reference(DocumentReference | Contract | QuestionnaireResponse | UK Core Consent) Policies covered by this consent The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law. Enforcement source for policy Entity or Organization having regulatory jurisdiction or accountability for enforcing policies pertaining to Consent Directives. see http://en.wikipedia.org/wiki/Uniform_resource_identifier Specific policy covered by this consent The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law. This element is for discoverability / documentation and does not modify or qualify the policy rules. Regulation that this consents to A reference to the specific base computable regulation or policy. Might be a unique identifier of a policy set in XACML, or other rules engine. If the policyRule is absent, computable consent would need to be constructed from the elements of the Consent resource. Regulatory policy examples. Consent Verified by patient or family Whether a treatment instruction (e.g. artificial respiration yes or no) was verified with the patient, his/her family or another authorized person. Has been verified Has the instruction been verified. Person who verified Who verified the instruction (Patient, Relative or other Authorized Person). 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(UK Core Patient | UK Core RelatedPerson) When consent verified Date verification was collected. Constraints to the base Consent.policyRule An exception to the base policy of this consent. An exception can be an addition or removal of access permissions. deny | permit Action to take - permit or deny - when the rule conditions are met. Not permitted in root rule, required in all nested rules. Note that FHIR strings SHALL NOT exceed 1MB in size How a rule statement is applied, such as adding additional consent or removing consent. Timeframe for this rule The timeframe in this rule is valid. 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. Who|what controlled by this rule (or group, by role) Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. 'admitting officers'). There is no specific actor associated with the exception How the actor is involved How the individual is involved in the resources content that is described in the exception. 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. How an actor is involved in the consent considerations. Resource for the actor (or group, by role) The resource that identifies the actor. To identify actors by type, use group to identify a set of actors by some property they share (e.g. 'admitting officers'). 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(Device | Group | CareTeam | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) Actions controlled by this rule Actions controlled by this Rule. Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'. all actions Detailed codes for the consent action. Security Labels that define affected resources A security label, comprised of 0..* security label fields (Privacy tags), which define which resources are controlled by this exception. If the consent specifies a security label of "R" then it applies to all resources that are labeled "R" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. When the purpose of use tag is on the data, access request purpose of use shall not conflict. Security Labels from the Healthcare Privacy and Security Classification System. Context of activities covered by this rule The context of the activities a user is taking - why the user is accessing the data - that are controlled by this rule. When the purpose of use tag is on the data, access request purpose of use shall not conflict. What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels. e.g. Resource Type, Profile, CDA, etc. The class of information covered by this rule. The type can be a FHIR resource type, a profile on a type, or a CDA document, or some other type that indicates what sort of information the consent relates to. Multiple types are or'ed together. The intention of the contentType element is that the codes refer to profiles or document types defined in a standard or an implementation guide somewhere. The class (type) of information a consent rule covers. e.g. LOINC or SNOMED CT code, etc. in the content If this code is found in an instance, then the rule applies. Typical use of this is a Document code with class = CDA. If this code is found in an instance, then the exception applies. Timeframe for data controlled by this rule Clinical or Operational Relevant period of time that bounds the data controlled by this rule. This has a different sense to the Consent.period - that is when the consent agreement holds. This is the time period of the data that is controlled by the agreement. Data controlled by this rule The resources controlled by this rule if specific resources are referenced. all data instance | related | dependents | authoredby How the resource reference is interpreted when testing consent restrictions. Note that FHIR strings SHALL NOT exceed 1MB in size How a resource reference is interpreted when testing consent restrictions. The actual data reference A reference to a specific resource that defines which resources are covered by this consent. 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. Nested Exception Rules Rules which provide exceptions to the base rule or subrules.> Consent
Consent I Consent Consent
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()
patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()
patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
policy.exists() or policyRule.exists()
identifier Σ 0..* Identifier Consent.identifier
hasValue() or (children().count() > id.count())
{
"system": "urn:ietf:rfc:3986",
"value": "Local eCMS identifier"
}
Mappingsuse Σ ?! 0..1 codeBinding Consent.identifier.use
hasValue() or (children().count() > id.count())
type Σ 0..1 CodeableConceptBinding Consent.identifier.type
hasValue() or (children().count() > id.count())
system Σ 0..1 uri Consent.identifier.system
hasValue() or (children().count() > id.count())
http://www.acme.com/identifiers/patient
Mappingsvalue Σ 0..1 string Consent.identifier.value
hasValue() or (children().count() > id.count())
123456
Mappingsperiod Σ I 0..1 Period Consent.identifier.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
assigner Σ I 0..1 Reference(UK Core Organization) Element Id Consent.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 Consent.status
hasValue() or (children().count() > id.count())
scope Σ ?! 1..1 CodeableConceptBinding Consent.scope
hasValue() or (children().count() > id.count())
category Σ 1..* CodeableConceptBinding Consent.category
hasValue() or (children().count() > id.count())
patient Σ I 0..1 Reference(UK Core Patient) Element Id Consent.patient
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
dateTime Σ 0..1 dateTime Consent.dateTime
hasValue() or (children().count() > id.count())
performer Σ I 0..* Reference(UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) Element Id Consent.performer
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
organization Σ I 0..* Reference(UK Core Organization) Element Id Consent.organization
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
source[x] Σ 0..1 Consent.source[x]
hasValue() or (children().count() > id.count())
sourceAttachment Attachment Data Type sourceReference Reference(DocumentReference | Contract | QuestionnaireResponse | UK Core Consent) Data Type policy 0..* BackboneElement Consent.policy
hasValue() or (children().count() > id.count())
authority I 0..1 uri Consent.policy.authority
hasValue() or (children().count() > id.count())
uri I 0..1 uri Consent.policy.uri
hasValue() or (children().count() > id.count())
policyRule Σ I 0..1 CodeableConceptBinding Consent.policyRule
hasValue() or (children().count() > id.count())
verification Σ 0..* BackboneElement Consent.verification
hasValue() or (children().count() > id.count())
verified Σ 1..1 boolean Consent.verification.verified
hasValue() or (children().count() > id.count())
verifiedWith I 0..1 Reference(UK Core Patient | UK Core RelatedPerson) Element Id Consent.verification.verifiedWith
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
verificationDate 0..1 dateTime Consent.verification.verificationDate
hasValue() or (children().count() > id.count())
provision Σ 0..1 BackboneElement Consent.provision
hasValue() or (children().count() > id.count())
type Σ 0..1 codeBinding Consent.provision.type
hasValue() or (children().count() > id.count())
period Σ I 0..1 Period Consent.provision.period
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
actor 0..* BackboneElement Consent.provision.actor
hasValue() or (children().count() > id.count())
role 1..1 CodeableConceptBinding Consent.provision.actor.role
hasValue() or (children().count() > id.count())
reference I 1..1 Reference(Device | Group | CareTeam | UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core PractitionerRole | UK Core RelatedPerson) Element Id Consent.provision.actor.reference
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
action Σ 0..* CodeableConcept Consent.provision.action
hasValue() or (children().count() > id.count())
securityLabel Σ 0..* CodingBinding Consent.provision.securityLabel
hasValue() or (children().count() > id.count())
purpose Σ 0..* CodingBinding Consent.provision.purpose
hasValue() or (children().count() > id.count())
class Σ 0..* CodingBinding Consent.provision.class
hasValue() or (children().count() > id.count())
code Σ 0..* CodeableConcept Consent.provision.code
hasValue() or (children().count() > id.count())
dataPeriod Σ I 0..1 Period Consent.provision.dataPeriod
hasValue() or (children().count() > id.count())
start.hasValue().not() or end.hasValue().not() or (start <= end)
data Σ 0..* BackboneElement Consent.provision.data
hasValue() or (children().count() > id.count())
meaning Σ 1..1 codeBinding Consent.provision.data.meaning
hasValue() or (children().count() > id.count())
reference Σ I 1..1 Reference(Resource) Consent.provision.data.reference
hasValue() or (children().count() > id.count())
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
provision 0..* see (provision) Consent.provision.provision
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
Consent
https://simplifier.net/hl7fhirukcorer4/ukcore-consent
1..*
Consent.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..1
e267afc4-4310-4549-b66a-5bc4db08f09b
Consent.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
Consent.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Consent
Consent.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
Consent.status
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
active
Consent.scope
MUST
1..1
Consent.scope.coding
MUST
1..1
Consent.scope.coding.system
This MUST be populated with the System namespace for the CodeSystem 'http://terminology.hl7.org/CodeSystem/consentscope' - FIXED VALUE
MUST
0..1
http://terminology.hl7.org/CodeSystem/consentscope
Consent.scope.coding.code
This MUST be populated with Code 'patient-privacy'. See CodeSystem 'http://terminology.hl7.org/CodeSystem/consentscope'. This is the only supported option for this BaRS release - FIXED VALUE
MUST
0..1
patient-privacy
Consent.Category
MUST
1..*
Consent.Category.coding
MUST
1..1
Consent.Category.coding.system
This MUST be populated with the System namespace for the CodeSystem 'https://fhir.nhs.uk/CodeSystem/consent-categories-bars' - FIXED VALUE
MUST
0..1
https://fhir.nhs.uk/CodeSystem/consent-categories-bars
Consent.Category.coding.code
This MUST be populated with Code 'DRC'. See CodeSystem 'https://fhir.nhs.uk/CodeSystem/consent-categories-bars'. This is the only supported option for this BaRS release - FIXED VALUE
MUST
0..1
DRC
Consent.Category.coding.display
This MUST be populated with Display 'Direct Care'. See CodeSystem 'https://fhir.nhs.uk/CodeSystem/consent-categories-bars'. This is the only supported option for this BaRS release - FIXED VALUE
MUST
0..1
Direct Care
Consent.patient
MUST
0..1
Consent.patient.reference
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
urn:uuid:9589fb37-87a2-48d8-968f-b371429208a8
Consent.policyRule
MUST
0..1
Consent.policyRule.coding
MUST
1..1
Consent.policyRule.coding.system
This MUST be populated with the namespace for the CodeSystem 'http://terminology.hl7.org/CodeSystem/v3-ActCode' - FIXED VALUE
MUST
0..1
http://terminology.hl7.org/CodeSystem/v3-ActCode
Consent.policyRule.coding.code
This MUST be populated with Code 'IMPLIED'. See CodeSystem 'http://terminology.hl7.org/CodeSystem/v3-ActCode'. This is the only supported option for this BaRS release - FIXED VALUE
MUST
0..1
IMPLIED
Consent.dateTime
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
26/11/2021
The HealthcareService the request is being made of - the Receiver The details of a healthcare service available at a location The details of a healthcare service available at a location. External identifiers for this item External identifiers for this item. 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. Reference(UK Core 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. Reference(UK Core Organization) 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). 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. Reference(UK Core 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. 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). 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. Reference(UK Core 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". 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). 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. Reference(UK Core 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? 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. 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. 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. 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). 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. Reference(UK Core 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
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()
identifier Σ 0..* Identifier HealthcareService.identifier
hasValue() or (children().count() > id.count())
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(UK Core Organization) 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(UK Core Organization) 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'))
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())
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(UK Core Organization) 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(UK Core Location) 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'))
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())
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(UK Core Organization) 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(UK Core Location) 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'))
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())
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(UK Core Organization) 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())
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())
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())
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'))
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())
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(UK Core Organization) 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
Profile Cardinality
Example Value(s)
HealthcareService
https://simplifier.net/hl7fhirukcorer4/ukcore-healthcareservice
1..1
HealthcareService.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..1
93d0ff33-ce84-42fd-b98c-f326e55283e0
HealthcareService.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
HealthcareService.meta.profile
MUST
1..1
HealthcareService.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
HealthcareService.identifier
This MUST be populated, indicating the external identifier of the Receiving HealthcareService
MUST
0..*
The Healthcare Service Identifier will be represented by a UEC DoS Service Identifier
HealthcareService.identifier.system
This MUST be populated with the System of the Receiving HealthcareService identifier
MUST
0..1
https://fhir.nhs.uk/Id/dos-service-id
HealthcareService.identifier.value
This MUST be populated with the Value of the Receiving HealthcareService identifier
MUST
0..1
ABD01
HealthcareService.active
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
TRUE
HealthcareService.providedBy
SHOULD
0..1
HealthcareService.providedBy.reference
Link to the Organisation the request is being made of . This will commonly link to the MH.destination
SHOULD
0..1
urn:uuid:d5ffd0cd-ec7e-48a1-84f1-91f4c0eb8fc5
HealthcareService.name
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
Consulting psychologists and/or psychology services
Entity Relationship Diagrams
Entity maps detail the relationship of the resources and elements within resources in the payloads.
The below diagram details the ServiceRequest - Referral Request - GP to Pharmacy
The below diagram details a focus on the payload on GP to Pharmacy fields to drive priority and filtering.