diff --git a/02-geomapping-ICS_22_23.R b/02-geomapping-ICS_22_23.R
index d79968b..940a88d 100644
--- a/02-geomapping-ICS_22_23.R
+++ b/02-geomapping-ICS_22_23.R
@@ -38,10 +38,9 @@ library(st)
## Load 'curated' DSPT file
-data <- read.csv("/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-cyber/data/DSPT_CCG_21_22_snapshot09_09_22.csv")
-data <- data[-107,]
+data <- read.csv("./data/DSPT Snapshots/22_23/ICB_dspt_snapshot_17_10_23.csv")
-dsptlevels=c("21/22 Standards Exceeded","21/22 Standards Met","21/22 Approaching Standards","21/22 Standards Not Met","21/22 Not Published")
+dsptlevels=c("22/23 Standards Exceeded","22/23 Standards Met","22/23 Approaching Standards","22/23 Standards Not Met","22/23 Not Published")
# Make Status a categorical
data$Short.Status = factor(data$Status,dsptlevels)
@@ -52,7 +51,7 @@ data$Short.Status = factor(data$Status,dsptlevels)
## Load STP shapefile
# Source: https://geoportal.statistics.gov.uk/datasets/clinical-commissioning-groups-april-2020-full-clipped-boundaries-en/explore?location=52.950000%2C-2.000000%2C7.02
-stp_spdf <- read_sf("/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-cyber/Inputs/shapefile/STP_APR_2021_EN_BUC_V2.shp")
+stp_spdf <- read_sf("./Inputs/shapefiles/22_23/ICB_APR_2023_EN_BSC.shp")
#proj4string(stp_spdf) <- CRS("+init=epsg:27700") # BNG projection system
@@ -62,23 +61,27 @@ stp_spdf <- stp_spdf %>% st_transform(CRS("+init=epsg:4326")) # reproject to lat
stp_data = stp_spdf
#############################################
-# CCG shapefile
+# CCG shapefile #CCGs will not be submitting for 22/23
#############################################
## Load CCG shapefile
-ccg_spdf <- read_sf("/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-cyber/Inputs/shapefile/CCG_APR_2021_EN_BFC.shp")
+#ccg_spdf <- read_sf("/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-cyber/Inputs/shapefile/CCG_APR_2021_EN_BFC.shp")
#proj4string(ccg_spdf) <- CRS("+init=epsg:27700") # BNG projection system
#ccg_spdf@proj4string # check system
-ccg_spdf <- ccg_spdf %>% st_transform(CRS("+init=epsg:4326")) # reproject to latlong system
+#ccg_spdf <- ccg_spdf %>% st_transform(CRS("+init=epsg:4326")) # reproject to latlong system
# Write to shapefile
#writeOGR(ccg_spdf, layer = 'myshp_simplified', 'C:/temp', driver="ESRI Shapefile")
-region_spdf = read_sf('/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-cyber/Inputs/shapefile/NHS_England_Regions_(April_2020)_Boundaries_EN_BUC.shp')
+#############################################
+# Load in Region data
+#############################################
+
+region_spdf = read_sf('./Inputs/shapefiles/22_23/NHSER_JUL_2022_EN_BUC.shp')
#proj4string(region_spdf) <- CRS("+init=epsg:27700") # BNG projection system
#region_spdf@proj4string # check system
@@ -104,13 +107,13 @@ region_full <- region_spdf
# Create a points shapefile for Trusts
##########+
##########+###################################
-trusts_data = read.csv("/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-cyber/data/DSPT_trusts_21_22_snapshot09_09_22.csv")
-trusts_data <- subset(trusts_data, !(ODS.Code %in% c('RBZ', 'RW6', 'RTV')))
+trusts_data = read.csv("./data/DSPT Snapshots/22_23/dspt_trusts_snapshot_17_10_23.csv") %>% select(-c(Organisation.Name.x))
+#trusts_data <- subset(trusts_data, !(ODS.Code %in% c('RBZ', 'RW6', 'RTV')))
trust_spdf_points <- sp::SpatialPointsDataFrame(
- coords = trusts_data %>% select(longitude,latitude),
- data = trusts_data %>% select(-c(longitude,latitude)),
+ coords = trusts_data %>% select(long,lat),
+ data = trusts_data %>% select(-c(long,lat)),
proj4string = CRS("+init=epsg:4326") # indicate it is is longitude latitude
)
@@ -121,27 +124,14 @@ trust_spdf_points <- sp::SpatialPointsDataFrame(
#Further prep
#############################################
# Join DSPT data and ONS code
-lookupdata = read.csv('/Users/muhammad-faaiz.shanawas/Documents/Github/open-cyber/data/Clinical_Commissioning_Group_to_STPs_(April_2021)_Lookup_in_England.csv')
-data_merged = left_join(data, lookupdata, by = c("ODS.Code" = "CCG21CDH"))
-data_merged = data_merged[-107,]
-
-
-#load in ccg-stp-region lookup data
-regions_lookup = read.csv('/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-cyber/data/Clinical_Commissioning_Group_to_STP_and_NHS_England_(Region)_(April_2021)_Lookup_in_England.csv')
-data_regions = unique(select(regions_lookup, 'STP21CD', 'STP21NM', 'NHSER21NM'))
-
-# Join the reduced DSPT info with the CCG shapefile
-ccg_spdf <- left_join(ccg_spdf,data_merged,by=c("CCG21CD"="CCG21CD"))
-data_ccg_spdf <- ccg_spdf
+lookupdata = read.csv('./data/aux/22_23/Sub_ICB_Locations_to_Integrated_Care_Boards_to_NHS_England_(Region)_(April_2023)_Lookup_in_England (1).csv')
+data_merged = left_join(data, lookupdata %>% select(-c(ICB23CD, ICB23NM)), by = c("ICB23CDH" = "ICB23CDH"))
+data_merged = data_merged %>% select(-c(X))
-#merge and assign to stp_spdf data
-stp_spdfdata = stp_spdf
-stp_spdfdata = merge(stp_spdfdata, select(data_regions, 'STP21CD', 'NHSER21NM'), by = "STP21CD", all = TRUE)
-#stp_spdfdata = na.omit(stp_spdfdata)
-stp_spdf = stp_spdfdata
-
+#jon the shapefile data with dspt data for ICBs
+stp_spdf = left_join(stp_spdf, data_merged %>% select(-c(ICB23NM, Integrated.Care.Board..where.available..from.ODS.)), by = c('ICB23CD'))
# Make Status a categorical
#ccg_spdf@data$Short.Status = factor(ccg_spdf@data$Short.Status,dsptlevels)
@@ -157,18 +147,17 @@ catpal <- colorFactor(my_palette, dsptlevels,reverse=F,ordered=T)
## Plotting
# Prepare the text for tooltips:
mytext <- paste(
- "SUB-ICB 2022 code (ODS): ", ccg_spdf$ICB22CD, " ",
- "SUB-ICB 2022 name: ", ccg_spdf$LOC22NM," ",
- "2021 STP name: ", ccg_spdf$STP21NM," ",
- "Region name: ", ccg_spdf$NHSER22NM," ",
- "DSPT Status: ", ccg_spdf$Short.Status, " ",
+ "ICB 2023 code (ODS): ", stp_spdf$ICB23CD, " ",
+ "ICB 2023 name: ", stp_spdf$ICB23NM," ",
+ "Region name: ", stp_spdf$NHSER23NM," ",
+ "DSPT Status: ", stp_spdf$Short.Status, " ",
sep="") %>%
lapply(htmltools::HTML)
-mytext_ics <- paste(
- "ICS/STP 2021 code: ", stp_spdf$STP21CD," ",
- "ICS/STP 2021 name: ", stp_spdf$STP21NM," ",
- "Region name: ", stp_spdf$NHSER21NM," ",
+
+mytext_region <- paste(
+ "Region 2023 code: ", region_spdf$NHSER22CD," ",
+ "Region 2023 name: ", region_spdf$NHSER22NM," ",
sep="") %>%
lapply(htmltools::HTML)
@@ -178,7 +167,7 @@ mytext_ics <- paste(
# Final Map
-m<-leaflet(ccg_spdf) %>%
+m<-leaflet(stp_spdf) %>%
addTiles() %>%
setView( lat=53, lng=-2 , zoom=6) %>%
addPolygons(
@@ -194,21 +183,22 @@ m<-leaflet(ccg_spdf) %>%
direction = "auto"
)
) %>%
- addLegend( pal=catpal, values=~Status, opacity=0.9, title = "21/22 DSPT Status (CCG)", position = "bottomleft" )
+ addLegend( pal=catpal, values=~Status, opacity=0.9, title = "22/23 ICB Status", position = "bottomleft" )
m
+
+
#############################################
-# Mapping - CCGS + ICS layer
+# Mapping - CCGS + ICS + trust layer
#############################################
-
# https://gis.stackexchange.com/questions/283658/add-layers-with-leaflet-from-different-spatial-data-frames-in-r
m02 <- leaflet() %>%
addTiles() %>%
setView( lat=53, lng=-2 , zoom=6) %>%
addPolygons(
- data=ccg_spdf,
- group = "CCG",
+ data=stp_spdf,
+ group = "ICB",
fillColor = ~catpal(Status),
stroke=TRUE,
fillOpacity = 0.7,
@@ -222,35 +212,29 @@ m02 <- leaflet() %>%
)
) %>%
addPolygons(
- data=stp_spdf,
- group="ICS boundary",
+ data=region_spdf,
+ group="Region boundary",
fillOpacity=0.1,
color='black',
weight=2,
- label=mytext_ics
+ label=mytext_region
) %>%
#addLegend( data=ccg_spdf,pal=catpal, values=~Short.Status, opacity=0.9, title = "21/22 DSPT Status (CCG)", position = "bottomleft" ) %>%
leaflet::addLayersControl(
- overlayGroups = c("CCG","ICS boundary"), # add these layers
+ overlayGroups = c("ICB","Region boundary"), # add these layers
options = layersControlOptions(collapsed = FALSE) # expand on hover?
) %>%
hideGroup(c("ICS boundary")) # turn these off by default
-m02_l <- m02 %>% addLegend( data=ccg_spdf,pal=catpal, values=~Short.Status, opacity=0.9, title = "21/22 DSPT Status (CCG)", position = "bottomleft" )
-
-
-
-#############################################
-# Mapping - CCGS + ICS + trust layer
-#############################################
+m02_l <- m02 %>% addLegend( data=stp_spdf,pal=catpal, values=~Short.Status, opacity=0.9, title = "22/23 ICB DSPT Status", position = "bottomleft" )
get_popup_content <- function(my_spdf) {
paste0(
"Provider ",
- " - Provider code:", my_spdf$ODS.Code,
+ " - Provider code:", my_spdf$Code,
" - Provider name: ", my_spdf$ODS.Org.Name,
#" - STP/ICS (HQ postcode-based): ", my_spdf$STP20NM,
#" - Region: ", my_spdf$`NHSER20NM`,
@@ -261,7 +245,7 @@ get_popup_content <- function(my_spdf) {
-m03 <- m02_l %>%
+m03 <- m %>%
addCircleMarkers(data=trust_spdf_points,
group="Trusts",
label = ~ lapply(get_popup_content(trust_spdf_points), htmltools::HTML),
@@ -273,7 +257,7 @@ m03 <- m02_l %>%
#clusterOptions = markerClusterOptions(),
radius= 6)
-#m03
+m03
#adding the zoom toggle for trust level (trust layer appears between 9 and 20)
#m03 <- m03 %>%
@@ -281,9 +265,9 @@ m03 <- m02_l %>%
#adding legend and layering CCG trusts and ICG boundary together
m03 <- m03 %>%
- addLegend( data=trust_spdf_points,pal=catpal, values=~Status, opacity=0.9, title = "21/22 DSPT Status (trust)", position = "bottomright" ) %>%
+ addLegend( data=trust_spdf_points,pal=catpal, values=~Status, opacity=0.9, title = "22/23 Trusts DSPT Status", position = "bottomright" ) %>%
leaflet::addLayersControl(
- overlayGroups = c("ICS boundary","CCG","Trusts"), # add these layers
+ overlayGroups = c("ICS boundary","Trusts"), # add these layers
options = layersControlOptions(collapsed = FALSE) # expand on hover?
) %>%
hideGroup(c("ICS boundary","Trusts")) # turn these off by default
diff --git a/20_21.md b/20_21.md
new file mode 100644
index 0000000..c02a807
--- /dev/null
+++ b/20_21.md
@@ -0,0 +1,128 @@
+
+
+# Open Statistics - Cyber Security
+
+
+
+
+ Important:
+
+
This project is currently in development. An overview of methodology and caveats are given below. For more information please contact analytics-unit@nhsx.nhs.uk. Opinions expressed in this page are not representative of the views of NHS England and any content here should not be regarded as official output in any form. For more information about the NHS England Transformation Directorate please visit our official website.
+
+
+
+The Data Security and Protection Toolkit is an online self-assessment tool that allows organisations to measure their performance against the National Data Guardian’s 10 data security standards.
+
+All organisations that have access to NHS patient data and systems must use this toolkit to provide assurance that they are practising good data security and that personal information is handled correctly. This includes trusts, commissioners and CSUs.
+
+The following information displays data taken from a specific snapshot of the DSPT data. The latest status information was downloaded on the 8th February 2022.
+
+For more information on the Data Security and Protection Toolkit, please visit the DSPT portal.
+
+
+
+## Notes on Methodology
+
+Composite Metrics for ICS
+
+The DSPT status for Clinical Commissioning Groups (CCGs) and Trusts are coded (scored) as follows to create the proxy for Integrated Care System (ICS) summary metrics:
+
+
Status Exceeded = 3
+
Status Met = 1
+
Approaching Standards = -1
+
Not Published/Not Met = -3
+
+CCG scores within an ICS are then weighted based on the resident population.
+
+Trust scores within an ICS are weighted either a) as simple average or b) based on their EPRR score.
+
+Finally, for each ICS, the CCG and Trust scores are weighted equally to arrive at the ICS composite score.
+
+The final scaling for each of the summary metrics displayed will have an upper bound of 3 and a lower bound of -3.
+
+
+## Summary of DSPT Compliance (2020/2021 edition).
+
+Summary statistics from the DSPT 2020/21 toolkit are shown.
+
+{% include data_DSPTmetric2022-02-08.html %}
+
+
+
+
+
+
+## CCGs and Trusts - Individual Compliance
+
+The compliance of individual CCGs and Trusts are mapped below, with ICS boundaries. Toggle the boxes on the top right-hand side to add layers.
+
+
+
+
+
+
+
+## CCGs and Proportions of Trusts Compliance - Colour Coded Population
+
+The proportions of trust compliance within each ICS with boundaries (in black) are shown. The ICSs are colored to represent the patient population level. The darker the shade of blue the higher the patient population level.
+
+
+
+
+
+
+## ICSs Composite Compliance - CCG and Trust Score Average Weighted For Population
+
+The compliance of individual ICSs, made up of a composite score of 50% CCG scores which have been weighted for population and 50% of a simple average of Trust scores. Region boundaries are displayed in blue.
+
+
+
+
+
+
+
+Template for end-to-end open source analytics: [github.io](https://pages.github.com/), and [github actions](https://github.com/features/actions).
+
+Analytics leverages open source data and R libraries such as [leaflet](https://cran.r-project.org/web/packages/leaflet/index.html) for interactive maps, [plotly](https://plotly.com/r/) for other interactive visualisations and [summarytools](https://cran.r-project.org/web/packages/summarytools/vignettes/introduction.html) for descriptive statistics.
+
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..26a931f
--- /dev/null
+++ b/README.md
@@ -0,0 +1,11 @@
+# open-analytics-template
+ [NHS.UK](https://service-manual.nhs.uk/) themed template for open analytics projects. Build your own open source end-to-end analytical tool using python, plotly, github.io, and github actions.
+
+Example page deployed here: [[GitHub.io](https://nhsx.github.io/open-analytics-template/)]
+
+Used in the following projects:
+ - [Open Source Healthcare Statistics](https://nhsx.github.io/open-health-statistics/) [[GitHub](https://github.com/nhsx/open-health-statistics)]
+ - [NHSX Publications from PubMed API](nhsx.github.io/nhsx-publications) [[GitHub](https://github.com/nhsx/nhsx-publications)] (in development)
+ - [Digital Health Insights](https://nhsx.github.io/digital-health-insights/) [[GitHub](https://github.com/nhsx/digital-health-insights)] (in development)
+ - [The Prescribing Cost of Antibiotics](https://mattia-ficarelli.github.io/antibiotic_cost/) [[GitHub](https://github.com/mattia-ficarelli/antibiotic_cost)]
+ - [Number of Patients Registered at GP Practices in London](https://mattia-ficarelli.github.io/gp_mapping/) [[GitHub](https://github.com/mattia-ficarelli/gp_mapping)]
diff --git a/dspt_data_cuts_curation_22_23.ipynb b/dspt_data_cuts_curation_22_23.ipynb
new file mode 100644
index 0000000..3a4523c
--- /dev/null
+++ b/dspt_data_cuts_curation_22_23.ipynb
@@ -0,0 +1,2950 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 71,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import geopandas\n",
+ "from geopy.geocoders import Nominatim"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
Code
\n",
+ "
Organisation Name
\n",
+ "
Status
\n",
+ "
Date Of Publication
\n",
+ "
Primary Sector
\n",
+ "
Integrated Care Board (where available, from ODS)
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
0
\n",
+ "
00L
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA ICB - 00L (CCG)
\n",
+ "
21/22 Standards Met
\n",
+ "
30/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA...
\n",
+ "
\n",
+ "
\n",
+ "
1
\n",
+ "
00N
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA ICB - 00N (CCG)
\n",
+ "
21/22 Standards Met
\n",
+ "
30/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA...
\n",
+ "
\n",
+ "
\n",
+ "
2
\n",
+ "
00P
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA ICB - 00P (CCG)
\n",
+ "
21/22 Standards Met
\n",
+ "
28/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA...
\n",
+ "
\n",
+ "
\n",
+ "
3
\n",
+ "
00Q
\n",
+ "
NHS LANCASHIRE AND SOUTH CUMBRIA ICB - 00Q (CCG)
\n",
+ "
21/22 Standards Met
\n",
+ "
22/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS LANCASHIRE AND SOUTH CUMBRIA INTEGRATED CA...
\n",
+ "
\n",
+ "
\n",
+ "
4
\n",
+ "
00R
\n",
+ "
NHS LANCASHIRE AND SOUTH CUMBRIA ICB - 00R (CCG)
\n",
+ "
21/22 Standards Met
\n",
+ "
29/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS LANCASHIRE AND SOUTH CUMBRIA INTEGRATED CA...
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Code Organisation Name Status \\\n",
+ "0 00L NHS NORTH EAST AND NORTH CUMBRIA ICB - 00L (CCG) 21/22 Standards Met \n",
+ "1 00N NHS NORTH EAST AND NORTH CUMBRIA ICB - 00N (CCG) 21/22 Standards Met \n",
+ "2 00P NHS NORTH EAST AND NORTH CUMBRIA ICB - 00P (CCG) 21/22 Standards Met \n",
+ "3 00Q NHS LANCASHIRE AND SOUTH CUMBRIA ICB - 00Q (CCG) 21/22 Standards Met \n",
+ "4 00R NHS LANCASHIRE AND SOUTH CUMBRIA ICB - 00R (CCG) 21/22 Standards Met \n",
+ "\n",
+ " Date Of Publication Primary Sector \\\n",
+ "0 30/06/2022 CCG / Integrated Care Board (ICB) \n",
+ "1 30/06/2022 CCG / Integrated Care Board (ICB) \n",
+ "2 28/06/2022 CCG / Integrated Care Board (ICB) \n",
+ "3 22/06/2022 CCG / Integrated Care Board (ICB) \n",
+ "4 29/06/2022 CCG / Integrated Care Board (ICB) \n",
+ "\n",
+ " Integrated Care Board (where available, from ODS) \n",
+ "0 NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA... \n",
+ "1 NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA... \n",
+ "2 NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA... \n",
+ "3 NHS LANCASHIRE AND SOUTH CUMBRIA INTEGRATED CA... \n",
+ "4 NHS LANCASHIRE AND SOUTH CUMBRIA INTEGRATED CA... "
+ ]
+ },
+ "execution_count": 68,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#load in latest dspt snapshot\n",
+ "dspt_snapshot = pd.read_csv('data/DSPT Snapshots/22_23/DSPT search results 17_10_2023 08_55_43.csv')\n",
+ "dspt_snapshot.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
Code
\n",
+ "
Organisation Name
\n",
+ "
National Grouping
\n",
+ "
High Level Health Geography
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
0
\n",
+ "
00L
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA ICB - 00L
\n",
+ "
Y63
\n",
+ "
QHM
\n",
+ "
\n",
+ "
\n",
+ "
1
\n",
+ "
00N
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA ICB - 00N
\n",
+ "
Y63
\n",
+ "
QHM
\n",
+ "
\n",
+ "
\n",
+ "
2
\n",
+ "
00P
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA ICB - 00P
\n",
+ "
Y63
\n",
+ "
QHM
\n",
+ "
\n",
+ "
\n",
+ "
3
\n",
+ "
00Q
\n",
+ "
NHS LANCASHIRE AND SOUTH CUMBRIA ICB - 00Q
\n",
+ "
Y62
\n",
+ "
QE1
\n",
+ "
\n",
+ "
\n",
+ "
4
\n",
+ "
00R
\n",
+ "
NHS LANCASHIRE AND SOUTH CUMBRIA ICB - 00R
\n",
+ "
Y62
\n",
+ "
QE1
\n",
+ "
\n",
+ "
\n",
+ "
...
\n",
+ "
...
\n",
+ "
...
\n",
+ "
...
\n",
+ "
...
\n",
+ "
\n",
+ "
\n",
+ "
117
\n",
+ "
D9Y0V
\n",
+ "
NHS HAMPSHIRE AND ISLE OF WIGHT ICB - D9Y0V
\n",
+ "
Y59
\n",
+ "
QRL
\n",
+ "
\n",
+ "
\n",
+ "
118
\n",
+ "
M1J4Y
\n",
+ "
NHS BEDFORDSHIRE, LUTON AND MILTON KEYNES ICB ...
\n",
+ "
Y61
\n",
+ "
QHG
\n",
+ "
\n",
+ "
\n",
+ "
119
\n",
+ "
M2L0M
\n",
+ "
NHS SHROPSHIRE, TELFORD AND WREKIN ICB - M2L0M
\n",
+ "
Y60
\n",
+ "
QOC
\n",
+ "
\n",
+ "
\n",
+ "
120
\n",
+ "
W2U3Z
\n",
+ "
NHS NORTH WEST LONDON ICB - W2U3Z
\n",
+ "
Y56
\n",
+ "
QRV
\n",
+ "
\n",
+ "
\n",
+ "
121
\n",
+ "
X2C4Y
\n",
+ "
NHS WEST YORKSHIRE ICB - X2C4Y
\n",
+ "
Y63
\n",
+ "
QWO
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
106 rows × 4 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Code Organisation Name \\\n",
+ "0 00L NHS NORTH EAST AND NORTH CUMBRIA ICB - 00L \n",
+ "1 00N NHS NORTH EAST AND NORTH CUMBRIA ICB - 00N \n",
+ "2 00P NHS NORTH EAST AND NORTH CUMBRIA ICB - 00P \n",
+ "3 00Q NHS LANCASHIRE AND SOUTH CUMBRIA ICB - 00Q \n",
+ "4 00R NHS LANCASHIRE AND SOUTH CUMBRIA ICB - 00R \n",
+ ".. ... ... \n",
+ "117 D9Y0V NHS HAMPSHIRE AND ISLE OF WIGHT ICB - D9Y0V \n",
+ "118 M1J4Y NHS BEDFORDSHIRE, LUTON AND MILTON KEYNES ICB ... \n",
+ "119 M2L0M NHS SHROPSHIRE, TELFORD AND WREKIN ICB - M2L0M \n",
+ "120 W2U3Z NHS NORTH WEST LONDON ICB - W2U3Z \n",
+ "121 X2C4Y NHS WEST YORKSHIRE ICB - X2C4Y \n",
+ "\n",
+ " National Grouping High Level Health Geography \n",
+ "0 Y63 QHM \n",
+ "1 Y63 QHM \n",
+ "2 Y63 QHM \n",
+ "3 Y62 QE1 \n",
+ "4 Y62 QE1 \n",
+ ".. ... ... \n",
+ "117 Y59 QRL \n",
+ "118 Y61 QHG \n",
+ "119 Y60 QOC \n",
+ "120 Y56 QRV \n",
+ "121 Y63 QWO \n",
+ "\n",
+ "[106 rows x 4 columns]"
+ ]
+ },
+ "execution_count": 45,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "eccg"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 101,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#load in auxillary data for left joining and filtering active locations \n",
+ "#for ccg's (eccg)\n",
+ "eccg = pd.read_csv('data/aux/22_23/eccg.csv', header = None)\n",
+ "eccg = eccg.loc[eccg[13] == 'C'][[0, 2, 3]]\n",
+ "eccg.columns = ['Code', 'National Grouping', 'High Level Health Geography']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 102,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
Code
\n",
+ "
Organisation Name
\n",
+ "
Status
\n",
+ "
Date Of Publication
\n",
+ "
Primary Sector
\n",
+ "
Integrated Care Board (where available, from ODS)
\n",
+ "
National Grouping
\n",
+ "
High Level Health Geography
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
0
\n",
+ "
00L
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA ICB - 00L (CCG)
\n",
+ "
21/22 Standards Met
\n",
+ "
30/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA...
\n",
+ "
Y63
\n",
+ "
QHM
\n",
+ "
\n",
+ "
\n",
+ "
1
\n",
+ "
00N
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA ICB - 00N (CCG)
\n",
+ "
21/22 Standards Met
\n",
+ "
30/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA...
\n",
+ "
Y63
\n",
+ "
QHM
\n",
+ "
\n",
+ "
\n",
+ "
2
\n",
+ "
00P
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA ICB - 00P (CCG)
\n",
+ "
21/22 Standards Met
\n",
+ "
28/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA...
\n",
+ "
Y63
\n",
+ "
QHM
\n",
+ "
\n",
+ "
\n",
+ "
3
\n",
+ "
00Q
\n",
+ "
NHS LANCASHIRE AND SOUTH CUMBRIA ICB - 00Q (CCG)
\n",
+ "
21/22 Standards Met
\n",
+ "
22/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS LANCASHIRE AND SOUTH CUMBRIA INTEGRATED CA...
\n",
+ "
Y62
\n",
+ "
QE1
\n",
+ "
\n",
+ "
\n",
+ "
4
\n",
+ "
00R
\n",
+ "
NHS LANCASHIRE AND SOUTH CUMBRIA ICB - 00R (CCG)
\n",
+ "
21/22 Standards Met
\n",
+ "
29/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS LANCASHIRE AND SOUTH CUMBRIA INTEGRATED CA...
\n",
+ "
Y62
\n",
+ "
QE1
\n",
+ "
\n",
+ "
\n",
+ "
...
\n",
+ "
...
\n",
+ "
...
\n",
+ "
...
\n",
+ "
...
\n",
+ "
...
\n",
+ "
...
\n",
+ "
...
\n",
+ "
...
\n",
+ "
\n",
+ "
\n",
+ "
101
\n",
+ "
D9Y0V
\n",
+ "
NHS HAMPSHIRE AND ISLE OF WIGHT ICB - D9Y0V (CCG)
\n",
+ "
21/22 Standards Exceeded
\n",
+ "
30/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS HAMPSHIRE AND ISLE OF WIGHT INTEGRATED CAR...
\n",
+ "
Y59
\n",
+ "
QRL
\n",
+ "
\n",
+ "
\n",
+ "
102
\n",
+ "
M1J4Y
\n",
+ "
NHS BEDFORDSHIRE, LUTON AND MILTON KEYNES ICB ...
\n",
+ "
21/22 Standards Met
\n",
+ "
29/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS BEDFORDSHIRE, LUTON AND MILTON KEYNES INTE...
\n",
+ "
Y61
\n",
+ "
QHG
\n",
+ "
\n",
+ "
\n",
+ "
103
\n",
+ "
M2L0M
\n",
+ "
NHS SHROPSHIRE, TELFORD AND WREKIN ICB - M2L0M...
\n",
+ "
21/22 Standards Met
\n",
+ "
25/03/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS SHROPSHIRE, TELFORD AND WREKIN INTEGRATED ...
\n",
+ "
Y60
\n",
+ "
QOC
\n",
+ "
\n",
+ "
\n",
+ "
104
\n",
+ "
W2U3Z
\n",
+ "
NHS NORTH WEST LONDON ICB - W2U3Z (CCG)
\n",
+ "
21/22 Standards Exceeded
\n",
+ "
27/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS NORTH WEST LONDON INTEGRATED CARE BOARD
\n",
+ "
Y56
\n",
+ "
QRV
\n",
+ "
\n",
+ "
\n",
+ "
105
\n",
+ "
X2C4Y
\n",
+ "
NHS WEST YORKSHIRE ICB - X2C4Y (CCG)
\n",
+ "
21/22 Standards Met
\n",
+ "
28/06/2022
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NHS WEST YORKSHIRE INTEGRATED CARE BOARD
\n",
+ "
Y63
\n",
+ "
QWO
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
106 rows × 8 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Code Organisation Name \\\n",
+ "0 00L NHS NORTH EAST AND NORTH CUMBRIA ICB - 00L (CCG) \n",
+ "1 00N NHS NORTH EAST AND NORTH CUMBRIA ICB - 00N (CCG) \n",
+ "2 00P NHS NORTH EAST AND NORTH CUMBRIA ICB - 00P (CCG) \n",
+ "3 00Q NHS LANCASHIRE AND SOUTH CUMBRIA ICB - 00Q (CCG) \n",
+ "4 00R NHS LANCASHIRE AND SOUTH CUMBRIA ICB - 00R (CCG) \n",
+ ".. ... ... \n",
+ "101 D9Y0V NHS HAMPSHIRE AND ISLE OF WIGHT ICB - D9Y0V (CCG) \n",
+ "102 M1J4Y NHS BEDFORDSHIRE, LUTON AND MILTON KEYNES ICB ... \n",
+ "103 M2L0M NHS SHROPSHIRE, TELFORD AND WREKIN ICB - M2L0M... \n",
+ "104 W2U3Z NHS NORTH WEST LONDON ICB - W2U3Z (CCG) \n",
+ "105 X2C4Y NHS WEST YORKSHIRE ICB - X2C4Y (CCG) \n",
+ "\n",
+ " Status Date Of Publication \\\n",
+ "0 21/22 Standards Met 30/06/2022 \n",
+ "1 21/22 Standards Met 30/06/2022 \n",
+ "2 21/22 Standards Met 28/06/2022 \n",
+ "3 21/22 Standards Met 22/06/2022 \n",
+ "4 21/22 Standards Met 29/06/2022 \n",
+ ".. ... ... \n",
+ "101 21/22 Standards Exceeded 30/06/2022 \n",
+ "102 21/22 Standards Met 29/06/2022 \n",
+ "103 21/22 Standards Met 25/03/2022 \n",
+ "104 21/22 Standards Exceeded 27/06/2022 \n",
+ "105 21/22 Standards Met 28/06/2022 \n",
+ "\n",
+ " Primary Sector \\\n",
+ "0 CCG / Integrated Care Board (ICB) \n",
+ "1 CCG / Integrated Care Board (ICB) \n",
+ "2 CCG / Integrated Care Board (ICB) \n",
+ "3 CCG / Integrated Care Board (ICB) \n",
+ "4 CCG / Integrated Care Board (ICB) \n",
+ ".. ... \n",
+ "101 CCG / Integrated Care Board (ICB) \n",
+ "102 CCG / Integrated Care Board (ICB) \n",
+ "103 CCG / Integrated Care Board (ICB) \n",
+ "104 CCG / Integrated Care Board (ICB) \n",
+ "105 CCG / Integrated Care Board (ICB) \n",
+ "\n",
+ " Integrated Care Board (where available, from ODS) National Grouping \\\n",
+ "0 NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA... Y63 \n",
+ "1 NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA... Y63 \n",
+ "2 NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA... Y63 \n",
+ "3 NHS LANCASHIRE AND SOUTH CUMBRIA INTEGRATED CA... Y62 \n",
+ "4 NHS LANCASHIRE AND SOUTH CUMBRIA INTEGRATED CA... Y62 \n",
+ ".. ... ... \n",
+ "101 NHS HAMPSHIRE AND ISLE OF WIGHT INTEGRATED CAR... Y59 \n",
+ "102 NHS BEDFORDSHIRE, LUTON AND MILTON KEYNES INTE... Y61 \n",
+ "103 NHS SHROPSHIRE, TELFORD AND WREKIN INTEGRATED ... Y60 \n",
+ "104 NHS NORTH WEST LONDON INTEGRATED CARE BOARD Y56 \n",
+ "105 NHS WEST YORKSHIRE INTEGRATED CARE BOARD Y63 \n",
+ "\n",
+ " High Level Health Geography \n",
+ "0 QHM \n",
+ "1 QHM \n",
+ "2 QHM \n",
+ "3 QE1 \n",
+ "4 QE1 \n",
+ ".. ... \n",
+ "101 QRL \n",
+ "102 QHG \n",
+ "103 QOC \n",
+ "104 QRV \n",
+ "105 QWO \n",
+ "\n",
+ "[106 rows x 8 columns]"
+ ]
+ },
+ "execution_count": 102,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "dspt_ccg = dspt_snapshot.merge(eccg, on = 'Code')\n",
+ "dspt_ccg"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 104,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ],
+ "text/plain": [
+ " ICB23CD ICB23CDH ICB23NM\n",
+ "0 E54000027 QRV NHS North West London Integrated Care Board\n",
+ "1 E54000028 QMJ NHS North Central London Integrated Care Board\n",
+ "2 E54000029 QMF NHS North East London Integrated Care Board\n",
+ "3 E54000030 QKK NHS South East London Integrated Care Board\n",
+ "4 E54000031 QWE NHS South West London Integrated Care Board\n",
+ "5 E54000032 QKS NHS Kent and Medway Integrated Care Board\n",
+ "6 E54000034 QNQ NHS Frimley Integrated Care Board\n",
+ "7 E54000042 QRL NHS Hampshire and Isle of Wight Integrated Car...\n",
+ "8 E54000044 QU9 NHS Buckinghamshire, Oxfordshire and Berkshire...\n",
+ "9 E54000063 QXU NHS Surrey Heartlands Integrated Care Board\n",
+ "10 E54000064 QNX NHS Sussex Integrated Care Board\n",
+ "11 E54000036 QT6 NHS Cornwall and the Isles of Scilly Integrate...\n",
+ "12 E54000037 QJK NHS Devon Integrated Care Board\n",
+ "13 E54000038 QSL NHS Somerset Integrated Care Board\n",
+ "14 E54000039 QUY NHS Bristol, North Somerset and South Gloucest...\n",
+ "15 E54000040 QOX NHS Bath and North East Somerset, Swindon and ...\n",
+ "16 E54000041 QVV NHS Dorset Integrated Care Board\n",
+ "17 E54000043 QR1 NHS Gloucestershire Integrated Care Board\n",
+ "18 E54000022 QMM NHS Norfolk and Waveney Integrated Care Board\n",
+ "19 E54000023 QJG NHS Suffolk and North East Essex Integrated Ca...\n",
+ "20 E54000024 QHG NHS Bedfordshire, Luton and Milton Keynes Inte...\n",
+ "21 E54000025 QM7 NHS Hertfordshire and West Essex Integrated Ca...\n",
+ "22 E54000026 QH8 NHS Mid and South Essex Integrated Care Board\n",
+ "23 E54000056 QUE NHS Cambridgeshire and Peterborough Integrated...\n",
+ "24 E54000008 QYG NHS Cheshire and Merseyside Integrated Care Board\n",
+ "25 E54000048 QE1 NHS Lancashire and South Cumbria Integrated Ca...\n",
+ "26 E54000057 QOP NHS Greater Manchester Integrated Care Board\n",
+ "27 E54000010 QNC NHS Staffordshire and Stoke-on-Trent Integrate...\n",
+ "28 E54000011 QOC NHS Shropshire, Telford and Wrekin Integrated ...\n",
+ "29 E54000013 QJM NHS Lincolnshire Integrated Care Board\n",
+ "30 E54000015 QK1 NHS Leicester, Leicestershire and Rutland Inte...\n",
+ "31 E54000018 QWU NHS Coventry and Warwickshire Integrated Care ...\n",
+ "32 E54000019 QGH NHS Herefordshire and Worcestershire Integrate...\n",
+ "33 E54000055 QHL NHS Birmingham and Solihull Integrated Care Board\n",
+ "34 E54000058 QJ2 NHS Derby and Derbyshire Integrated Care Board\n",
+ "35 E54000059 QPM NHS Northamptonshire Integrated Care Board\n",
+ "36 E54000060 QT1 NHS Nottingham and Nottinghamshire Integrated ...\n",
+ "37 E54000062 QUA NHS Black Country Integrated Care Board\n",
+ "38 E54000050 QHM NHS North East and North Cumbria Integrated Ca...\n",
+ "39 E54000051 QOQ NHS Humber and North Yorkshire Integrated Care...\n",
+ "40 E54000054 QWO NHS West Yorkshire Integrated Care Board\n",
+ "41 E54000061 QF7 NHS South Yorkshire Integrated Care Board"
+ ]
+ },
+ "execution_count": 91,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "lookup_table = pd.read_csv('data/aux/22_23/Sub_ICB_Locations_to_Integrated_Care_Boards_to_NHS_England_(Region)_(April_2023)_Lookup_in_England (1).csv')\n",
+ "icb_table = lookup_table.drop_duplicates('ICB23CDH').reset_index(drop=True)[['ICB23CD', 'ICB23CDH', 'ICB23NM']]\n",
+ "icb_table"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 92,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
ICB23CD
\n",
+ "
ICB23CDH
\n",
+ "
ICB23NM
\n",
+ "
Code
\n",
+ "
Organisation Name
\n",
+ "
Status
\n",
+ "
Date Of Publication
\n",
+ "
Primary Sector
\n",
+ "
Integrated Care Board (where available, from ODS)
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
0
\n",
+ "
E54000027
\n",
+ "
QRV
\n",
+ "
NHS North West London Integrated Care Board
\n",
+ "
QRV
\n",
+ "
NHS NORTH WEST LONDON INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Exceeded
\n",
+ "
26/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
1
\n",
+ "
E54000028
\n",
+ "
QMJ
\n",
+ "
NHS North Central London Integrated Care Board
\n",
+ "
QMJ
\n",
+ "
NHS NORTH CENTRAL LONDON INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
2
\n",
+ "
E54000029
\n",
+ "
QMF
\n",
+ "
NHS North East London Integrated Care Board
\n",
+ "
QMF
\n",
+ "
NHS NORTH EAST LONDON INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Exceeded
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
3
\n",
+ "
E54000030
\n",
+ "
QKK
\n",
+ "
NHS South East London Integrated Care Board
\n",
+ "
QKK
\n",
+ "
NHS SOUTH EAST LONDON INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Exceeded
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
4
\n",
+ "
E54000031
\n",
+ "
QWE
\n",
+ "
NHS South West London Integrated Care Board
\n",
+ "
QWE
\n",
+ "
NHS SOUTH WEST LONDON INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
27/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
5
\n",
+ "
E54000032
\n",
+ "
QKS
\n",
+ "
NHS Kent and Medway Integrated Care Board
\n",
+ "
QKS
\n",
+ "
NHS KENT AND MEDWAY INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
18/07/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
6
\n",
+ "
E54000034
\n",
+ "
QNQ
\n",
+ "
NHS Frimley Integrated Care Board
\n",
+ "
QNQ
\n",
+ "
NHS FRIMLEY INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
7
\n",
+ "
E54000042
\n",
+ "
QRL
\n",
+ "
NHS Hampshire and Isle of Wight Integrated Car...
\n",
+ "
QRL
\n",
+ "
NHS HAMPSHIRE AND ISLE OF WIGHT INTEGRATED CAR...
\n",
+ "
22/23 Standards Exceeded
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
8
\n",
+ "
E54000044
\n",
+ "
QU9
\n",
+ "
NHS Buckinghamshire, Oxfordshire and Berkshire...
\n",
+ "
QU9
\n",
+ "
NHS BUCKINGHAMSHIRE, OXFORDSHIRE AND BERKSHIRE...
\n",
+ "
22/23 Standards Exceeded
\n",
+ "
27/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
9
\n",
+ "
E54000063
\n",
+ "
QXU
\n",
+ "
NHS Surrey Heartlands Integrated Care Board
\n",
+ "
QXU
\n",
+ "
NHS SURREY HEARTLANDS INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Exceeded
\n",
+ "
29/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
10
\n",
+ "
E54000064
\n",
+ "
QNX
\n",
+ "
NHS Sussex Integrated Care Board
\n",
+ "
QNX
\n",
+ "
NHS SUSSEX INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Exceeded
\n",
+ "
26/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
11
\n",
+ "
E54000036
\n",
+ "
QT6
\n",
+ "
NHS Cornwall and the Isles of Scilly Integrate...
\n",
+ "
QT6
\n",
+ "
NHS CORNWALL AND THE ISLES OF SCILLY INTEGRATE...
\n",
+ "
22/23 Standards Met
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
12
\n",
+ "
E54000037
\n",
+ "
QJK
\n",
+ "
NHS Devon Integrated Care Board
\n",
+ "
QJK
\n",
+ "
NHS DEVON INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
28/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
13
\n",
+ "
E54000038
\n",
+ "
QSL
\n",
+ "
NHS Somerset Integrated Care Board
\n",
+ "
QSL
\n",
+ "
NHS SOMERSET INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
14
\n",
+ "
E54000039
\n",
+ "
QUY
\n",
+ "
NHS Bristol, North Somerset and South Gloucest...
\n",
+ "
QUY
\n",
+ "
BRISTOL, NORTH SOMERSET AND SOUTH GLOUCESTERSH...
\n",
+ "
22/23 Standards Met
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
15
\n",
+ "
E54000040
\n",
+ "
QOX
\n",
+ "
NHS Bath and North East Somerset, Swindon and ...
\n",
+ "
QOX
\n",
+ "
NHS BATH AND NORTH EAST SOMERSET, SWINDON AND ...
\n",
+ "
22/23 Standards Met
\n",
+ "
09/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
16
\n",
+ "
E54000041
\n",
+ "
QVV
\n",
+ "
NHS Dorset Integrated Care Board
\n",
+ "
QVV
\n",
+ "
NHS DORSET INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
20/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
17
\n",
+ "
E54000043
\n",
+ "
QR1
\n",
+ "
NHS Gloucestershire Integrated Care Board
\n",
+ "
QR1
\n",
+ "
NHS GLOUCESTERSHIRE INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
28/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
18
\n",
+ "
E54000022
\n",
+ "
QMM
\n",
+ "
NHS Norfolk and Waveney Integrated Care Board
\n",
+ "
QMM
\n",
+ "
NHS NORFOLK AND WAVENEY INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
26/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
19
\n",
+ "
E54000023
\n",
+ "
QJG
\n",
+ "
NHS Suffolk and North East Essex Integrated Ca...
\n",
+ "
QJG
\n",
+ "
NHS SUFFOLK AND NORTH EAST ESSEX INTEGRATED CA...
\n",
+ "
22/23 Standards Met
\n",
+ "
29/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
20
\n",
+ "
E54000024
\n",
+ "
QHG
\n",
+ "
NHS Bedfordshire, Luton and Milton Keynes Inte...
\n",
+ "
QHG
\n",
+ "
NHS BEDFORDSHIRE, LUTON AND MILTON KEYNES INTE...
\n",
+ "
22/23 Standards Met
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
21
\n",
+ "
E54000025
\n",
+ "
QM7
\n",
+ "
NHS Hertfordshire and West Essex Integrated Ca...
\n",
+ "
QM7
\n",
+ "
NHS HERTFORDSHIRE AND WEST ESSEX INTEGRATED CA...
\n",
+ "
22/23 Standards Met
\n",
+ "
29/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
22
\n",
+ "
E54000026
\n",
+ "
QH8
\n",
+ "
NHS Mid and South Essex Integrated Care Board
\n",
+ "
QH8
\n",
+ "
NHS MID AND SOUTH ESSEX INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
29/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
23
\n",
+ "
E54000056
\n",
+ "
QUE
\n",
+ "
NHS Cambridgeshire and Peterborough Integrated...
\n",
+ "
QUE
\n",
+ "
NHS CAMBRIDGESHIRE AND PETERBOROUGH INTEGRATED...
\n",
+ "
22/23 Standards Met
\n",
+ "
29/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
24
\n",
+ "
E54000008
\n",
+ "
QYG
\n",
+ "
NHS Cheshire and Merseyside Integrated Care Board
\n",
+ "
QYG
\n",
+ "
NHS CHESHIRE AND MERSEYSIDE INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
25
\n",
+ "
E54000048
\n",
+ "
QE1
\n",
+ "
NHS Lancashire and South Cumbria Integrated Ca...
\n",
+ "
QE1
\n",
+ "
NHS LANCASHIRE AND SOUTH CUMBRIA INTEGRATED CA...
\n",
+ "
22/23 Standards Met
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
26
\n",
+ "
E54000057
\n",
+ "
QOP
\n",
+ "
NHS Greater Manchester Integrated Care Board
\n",
+ "
QOP
\n",
+ "
NHS GREATER MANCHESTER INTEGRATED CARE BOARD
\n",
+ "
22/23 Approaching Standards
\n",
+ "
24/07/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
27
\n",
+ "
E54000010
\n",
+ "
QNC
\n",
+ "
NHS Staffordshire and Stoke-on-Trent Integrate...
\n",
+ "
QNC
\n",
+ "
NHS STAFFORDSHIRE AND STOKE-ON-TRENT INTEGRATE...
\n",
+ "
22/23 Standards Met
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
28
\n",
+ "
E54000011
\n",
+ "
QOC
\n",
+ "
NHS Shropshire, Telford and Wrekin Integrated ...
\n",
+ "
QOC
\n",
+ "
NHS SHROPSHIRE, TELFORD AND WREKIN INTEGRATED ...
\n",
+ "
22/23 Standards Met
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
29
\n",
+ "
E54000013
\n",
+ "
QJM
\n",
+ "
NHS Lincolnshire Integrated Care Board
\n",
+ "
QJM
\n",
+ "
NHS LINCOLNSHIRE INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
27/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
30
\n",
+ "
E54000015
\n",
+ "
QK1
\n",
+ "
NHS Leicester, Leicestershire and Rutland Inte...
\n",
+ "
QK1
\n",
+ "
NHS LEICESTER, LEICESTERSHIRE AND RUTLAND INTE...
\n",
+ "
22/23 Standards Met
\n",
+ "
29/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
31
\n",
+ "
E54000018
\n",
+ "
QWU
\n",
+ "
NHS Coventry and Warwickshire Integrated Care ...
\n",
+ "
QWU
\n",
+ "
NHS COVENTRY AND WARWICKSHIRE INTEGRATED CARE ...
\n",
+ "
22/23 Standards Met
\n",
+ "
29/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
32
\n",
+ "
E54000019
\n",
+ "
QGH
\n",
+ "
NHS Herefordshire and Worcestershire Integrate...
\n",
+ "
QGH
\n",
+ "
NHS HEREFORDSHIRE AND WORCESTERSHIRE INTEGRATE...
\n",
+ "
22/23 Standards Met
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
33
\n",
+ "
E54000055
\n",
+ "
QHL
\n",
+ "
NHS Birmingham and Solihull Integrated Care Board
\n",
+ "
QHL
\n",
+ "
NHS BIRMINGHAM AND SOLIHULL INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
27/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
34
\n",
+ "
E54000058
\n",
+ "
QJ2
\n",
+ "
NHS Derby and Derbyshire Integrated Care Board
\n",
+ "
QJ2
\n",
+ "
NHS DERBY AND DERBYSHIRE INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
29/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
35
\n",
+ "
E54000059
\n",
+ "
QPM
\n",
+ "
NHS Northamptonshire Integrated Care Board
\n",
+ "
QPM
\n",
+ "
NHS NORTHAMPTONSHIRE INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
28/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
36
\n",
+ "
E54000060
\n",
+ "
QT1
\n",
+ "
NHS Nottingham and Nottinghamshire Integrated ...
\n",
+ "
QT1
\n",
+ "
NHS NOTTINGHAM AND NOTTINGHAMSHIRE INTEGRATED ...
\n",
+ "
22/23 Standards Met
\n",
+ "
23/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
37
\n",
+ "
E54000062
\n",
+ "
QUA
\n",
+ "
NHS Black Country Integrated Care Board
\n",
+ "
QUA
\n",
+ "
NHS BLACK COUNTRY INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
27/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
38
\n",
+ "
E54000050
\n",
+ "
QHM
\n",
+ "
NHS North East and North Cumbria Integrated Ca...
\n",
+ "
QHM
\n",
+ "
NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA...
\n",
+ "
22/23 Standards Met
\n",
+ "
12/07/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
39
\n",
+ "
E54000051
\n",
+ "
QOQ
\n",
+ "
NHS Humber and North Yorkshire Integrated Care...
\n",
+ "
QOQ
\n",
+ "
NHS HUMBER AND NORTH YORKSHIRE INTEGRATED CARE...
\n",
+ "
22/23 Standards Met
\n",
+ "
28/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
40
\n",
+ "
E54000054
\n",
+ "
QWO
\n",
+ "
NHS West Yorkshire Integrated Care Board
\n",
+ "
QWO
\n",
+ "
NHS WEST YORKSHIRE INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
30/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ "
\n",
+ "
41
\n",
+ "
E54000061
\n",
+ "
QF7
\n",
+ "
NHS South Yorkshire Integrated Care Board
\n",
+ "
QF7
\n",
+ "
NHS SOUTH YORKSHIRE INTEGRATED CARE BOARD
\n",
+ "
22/23 Standards Met
\n",
+ "
28/06/2023
\n",
+ "
CCG / Integrated Care Board (ICB)
\n",
+ "
NaN
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ICB23CD ICB23CDH ICB23NM \\\n",
+ "0 E54000027 QRV NHS North West London Integrated Care Board \n",
+ "1 E54000028 QMJ NHS North Central London Integrated Care Board \n",
+ "2 E54000029 QMF NHS North East London Integrated Care Board \n",
+ "3 E54000030 QKK NHS South East London Integrated Care Board \n",
+ "4 E54000031 QWE NHS South West London Integrated Care Board \n",
+ "5 E54000032 QKS NHS Kent and Medway Integrated Care Board \n",
+ "6 E54000034 QNQ NHS Frimley Integrated Care Board \n",
+ "7 E54000042 QRL NHS Hampshire and Isle of Wight Integrated Car... \n",
+ "8 E54000044 QU9 NHS Buckinghamshire, Oxfordshire and Berkshire... \n",
+ "9 E54000063 QXU NHS Surrey Heartlands Integrated Care Board \n",
+ "10 E54000064 QNX NHS Sussex Integrated Care Board \n",
+ "11 E54000036 QT6 NHS Cornwall and the Isles of Scilly Integrate... \n",
+ "12 E54000037 QJK NHS Devon Integrated Care Board \n",
+ "13 E54000038 QSL NHS Somerset Integrated Care Board \n",
+ "14 E54000039 QUY NHS Bristol, North Somerset and South Gloucest... \n",
+ "15 E54000040 QOX NHS Bath and North East Somerset, Swindon and ... \n",
+ "16 E54000041 QVV NHS Dorset Integrated Care Board \n",
+ "17 E54000043 QR1 NHS Gloucestershire Integrated Care Board \n",
+ "18 E54000022 QMM NHS Norfolk and Waveney Integrated Care Board \n",
+ "19 E54000023 QJG NHS Suffolk and North East Essex Integrated Ca... \n",
+ "20 E54000024 QHG NHS Bedfordshire, Luton and Milton Keynes Inte... \n",
+ "21 E54000025 QM7 NHS Hertfordshire and West Essex Integrated Ca... \n",
+ "22 E54000026 QH8 NHS Mid and South Essex Integrated Care Board \n",
+ "23 E54000056 QUE NHS Cambridgeshire and Peterborough Integrated... \n",
+ "24 E54000008 QYG NHS Cheshire and Merseyside Integrated Care Board \n",
+ "25 E54000048 QE1 NHS Lancashire and South Cumbria Integrated Ca... \n",
+ "26 E54000057 QOP NHS Greater Manchester Integrated Care Board \n",
+ "27 E54000010 QNC NHS Staffordshire and Stoke-on-Trent Integrate... \n",
+ "28 E54000011 QOC NHS Shropshire, Telford and Wrekin Integrated ... \n",
+ "29 E54000013 QJM NHS Lincolnshire Integrated Care Board \n",
+ "30 E54000015 QK1 NHS Leicester, Leicestershire and Rutland Inte... \n",
+ "31 E54000018 QWU NHS Coventry and Warwickshire Integrated Care ... \n",
+ "32 E54000019 QGH NHS Herefordshire and Worcestershire Integrate... \n",
+ "33 E54000055 QHL NHS Birmingham and Solihull Integrated Care Board \n",
+ "34 E54000058 QJ2 NHS Derby and Derbyshire Integrated Care Board \n",
+ "35 E54000059 QPM NHS Northamptonshire Integrated Care Board \n",
+ "36 E54000060 QT1 NHS Nottingham and Nottinghamshire Integrated ... \n",
+ "37 E54000062 QUA NHS Black Country Integrated Care Board \n",
+ "38 E54000050 QHM NHS North East and North Cumbria Integrated Ca... \n",
+ "39 E54000051 QOQ NHS Humber and North Yorkshire Integrated Care... \n",
+ "40 E54000054 QWO NHS West Yorkshire Integrated Care Board \n",
+ "41 E54000061 QF7 NHS South Yorkshire Integrated Care Board \n",
+ "\n",
+ " Code Organisation Name \\\n",
+ "0 QRV NHS NORTH WEST LONDON INTEGRATED CARE BOARD \n",
+ "1 QMJ NHS NORTH CENTRAL LONDON INTEGRATED CARE BOARD \n",
+ "2 QMF NHS NORTH EAST LONDON INTEGRATED CARE BOARD \n",
+ "3 QKK NHS SOUTH EAST LONDON INTEGRATED CARE BOARD \n",
+ "4 QWE NHS SOUTH WEST LONDON INTEGRATED CARE BOARD \n",
+ "5 QKS NHS KENT AND MEDWAY INTEGRATED CARE BOARD \n",
+ "6 QNQ NHS FRIMLEY INTEGRATED CARE BOARD \n",
+ "7 QRL NHS HAMPSHIRE AND ISLE OF WIGHT INTEGRATED CAR... \n",
+ "8 QU9 NHS BUCKINGHAMSHIRE, OXFORDSHIRE AND BERKSHIRE... \n",
+ "9 QXU NHS SURREY HEARTLANDS INTEGRATED CARE BOARD \n",
+ "10 QNX NHS SUSSEX INTEGRATED CARE BOARD \n",
+ "11 QT6 NHS CORNWALL AND THE ISLES OF SCILLY INTEGRATE... \n",
+ "12 QJK NHS DEVON INTEGRATED CARE BOARD \n",
+ "13 QSL NHS SOMERSET INTEGRATED CARE BOARD \n",
+ "14 QUY BRISTOL, NORTH SOMERSET AND SOUTH GLOUCESTERSH... \n",
+ "15 QOX NHS BATH AND NORTH EAST SOMERSET, SWINDON AND ... \n",
+ "16 QVV NHS DORSET INTEGRATED CARE BOARD \n",
+ "17 QR1 NHS GLOUCESTERSHIRE INTEGRATED CARE BOARD \n",
+ "18 QMM NHS NORFOLK AND WAVENEY INTEGRATED CARE BOARD \n",
+ "19 QJG NHS SUFFOLK AND NORTH EAST ESSEX INTEGRATED CA... \n",
+ "20 QHG NHS BEDFORDSHIRE, LUTON AND MILTON KEYNES INTE... \n",
+ "21 QM7 NHS HERTFORDSHIRE AND WEST ESSEX INTEGRATED CA... \n",
+ "22 QH8 NHS MID AND SOUTH ESSEX INTEGRATED CARE BOARD \n",
+ "23 QUE NHS CAMBRIDGESHIRE AND PETERBOROUGH INTEGRATED... \n",
+ "24 QYG NHS CHESHIRE AND MERSEYSIDE INTEGRATED CARE BOARD \n",
+ "25 QE1 NHS LANCASHIRE AND SOUTH CUMBRIA INTEGRATED CA... \n",
+ "26 QOP NHS GREATER MANCHESTER INTEGRATED CARE BOARD \n",
+ "27 QNC NHS STAFFORDSHIRE AND STOKE-ON-TRENT INTEGRATE... \n",
+ "28 QOC NHS SHROPSHIRE, TELFORD AND WREKIN INTEGRATED ... \n",
+ "29 QJM NHS LINCOLNSHIRE INTEGRATED CARE BOARD \n",
+ "30 QK1 NHS LEICESTER, LEICESTERSHIRE AND RUTLAND INTE... \n",
+ "31 QWU NHS COVENTRY AND WARWICKSHIRE INTEGRATED CARE ... \n",
+ "32 QGH NHS HEREFORDSHIRE AND WORCESTERSHIRE INTEGRATE... \n",
+ "33 QHL NHS BIRMINGHAM AND SOLIHULL INTEGRATED CARE BOARD \n",
+ "34 QJ2 NHS DERBY AND DERBYSHIRE INTEGRATED CARE BOARD \n",
+ "35 QPM NHS NORTHAMPTONSHIRE INTEGRATED CARE BOARD \n",
+ "36 QT1 NHS NOTTINGHAM AND NOTTINGHAMSHIRE INTEGRATED ... \n",
+ "37 QUA NHS BLACK COUNTRY INTEGRATED CARE BOARD \n",
+ "38 QHM NHS NORTH EAST AND NORTH CUMBRIA INTEGRATED CA... \n",
+ "39 QOQ NHS HUMBER AND NORTH YORKSHIRE INTEGRATED CARE... \n",
+ "40 QWO NHS WEST YORKSHIRE INTEGRATED CARE BOARD \n",
+ "41 QF7 NHS SOUTH YORKSHIRE INTEGRATED CARE BOARD \n",
+ "\n",
+ " Status Date Of Publication \\\n",
+ "0 22/23 Standards Exceeded 26/06/2023 \n",
+ "1 22/23 Standards Met 30/06/2023 \n",
+ "2 22/23 Standards Exceeded 30/06/2023 \n",
+ "3 22/23 Standards Exceeded 30/06/2023 \n",
+ "4 22/23 Standards Met 27/06/2023 \n",
+ "5 22/23 Standards Met 18/07/2023 \n",
+ "6 22/23 Standards Met 30/06/2023 \n",
+ "7 22/23 Standards Exceeded 30/06/2023 \n",
+ "8 22/23 Standards Exceeded 27/06/2023 \n",
+ "9 22/23 Standards Exceeded 29/06/2023 \n",
+ "10 22/23 Standards Exceeded 26/06/2023 \n",
+ "11 22/23 Standards Met 30/06/2023 \n",
+ "12 22/23 Standards Met 28/06/2023 \n",
+ "13 22/23 Standards Met 30/06/2023 \n",
+ "14 22/23 Standards Met 30/06/2023 \n",
+ "15 22/23 Standards Met 09/06/2023 \n",
+ "16 22/23 Standards Met 20/06/2023 \n",
+ "17 22/23 Standards Met 28/06/2023 \n",
+ "18 22/23 Standards Met 26/06/2023 \n",
+ "19 22/23 Standards Met 29/06/2023 \n",
+ "20 22/23 Standards Met 30/06/2023 \n",
+ "21 22/23 Standards Met 29/06/2023 \n",
+ "22 22/23 Standards Met 29/06/2023 \n",
+ "23 22/23 Standards Met 29/06/2023 \n",
+ "24 22/23 Standards Met 30/06/2023 \n",
+ "25 22/23 Standards Met 30/06/2023 \n",
+ "26 22/23 Approaching Standards 24/07/2023 \n",
+ "27 22/23 Standards Met 30/06/2023 \n",
+ "28 22/23 Standards Met 30/06/2023 \n",
+ "29 22/23 Standards Met 27/06/2023 \n",
+ "30 22/23 Standards Met 29/06/2023 \n",
+ "31 22/23 Standards Met 29/06/2023 \n",
+ "32 22/23 Standards Met 30/06/2023 \n",
+ "33 22/23 Standards Met 27/06/2023 \n",
+ "34 22/23 Standards Met 29/06/2023 \n",
+ "35 22/23 Standards Met 28/06/2023 \n",
+ "36 22/23 Standards Met 23/06/2023 \n",
+ "37 22/23 Standards Met 27/06/2023 \n",
+ "38 22/23 Standards Met 12/07/2023 \n",
+ "39 22/23 Standards Met 28/06/2023 \n",
+ "40 22/23 Standards Met 30/06/2023 \n",
+ "41 22/23 Standards Met 28/06/2023 \n",
+ "\n",
+ " Primary Sector \\\n",
+ "0 CCG / Integrated Care Board (ICB) \n",
+ "1 CCG / Integrated Care Board (ICB) \n",
+ "2 CCG / Integrated Care Board (ICB) \n",
+ "3 CCG / Integrated Care Board (ICB) \n",
+ "4 CCG / Integrated Care Board (ICB) \n",
+ "5 CCG / Integrated Care Board (ICB) \n",
+ "6 CCG / Integrated Care Board (ICB) \n",
+ "7 CCG / Integrated Care Board (ICB) \n",
+ "8 CCG / Integrated Care Board (ICB) \n",
+ "9 CCG / Integrated Care Board (ICB) \n",
+ "10 CCG / Integrated Care Board (ICB) \n",
+ "11 CCG / Integrated Care Board (ICB) \n",
+ "12 CCG / Integrated Care Board (ICB) \n",
+ "13 CCG / Integrated Care Board (ICB) \n",
+ "14 CCG / Integrated Care Board (ICB) \n",
+ "15 CCG / Integrated Care Board (ICB) \n",
+ "16 CCG / Integrated Care Board (ICB) \n",
+ "17 CCG / Integrated Care Board (ICB) \n",
+ "18 CCG / Integrated Care Board (ICB) \n",
+ "19 CCG / Integrated Care Board (ICB) \n",
+ "20 CCG / Integrated Care Board (ICB) \n",
+ "21 CCG / Integrated Care Board (ICB) \n",
+ "22 CCG / Integrated Care Board (ICB) \n",
+ "23 CCG / Integrated Care Board (ICB) \n",
+ "24 CCG / Integrated Care Board (ICB) \n",
+ "25 CCG / Integrated Care Board (ICB) \n",
+ "26 CCG / Integrated Care Board (ICB) \n",
+ "27 CCG / Integrated Care Board (ICB) \n",
+ "28 CCG / Integrated Care Board (ICB) \n",
+ "29 CCG / Integrated Care Board (ICB) \n",
+ "30 CCG / Integrated Care Board (ICB) \n",
+ "31 CCG / Integrated Care Board (ICB) \n",
+ "32 CCG / Integrated Care Board (ICB) \n",
+ "33 CCG / Integrated Care Board (ICB) \n",
+ "34 CCG / Integrated Care Board (ICB) \n",
+ "35 CCG / Integrated Care Board (ICB) \n",
+ "36 CCG / Integrated Care Board (ICB) \n",
+ "37 CCG / Integrated Care Board (ICB) \n",
+ "38 CCG / Integrated Care Board (ICB) \n",
+ "39 CCG / Integrated Care Board (ICB) \n",
+ "40 CCG / Integrated Care Board (ICB) \n",
+ "41 CCG / Integrated Care Board (ICB) \n",
+ "\n",
+ " Integrated Care Board (where available, from ODS) \n",
+ "0 NaN \n",
+ "1 NaN \n",
+ "2 NaN \n",
+ "3 NaN \n",
+ "4 NaN \n",
+ "5 NaN \n",
+ "6 NaN \n",
+ "7 NaN \n",
+ "8 NaN \n",
+ "9 NaN \n",
+ "10 NaN \n",
+ "11 NaN \n",
+ "12 NaN \n",
+ "13 NaN \n",
+ "14 NaN \n",
+ "15 NaN \n",
+ "16 NaN \n",
+ "17 NaN \n",
+ "18 NaN \n",
+ "19 NaN \n",
+ "20 NaN \n",
+ "21 NaN \n",
+ "22 NaN \n",
+ "23 NaN \n",
+ "24 NaN \n",
+ "25 NaN \n",
+ "26 NaN \n",
+ "27 NaN \n",
+ "28 NaN \n",
+ "29 NaN \n",
+ "30 NaN \n",
+ "31 NaN \n",
+ "32 NaN \n",
+ "33 NaN \n",
+ "34 NaN \n",
+ "35 NaN \n",
+ "36 NaN \n",
+ "37 NaN \n",
+ "38 NaN \n",
+ "39 NaN \n",
+ "40 NaN \n",
+ "41 NaN "
+ ]
+ },
+ "execution_count": 92,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "icb_dspt = icb_table.merge(dspt_snapshot, left_on = 'ICB23CDH', right_on = 'Code')\n",
+ "icb_dspt"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 94,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "icb_dspt.to_csv('data/Dspt Snapshots/ICB_dspt_snapshot_17_10_23.csv')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "interpreter": {
+ "hash": "397704579725e15f5c7cb49fe5f0341eb7531c82d19f2c29d197e8b64ab5776b"
+ },
+ "kernelspec": {
+ "display_name": "Python 3.9.18 64-bit",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.18"
+ },
+ "orig_nbformat": 4
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/index.md b/index.md
new file mode 100644
index 0000000..2de9154
--- /dev/null
+++ b/index.md
@@ -0,0 +1,111 @@
+,
+
+# Open Statistics - Cyber Security
+
+
+
+
+ Important:
+
+
This project is currently in development. An overview of methodology and caveats are given below. For more information please contact TDAUgroup@england.nhs.uk. Opinions expressed in this page are not representative of the views of NHS England and any content here should not be regarded as official output in any form. For more information about the NHS England Transformation Directorate please visit our official website.
+
+
+
+The Data Security and Protection Toolkit is an online self-assessment tool that allows organisations to measure their performance against the National Data Guardian’s 10 data security standards.
+
+All organisations that have access to NHS patient data and systems must use this toolkit to provide assurance that they are practising good data security and that personal information is handled correctly. This includes trusts, commissioners and CSUs.
+
+The data displayed in this page will show all organisations open as of 9th of September 2022. Any organisations which have merged and do not have a DSPT status will inherit the DSPT status of the merged organisation.
+
+The following information displays data taken from a specific snapshot of the DSPT data. The latest status information was downloaded on the 9th September 2022.
+
+You can find the previous iteration of this page showing the 20/21 DSPT data at 20/21 Open Cyber Page
+
+For more information on the Data Security and Protection Toolkit, please visit the DSPT portal.
+
+
+
+## Notes on Methodology
+
+Composite Metrics for ICS
+
+The DSPT status for Clinical Commissioning Groups (CCGs) and Trusts are coded (scored) as follows to create the proxy for Integrated Care System (ICS) summary metrics:
+
+
Status Exceeded = 3
+
Status Met = 1
+
Approaching Standards = -1
+
Not Published/Not Met = -3
+
+CCG scores within an ICS are then weighted based on the resident population.
+
+Trust scores within an ICS are weighted as a simple average.
+
+Finally, for each ICS, the CCG and Trust scores are weighted equally to arrive at the ICS composite score.
+
+The final scaling for each of the summary metrics displayed will have an upper bound of 3 and a lower bound of -3.
+
+
+## Summary of DSPT Compliance (2021/2022 edition).
+
+Summary statistics from the DSPT 2021/22 toolkit are shown.
+
+{% include cross_table_summary_21_222022-10-05.html %}
+
+
+
+
+
+
+## ICBs and Trusts - Individual Compliance
+
+The compliance of individual ICBs and Trusts are mapped below, with Region boundaries. Toggle the boxes on the top right-hand side to add layers.
+
+
+
+
+
+
+
+
+The compliance of individual ICBs, made up of a composite score of 50% of the ICB score itself which and 50% of a simple average of Trust scores contained in the ICB. Region boundaries are displayed in blue.
+
+
+
+
+
+
+
+
+
+Template for end-to-end open source analytics: [github.io](https://pages.github.com/), and [github actions](https://github.com/features/actions).
+
+Analytics leverages open source data and R libraries such as [leaflet](https://cran.r-project.org/web/packages/leaflet/index.html) for interactive maps, [plotly](https://plotly.com/r/) for other interactive visualisations and [summarytools](https://cran.r-project.org/web/packages/summarytools/vignettes/introduction.html) for descriptive statistics.
+
diff --git a/index2.md b/index2.md
new file mode 100644
index 0000000..c02a807
--- /dev/null
+++ b/index2.md
@@ -0,0 +1,128 @@
+
+
+# Open Statistics - Cyber Security
+
+
+
+
+ Important:
+
+
This project is currently in development. An overview of methodology and caveats are given below. For more information please contact analytics-unit@nhsx.nhs.uk. Opinions expressed in this page are not representative of the views of NHS England and any content here should not be regarded as official output in any form. For more information about the NHS England Transformation Directorate please visit our official website.
+
+
+
+The Data Security and Protection Toolkit is an online self-assessment tool that allows organisations to measure their performance against the National Data Guardian’s 10 data security standards.
+
+All organisations that have access to NHS patient data and systems must use this toolkit to provide assurance that they are practising good data security and that personal information is handled correctly. This includes trusts, commissioners and CSUs.
+
+The following information displays data taken from a specific snapshot of the DSPT data. The latest status information was downloaded on the 8th February 2022.
+
+For more information on the Data Security and Protection Toolkit, please visit the DSPT portal.
+
+
+
+## Notes on Methodology
+
+Composite Metrics for ICS
+
+The DSPT status for Clinical Commissioning Groups (CCGs) and Trusts are coded (scored) as follows to create the proxy for Integrated Care System (ICS) summary metrics:
+
+
Status Exceeded = 3
+
Status Met = 1
+
Approaching Standards = -1
+
Not Published/Not Met = -3
+
+CCG scores within an ICS are then weighted based on the resident population.
+
+Trust scores within an ICS are weighted either a) as simple average or b) based on their EPRR score.
+
+Finally, for each ICS, the CCG and Trust scores are weighted equally to arrive at the ICS composite score.
+
+The final scaling for each of the summary metrics displayed will have an upper bound of 3 and a lower bound of -3.
+
+
+## Summary of DSPT Compliance (2020/2021 edition).
+
+Summary statistics from the DSPT 2020/21 toolkit are shown.
+
+{% include data_DSPTmetric2022-02-08.html %}
+
+
+
+
+
+
+## CCGs and Trusts - Individual Compliance
+
+The compliance of individual CCGs and Trusts are mapped below, with ICS boundaries. Toggle the boxes on the top right-hand side to add layers.
+
+
+
+
+
+
+
+## CCGs and Proportions of Trusts Compliance - Colour Coded Population
+
+The proportions of trust compliance within each ICS with boundaries (in black) are shown. The ICSs are colored to represent the patient population level. The darker the shade of blue the higher the patient population level.
+
+
+
+
+
+
+## ICSs Composite Compliance - CCG and Trust Score Average Weighted For Population
+
+The compliance of individual ICSs, made up of a composite score of 50% CCG scores which have been weighted for population and 50% of a simple average of Trust scores. Region boundaries are displayed in blue.
+
+
+
+
+
+
+
+Template for end-to-end open source analytics: [github.io](https://pages.github.com/), and [github actions](https://github.com/features/actions).
+
+Analytics leverages open source data and R libraries such as [leaflet](https://cran.r-project.org/web/packages/leaflet/index.html) for interactive maps, [plotly](https://plotly.com/r/) for other interactive visualisations and [summarytools](https://cran.r-project.org/web/packages/summarytools/vignettes/introduction.html) for descriptive statistics.
+
diff --git a/myplotly.md b/myplotly.md
new file mode 100644
index 0000000..77c2ffe
--- /dev/null
+++ b/myplotly.md
@@ -0,0 +1,28 @@
+
+
+# Open Statistics - Cyber Security
+
+{% include update.html %}
+
+
This project is currently in development. For more information please contact martina.fonseca@nhsx.nhs.uk. This is an exploratory piece leveraging open source data and widget tooling in R - it has not received formal QA. Opinions expressed in this page are not representative of the views of NHSX and any content here should not be regarded as official output in any form. For more information about NHSX please visit our official website..
+
+
+
+The Data Security and Protection Toolkit is an online self-assessment tool that allows organisations to measure their performance against the National Data Guardian’s 10 data security standards.
+
+All organisations that have access to NHS patient data and systems must use this toolkit to provide assurance that they are practising good data security and that personal information is handled correctly. This includes trusts, commissioners and CSUs.
+
+For more information on the Data Security and Protection Toolkit, please visit the DSPT portal.
+
+
+
+## Summary of DSPT Compliance (2020/2021 edition).
+
+Summary statistics from the DSPT 2020/21 toolkit are shown. The latest status information was downloaded on the 10th October 2021.
+
+Note on method: organisations open 31st March 2021 are considered. However, if the organisation does not have a 20/21 DSPT status, it has been allowed to inherit one from its 21/22 successor organisation (if the successor submitted a 2020/21 return). The same applies for the subsections below.
+
+
+
+{% include crosstab_summary_FY2021.html %}
+
+
+
+
+
+
+## CCGs - Individual Compliance
+
+The compliance of individual CCGs is mapped below.
+
+
+
+
+
+## Trusts - DSPT Compliance over editions
+
+Below we consider the overall evolution of DSPT status across editions, for trusts open end-financial year 2020/21.
+Note that below, for trusts resulting from mergers, we do not reflect the status of their predecessors, unless their identifying organisational code has been kept.
+
+Despite showing editions side-by-side, it is important to note that the standards - and the level of evidence required to meet those standards - tend to get raised year-on-year. This means that a similar status in two editions is not directly comparable.
+
+
+
+
+
+Template for end-to-end open source analytics: [github.io](https://pages.github.com/), and [github actions](https://github.com/features/actions).
+
+Analytics leverages open source data and R libraries such as [leaflet](https://cran.r-project.org/web/packages/leaflet/index.html) for interactive maps, [plotly](https://plotly.com/r/) for other interactive visualisations and [summarytools](https://cran.r-project.org/web/packages/summarytools/vignettes/introduction.html) for descriptive statistics.
diff --git a/outputs/icb_trusts_map_09_11_22.html b/outputs/icb_trusts_map_09_11_22.html
new file mode 100644
index 0000000..a40bb41
--- /dev/null
+++ b/outputs/icb_trusts_map_09_11_22.html
@@ -0,0 +1,4061 @@
+
+
+
+
+leaflet
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..3617406
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,2 @@
+plotly==4.14.3
+pandas==1.1.3
\ No newline at end of file
diff --git a/run.py b/run.py
new file mode 100644
index 0000000..5548729
--- /dev/null
+++ b/run.py
@@ -0,0 +1,61 @@
+import random
+import pandas as pd
+from datetime import datetime
+import plotly
+import plotly.graph_objects as go
+from plotly.subplots import make_subplots
+
+
+# Generate Data
+
+x = pd.date_range(datetime.today(), periods=100).tolist()
+y = random.sample(range(1, 300), 100)
+
+# Plot figure
+fig = go.Figure([go.Bar(x=x, y=y)])
+
+# Asthetics of the plot
+fig.update_layout(
+ {"plot_bgcolor": "rgba(0, 0, 0, 0)", "paper_bgcolor": "rgba(0, 0, 0, 0)"},
+ autosize=True,
+ margin=dict(l=50, r=50, b=50, t=50, pad=4, autoexpand=True),
+ # height=1000,
+ # hovermode="x",
+)
+
+# Add title and dynamic range selector to x axis
+fig.update_xaxes(
+ title_text="Date",
+ rangeselector=dict(
+ buttons=list(
+ [
+ dict(count=6, label="6m", step="month", stepmode="backward"),
+ dict(count=1, label="1y", step="year", stepmode="backward"),
+ dict(step="all"),
+ ]
+ )
+ ),
+)
+
+# Add title to y axis
+fig.update_yaxes(title_text="Count")
+
+# Write out to file (.html)
+config = {"displayModeBar": False, "displaylogo": False}
+plotly_obj = plotly.offline.plot(
+ fig, include_plotlyjs=False, output_type="div", config=config
+)
+with open("_includes/plotly_obj.html", "w") as file:
+ file.write(plotly_obj)
+
+# Grab timestamp
+data_updated = datetime.now().strftime("%d/%m/%Y %H:%M:%S")
+
+# Write out to file (.html)
+html_str = (
+ '
Latest Data: '
+ + data_updated
+ + "
"
+)
+with open("_includes/update.html", "w") as file:
+ file.write(html_str)
\ No newline at end of file