United Kingdom Patient Solution

Description

The purpose of this solution is to demonstrate how a United Kingdom Patient model might be  implemented in the Master Data Management (MDM) product suite. . Specifically the solution focuses on the  Master Index portion of MDM.

This solution uses a patient definition geared toward the United Kingdom.  Since this is an UKPatient, fields such as the HealthID's IdNum and HealthID's IdNumType are used  for both blocker-searcher definitions and matches.

Data Model Overview

This overview of the data model shows each Sub Object Node of the UKPatient. It highlights the main sections of the United Kingdom Patient model. Additionally, it shows the required fields of the model.

United Kingdom Patient Overview

Data Model

This is the Unified Modeling LanguageUnified Modeling LanguageUnified Modeling Language™Unified Modeling Language™™  (UML) model used to create the United Kingdom Patient.   Unified Modeling LanguageUnified Modeling Language

Abbreviations used in the model are as follows:

Abbreviation Meaning
Notifi Notification
Cat Catalog
Pref<Num>S Preference<Num>Start
Pref<Num>E Preference<Num>End

UML Model

Master Index Properties

The following tables highlight fields that are used in the UKPatient  for matching and blocking operations. Additionally the tables capture the required fields, fields that are standardized and fields that are Normalized. Finally it shows the complete database definitions that are used with the solution.

Matching

Field Name Match Type
UKPatient.DOB
Date
UKPatient.Name[*].FamilyName_Std LastName
UKPatient.Name[*].GivenName_Std FirstName
UKPatient.Gender Gender
UKPatient.NI NI
UKPatient.HealthID[*].IdNumType String
UKPatient.HealthID[*].IdNum String

Required Fields

Field Name
UKPatient.Category
UKPatient.Gender
UKPatient.DOB
UKPatient.Name.FamilyName
UKPatient.Name.GivenName
UKPatient.Address.AddressType
UKPatient.Address.AddressLine1
UKPatient.Telecom.Type
UKPatient.Telecom.Root
UKPatient.Telecom.Code
UKPatient.Consent.Type
UKPatient.AltContact.Relationship
UKPatient.AltContact.Role
UKPatient.AltContact.FamilyName
UKPatient.AltContact.GivenName
UKPatient.HeightWeight.DateTaken
UKPatient.HealthID.IdNumType
UKPatient.HealthID.IdNum

Query - BLOCKER-SEARCH Rules

A summary of the fields used for the blocker-search rules.

Notes:
Block Name Queries
FamilyNameGivenNameDOB
(UKPatient.Name.FamilyName_Phon == UKPatient.Name.FamilyName_Phon) and
(UKPatient.Name.GivenName_Phon == UKPatient.Name.GivenName_Phon) and
(UKPatient.DOB == UKPatient.DOB)
GivenNameDOBGender (UKPatient.Name.GivenName_Phon == KPatient.Name.GivenName_Phon) and
(UKPatient.DOB == UKPatient.DOB) and
(UKPatient.Gender == UKPatient.Gender) 
DOBPostcode (UKPatient.DOB == UKPatient.DOB) and
(Address.Postcode == Address.Postcode)
HealthID (UKPatient.HealthID.IdNumType == UKPatient.HealthID.IdNumType) and
(UKPatient.HealthID.IdNum == UKPatient.HealthID.IdNum)
NI (UKPatient.NI == UKPatient.NI)

Standardization

Standardization Type Source Fields
Address
UKPatient.Address[*].PropName
Address UKPatient.Address[*].Street

Normalization

Type Unnormalized Source Normalized Destination
PersonName UKPatient.Name[*].FamilyName UKPatient.Name[*].FamilyName_Std
PersonName UKPatient.Name[*].GivenName UKPatient.Name[*].GivenName_Std
PersonName UKPatient.AltContact[*].FamilyName UKPatient.AltContact[*].FamilyName_Std
PersonName UKPatient.AltContact[*].GivenName UKPatient.AltContact[*].GivenName_Std

Phonticized Fields

Unphoneticized Source Phoneticized Target
Encoder
UKPatient.Name[*].FamilyName_Std UKPatient.Name[*].FamilyName_Phon NYSIIS
UKPatient.Name[*].GivenName_Std UKPatient.Name[*].GivenName_Phon Soundex
UKPatient.Address[*].PropName_StName UKPatient.Address[*].PropName_StPhon NYSIIS
UKPatient.Address[*].Street_StName UKPatient.Address[*].Street_StPhon NYSIIS
UKPatient.AltContact[*].FamilyName_Std UKPatient.AltContact[*].FamilyName_Phon NYSIIS
UKPatient.AltContact[*].GivenName_Std UKPatient.AltContact[*].GivenName_Phon Soundex

Enumerations

Code Modules

GENDER

LANGUAGE

CONTACT_METHOD

RELATIONSHIP

TITLE

ADDRTYPE

TELECOMTYPE

ETHNIC

MSTATUS - Marital Status

CONTACTROLE

IDTYPE - Id Number Type

User Codes

When the user-code is selected in the MIDM GUI then the corresponding format, input_mask and value_mask are used. The input_mask shows the characters that can be typed.

For the input_mask and value_mask:
A = an alphanumeric character [A-Za-z0-9]
D = a decimal number [0-9]
L = an alphabetic character [A-Za-z]

For the value_mask:
^ = remove the corresponding character from the input string when storing in the data.


Example: The AUXIDDEF shows three values in the MIDM GUI, "CREDIT CARD ID", "Medical License ID" and "Household ID". If the user selects the Household ID they can type in four decimal numbers, a space, four decimal numbers, a space and then four decimal numbers (example: 1111 2222 3333 4444). This will be converted to 1111222233334444 and stored in the database. 
insert into sbyn_user_code (code_list, code, descr, format, input_mask, value_mask)
values ('AUXIDDEF', 'CCID', 'CREDIT CARD ID', '[0-9]{16}', 'DDDD DDDD DDDD DDDD', 'DDDD^DDDD^DDDD^DDDD');

insert into sbyn_user_code (code_list, code, descr, format, input_mask, value_mask)
values ('AUXIDDEF', 'MEDID', 'Medical License ID', '[A-Za-z]{3}[0-9]{6}', 'LLL-DDDDDD', 'LLL^DDDDDD');

insert into sbyn_user_code (code_list, code, descr, format, input_mask, value_mask)
values ('AUXIDDEF', 'HHID', 'Household ID', '[A-Za-z0-9]{3}[0-9]{4}', 'AAADDDD', 'AAADDDD');

References

The following references may be useful to those implementing an United Kingdom patient solution:
http://www.datadictionary.nhs.uk

The attributes for codelist that are defined in this specification where used in this solution.