# nhsnumber

The goal of nhsnumber is to provide some simple functions for working
with NHS numbers in R.

## NHS Number Overview

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.

## Installation

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:

`devtools::install_github("sellorm/nhsnumber")`

## Example

The `is_valid`

function takes a vector of NHS numbers and
returns TRUE or FALSE depending on whether the checksum is successfully
validated.

```
x <- c(9876543210, 1234567890, 1234567881)
nhsnumber::is_valid(x)
```

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.

`nhsnumber::get_checksum(123456788)`

which returns:

`1`

or with the full output:

`nhsnumber::get_checksum(123456788, full_output = TRUE)`

Which returns:

`1234567881`

Some number combinations are invalid and these will throw an error,
for example:

`nhsnumber::get_checksum(123456789)`

Which results in this:

```
Error in nhsnumber::get_checksum(123456789) : Input sequence is invalid
Checksum was 10 which is not permissable
```