Skip to content

Backends

Dataset definitions written in ehrQL can be run inside different secure environments, managed by different providers of EHR data.

For each such secure environment, there is a corresponding "backend" defined in ehrQL. Each ehrQL backend:

  • specifies the datasets available inside each secure environment
  • does the necessary translation work to allow the same dataset definition to run against data modelled in different ways and stored in different systems

When writing a dataset definition you don't need to explicitly reference any particular backend. But, as not every dataset is available in every backend, the table schema you use to write your dataset definition will determine which backends it can be run against.

Below are the backends currently supported in ehrQL, together with the list of table schemas each one supports.

TPP🔗

ehrql.backends.tpp.TPPBackend

TPP are the developers and operators of the SystmOne EHR platform. The ehrQL TPP backend provides access to primary care data from SystmOne, plus data linked from other sources.

This backend implements the following table schemas:

EMIS🔗

ehrql.backends.emis.EMISBackend

Warning

Research access to the backend provided by EMIS is temporarily unavailable, pending funding arrangements between NHS England and EMIS. When funding has been secured, we will publish a timeline for gradually reopening access.

EMIS Health are the developers and operators of the EMIS Web EHR platform. The ehrQL EMIS backend provides access to primary care data from EMIS Web, plus data linked from other sources.

This backend implements the following table schemas: