Support
This quick reference guide will help you quickly get to grips with the wide range of data available in the Facts and Dimensions database.
These pages are designed to help you get the most out of FAD; whether you’re looking to better understand its content, explore connection options, or use it more effectively.
This is new content for both us and our user community, and we’re building it with your needs in mind. Our goal is simple: to provide the information you actually need.
We’ll continue to expand and improve these pages over time, with updates shared through our User Group and newsletters.
If there’s something you’d like to see added, improved, or explained more clearly, we’d really value your input. Please
get in touch.
Facts and dimensions are fundamental concepts used to structure data.
Facts are the numerical values that show what happened. For example, how many patients visited a hospital, how many prescriptions were written, or how much money was spent. They represent what is being measured.
Dimensions provide the context for those numbers. These might include location, category, treatment type, or hospital site. They help explain where, when, and who the facts relate to.
Together, facts and dimensions allow data to be organised in a way that makes it easier to explore, analyse, and draw insights.
There are several ways to connect to FAD, depending on your organisation’s infrastructure and requirements. This section provides an overview of the available options to help you choose the most appropriate approach.
FAD is available via both SQL Server (Azure) and Snowflake environments.
Before you begin, ensure you have the following credentials (these will have been provided to your organisation):
FAD server name
Username
Password
Database name
If you’re unsure of these details, or who manages FAD access within your organisation, please
contact us.
Common Connection Issues
IP address not authorised
If you receive an error referencing your IP address, your organisation’s IP range may not be whitelisted. Please contact us with your IP range, or use the dedicated IP request email address provided to you.
Named Pipes / TCP errors
If you receive errors related to Named Pipes or TCP connectivity, your firewall may be blocking access to Azure. Ensure outbound access is allowed to the UK South Azure data centre. For further guidance, see
Connectivity from outside of Azure
Connection Options
You can connect to FAD using one of the following methods, depending on your requirements and technical setup.
Connect directly to Azure
You can connect directly to your FAD database using tools such as:
For step-by-step guidance, please refer to Tutorial playlist on our channel
FAD Tutorials for your chosen software.
Connect via your own Azure Server
If you are running your own Azure SQL environment, you can create External Tables in your database that reference tables on the FAD server.
For detailed setup instructions, see:
Connect via Linked Server
If you use SQL Server, you can configure a Linked Server to connect your local database to FAD.
For setup instructions, see:
Performance tip
When querying a linked Azure server, performance can be significantly improved by using OPENQUERY() instead of querying the linked server directly.
OPENQUERY() executes the query on the Azure server rather than locally, reducing data movement and improving response times.
For more details, see:
The code to run to create linked server is within the above YouTube video and also here for ease of reference.
declare @Username nvarchar(255) = 'USERNAME' --enter your username you were given
declare @Password nvarchar(255) = 'PASSWORD' --enter your password you were given
declare @FADServerName nvarchar(255) = 'FADAzureServerNameHere' --enter the FAD azure server name you were given
declare @UserDatabaseName nvarchar(255)
declare @UsernameWithDomain nvarchar(255)
set @UserDatabaseName = @Username+'_UserDB'
set @UsernameWithDomain = @Username + '@' + @FADServerName
EXEC master.dbo.sp_addlinkedserver @server = N'FD_UserDB', @srvproduct=N'', @provider=N'sqlncli', @datasrc=@FADServerName, @catalog=@UserDatabaseName
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'FD_UserDB',@useself=N'False',@locallogin=NULL,@rmtuser=@UsernameWithDomain,@rmtpassword=@Password
EXEC master.dbo.sp_serveroption @server=N'FD_UserDB', @optname=N'rpc out', @optvalue=N'true'
EXEC master.dbo.sp_serveroption @server=N'FD_UserDB', @optname=N'collation compatible', @optvalue=N'true'
Connect using FD DataSync
FD DataSync is an SSIS-based tool that synchronises FAD data into your local database.
What it does:
Copies one selected table from the FAD Azure server
For fact tables, uses the latest snapshot view
Creates a staging table (_Staging) in your database
Validates row counts before replacing existing tables
Renames previous versions with _Old suffix
For setup guidance, see:
For support, please pop a post on the appropriate FAD forum board.
FD DataSync Setup (Step-by-step)
Ensure SQL Server (2017 or later) with Integration Services is installed
-
-
Request the FD DataSync SSIS package from the FAD team
Open Visual Studio and create a new Integration Services Project
Add the FDDataSync .dtsx package
Update the Connection Managers:
Set parameters:
Run the package
To update multiple tables, create a new package with a For Loop task, with an Execute Package task inside it that will call the FDDataSync package and pass to it the table name you want to update. Use the table Release_Details.Release_Details_By_Dataset to get your list of tables that you want as that tells you when each table was last updated. See video for more details.
Note: Collation (for users of the old UKHD downloadable database)
If you previously used the UK_Health_Dimensions downloadable database, note:
When using FD DataSync, tables will adopt the Azure collation. If required, you can modify the SSIS package to retain the legacy collation.
Update the "Create Staging Table Script" task as follows.
Replace:
(CASE
WHEN DATA_TYPE IN (''varchar'',''nvarchar'',''char'') AND COLLATION_NAME IS NULL
THEN'' COLLATE'' + CONVERT (varchar(256), SERVERPROPERTY(''collation''))
WHEN DATA_TYPE IN (''varchar'',''nvarchar'',''char'') AND COLLATION_NAME IS NOT NULL
THEN'' COLLATE'' + COLLATION_NAME
ELSE'' ''
END)
With:
(CASE
WHEN DATA_TYPE IN (''varchar'',''nvarchar'',''char'', ''nchar'') AND COLLATION_NAME = ''SQL_Latin1_General_CP1_CI_AS''
THEN ''Latin1_General_CI_AS''
WHEN DATA_TYPE IN (''varchar'',''nvarchar'',''char'', ''nchar'') AND WHEN COLLATION_NAME = ''SQL_Latin1_General_CP1_CS_AS''
THEN ''Latin1_General_CS_AS''
WHEN DATA_TYPE IN (''varchar'',''nvarchar'',''char'', ''nchar'')
THEN ''Latin1_General_CI_AS''
WHEN DATA_TYPE = ''varbinary''
THEN NULL
END)
With over 8,000 objects in FAD, finding the right dataset can sometimes feel overwhelming. We are actively working on improving search and discovery tools. In the meantime, please use the approaches below.
Browse via database tools
You can browse available objects using the following:
Note, not all objects may appear in your database and therefore may not be visible in Object Explorer, all objects will be in the
[Release_Details].[All_Available_Tables] table however. Please review
Lesson 3: Add New Tables From The FAD Catalogue
Search by keyword or phrase
You can search for datasets using a general term (e.g. Breast Screening) within the FAD catalogue [Release_Details].[All_Available_Tables].
DECLARE
@SearchTerm VARCHAR(255) = 'Breast Screening' --Please replace this string with your search phrase
SET
@SearchTerm = LOWER(REPLACE(REPLACE(@SearchTerm, ' ', ''), '_', '')) --This SET will handle any spaces, underscores etc between words
SELECT *
FROM Release_Details.All_Available_Tables
WHERE
REPLACE(REPLACE(Table_Schema, ' ', ''), '_', '') LIKE '%' + @SearchTerm + '%'
OR REPLACE(REPLACE(Table_Name, ' ', ''), '_', '') LIKE '%' + @SearchTerm + '%'
OR REPLACE(REPLACE(Table_Description, ' ', ''), '_', '') LIKE '%' + @SearchTerm + '%'
Search by source website (URL)
If you know the original data source website, you can search using the source
URL.
Tip: Try different parts of the URL if the full string does not return results.
DECLARE
@URL VARCHAR (250)
SET
@URL = 'data.london.gov.uk/dataset/housing-led-population-projections'
SELECT *
FROM Release_Details.All_Available_Tables
WHERE
Source_Notes LIKE '%' + @URL + '%'
Snowflake Searching
Within Snowflake, you can also search across column names and values across our UKHF datasets via "Release_Details"."FAD_Search_Data". For further guidance, please see the associated
Snowflake YouTube playlist.
The Snowflake version includes an AI powered chat bot to use for searching.
Future improvements
We are working on additional ways to search FAD, including:
This section will be updated as new functionality becomes available
After searching FAD for some data, there are three possible outcomes. Below we explain these outcomes and what you may need to do.
1. You found what you were looking for:
Fantastic, get developing using FAD data and we'll take care of ensuring it's up to date, accurate and maintained!
2. The data does not appear to exist in FAD:
In most cases, if you cannot find the data using the recommended search methods, it is likely that we do not currently hold it.
However, we actively welcome new data requests.
Please submit a request via the New Data Requests board on the FAD forum, including:
The full web link where the data is publicly accessible
Any filename(s)
The business use case or benefit
Any additional context that may help
The FAD team will review your request and respond via the forum, letting you know where the newly ingested data is. We will also share updates on newly added data sources via our newsletter.
3. You can see the data, but cannot access or query it:
In some cases, the dataset exists in the FAD catalogue Release_Details.All_Available_Tables but is not yet available in your environment.
If this happens, we recommend following the standard ingestion process to bring the data into your database (see our YouTube video
Add New Tables From The FAD Catalogue).
Given the scale of FAD (thousands of datasets across multiple schemas), not all objects are automatically deployed to every environment.
If you identify a dataset that is particularly valuable for your organisation, please let us know so we can consider including it in future deployments for similar users.
By the very nature of FAD, the database is constantly being updated with new data. The below will let you know how you can check certain aspects of data updates.
How to check when an object was last updated?
The below reference table, will show for each object, the last time that it was updated.
SELECT *
FROM Release_Details.All_Release_Details_By_Dataset
WHERE
Table_Schema = 'ODS' --Replace with your schema
AND
Table_Name = 'GP_Practices_And_Prescribing_CCs_SCD' --Replace with your table name
Note for FD Data Sync Users: This information can also be used to trigger sync processes and ensure your local database remains up to date.
How do I know when data will be updated?
This will be dependent upon when the data publisher releases the data, publicly, for us to then ingest. Please check your specific source data publications online, to understand this for your data source.
Data ingests to FAD, will normally happen on the same working day, or for some more complex datasets, the following working day.
Should we experience any delays loading data, we will let users know, via the FAD forum. When we know that data will no longer be updated (ie publications have ceased), we will mark these data sources as discontinued so you are aware.
Discontinued Objects
Some objects may be marked as discontinued if:
The original data publication has stopped, or
The source data structure has changed significantly and has been replaced by a new object
To check if a dataset is discontinued, you can use the following query:
SELECT
Table_Schema
,Table_Name
,Table_Description
,Source_Notes
,Discontinued --A value of 1 indicates the item is discontinued.
FROM Release_Details.All_Available_Tables
WHERE
Table_Schema = 'AandE_Attendance' --Replace with your schema
AND
Table_Name = 'Age_Type_1_ECDS' --Replace with your table name
See Table_Description column which will include notes on why it was discontinued and what table to use instead where applicable.
Below are key resources to help you get the most out of FAD.
YouTube Channel. Tutorials and walkthroughs covering how to connect, sync, and use FAD.
Includes a dedicated Snowflake and AI playlist.
See the Snowflake YouTube playlist for guidance.
NHS Futures For our NHS users, additional FAD resources and updates are available via NHS Futures.
LinkedIn Follow us for high-level updates, announcements, and collaboration highlights.
We are continuously developing additional support content. Planned topics include:
Overview of Facts & Dimensions
Technical Considerations of FAD
More detail on FAD usage and specific processes
FAD User Group
FAD Forum
Key Data Source Summary eg ODS
If there is something that you'd like us to include that isn't in the list, please do
contact us.