Skip to content

Commit a1a82e6

Browse files
As per Jira Ticket, https://nhsd-jira.digital.nhs.uk/browse/BCSS-20629 - BCSS – Playwright - NHS Number Tools Markdown Improvements - Utility Guide - NHSNumberTools.md is updated & also Doc String is updated for nhs_number_tools.py
1 parent a32218a commit a1a82e6

File tree

2 files changed

+38
-3
lines changed

2 files changed

+38
-3
lines changed

docs/utility-guides/NHSNumberTools.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@ common functionality that may apply to many services in relation to NHS Number m
88
- [Utility Guide: NHS Number Tools](#utility-guide-nhs-number-tools)
99
- [Table of Contents](#table-of-contents)
1010
- [Using the NHS Number Tools class](#using-the-nhs-number-tools-class)
11-
- [`spaced_nhs_number()`: Return Spaced NHS Number](#spaced_nhs_number-return-spaced-nhs-number)
11+
- [`_nhs_number_checks()`: If the input is not numeric or not 10 digits, it raises a NHSNumberToolsException()](#_nhs_number_checks-if-the-input-is-not-numeric-or-not-10-digits-it-raises-a-nhsnumbertoolsexception)
1212
- [Required Arguments](#required-arguments)
13+
- [Raises](#raises)
14+
- [`spaced_nhs_number()`: Return Spaced NHS Number](#spaced_nhs_number-return-spaced-nhs-number)
15+
- [Required Arguments](#required-arguments-1)
1316
- [Returns](#returns)
1417

1518
## Using the NHS Number Tools class
@@ -18,6 +21,32 @@ You can initialise the NHS Number Tools class by using the following code in you
1821

1922
from utils.nhs_number_tools import NHSNumberTools
2023

24+
## `_nhs_number_checks()`: If the input is not numeric or not 10 digits, it raises a NHSNumberToolsException()
25+
26+
The `_nhs_number_checks()` method does basic checks on NHS number values provided and raises an exception if the number is not valid:
27+
28+
# Args nhs_number (str): The NHS number to check
29+
if not nhs_number.isnumeric():
30+
raise NHSNumberToolsException(
31+
"The NHS number provided ({}) is not numeric.".format(nhs_number)
32+
)
33+
if len(nhs_number) != 10:
34+
raise NHSNumberToolsException(
35+
"The NHS number provided ({}) is not 10 digits.".format(nhs_number)
36+
)
37+
38+
### Required Arguments
39+
40+
The following are required for `_nhs_number_checks()`:
41+
42+
| Argument | Format | Description |
43+
| -----------| -------------- | ------------------------- |
44+
| nhs_number | `str` | The NHS number to check |
45+
46+
### Raises
47+
48+
NHSNumberToolsException: If the NHS number is not numeric or not 10 digits long.
49+
2150
## `spaced_nhs_number()`: Return Spaced NHS Number
2251

2352
The `spaced_nhs_number()` method is designed to take the provided NHS number and return it in a formatted

utils/nhs_number_tools.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,16 @@ class NHSNumberTools:
1111
@staticmethod
1212
def _nhs_number_checks(nhs_number: str) -> None:
1313
"""
14-
This does basic checks on NHS number values provided and raises an exception if the number is not valid.
14+
This will validate that the provided NHS number is numeric and exactly 10 digits long.
1515
1616
Args:
17-
nhs_number (str): The NHS number to check.
17+
nhs_number (str): The NHS number to validate.
18+
19+
Raises:
20+
NHSNumberToolsException: If the NHS number is not numeric or not 10 digits long.
21+
22+
Returns:
23+
None
1824
"""
1925
if not nhs_number.isnumeric():
2026
raise NHSNumberToolsException(

0 commit comments

Comments
 (0)