Search loading...

API Hub

Explore and Make use of Nationally Defined Messaging APIs

 


Returning data in lists

Guidance for using lists to construcat a query response

Using lists to return data in GP Connect

The List resource in FHIR is used to manage collections of resources.

In GP Connect it is used to organise data returned by a query into groups of resources that can then be processed more easily. For each clinical area query, GP Connect will return a list that identifies the data returned for that query. This is considered to be the primary list relating to that area.

  • When an API call returns data for more than one clinical area, the list will identify which data has been returned for which clinical area.
  • Where there are no items returned, the primary list will be returned empty.
  • Where the return includes warning codes for example, to indicate when clinical data is excluded, those codes will be included in any list profile the item would have been present in.

When either problems or consultations are requested then in addition to the primary list the response will contain further secondary lists which detail resources that are contained in the requested consultations or have been linked to the problems that are returned. All the information needed to process the data from these clinical areas will be contained in these primary and secondary lists. The secondary lists related to each area are contained in the table below.

The list containing resolved allergies is a special case as it is a list where the resources are contained within it. This is a safety precaution intended to reduce the risk of resolved allergies being confused with active allergies. It means resolved allergies can only be referenced in context to the list and do not exist independently outside the list. Where resolved allergies are returned as part of a problems or consultations call the primary list MUST also be returned so that the resolved allergies can be referenced from the problems and consultations lists in the context of that list.

Further details about how the allergies lists work can be found on the allergies guidance page.

In GP Connect we also use lists to represent the structure of consultations. This is a separate topic that is documented in the page List - consultation structure’.

In this version of the GP Connect specification there are 10 types of primary lists that contain the data returned in response to a query that are listed in the table below.

Primary lists in the query response

Clinical area SNOMED Code SNOMED Preferred Term List.title
Allergies and adverse reactions 886921000000105 Allergies and adverse reactions Allergies and adverse reactions
Allergies that have been ended 1103671000000101 Ended allergies Ended allergies
Consultations 1149501000000101 List of consultations List of consultations
Diary Entries 714311000000108 Patient recall administration Patient recall administration
Immunisations 1102181000000102 Immunisations Immunisations
Investigations 887191000000108 Investigations and results Investigations and results
Medications and medical devices 933361000000108 Medications and medical devices Medications and medical devices
Outbound Referrals 792931000000107 Outbound referral Outbound referral
Problems 717711000000103 Problems Problems
Uncategorised data 826501000000100 Miscellaneous record Uncategorised data

Secondary lists in the query response

There are also 21 secondary lists that will contain data that is linked to problems or contained in consultations. These are defined in this codeSystem and are detailed in the table below.

List.title Code Display
Consultations - allergies contained in consultations consultations-allergies-contained-in-consultations Consultations - allergies contained in consultations
Consultations - allergies that have been ended contained in consultations consultations-allergies-that-have-been-ended-contained-in-consultations Consultations - allergies that have been ended contained in consultations
Consultations - diary entries contained in consultations consultations-diary-entries-contained-in-consultations Consultations - diary entries contained in consultations
Consultations - documents contained in consultations consultations-documents-contained-in-consultations Consultations - documents contained in consultations
Consultations - immunisations contained in consultations consultations-immunisations-contained-in-consultations Consultations - immunisations contained in consultations
Consultations - investigations contained in consultations consultations-investigations-contained-in-consultations Consultations - investigations contained in consultations
Consultations - medications contained in consultations consultations-medications-contained-in-consultations Consultations - medications contained in consultations
Consultations - outbound referrals in consultations consultations-outbound-referrals-in-consultations Consultations - outbound referrals in consultations
Consultations - problems contained in consultations consultations-problems-contained-in-consultations Consultations - problems contained in consultations
Consultations - uncategorised data contained in consultations consultations-uncategorised-data-contained-in-consultations Consultations - uncategorised data contained in consultations
Problems - allergies related to problems problems-allergies-related-to-problems Problems - allergies related to problems
Problems - allergies that have been ended related to problems problems-allergies-that-have-been-ended-related-to-problems Problems - allergies that have been ended related to problems
Problems - consultations related to problems problems-consultations-related-to-problems Problems - consultations related to problems
Problems - diary entries related to problems problems-diary-entries-related-to-problems Problems - diary entries related to problems
Problems - documents related to problems problems-documents-related-to-problems Problems - documents related to problems
Problems - immunisations related to problems problems-immunisations-related-to-problems Problems - immunisations related to problems
Problems - investigations related to problems problems-investigations-related-to-problems Problems - investigations related to problems
Problems - medications related to problems problems-medications-related-to-problems Problems - medications related to problems
Problems - outbound referrals related to problems problems-outbound-referrals-related-to-problems Problems - outbound referrals related to problems
Problems - linked problems not relating to the primary query problems-linked-problems-not-relating-to-the-primary-query Problems - linked problems not relating to the primary query
Problems - uncategorised data related to problems problems-uncategorised-data-related-to-problems Problems - uncategorised data related to problems

