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

This backend is still under development and is not ready for production use. Projects requiring EMIS data should continue to use the Cohort Extractor tool.

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: