The goal of nhsnumber is to provide some simple functions for working with NHS numbers in R.
NHS numbers are issued to patients of the NHS in the UK.
The number consists of 9 digits and a single digit checksum.
For more information, please see the NHS number Wikipedia article on the subject.
You can install the released version of nhsnumber from CRAN with:
install.packages("nhsnumber")
You can install the development version of nhsnumber from GitHub with:
::install_github("sellorm/nhsnumber") devtools
The is_valid
function takes a vector of NHS numbers and
returns TRUE or FALSE depending on whether the checksum is successfully
validated.
<- c(9876543210, 1234567890, 1234567881)
x ::is_valid(x) nhsnumber
Which returns:
TRUE FALSE TRUE
It’s also possible to generate the checksums using the
get_checksum
function. This function uses the 9 core digits
and returns either the checksum on its own, or the full 10 digit
number.
::get_checksum(123456788) nhsnumber
which returns:
1
or with the full output:
::get_checksum(123456788, full_output = TRUE) nhsnumber
Which returns:
1234567881
Some number combinations are invalid and these will throw an error, for example:
::get_checksum(123456789) nhsnumber
Which results in this:
Error in nhsnumber::get_checksum(123456789) : Input sequence is invalid
Checksum was 10 which is not permissable