Using secondary lists to respond to queries for consultations and problems

Representing data that is returned in relation to both consultations and problems requires a response that is able to return multiple types of data. A response to a query about consultations or problems may contain any type of clinical data that can be entered into a GP system.

In GP Connect we use secondary lists to organise these contained or linked items. When either of these clinical areas is queried then up to 11 secondary lists may be returned. Each list is detailed in the above table.

These lists will only be returned where data exists in the clinical system that is returned as part of the query. If no data suitable to populate a list is present in the record that is being sent then the list will not be included in the response.

For example if a query was made to GP Connect for all problems in a record but none of these problems related to an outbound referral, then there would be no list for ‘Outbound referrals related to problems’ contained in the response.

The following rules apply to how secondary lists are populated

  • Secondary lists will only be present where problems or consultations clinical areas have been queried directly
  • Secondary lists will only be present where data is available
  • Secondary lists for items related to problems will include items related to the problem by the extensions relatedClinicalContent and actualProblem
  • If data has been excluded from a secondary list for one of the reasons defined in the warning code section, then the relevant warning code(s) SHALL be included
  • For consultation secondary lists where data is excluded a warning code SHALL be present even if no other data is contained in the list
  • Secondary lists will never return an empty list with no warning codes

The secondary list for problems is an exception to the rules above.

This list MAY be returned as part of any query and MUST contain problems that have been linked to any item in the primary list that is returned.

Only one related problem list SHALL be returned even if multiple clinical areas are queried. This means it is possible that this list will contain problems that are linked to multiple clinical areas. It is the responsibility of the consuming system to determine which items are linked to the problems in this list.

Warning codes

Warning codes are used to manage negation where resources are present in a system to be returned by a query but are not included in the returned data for a specific reason.

Warning codes will be returned in the primary and secondary lists defined on this page when any item that would have been included in that list as a response to the query is not present due to one of the defined reasons. In the case where an item may have been present in more than one list, e.g. medications and medications related to problems, the warning code will be present in both lists. Any warning codes returned will be contained in the extension List.extension[warningCode].

Warning codes will NOT be returned in any of the lists used to represent consultations structure that are defined in the page List - consultation structure’.

Where a warning code is returned related to an item from a given clinical area, for example referrals, if the referrals capability is turned off then the warning code MUST still be returned if the list that it would have been present in is still contained in the response. This applies to all clinical areas.

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 record contains some items in the GP practice workflow that have not been reviewed for inculsion in this message; information recorded before dd-Mmm-yyyy may be missing.

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.

Note: If the results of a search contained only confidential items, it would present as an List with no entries, an emptyReason and the Confidential Items warning code. Note: If an element of a diagnostic report is made confidential then the warning code SHALL be populated in the relevant Investigations list.

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 have 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

When a GP Clinical system receives electronic data about a patient it will go through filing process during which the information is reviewed by a user and if suitable integrated into the patient’s medical record. The details on how this process is managed vary between different GP Clinical Systems and GP Practices.

GP Connect will not return electronic data that has been received by the GP Clinical System but has not yet been through the filing process. The data will only become available through GP Connect once it has integrated into the patient’s medical record.


All content is available under the Open Government Licence v3.0, except where otherwise stated