Type: | Package |
Title: | Wrapper for the 'CVD Prevent' Application Programming Interface |
Version: | 0.2.2 |
Maintainer: | Craig Parylo <craig.parylo2@nhs.net> |
Description: | Provides an R wrapper to the 'CVD Prevent' application programming interface (API). Users can make API requests through built-in R functions. The Cardiovascular Disease Prevention Audit (CVDPREVENT) is an England-wide primary care audit that automatically extracts routinely held GP health data. https://bmchealthdocs.atlassian.net/wiki/spaces/CP/pages/317882369/CVDPREVENT+API+Documentation. |
License: | MIT + file LICENSE |
URL: | https://github.com/craig-parylo/cvdprevent, https://craig-parylo.github.io/cvdprevent/ |
BugReports: | https://github.com/craig-parylo/cvdprevent/issues |
Imports: | cli, dplyr, glue, httr2, jsonlite, purrr, tibble, tidyr |
Suggests: | ggplot2, gt, knitr, rmarkdown, testthat (≥ 3.0.0) |
VignetteBuilder: | knitr |
Encoding: | UTF-8 |
RoxygenNote: | 7.3.2 |
Config/testthat/edition: | 3 |
Depends: | R (≥ 4.1.0) |
NeedsCompilation: | no |
Packaged: | 2025-05-25 12:46:58 UTC; craigparylo |
Author: | Craig Parylo |
Repository: | CRAN |
Date/Publication: | 2025-05-25 13:00:03 UTC |
Area details
Description
Returns details of a specific area at a given time period, including details about any parent and child areas.
Usage
cvd_area_details(time_period_id = 1, area_id = 1)
Arguments
time_period_id |
integer - specified time period for which to return details for, i.e. population and participation rate (compulsory) |
area_id |
integer - specified area id for which to return details for. |
Details
CVD Prevent API documentation: Area details
Value
Named list of tibbles containing area 'area_details', child 'area_child_details' (where appropriate) and parent 'area_parent_details' (where appropriate)
See Also
cvd_area_list()
, cvd_area_unassigned()
, cvd_area_search()
, cvd_area_nested_subsystems()
, cvd_area_flat_subsystems()
Examples
# to see details for '3 Centres PCN' (area_id = 1103) use the following:
# get the list of tibbles from the function
returned_list <- cvd_area_details(time_period_id = 17, area_id = 1103)
# view area details
returned_list$area_details |>
dplyr::select(AreaCode, AreaName)
# view details for the parent of this area
returned_list$area_parent_details |>
dplyr::select(AreaID, AreaName, SystemLevelID)
# view details for the children of this area
returned_list$area_child_details |>
dplyr::select(AreaID, AreaName, SystemLevelID)
Area flat subsystems
Description
Similar to cvd_area_nested_subsystems()
but the sub-areas are grouped
based on their system level.
Usage
cvd_area_flat_subsystems(area_id = 5)
Arguments
area_id |
integer - the area to return data for (compulsory) |
Details
CVD Prevent API documentation: Area flat subsystems
Value
Tibble of details for the area and its child areas (where applicable)
See Also
cvd_area_list()
, cvd_area_details()
, cvd_area_unassigned()
, cvd_area_search()
, cvd_area_nested_subsystems()
Examples
# View details for for Somerset STP
cvd_area_flat_subsystems(area_id = 5) |>
dplyr::glimpse()
# View details for Leicester Central PCN
cvd_area_flat_subsystems(area_id = 701) |>
dplyr::glimpse()
List areas
Description
Returns all areas for a given time period and parent area or system level. Only areas which have data for the specified time period will be returned.
Usage
cvd_area_list(time_period_id = 1, parent_area_id, system_level_id)
Arguments
time_period_id |
integer - specifies time period for which to return areas (compulsory) |
parent_area_id |
integer - specifies the area of which children will be returned (optional) |
system_level_id |
integer - specifies which system levels to return areas for (optional) |
Details
Either parent area or system level must be specified: If parent area is specified, all children areas of that parent will be returned. If system level is specified, all areas within that system level will be returned.
Parent area takes precedence over system level - if parent area is specified, system level is ignored.
CVD Prevent API documentation: Area lists
Value
Tibble of area details
See Also
cvd_area_details()
, cvd_area_unassigned()
, cvd_area_search()
, cvd_area_nested_subsystems()
, cvd_area_flat_subsystems()
Examples
# list four PCNs with data available at time period 17
cvd_area_list(time_period_id = 17, system_level_id = 4) |>
dplyr::select(SystemLevelName, AreaID, AreaCode, AreaName) |>
dplyr::slice_head(n = 4)
Area nested sub systems
Description
Returns given area and children areas in a nested structure
Usage
cvd_area_nested_subsystems(area_id = 5)
Arguments
area_id |
integer - the area to return data for (compulsory) |
Details
CVD Prevent API documentation: Area nested subsystems
Value
List of named tibbles containing details for the area and each sub-level areas
See Also
cvd_area_list()
, cvd_area_details()
, cvd_area_unassigned()
, cvd_area_search()
, cvd_area_flat_subsystems()
Examples
# View details for for Somerset STP
returned_list <- cvd_area_nested_subsystems(area_id = 5)
returned_list |> summary()
# see details for five of the immediate children of Somerset STP
returned_list$level_2 |>
dplyr::slice_head(n = 5)
# View details for Leicester Central PCN
returned_list <- cvd_area_nested_subsystems(area_id = 701)
returned_list |> summary()
# see details for the GP practice children of the PCN
returned_list$level_2
Search for matching areas
Description
Returns a list of Areas that match a partial name for a given time period. Uses simple LIKE '%<partial_area_name>%' comparison.
Usage
cvd_area_search(partial_area_name = "Surgery", time_period_id = 1)
Arguments
partial_area_name |
string - string to use to search for an Area (compulsory) |
time_period_id |
integer - limits the search to Areas which have data in specified time period (compulsory) |
Details
CVD Prevent API documentation: Area search
Value
Tibble of details for areas matching the search term
See Also
cvd_area_list()
, cvd_area_details()
, cvd_area_unassigned()
, cvd_area_nested_subsystems()
, cvd_area_flat_subsystems()
Examples
# NB, the following examples are not tested because they take longer than
# expected to return the results
# search for areas matching the term 'practice'
cvd_area_search(partial_area_name = 'practice', time_period_id = 17) |>
dplyr::select(AreaID, AreaName, AreaCode)
# search for areas matching the term 'PCN'
cvd_area_search(partial_area_name = 'PCN', time_period_id = 17) |>
dplyr::select(AreaID, AreaName, AreaCode)
List system levels per time period
Description
Returns all available system levels for a specified time period.
Usage
cvd_area_system_level(time_period_id = 1)
Arguments
time_period_id |
integer - the time period to return data for (compulsory) |
Details
CVD Prevent API documentation: System levels per time period
Value
tibble of system levels available for the time period
See Also
cvd_area_details()
, cvd_area_unassigned()
, cvd_area_search()
, cvd_area_nested_subsystems()
, cvd_area_flat_subsystems()
Examples
# list system levels for time period 4
cvd_area_system_level(time_period_id = 4) |>
dplyr::select(SystemLevelID, SystemLevelName)
List all system levels and available time periods
Description
Returns all available system levels along with the time periods where the system levels occur.
Usage
cvd_area_system_level_time_periods()
Details
Note: this is the inverse of cvd_time_period_system_levels()
.
CVD Prevent API documentation: All system levels and time periods
Value
tibble of system levels and reporting periods
See Also
cvd_time_period_system_levels()
, cvd_area_details()
, cvd_area_unassigned()
, cvd_area_search()
, cvd_area_nested_subsystems()
, cvd_area_flat_subsystems()
Examples
# list the latest four reporting periods at GP practice level
cvd_area_system_level_time_periods() |>
dplyr::filter(SystemLevelName == 'Practice') |>
dplyr::slice_max(order_by = TimePeriodID, n = 4) |>
dplyr::select(SystemLevelName, TimePeriodID, TimePeriodName)
Unassigned areas
Description
Returns a list of all areas which have data in the selected time period, but do not have any parent areas assigned, and therefore are unreachable.
Usage
cvd_area_unassigned(time_period_id = 1, system_level_id)
Arguments
time_period_id |
integer - time period for which Area must have data for (compulsory) |
system_level_id |
integer - system level of areas in the unassigned list (optional) |
Details
CVD Prevent API documentation: Areas unassigned
Value
Tibble of details for areas without parent details
See Also
cvd_area_list()
, cvd_area_details()
, cvd_area_search()
, cvd_area_nested_subsystems()
, cvd_area_flat_subsystems()
Examples
# Report four GP practices (ID = 5) without parent PCN details:
cvd_area_unassigned(time_period_id = 17, system_level_id = 5) |>
dplyr::slice_head(n = 4) |>
dplyr::select(SystemLevelName, AreaID, AreaName)
# England, as the highest system_level (ID = 1) does not have parent details
cvd_area_unassigned(time_period_id = 17, system_level_id = 1) |>
dplyr::select(SystemLevelName, AreaID, AreaName)
Data availability
Description
Returns the data availability.
Response:
DataAvailabilityID
- ID of the resource as found in the database
DataAvailabilityName
- explanation for the data availability
IsAvailable
- Y
for data is available, N
for data is unavailable, and NULL for unknown data
Usage
cvd_data_availability(
time_period_id = 1,
system_level_id = 1,
indicator_id,
metric_category_type_id
)
Arguments
time_period_id |
integer - the time period to return data for (compulsory) |
system_level_id |
integer - the system level to return data for (compulsory) |
indicator_id |
integer - the indicator to return data for (optional) |
metric_category_type_id |
integer - the metric category to return data for (optional) |
Details
CVD Prevent API documentation: Data availability
Value
Tibble of data availability
See Also
Examples
cvd_data_availability(time_period_id = 3, system_level_id = 5)
External resource
Description
Returns a list of all external resources
Usage
cvd_external_resource()
Details
CVD Prevent API documentation: External resources
Value
Tibble of details for external resources
See Also
Examples
# Here we show the first five external resources:
cvd_external_resource() |>
dplyr::filter(ExternalResourceID < 10) |>
dplyr::select(ExternalResourceCategory, ExternalResourceSource, ExternalResourceTitle) |>
dplyr::group_by(ExternalResourceCategory)
Indicators
Description
Returns all indicators and data for a given time period and area. Also returns time series data for all time periods available. If tags are specified, only indicators which have one of the specified tags will be returned.
Usage
cvd_indicator(time_period_id = 1, area_id = 1, tag_id)
Arguments
time_period_id |
integer - time period to return data for (compulsory) |
area_id |
integer - area to return data for (compulsory) |
tag_id |
numeric vector - allows filtering indicators by one or more tags (optional, array) |
Details
CVD Prevent API documentation: Indicator
Value
List of named tibbles (indicators, categories, category_data, timeseries_data, all_data)
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
# Returns a list of named tibbles. To use we need to unpack the list:
return_list <- cvd_indicator(time_period_id = 17, area_id = 1103)
# See what the list contains
return_list |> summary()
# extract the indicators
indicators <- return_list$indicators
indicators |>
dplyr::select(IndicatorID, IndicatorCode, IndicatorShortName) |>
dplyr::arrange(IndicatorID) |>
dplyr::slice_head(n = 4)
# extract the metric categories
categories <- return_list$metric_categories
categories |>
dplyr::filter(IndicatorID == 7, MetricCategoryID %in% c(7, 8)) |>
dplyr::select(IndicatorID, MetricCategoryTypeName,
CategoryAttribute, MetricCategoryName, MetricID)
# extract metric data
metric_data <- return_list$metric_data
metric_data |>
dplyr::filter(MetricID %in% c(126, 132)) |>
dplyr::select(MetricID, Value, Numerator, Denominator)
# extract the time series data
timeseries_data <- return_list$timeseries_data
timeseries_data |>
dplyr::filter(MetricID %in% c(126, 132), !is.na(Value))
# indicators are searcheable by one or more Tag.
return_list <-
cvd_indicator(time_period_id = 17, area_id = 3, tag_id = c(3, 4))
Indicator child data
Description
Returns all children areas and their data for specified time period, area and metric. This endpoint is intended to only return data for selected metric, and not all metrics for indicators, hence the metricID query parameter.
Usage
cvd_indicator_child_data(time_period_id = 17, area_id = 74, metric_id = 1)
Arguments
time_period_id |
integer - time period for which to return data (compulsory) |
area_id |
integer - area for which all children data will be returned (compulsory) |
metric_id |
integer - metric for which to return data (compulsory) |
Details
CVD Prevent API documentation: Indicator child data
Value
Tibble of details for the specified metric in the child areas of the specified area
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
cvd_indicator_child_data(time_period_id = 17, area_id = 74, metric_id = 126) |>
dplyr::select(AreaID, AreaName, Value, LowerConfidenceLimit, UpperConfidenceLimit)
Indicator data
Description
Returns all metric data for a specified indicator. Data will include values for both selected area, and organisation at National Level (usually England).
Usage
cvd_indicator_data(indicator_id = 1, time_period_id = 1, area_id = 1)
Arguments
indicator_id |
integer - indicator for which to return data (compulsory) |
time_period_id |
integer - time period for which to return data for (compulsory) |
area_id |
integer - area for which to return data for (compulsory) |
Details
CVD Prevent API documentation: Indicator data
Value
Tibble of details for the indicator in the area and a national comparison
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
# Look at 'AF: treatment with anticoagulants' (indicator ID 7) in time
# period 17 for 'Leicester Central PCN' (area_id 701) focussed on metrics
# by gender:
cvd_indicator_data(time_period_id = 17, indicator_id = 7, area_id = 701) |>
dplyr::filter(MetricCategoryTypeName == 'Sex') |>
dplyr::select(MetricID, MetricCategoryName, AreaData.AreaName,
AreaData.Value, NationalData.AreaName, NationalData.Value)
Indicator details
Description
Returns details of a single indicator
Usage
cvd_indicator_details(indicator_id = 1)
Arguments
indicator_id |
integer - the ID for the indicator (compulsory) |
Details
CVD Prevent API documentation: Indicator details
Value
Tibble of details for the specified indicator
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
cvd_indicator_details(indicator_id = 7) |>
dplyr::select(IndicatorID, MetaDataTitle, MetaData) |>
dplyr::slice_head(n=5)
Indicator group
Description
Returns a single indicator group for a given group ID. An error will be
returned if there is no indicator group associated with the given ID.
IndicatorGroup
is the primary key in the IndicatorGroup table, which also
contains IndicatorGroupName
and IndicatorGroupTypeID
. The group type ID
tells you what type of indicator group you're dealing with, e.g. a Priority
Group.
IndicatorGroupTypeID
is the primary key of IndicatorGroupType and so
IndicatorGroupTypeName
is the associated name for the given group type ID.
Finally, there is the array of indicators which are contained in this group,
including display orders for the given group.
Usage
cvd_indicator_group(indicator_group_id = 15)
Arguments
indicator_group_id |
integer - the group to return data for (compulsory) |
Details
CVD Prevent API documentation: Indicator group
Value
Tibble of indicators grouped by indicator group
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
# list the indicators under Indicator Group ID 13 (Monitoring) which lists
# 'Key Question' Indicator Group indicators:
cvd_indicator_group(indicator_group_id = 13) |>
dplyr::select(IndicatorGroupID, IndicatorGroupName, IndicatorGroupTypeName,
IndicatorID, IndicatorName)
List indicators
Description
Returns basic details of all indicators for a given system level and time period. Only returns indicators for which data exists in selected time period, and on selected system level. Used to populate available indicator list in Data Explorer.
Usage
cvd_indicator_list(time_period_id = 1, system_level_id = 2)
Arguments
time_period_id |
integer - time period to reutrn data for (compulsory) |
system_level_id |
integer - system level to return data for (compulsory) |
Details
CVD Prevent API documentation: Indicator list
Value
Tibble of details for indicators for the time period and system level
See Also
cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
# List four indicators for time point 17 and GP practice level (system level 5)
cvd_indicator_list(time_period_id = 17, system_level_id = 5) |>
dplyr::select(IndicatorID, IndicatorCode, IndicatorShortName) |>
dplyr::slice_head(n = 4)
Indicator metric area breakdown
Description
Returns data for the Area Breakdown chart for provided metric, area and time
period. Data
contains the target value as well as an array SystemLevels
which contains data grouped by system level.
Usage
cvd_indicator_metric_area_breakdown(
metric_id = 1,
time_period_id = 1,
area_id = 1
)
Arguments
metric_id |
integer - the metric to return data for (compulsory) |
time_period_id |
integer - the time period to return data for (compulsory) |
area_id |
integer - the area to return data for (compulsory) |
Details
CVD Prevent API documentation: Indicator metric area breakdown
Value
Tibble of metric performance for the specified area compared with National level
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
Examples
# Return performance for metric 'AF: DOAC & VitK' in men aged 60-79 years
# (metric ID 128) in time period 17 for Salford South East PCN (area ID 705):
cvd_indicator_metric_area_breakdown(metric_id = 128, time_period_id = 17,
area_id = 705) |>
dplyr::select(SystemLevelName, AreaID, AreaName, Value)
Metric data
Description
Returns all metric data for a specified metric. Data will include values for both selected area and organisation at National Level (usually England).
Usage
cvd_indicator_metric_data(metric_id = 7, time_period_id = 1, area_id = 2)
Arguments
metric_id |
integer - metric for which to return data for (compulsory) |
time_period_id |
integer - time period for which to return data for (compulsory) |
area_id |
integer - area for which to return data for (compulsory) |
Details
CVD Prevent API documentation: Indicator metric data
Value
Tibble of details for metric performance in the area and time period
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
# Retrieve metric data for AF: treatment with anticoagulants for 'Alliance
# PCN' (area ID 399) in time period 1 for metric 126 (breakdown by age group:
# males aged 40-59):
cvd_indicator_metric_data(metric_id = 126, time_period_id = 1, area_id = 399) |>
dplyr::select(IndicatorShortName, CategoryAttribute, MetricCategoryName,
AreaData.Value, NationalData.Value)
List metrics for indicators
Description
Returns same data as cvd_indicator_list() but adds a 'MetricList' array for each indicator, containing details of the relevant metrics. Only returns indicators for which data exists in selected time period, and on selected system level.
Usage
cvd_indicator_metric_list(time_period_id = 1, system_level_id = 1)
Arguments
time_period_id |
integer - time period to return data for (compulsory) |
system_level_id |
integer - system level to return data for (compulsory) |
Details
CVD Prevent API documentation: Indicator metric list
Value
Tibble of details for indicators and associated metrics
See Also
cvd_indicator_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
,
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
# List metrics for the prevalence of atrial fibrillation (indicator ID 1),
# focussing on just those metrics for the 40-59 years age group:
cvd_indicator_metric_list(time_period_id = 17, system_level_id = 1) |>
dplyr::filter(IndicatorID == 1, MetricCategoryName == '40-59') |>
dplyr::count(IndicatorID, IndicatorShortName, MetricID, MetricCategoryName, CategoryAttribute) |>
dplyr::select(-n)
Indicator metric system level comparison
Description
Returns data for the SystemLevel Comparison chart for provided metric, area
and time period. Data
contains the target value as well as an array
SystemLevels
which contains data grouped by system level.
Usage
cvd_indicator_metric_systemlevel_comparison(
metric_id = 1,
time_period_id = 1,
area_id = 50
)
Arguments
metric_id |
integer - the metric to return data for (compulsory) |
time_period_id |
integer - the time period to return data for (compulsory) |
area_id |
integer - the area to return data for (compulsory) |
Details
CVD Prevent API documentation: Indicator metric system level comparison
Value
Tibble of metric performance for the specified area and all other areas in the same system level in the time period
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
,
cvd_indicator_metric_area_breakdown()
Examples
# return performance for metric 'AF: DOAC & VitK' in people aged 40-59 years
# (metric ID 1270) in time period 17 for Salford South East PCN (area ID 705)
# and all other PCNs - truncated to a sample of four PCN performances:
cvd_indicator_metric_systemlevel_comparison(metric_id = 1270,
time_period_id = 17, area_id = 705) |>
dplyr::filter(AreaID %in% c(705:709), !is.na(Value)) |>
dplyr::select(SystemLevelName, AreaID, AreaName, Value)
Indicator time series by metric
Description
Returns data for the time series chart for specified metric ID and area ID.
Contains an array of two areas in Areas
, one of which is the National data
with the other corresponding to the provided area ID. TargetValue
is also
returned in the Data
dictionary.
Usage
cvd_indicator_metric_timeseries(metric_id = 1, area_id = 50)
Arguments
metric_id |
integer - the metric to return data for (compulsory) |
area_id |
integer - the area to return data for (compulsory) |
Details
CVD Prevent API documentation: Indicator time series metrics
Value
Tibble of time-series data for the specified metric in the area
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_group()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
# List data for Salford South East PCN (area ID 705) for 'AF: treatment with
# anticoagulants' for women people aged 60-79 years (metric ID 130):
cvd_indicator_metric_timeseries(metric_id = 130, area_id = 705) |>
dplyr::select(AreaName, TimePeriodName, TimePeriodID, Value) |>
tidyr::pivot_wider(
names_from = AreaName,
values_from = Value
)
Indicator national vs area metric data
Description
Returns national and area data for the provided metric, area, and time period.
Usage
cvd_indicator_nationalarea_metric_data(
metric_id = 1,
time_period_id = 17,
area_id = 739
)
Arguments
metric_id |
integer - metric for which to return data (compulsory) |
time_period_id |
integer - time period for which to return data (compulsory) |
area_id |
integer - area for which to return data (compulsory) |
Details
The returned object is a list containing named tibbles. The two possible tibbles are:
-
area
: contains metric data for the specified area in comparison with national metric data. -
target
: contains details on how to reach target values, including:target value as a percentage (stored as a whole number up to 100)
target patients (the number of additional patients needed to reach the target percentage)
Note that the target
tibble is only provided if data is available for both
national and the chosen area.
CVD Prevent API documentation: Indicator national vs area metric data
Value
List of named tibbles (area
, target
) where target
is only provided if data is available.
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
,
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
# Compare performance against metric 150 (AF: treatment with anticoagulants
# - all people) in 'Chester South PCN' (area ID 553) with national
# performance:
return_list <- cvd_indicator_nationalarea_metric_data(
metric_id = 150,
time_period_id = 17,
area_id = 553
)
# See what the list contains
return_list |> summary()
# Extract the `area` details
area_data <- return_list$area
area_data |> gt::gt()
# Extract `target` details
target_data <- return_list$target
target_data |> gt::gt()
Pathway groups
Description
Pathway groups are sub-groupings of Priority Groups, visible in the Regional & ICS Insights page. This endpoint returns a single pathway group for a given group ID. An error will be returned if there is no pathway group associated with the given ID. For a valid request, Pathway Group ID and named are returned as key value pairs and the Indicators populate an array.
Usage
cvd_indicator_pathway_group(pathway_group_id = 10)
Arguments
pathway_group_id |
integer - the pathway to return data for (compulsory) |
Details
CVD Prevent API documentation: Indicator pathway group
Value
Tibble of indicators grouped by pathway groups
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
,
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
# Return indicators for the 'Chronic Kidney Disease' Pathway Group (ID 9):
cvd_indicator_pathway_group(pathway_group_id = 9) |>
dplyr::select(PathwayGroupName, PathwayGroupID, IndicatorCode, IndicatorID, IndicatorName)
Indicator persons time series by indicator
Description
Returns data for the Inequalities Markers Time Series chart for the provided
indicator ID and area ID. Data
contains information about the chosen
target value as well as an array InequalityMarkers
which contains all the
time series data grouped into metric category types e.g. age group,
ethnicity, etc.
Usage
cvd_indicator_person_timeseries(indicator_id = 1, area_id = 1)
Arguments
indicator_id |
integer - the indicator to return data for (compulsory) |
area_id |
integer - the area to return data for (compulsory) |
Details
CVD Prevent API documentation: Indicator person time series
Value
Tibble of metric performance for the specified indicator in the area
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
# View the details of the time-series performance for indicator 'AF:
# treatment with anticoagulants' (ID 7) in Salford South East PCN (area ID
# 705), focussed just on the age group inequalities metrics:
cvd_indicator_person_timeseries(indicator_id = 7, area_id = 705) |>
dplyr::filter(
MetricCategoryTypeName == 'Age group',
!is.na(Value)
) |>
dplyr::select(MetricCategoryName, TimePeriodName, TimePeriodID, Value) |>
tidyr::pivot_wider(
names_from = MetricCategoryName,
values_from = Value
)
Indicator priority groups
Description
Returns the list of top-level groupings (Priority Groups) displayed in the Regional & ICS Insights page. Returns a dictionary called 'PriorityGroups' with each key being a Priority Group name, and each value being the array of indicators contained in that group. The 'PriorityGroupDisplayOrder' indicates the order in which it should be displayed for the given Priority Group.
Usage
cvd_indicator_priority_groups()
Details
CVD Prevent API documentation: Indicator priority groups
Value
Tibble of indicators grouped by priority group
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_pathway_group()
,
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
# Return one indicator from each of the priority groups:
cvd_indicator_priority_groups() |>
dplyr::select(PriorityGroup, PathwayGroupName, PathwayGroupID,
IndicatorCode, IndicatorID, IndicatorName) |>
dplyr::slice_head(by = PathwayGroupID)
Indicator raw data (JSON)
Description
Returns all metric data for a specified indicator, system level and time period.
Usage
cvd_indicator_raw_data(
indicator_id = 1,
time_period_id = 1,
system_level_id = 1
)
Arguments
indicator_id |
integer - indicator for which to return data for (compulsory) |
time_period_id |
integer - time period for which to return data for (compulsory) |
system_level_id |
integer - system level for which to return data for (compulsory) |
Details
CVD Prevent API documentation: Indicator raw data JSON
Value
Tibble of metric performance details for a specified indicator across the system level
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
# return all metric data for indicator 'AF: treatment with anticoagulants'
# (indicator ID 7) in time period 17 at GP practice level (system level ID 5):
cvd_indicator_raw_data(indicator_id = 7, time_period_id = 17, system_level_id = 5) |>
dplyr::slice_head(n = 5) |>
dplyr::select(AreaCode, AreaName, Value)
Indicator sibling data
Description
Returns all sibling areas and their data for specified time period, area and metric. This endpoint is intended to only return data for selected metric, and not all metrics for a chosen indicator, hence the metric_id query parameter.
Usage
cvd_indicator_sibling(time_period_id = 17, area_id = 30, metric_id = 1)
Arguments
time_period_id |
integer - time period for which to return data (compulsory) |
area_id |
integer - area for which all sibling data will be returned (compulsory) |
metric_id |
integer - metric for which to return data (compulsory) |
Details
CVD Prevent API documentation: Indicator sibling data
Value
Tibble of data for indicators for the area and its siblings in the time period
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_tags()
, cvd_indicator_details()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
cvd_indicator_sibling(time_period_id = 17, area_id = 1103, metric_id = 126) |>
dplyr::select(AreaID, AreaName, Value, LowerConfidenceLimit, UpperConfidenceLimit)
Indicator tags
Description
Returns a list of all available tags, which can be used to filter indicators.
Usage
cvd_indicator_tags()
Details
CVD Prevent API documentation: Indicator tags
Value
Tibble of details for indicator tags
See Also
cvd_indicator_list()
, cvd_indicator_metric_list()
, cvd_indicator()
,
cvd_indicator_details()
, cvd_indicator_sibling()
,
cvd_indicator_child_data()
, cvd_indicator_data()
, cvd_indicator_metric_data()
,
cvd_indicator_raw_data()
, cvd_indicator_nationalarea_metric_data()
,
cvd_indicator_priority_groups()
, cvd_indicator_pathway_group()
, #
cvd_indicator_group()
, cvd_indicator_metric_timeseries()
,
cvd_indicator_person_timeseries()
, cvd_indicator_metric_systemlevel_comparison()
,
cvd_indicator_metric_area_breakdown()
Examples
cvd_indicator_tags() |>
dplyr::arrange(IndicatorTagID) |>
dplyr::slice_head(n = 5)
List indicator types
Description
Returns IDs and descriptions for indicator types.
This is a helper function for the cvd_time_period_list()
which permits the
optional parameter of indicator_type_id
.
Usage
cvd_indicator_types()
Value
Tibble of indicator types
See Also
Examples
# NB, the following example is not tested because it takes longer than
# expected to return the results
# List available indicator types
cvd_indicator_types()
List time periods
Description
Returns all available time periods
Usage
cvd_time_period_list(indicator_type_id)
Arguments
indicator_type_id |
integer - Indicator type ID, e.g. standard or outcome indicator type. If passed will show time periods containing data of the given type (optional) |
Details
CVD Prevent API documentation: Time period
Value
Tibble of time period details
See Also
cvd_indicator_types()
, cvd_time_period_system_levels()
Examples
# NB, the following examples are not tested because they take longer than
# expected to return the results
# get a tibble of all periods
cvd_time_periods <- cvd_time_period_list()
# filter for the latest four periods
cvd_time_period_list() |>
dplyr::filter(IndicatorTypeName == 'Standard') |>
dplyr::slice_max(order_by = TimePeriodID, n = 4) |>
dplyr::select(TimePeriodID, TimePeriodName)
Time periods and system levels
Description
Returns all available time periods along with the systems levels included in each time period.
Usage
cvd_time_period_system_levels()
Details
CVD Prevent API documentation: Time period system levels
Value
tibble of time periods and associated system levels
See Also
Examples
# get a tibble of all periods and levels
periods_levels <- cvd_time_period_system_levels()
# see which levels are available for the latest period
periods_levels |>
dplyr::filter(TimePeriodID == max(TimePeriodID)) |>
dplyr::select(TimePeriodID, TimePeriodName, SystemLevelID, SystemLevelName)