· May 20, 2022

Patient Index Data Quality manager modify SSN rule with South African Identity Number

Hi Team

I have enabled Data Quality manager on InterSystems healthshare Patient Index and the  SSN field holds south african Identity numbers on our system.

I would like to modify the rule to validate according to South African ID number and not SSN. Data quality manager classifies this South African Identity numbers as Invalid because the rule is based on SSN.

Please see the current and default SSN rule below and advise how I can go about accomplishing this  task, if anyone has that rule please share how it's done.


Product version: IRIS 2020.2
$ZV: HealthShare 2020.2 [HealthShare Modules: Active Analytics:20.0.8620 + Core:20.0.8620 + Patient Index:20.0.8620] - IRIS for UNIX (Red Hat Enterprise Linux for x86-64) 2020.1 (Build 217_1_20418U) Tue Nov 17 2020 15:48:44 EST
Discussion (3)1
Log in or sign up to continue

Hi Ephraim,

you can create a custom rule and then change the classifier rule for that property, though on upgrade you'd probably have to change it again since you're  re-using an existing field.  I'm not sure what the South African ID looks like but you should be able to do similar type pattern matchings and such.  Happy to help if you share the general format?

-- Alex

Thanks Alex,

Please see the below and check if you can help

South African ID number

A South African ID number is a 13-digit number which is defined by the following format: YYMMDDSSSSCAZ.

  • The first 6 digits (YYMMDD) are based on your date of birth. 20 February 1992 is displayed as 920220.
  • The next 4 digits (SSSS) are used to define your gender.  Females are assigned numbers in the range 0000-4999 and males from 5000-9999.
  • The next digit (C) shows if you're an SA citizen status with 0 denoting that you were born a SA citizen and 1 denoting that you're a permanent resident.
  • The last digit (Z) is a checksum digit – used to check that the number sequence is accurate using a set formula called the Luhn algorithm.

The graphic below details the different sections of an ID number, based on the fictitious sequence 9202204720082

The key is in your picture "Value DoesNotMatch" "3N.1""-""2N.1""-""4N"

This is MUMPS/Cache/IRIS pattern matching.  This pattern is looking for 3 numbers, a hyphen, 2 numbers, a hyphen, and 4 numbers.  In your custom rule you would be checking for 13 numbers at a minimum.  You could check for a gender match on that digit.  Also verify the citizenship digit.

"Value DoesNotMatch" "13N"