Search loading...


Explore and Make use of Nationally Defined Messaging APIs


FHIR® resource population fundamentals

List of FHIR® resource profiles used in the Access Record Structured capability pack

Population of CodeableConcept

The CodeableConcept data type is used throughout this capability and the following guidance SHALL be followed in order to ensure consistent representation of coded data:

Definitions of mandatory, required and optional

Throughout the profile pages within the specification we have a label for each data item named “Optionality”, which details whether or not it has to be included in the resource. This item has 3 possible values:

  1. Mandatory - if the data item MUST be recorded in the resource every time it is produced.
  2. Required - if the system that is providing the data item contains this piece of data then it MUST include it in the resource.
  3. Optional - the system has the option to include this data if it is available.

An example of a ‘required’ data item is the extension to the MedicationRequest profile for StatusReason.

StatusReason is used in GP Connect to carry information about why the status of a medication has been changed to stopped. In GP systems when a medication is stopped the clinician has to enter a date when it was stopped and the reason why it was stopped.

Clearly not every medication will have a status of stopped but when it does this information is of a high clinical importance and MUST be included in the message.

Definition of ‘Must support’ for use in the FHIR profiles

In FHIR, it allows the use of a flag titled ‘Must support’ to be attached to any give data item. The FHIR specification states, “The meaning of “support” is not defined by the base FHIR specification, but can be set to true in a profile. When a profile does this, it SHALL also make clear exactly what kind of “support” is required”.

In the GP Connect FHIR profiles, we have used the ‘Must support’ flag to represent the required data items as described above.

This leads to our definition for use in GP Connect:

Must support = if a system is providing resources and one of the items is flagged as ‘Must support’ the system MUST include the data item if it is available to be sent.

Using the List resource

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.

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

Details on the warning codes available in the GP Connect message and how they are populated are on the page Returning data in lists page.

Common code systems

The following common code systems are used when populating CodeableConcept.coding.system in resources for this capability:

Name Code system
Read codes V2
Read codes CTV3
EMIS drug codes
Egton codes
Multilex drug codes
Resip UK Gemscript drug codes

Common identifier systems

The following common identifier systems are used when populating Identifier.system in resources for this capability:

Name Identifier system
NHS number
ODS organisation code
ODS site code
SDS user ID
SDS role profile ID
General Medical Council (GMC) number
General Practitioner (GMP) number
Cross care setting identifier
EPS Line item identifier

The following profiled STU3 FHIR® resources are used in this capability pack:

Business identifiers for resources

Each clinical resource will have a unique business identifier that will be persisted to help consuming systems distinguish data they have integrated previously to data which is new to them. These identifiers will be scoped by a supplier specific namespace to ensure uniqueness.



  • Patient
  • Organization
  • PractitionerRole
  • Practitioner
  • Location


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