NHS number validator (JS)
A simple NHS number validator, following the process described in the NHS Data Dictionary.
Installation
NPM
npm install --save nhs-number-validator
Bower
bower install --save nhs-number-validator
Usage
Command line / terminal
To run the interactive validation tool, install the NPM module globally:
npm install -g nhs-number-validator
and nhs-number-validator
will be added to your path:
$ nhs-number-validatorEnter NHS numbers to validate, Ctrl-D to exit> 123*INVALID> 2983396339 VALID
You can also install the tool for a single project, and just reference the executable in your project:
npm install nhs-number-validator./node_modules/.bin/nhs-number-validator# or `npm bin`/nhs-number-validator
Node/Browserify
For environments supporting require
/exports
:
var validator = ; validator // => truevalidator // => false
Browsers
Any environment which exposes window
will have the nhsNumberValidator
variable attached when index.js
is loaded, e.g.:
Contributing
Pull requests, issues, and questions are all welcome.
Some useful commands:
npm test
: run the test suite.npm run test-watch --silent
: watch for changes and run the test suite each time.npm run lint --silent
: run the code linter.npm run cli
: run the validator CLI.
NPM is overly verbose at the moment, hence the additional --silent
to suppress the unnecessary noise.
Creating a release
Making a release is pretty straightforward:
VERSION_NUMBER=1.1.0 git checkout master && git pullgit checkout develop && git pull git flow release start $VERSION_NUMBER # Bump the version in package.json now! jq ".version = \"${VERSION_NUMBER}\"" package.json > package.json.new && mv package.json.new package.jsonjq ".version = \"${VERSION_NUMBER}\"" bower.json > bower.json.new && mv bower.json.new bower.jsongit add package.jsongit commit -m "Update package version number to $VERSION_NUMBER" # The following command requires user input git flow release finish $VERSION_NUMBER git checkout master && git pushgit checkout develop && git pushgit push --tags git checkout masterhub release create -m "$VERSION_NUMBER" $VERSION_NUMBERnpm publish# Bower is published automatically using Git tags, so don't worry about that git checkout develop