phsopendata
contains functions to interact with open data from the Scottish Health and Social Care Open Data platform via the CKAN API.
-
get_resource()
extracts a single resource from an open dataset by resource id -
get_latest_resource()
extracts the most recent resource from applicable datasets, by dataset name -
get_dataset()
extracts multiple resources from an open dataset by dataset name -
list_datasets()
returns the names of all available datasets -
list_resources()
returns information on all resources within an open dataset by dataset name
phsopendata
can be used on both Posit Workbench and desktop versions of RStudio.
Installation
You need to install phsopendata
from GitHub, which requires a package like remotes
or devtools
.
Using remotes
you run this to install the package:
Examples
Downloading a data table with get_resource()
To extract a specific resource, you will need its unique identifier - resource id. This can be found in the dataset metadata, the URL of a resource’s page on https://www.opendata.nhs.scot/, or extracted using list_resources()
.
Querying/filtering data with get_resource()
You can define a row limit with the rows
argument to get the first N rows of a table.
You can use col_select
and row_filters
to query the data server-side (i.e., the data is filtered before it is downloaded to your machine).
Downloading multiple tables with get_dataset()
To extract all resources from a dataset, you will need to use the dataset name. Note that this will differ from the dataset title that displays on the website. This can be found using list_datasets()
, or taken from the dataset URL.
In this example, we are downloading GP Practice Population Demographics from: opendata.nhs.scot/dataset/gp-practice-populations, so the dataset name will be gp-practice-populations.
Contributing to phsopendata
At present, this package is maintained by Csilla Scharle.
If you have requests or suggestions for additional functionality, please contact the package maintainer and/or the PHS Open Data team.
If you would like to share examples of how you work with open data, you can also do so in the Open Data repository, where example scripts and resources are collated.