Part of The Person_ID Handbook
Appendix
Request file
Table 9. Request file field descriptions
Column name | Description |
UNIQUE REFERENCE | Identifier of the request record |
NHS_NO | NHS number |
FAMILY_NAME | Surname |
GIVEN_NAME | First name |
OTHER_GIVEN_NAME | Other names |
GENDER | Gender (sex) of the person |
DATE_OF_BIRTH | Date of birth. The date format is comprised by: YYYY – 4-digit year MM – 2-digit month DD – 2-digit day |
DATE_OF_DEATH | Date of death |
ADDRESS_LINE1 | First line of the person’s address |
ADDRESS_LINE2 | Second line of the person’s address |
ADDRESS_LINE3 | Third line of the person’s address |
ADDRESS_LINE4 | Fourth line of the person’s address |
ADDRESS_LINE5 | Fifth line of the person’s address |
ADDRESS_DATE | The date from which the address has been indicated to be valid |
POSTCODE | Postcode of the person’s address |
GP_PRACTICE_CODE | GP practice code |
NHAIS_POSTING_ID | Unique code that represents the NHAIS box |
AS_AT_DATE | The date the data should be valid for |
LOCAL_PATIENT_ID | Local patient ID used by providers |
INTERNAL_ID | Internally used ID. This field is used for the value that is provided in the data set and will be different depending what type of data has been submitted in the request file. For the HES data set it will contain the HES_ID field |
TELEPHONE_NUMBER | Person's telephone number |
MOBILE_NUMBER | Person's mobile number |
EMAIL_ADDRESS | Person's email address |
Response file
Table 10. Response file field descriptions
Column name | Description |
---|---|
UNIQUE REFERENCE | Identifier of the request record |
REQ_NHS_NO | Requested NHS number provided in the request file data record, if any |
FAMILY_NAME | Surname |
GIVEN_NAME | First name |
OTHER_GIVEN_NAME | Other names |
GENDER | Gender (sex) of the person |
DATE_OF_BIRTH | Date of birth |
DATE_OF_DEATH | Date of death |
ADDRESS_LINE1 | First line of the person’s add |
ADDRESS_LINE2 | Second line of the person’s address |
ADDRESS_LINE3 | Third line of the person’s address |
ADDRESS_LINE4 | Fourth line of the person’s address |
ADDRESS_LINE5 | Fifth line of the person’s address |
ADDRESS_DATE | The date from which the address has been indicated to be valid |
POSTCODE | Postcode of the person’s address |
GP_PRACTICE_CODE | GP practice code |
NHAIS_POSTING_ID | Unique code that represents the NHAIS box |
AS_AT_DATE | The date the data should be valid for |
LOCAL_PATIENT_ID | Local patient ID used by providers |
INTERNAL_ID | Internally used ID. This field is used for the value that is provided in the data set and will be different depending what type of data has been submitted in the request file. For the HES data set it will contain the HES_ID field. |
TELEPHONE_NUMBER | Person's telephone number |
MOBILE_NUMBER | Person's mobile number |
EMAIL_ADDRESS | Person's email address |
SENSITIVE FLAG | S = Sensitive / Y = Legacy Sensitive / I = Invalid / N = Legacy Not Sensitive / B = Legacy Under Business Investigation |
MPS_ID | Also known as UPRI 1 (which stands for unmatched person record identifier) Unique MPS_ID created by MPS |
ERROR/SUCCESS_CODE | See Table 11 |
MATCHED_NHS_NO |
'1234567890’ = valid matched NHS number '9999999999' = multiple NHS numbers matched OR not enough data (e.g., if DOB or postcode is not provided) |
MatchedAlgorithmIndicator | 0 = None of the tracing steps were run 1 = Cross-check trace was the last step run 3 = Alphanumeric trace was the last step run 4 = Algorithmic trace was the last step run |
MatchedConfidencePercentage | Total % score (0 or 100% for cross-check and alphanumeric, weighted and aggregated average for algorithmic) |
FamilyNameScorePercentage | Score derived from the family name comparison between query record and PDS records. Not available in HES. See the Algorithmic trace section for more details |
GivenNameScorePercentage | Score derived from the given name comparison between query record and PDS records. Not available in HES. See the Algorithmic trace section for more details |
DateOfBirthScorePercentage | Score derived from the DOB comparison between query record and PDS records. See the Algorithmic trace section for more details |
GenderScorePercentage | Score derived from the gender comparison between query record and PDS records. See the Algorithmic trace section for more details |
PostcodeScorePercentage | Score derived from the postcode comparison between query record and PDS records. See the Algorithmic trace section for more details |
Error and success codes
Table 11. Codes for ERROR/SUCCESS_CODE field in the response file and the possible Person_ID types it can be associated with.
Only one error code will be returned, even if a record falls due to more than one criterion.
Error code | Person_ID |
---|---|
00 (Success) | NHS number/ MPS_ID/ One-time-use ID |
05 (Unexpected error) | One-time-use ID |
11 (Field length exceeded) | One-time-use ID |
12 (Invalid gender values) | One-time-use ID |
13 (Invalid field format) | One-time-use ID |
14 (Data store error) | One-time-use ID |
15 (No trace performed) | One-time-use ID |
16 (Not enough fields provided) | One-time-use ID |
17 (Number of fields greater than allowed) | One-time-use ID |
90 (Success superseded) | NHS number |
91 (Invalid) | One-time-use ID |
92 (Sensitive) | NHS number/ One-time-use ID |
96 (Not Enough Data) | One-time-use ID |
97 (Multiple Matches) | One-time-use ID |
98 (Not found) | MPS_ID/ One-time-use ID |
Soundex Matching
Soundex is a method of representing the sounds of names as strings. The output of Soundex is used to compare Given and Family names in alphanumeric and algorithmic trace. The output isa letter followed by three numbers.
The Soundex of a name is calculated as follows: first, any non-ASCII characters are removed. Then, each letter in the name is mapped to a number as described in Table 12. The Soundex output consists of a letter followed by 3 numerical digits: the letter is the first letter in the name. The subsequent digits are Soundex mapped numbers of the name, with consecutive digits removed and cropped to the first 3 digits. In the case where the Soundex number are fewer than 3 digits then zeros are padded from the right-hand side. The process is summarised in Figure 9.
Examples of Soundex computation
Example 1: Consider the name Mary. The scoring is calculated as the following:
- the name, Mary is converted to Soundex numbers as 5060
- the zero digits are removed and it becomes 56
- the first number of the left-hand side is replaced with the first letter in Mary thus becomes M6
- the Soundex number has fewer than 4 characters thus the final output is padded with zeros on the right-hand side to become M600
Example 2: Consider the name Mary-Janet. The scoring is calculated as the following:
- the hyphen, a non-ASCII character, is removed for the name to become MaryJanet
- the name, MaryJane is converted to Soundex numbers as 506020503
- the zero digits are removed and it becomes 56253
- the first number of the left-hand side is replaced with the first letter in MaryJane thus becomes M6253
- the Soundex number has more than 4 characters thus the final output is cropped the first 4 characters form the left-hand side to become M625
Example 3: Consider the name Fábián. The scoring is calculated as the following:
- the letters with acute accent, a non-ASCII character, are removed for the name to become Fbin
- Fbin is converted to Soundex numbers as 1105
- the duplicate consecutive numbers are removed thus 105
- the zero digits are removed and it becomes 15
- the first number of the left-hand side is replaced with the first letter in Fábián thus becomes F5
- the Soundex number has fewer than 4 characters thus the final output is padded with zeros on the right-hand side to become F500
Figure 9: Flowchart of computing the Soundex score
Table 12. Soundex Coding for each letter
Letter | Soundex coding |
---|---|
A | 0 |
B | 1 |
C | 2 |
D | 3 |
E | 0 |
F | 1 |
G | 2 |
H | 0 |
I | 0 |
J | 2 |
K | 2 |
L | 4 |
M | 5 |
N | 5 |
O | 0 |
P | 1 |
Q | 2 |
R | 6 |
S | 2 |
T | 3 |
U | 0 |
V | 1 |
W | 0 |
X | 2 |
Y | 0 |
Z | 2 |
Last edited: 27 February 2024 3:53 pm