feat: Expand UK institution recognition with professional bodies and variations
- Add CIPD, CIMA, ACCA, ICAEW, ICAS, CII, CIPS, CMI as recognized professional bodies - Add 40+ university name variations (e.g., "Hull University" → "University of Hull") - Add automatic "X University" ↔ "University of X" pattern transformation - Improves education verification accuracy for common CV name formats 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -156,6 +156,24 @@ public static class UKInstitutions
|
|||||||
"University for the Creative Arts",
|
"University for the Creative Arts",
|
||||||
"Ravensbourne University London",
|
"Ravensbourne University London",
|
||||||
|
|
||||||
|
// Professional Bodies (accredited qualification-awarding)
|
||||||
|
"CIPD",
|
||||||
|
"Chartered Institute of Personnel and Development",
|
||||||
|
"CIMA",
|
||||||
|
"Chartered Institute of Management Accountants",
|
||||||
|
"ACCA",
|
||||||
|
"Association of Chartered Certified Accountants",
|
||||||
|
"ICAEW",
|
||||||
|
"Institute of Chartered Accountants in England and Wales",
|
||||||
|
"ICAS",
|
||||||
|
"Institute of Chartered Accountants of Scotland",
|
||||||
|
"CII",
|
||||||
|
"Chartered Insurance Institute",
|
||||||
|
"CIPS",
|
||||||
|
"Chartered Institute of Procurement and Supply",
|
||||||
|
"CMI",
|
||||||
|
"Chartered Management Institute",
|
||||||
|
|
||||||
// Business Schools (accredited)
|
// Business Schools (accredited)
|
||||||
"Henley Business School",
|
"Henley Business School",
|
||||||
"Warwick Business School",
|
"Warwick Business School",
|
||||||
@@ -231,6 +249,77 @@ public static class UKInstitutions
|
|||||||
["Queen Mary"] = "Queen Mary University of London",
|
["Queen Mary"] = "Queen Mary University of London",
|
||||||
["Royal Holloway University"] = "Royal Holloway, University of London",
|
["Royal Holloway University"] = "Royal Holloway, University of London",
|
||||||
["RHUL"] = "Royal Holloway, University of London",
|
["RHUL"] = "Royal Holloway, University of London",
|
||||||
|
["Hull University"] = "University of Hull",
|
||||||
|
["Hull"] = "University of Hull",
|
||||||
|
|
||||||
|
// Additional "X University" variations for "University of X" institutions
|
||||||
|
["Birmingham University"] = "University of Birmingham",
|
||||||
|
["Bristol University"] = "University of Bristol",
|
||||||
|
["Edinburgh University"] = "University of Edinburgh",
|
||||||
|
["Exeter University"] = "University of Exeter",
|
||||||
|
["Glasgow University"] = "University of Glasgow",
|
||||||
|
["Leeds University"] = "University of Leeds",
|
||||||
|
["Leicester University"] = "University of Leicester",
|
||||||
|
["Liverpool University"] = "University of Liverpool",
|
||||||
|
["Manchester University"] = "University of Manchester",
|
||||||
|
["Nottingham University"] = "University of Nottingham",
|
||||||
|
["Sheffield University"] = "University of Sheffield",
|
||||||
|
["Southampton University"] = "University of Southampton",
|
||||||
|
["Warwick University"] = "University of Warwick",
|
||||||
|
["York University"] = "University of York",
|
||||||
|
["Bath University"] = "University of Bath",
|
||||||
|
["Bradford University"] = "University of Bradford",
|
||||||
|
["Brighton University"] = "University of Brighton",
|
||||||
|
["Derby University"] = "University of Derby",
|
||||||
|
["Dundee University"] = "University of Dundee",
|
||||||
|
["Essex University"] = "University of Essex",
|
||||||
|
["Greenwich University"] = "University of Greenwich",
|
||||||
|
["Hertfordshire University"] = "University of Hertfordshire",
|
||||||
|
["Huddersfield University"] = "University of Huddersfield",
|
||||||
|
["Kent University"] = "University of Kent",
|
||||||
|
["Lincoln University"] = "University of Lincoln",
|
||||||
|
["Plymouth University"] = "University of Plymouth",
|
||||||
|
["Portsmouth University"] = "University of Portsmouth",
|
||||||
|
["Reading University"] = "University of Reading",
|
||||||
|
["Salford University"] = "University of Salford",
|
||||||
|
["Surrey University"] = "University of Surrey",
|
||||||
|
["Sussex University"] = "University of Sussex",
|
||||||
|
["Westminster University"] = "University of Westminster",
|
||||||
|
["Winchester University"] = "University of Winchester",
|
||||||
|
["Wolverhampton University"] = "University of Wolverhampton",
|
||||||
|
["Worcester University"] = "University of Worcester",
|
||||||
|
["Aberdeen University"] = "University of Aberdeen",
|
||||||
|
["Stirling University"] = "University of Stirling",
|
||||||
|
["Strathclyde University"] = "University of Strathclyde",
|
||||||
|
["Aberystwyth University"] = "Aberystwyth University",
|
||||||
|
["Bangor University"] = "Bangor University",
|
||||||
|
["Swansea University"] = "Swansea University",
|
||||||
|
|
||||||
|
// London university variations
|
||||||
|
["UCL"] = "University College London",
|
||||||
|
["University College, London"] = "University College London",
|
||||||
|
["East London University"] = "University of East London",
|
||||||
|
["London Metropolitan"] = "London Metropolitan University",
|
||||||
|
["London Met"] = "London Metropolitan University",
|
||||||
|
["South Bank University"] = "London South Bank University",
|
||||||
|
["LSBU"] = "London South Bank University",
|
||||||
|
|
||||||
|
// Other common variations
|
||||||
|
["Open University"] = "The Open University",
|
||||||
|
["OU"] = "The Open University",
|
||||||
|
["Northumbria"] = "Northumbria University",
|
||||||
|
["De Montfort"] = "De Montfort University",
|
||||||
|
["DMU"] = "De Montfort University",
|
||||||
|
["Sheffield Hallam"] = "Sheffield Hallam University",
|
||||||
|
["Nottingham Trent"] = "Nottingham Trent University",
|
||||||
|
["NTU"] = "Nottingham Trent University",
|
||||||
|
["Oxford Brookes"] = "Oxford Brookes University",
|
||||||
|
["MMU"] = "Manchester Metropolitan University",
|
||||||
|
["Manchester Met"] = "Manchester Metropolitan University",
|
||||||
|
["Liverpool John Moores"] = "Liverpool John Moores University",
|
||||||
|
["LJMU"] = "Liverpool John Moores University",
|
||||||
|
["UWE"] = "University of the West of England",
|
||||||
|
["West of England"] = "University of the West of England",
|
||||||
};
|
};
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -283,6 +372,11 @@ public static class UKInstitutions
|
|||||||
if (NameVariations.TryGetValue(normalised, out var officialName))
|
if (NameVariations.TryGetValue(normalised, out var officialName))
|
||||||
return officialName;
|
return officialName;
|
||||||
|
|
||||||
|
// Try automatic "X University" ↔ "University of X" transformation
|
||||||
|
var transformed = TryTransformUniversityName(normalised);
|
||||||
|
if (transformed != null && RecognisedInstitutions.Contains(transformed))
|
||||||
|
return transformed;
|
||||||
|
|
||||||
// Handle compound names (e.g., "Loughborough College/Motorsport UK Academy")
|
// Handle compound names (e.g., "Loughborough College/Motorsport UK Academy")
|
||||||
// Split by common separators and check each part
|
// Split by common separators and check each part
|
||||||
var separators = new[] { '/', '&', '-', '–', '—', ',' };
|
var separators = new[] { '/', '&', '-', '–', '—', ',' };
|
||||||
@@ -323,4 +417,27 @@ public static class UKInstitutions
|
|||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Attempts to transform university name between common formats:
|
||||||
|
/// "X University" ↔ "University of X"
|
||||||
|
/// </summary>
|
||||||
|
private static string? TryTransformUniversityName(string name)
|
||||||
|
{
|
||||||
|
// Try "X University" → "University of X"
|
||||||
|
if (name.EndsWith(" University", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
var place = name[..^11].Trim(); // Remove " University"
|
||||||
|
return $"University of {place}";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Try "University of X" → "X University"
|
||||||
|
if (name.StartsWith("University of ", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
var place = name[14..].Trim(); // Remove "University of "
|
||||||
|
return $"{place} University";
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user