feat: US-003 - Fix inaccurate timeline entries in CareerActivityTile
This commit is contained in:
+2
-2
@@ -31,7 +31,7 @@
|
||||
"Typecheck passes"
|
||||
],
|
||||
"priority": 2,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Check References/CV_v4.md for the accurate role list. The CV has 4 roles: Interim Head, Deputy Head, High-Cost Drugs, Pharmacy Manager (Tesco)."
|
||||
},
|
||||
{
|
||||
@@ -49,7 +49,7 @@
|
||||
"Typecheck passes"
|
||||
],
|
||||
"priority": 3,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Reference CV at References/CV_v4.md. The role entries in the timeline reference consultations by consultationId — since duty-pharmacist-2016 was removed in US-002, also remove any timeline entry referencing it."
|
||||
},
|
||||
{
|
||||
|
||||
@@ -871,3 +871,24 @@
|
||||
- Branch `ralph/dashboard-restructure` created fresh from master
|
||||
- All previous codebase patterns still apply
|
||||
---
|
||||
|
||||
## 2026-02-14 - US-002
|
||||
- Removed the fabricated 'duty-pharmacist-2016' entry (Duty Pharmacy Manager, Tesco, Aug 2016–Nov 2017) from consultations.ts, constellation nodes, constellation links, and roleSkillMappings
|
||||
- Files changed: src/data/consultations.ts, src/data/constellation.ts
|
||||
- **Learnings for future iterations:**
|
||||
- CareerActivityTile.tsx still has a `consultationId: 'duty-pharmacist-2016'` reference on the "Community Pharmacist" timeline entry — this is a dangling reference that US-003 will clean up by removing that timeline entry
|
||||
- The constellation data (nodes, links, roleSkillMappings) all reference each other by string ID — removing a role requires removing from all three arrays
|
||||
- After removal: 4 consultations, 4 role nodes, 4 role-skill mappings, 21 skill nodes remain
|
||||
---
|
||||
|
||||
## 2026-02-14 - US-003
|
||||
- Fixed inaccurate timeline entries in CareerActivityTile.tsx buildTimeline() to match CV_v4.md
|
||||
- **Removed:** Power BI Data Analyst Associate cert, Clinical Pharmacy Diploma cert, SQL Analytics Transformation project, Budget Oversight project, Community Pharmacist role (dangling duty-pharmacist-2016 reference)
|
||||
- **Added:** NHS Leadership Academy — Mary Seacole Programme cert (2018), A-Levels education entry (2009–2011)
|
||||
- **Fixed role titles/dates:** Deputy Head (was "Senior Data Analyst"), High-Cost Drugs & Interface Pharmacist (was "Prescribing Data Pharmacist"), Pharmacy Manager at Tesco (was "Community Pharmacist at Boots UK"). All consultationIds now map to existing consultations.
|
||||
- Files changed: src/components/tiles/CareerActivityTile.tsx
|
||||
- **Learnings for future iterations:**
|
||||
- The previous timeline had inaccurate role titles that didn't match consultations.ts or CV_v4.md — always cross-reference both data source and CV
|
||||
- All 4 role entries now correctly reference their matching consultation IDs: interim-head-2025, deputy-head-2024, high-cost-drugs-2022, pharmacy-manager-2017
|
||||
- Timeline now has 8 entries: 4 roles + GPhC cert + Mary Seacole cert + MPharm edu + A-Levels edu
|
||||
---
|
||||
|
||||
@@ -26,85 +26,48 @@ interface ActivityEntry {
|
||||
function buildTimeline(): ActivityEntry[] {
|
||||
const entries: ActivityEntry[] = []
|
||||
|
||||
// Roles from consultations
|
||||
// Roles from consultations (matching CV_v4.md)
|
||||
entries.push({
|
||||
id: 'interim-head-2025',
|
||||
type: 'role',
|
||||
title: 'Interim Head, Population Health & Data Analysis',
|
||||
meta: 'NHS Norfolk & Waveney ICB',
|
||||
date: '2024 – 2025',
|
||||
sortYear: 2024,
|
||||
date: 'May – Nov 2025',
|
||||
sortYear: 2025,
|
||||
consultationId: 'interim-head-2025',
|
||||
})
|
||||
|
||||
entries.push({
|
||||
id: 'deputy-head-2024',
|
||||
type: 'role',
|
||||
title: 'Senior Data Analyst — Medicines Optimisation',
|
||||
title: 'Deputy Head, Population Health & Data Analysis',
|
||||
meta: 'NHS Norfolk & Waveney ICB',
|
||||
date: '2021 – 2024',
|
||||
sortYear: 2021,
|
||||
date: 'Jul 2024 – Present',
|
||||
sortYear: 2024,
|
||||
consultationId: 'deputy-head-2024',
|
||||
})
|
||||
|
||||
entries.push({
|
||||
id: 'high-cost-drugs-2022',
|
||||
type: 'role',
|
||||
title: 'Prescribing Data Pharmacist',
|
||||
meta: 'NHS Norwich CCG',
|
||||
date: '2018 – 2021',
|
||||
sortYear: 2018,
|
||||
title: 'High-Cost Drugs & Interface Pharmacist',
|
||||
meta: 'NHS Norfolk & Waveney ICB',
|
||||
date: 'May 2022 – Jul 2024',
|
||||
sortYear: 2022,
|
||||
consultationId: 'high-cost-drugs-2022',
|
||||
})
|
||||
|
||||
entries.push({
|
||||
id: 'pharmacy-manager-2017',
|
||||
type: 'role',
|
||||
title: 'Pharmacy Manager',
|
||||
meta: 'Tesco PLC',
|
||||
date: 'Nov 2017 – May 2022',
|
||||
sortYear: 2017,
|
||||
consultationId: 'pharmacy-manager-2017',
|
||||
})
|
||||
|
||||
entries.push({
|
||||
id: 'community-pharmacist-2016',
|
||||
type: 'role',
|
||||
title: 'Community Pharmacist',
|
||||
meta: 'Boots UK',
|
||||
date: '2016 – 2018',
|
||||
sortYear: 2016,
|
||||
consultationId: 'duty-pharmacist-2016',
|
||||
})
|
||||
|
||||
// Projects
|
||||
entries.push({
|
||||
id: 'inv-budget',
|
||||
type: 'project',
|
||||
title: '£220M Prescribing Budget Oversight',
|
||||
meta: 'Lead analyst & budget owner',
|
||||
date: '2024',
|
||||
sortYear: 2024,
|
||||
})
|
||||
|
||||
entries.push({
|
||||
id: 'inv-sql-transform',
|
||||
type: 'project',
|
||||
title: 'SQL Analytics Transformation',
|
||||
meta: 'Legacy migration project lead',
|
||||
date: '2025',
|
||||
sortYear: 2025,
|
||||
})
|
||||
|
||||
// Certifications
|
||||
entries.push({
|
||||
id: 'cert-powerbi',
|
||||
type: 'cert',
|
||||
title: 'Power BI Data Analyst Associate',
|
||||
meta: 'Microsoft Certified',
|
||||
date: '2023',
|
||||
sortYear: 2023,
|
||||
})
|
||||
|
||||
entries.push({
|
||||
id: 'cert-diploma',
|
||||
type: 'cert',
|
||||
title: 'Clinical Pharmacy Diploma',
|
||||
meta: 'Professional development',
|
||||
date: '2019',
|
||||
sortYear: 2019,
|
||||
})
|
||||
|
||||
// Certifications (matching CV_v4.md)
|
||||
entries.push({
|
||||
id: 'doc-gphc',
|
||||
type: 'cert',
|
||||
@@ -114,7 +77,16 @@ function buildTimeline(): ActivityEntry[] {
|
||||
sortYear: 2016,
|
||||
})
|
||||
|
||||
// Education
|
||||
entries.push({
|
||||
id: 'cert-mary-seacole',
|
||||
type: 'cert',
|
||||
title: 'NHS Leadership Academy — Mary Seacole Programme',
|
||||
meta: 'NHS leadership qualification',
|
||||
date: '2018',
|
||||
sortYear: 2018,
|
||||
})
|
||||
|
||||
// Education (matching CV_v4.md)
|
||||
const mpharm = documents.find((d) => d.id === 'doc-mpharm')
|
||||
if (mpharm) {
|
||||
entries.push({
|
||||
@@ -127,6 +99,15 @@ function buildTimeline(): ActivityEntry[] {
|
||||
})
|
||||
}
|
||||
|
||||
entries.push({
|
||||
id: 'edu-alevels',
|
||||
type: 'edu',
|
||||
title: 'A-Levels: Mathematics (A*), Chemistry (B), Politics (C)',
|
||||
meta: 'Highworth Grammar School',
|
||||
date: '2009 – 2011',
|
||||
sortYear: 2009,
|
||||
})
|
||||
|
||||
return entries.sort((a, b) => {
|
||||
if (b.sortYear !== a.sortYear) return b.sortYear - a.sortYear
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user