Introduction
The headings below detail the elements of the List
resource and describe how to populate and consume them.
Using the List resource
The List
resource in FHIR is used to help manage a collection of resources. In GP Connect it is used to identify the data returns for each query. For each clinical area query, GP Connect will return one or more predefined list that identifies the data returned for that query.
- When multiple queries in the same API call return data in the same profile, the list will identify which data in the profile has been returned for which query.
- Where there are no items returned, the list will be empty.
- Where the return includes warning messages (for example, when clinical data is excluded), those messages will be in the list profile.manage negation where no resources are present in a system to be returned by a query. An attribution that is common to the resources it references will be returned, differentiating between items at different stages of a workflow, providing a mechanism to deal with warnings that can be applied to the group of resources.
Warning codes
The following table provides details of the warning codes that are to be used in the warningCode extension in GP Connect. More guidance for each code follows in the subsequent sections.
Display | Code | Associated text |
Confidential Items | confidential-items | Items excluded due to confidentiality and/or patient preferences. |
Data in Transit | data-in-transit | Patient record transfer from previous GP practice not yet complete; information recorded before dd-Mmm-yyyy may be missing. |
Data Awaiting Filing | data-awaiting-filing | Patient data may be incomplete as there is data supplied by a third party awaiting review before becoming available. |
Confidential items
Where items have been excluded from the returned resources due to patient consent preferences or as they are part of the exclusion dataset this MUST be indicated at the list level. If an item that would have been an entry in a list is excluded the warningCode field MUST be populated using the confidential items warning code from the above table. The associated text MUST also be added into the note field when the code is used.
Data in transit
This only refers to data transmitted from GP to GP when a patient moves GP practice. This is where a patient is registered at their new GP practice but their medical records from their previous GP practice has not yet been received and/or incorporated into their new GP practice system. When this takes place all the lists returned MUST be populated using the data in transit warning code from the above table. The associated text MUST also be added into the note field when the code is used. Set dd-mmm-yyyy to the date the patient registered at their new GP practice.
Data awaiting filing
Where data exists in a provider system workflow that has not yet been integrated into the patient record, then it MUST not be sent. The associated text MUST also be added into the note field when the code is used.
List elements
meta.profile
Data type: uri |
Optionality: Mandatory | Cardinality: 1..* |
The List profile URL.
Fixed value https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-List-1
extension[warningCode]
Data type: Extension |
Optionality: Required | Cardinality: 0..* |
A code or codes warning of an issue related to this list.
This extension is used to capture warnings that the list may be incomplete as data has been excluded due to confidentiality or may be missing due to data being in transit. It MUST be populated using the appropriate code from the table in the warning codes section above.
extension[clinicalSetting]
Data type: Extension |
Optionality: Required | Cardinality: 0..1 |
For GP Connect this should be set to ‘1060971000000108 General practice service’.
status
Data type: Code |
Optionality: Mandatory | Cardinality: 1..1 |
Whether the list is current
, retired
or entered-in-error
.
current
MUST be used for all lists in GP Connect.
mode
Data type: Code |
Optionality: Mandatory | Cardinality: 1..1 |
Whether the List has a mode
of working
, snapshot
, or changes
.
snapshot
MUST be used for all lists in GP Connect.
title
Data type: String |
Optionality: Mandatory | Cardinality: 1..1 |
Descriptive name for the list. This will be taken from the ‘display’ element from the ‘code’ field.
code
Data type: CodeableConcept |
Optionality: Mandatory | Cardinality: 1..1 |
The purpose of the list.
There are currently 3 possible purposes of a list in GP Connect that will be represented by the following SNOMED codes.
- Medications and medical devices - 933361000000108
- Allergies and adverse reactions - 886921000000105
- Ended allergies - 1103671000000101
The above code for ‘Ended allergies’ should be used for resolved allergies this code is new at the time of publishing this version of the specification and will be included in the October 2018 SNOMED release.
subject
Data type: Reference(Patient) |
Optionality: Mandatory | Cardinality: 1..1 |
Reference to the patient.
date
Data type: dateTime |
Optionality: Optional | Cardinality: 0..1 |
When the list was created.
source
Data type: Reference(Practitioner, Patient, Device) |
Optionality: Optional | Cardinality: 0..1 |
Who and/or what defined the list contents (that is, the author).
orderedBy
Data type: CodeableConcept |
Optionality: Optional | Cardinality: 0..1 |
What order the list has.
As the data where lists are being used in GP Connect is structured, it is simple for the consumer to put in order.
note
Data type: Annotation |
Optionality: Required | Cardinality: 0..1 |
Comments about this list.
entry
Data type: BackboneElement |
Optionality: Required | Cardinality: 0..* |
Entries in the list.
See below for sub elements.
entry.date
Data type: Boolean |
Optionality: Optional | Cardinality: 0..1 |
When the item was added to the list.
As GP Connect represents a snapshot at the time the request was made by the consuming system this is not required to be populated.
entry.item
Data type: Reference(Any) |
Optionality: Mandatory | Cardinality: 1..1 |
Actual entry.
Reference to the item that is part of the list.
emptyReason
Data type: CodeableConcept |
Optionality: Required | Cardinality: 0..1 |
Why the list is empty.
A FHIR code of No Content Recorded
SHALL be used if a query returns no results to enter into a list. In this case the ‘note’ field SHALL be populated with the text ‘Information not available’.
List elements not in use
The following elements SHALL NOT be populated:
id
Data type: Id |
meta.versionId
Data type: Id |
meta.lastUpdated
Data type: Instant |