Refactor to pull all text enteries into single location

This commit is contained in:
2026-02-17 01:10:31 +00:00
parent 6605966fab
commit 83b327d58e
36 changed files with 954 additions and 1443 deletions
+33 -133
View File
@@ -1,4 +1,5 @@
import { skills } from '@/data/skills'
import { getTimelineNarrativeEntry } from '@/lib/profile-content'
import type {
CodedEntry,
Consultation,
@@ -23,24 +24,10 @@ const timelineEntitySeeds: TimelineEntity[] = [
startYear: 2025,
endYear: 2025,
},
description: 'Returned to substantive Deputy Head role following commencement of ICB-wide organisational consultation. Led strategic delivery of population health initiatives and data-driven medicines optimisation across Norfolk & Waveney ICS, reporting to Associate Director of Pharmacy with presentation accountability to Chief Medical Officer and system-level programme boards.',
details: [
'Identified £14.6M efficiency programme through comprehensive data analysis',
'Built Python-based switching algorithm: 14,000 patients identified, £2.6M annual savings',
'Automated incentive scheme analysis: 50% reduction in targeted prescribing within 2 months',
],
outcomes: [
'Achieved over-target performance by October 2025',
'£2M on target for delivery this financial year',
'Presented to CMO bimonthly with evidence-based recommendations',
'Led transformation to patient-level SQL analytics',
],
codedEntries: [
{ code: 'EFF001', description: 'Efficiency programme: £14.6M identified' },
{ code: 'ALG001', description: 'Algorithm: 14,000 patients, £2.6M savings' },
{ code: 'AUT001', description: 'Automation: 50% prescribing reduction in 2mo' },
{ code: 'SQL001', description: 'Data transformation: practice→patient level' },
],
description: getTimelineNarrativeEntry('interim-head-2025').description,
details: [...getTimelineNarrativeEntry('interim-head-2025').details],
outcomes: [...getTimelineNarrativeEntry('interim-head-2025').outcomes],
codedEntries: [...getTimelineNarrativeEntry('interim-head-2025').codedEntries],
skills: [
'population-health',
'medicines-optimisation',
@@ -84,26 +71,10 @@ const timelineEntitySeeds: TimelineEntity[] = [
startYear: 2024,
endYear: null,
},
description: 'Driving data analytics strategy for medicines optimisation, developing bespoke datasets and analytical frameworks from messy, real-world GP prescribing data to identify efficiency opportunities and address health inequalities across the integrated care system.',
details: [
'Managed £220M prescribing budget with sophisticated forecasting models',
'Created comprehensive medicines data table with dm+d integration, morphine equivalents, Anticholinergic Burden scoring',
'Led financial scenario modelling for DOAC switching programme',
'Renegotiated pharmaceutical rebate terms securing improved commercial position',
'Supported commissioning of tirzepatide (NICE TA1026) with financial projections',
'Developed Python-based controlled drug monitoring system for population-scale OME tracking',
],
outcomes: [
'Single source of truth established for all medicines analytics',
'GP-led model adopted for tirzepatide delivery following executive sign-off',
'Team data fluency improved through training, documentation, and self-serve tools',
],
codedEntries: [
{ code: 'BUD001', description: 'Budget management: £220M oversight' },
{ code: 'DAT001', description: 'Data infrastructure: dm+d integration' },
{ code: 'LEA001', description: 'Leadership: team data literacy programme' },
{ code: 'MON001', description: 'Monitoring: CD OME tracking system' },
],
description: getTimelineNarrativeEntry('deputy-head-2024').description,
details: [...getTimelineNarrativeEntry('deputy-head-2024').details],
outcomes: [...getTimelineNarrativeEntry('deputy-head-2024').outcomes],
codedEntries: [...getTimelineNarrativeEntry('deputy-head-2024').codedEntries],
skills: [
'population-health',
'medicines-optimisation',
@@ -149,23 +120,10 @@ const timelineEntitySeeds: TimelineEntity[] = [
startYear: 2022,
endYear: 2024,
},
description: 'Led implementation of NICE technology appraisals and high-cost drug pathways across the ICS. Wrote most of the system\'s high-cost drug pathways—spanning rheumatology, ophthalmology (wet AMD, DMO, RVO), dermatology, gastroenterology, neurology, and migraine—balancing legal requirements to implement TAs against financial costs and local clinical preferences.',
details: [
'Developed software automating Blueteq prior approval form creation',
'Integrated Blueteq data with secondary care activity databases',
'Created Python-based Sankey chart analysis tool for patient pathway visualisation',
],
outcomes: [
'70% reduction in required Blueteq forms, 200 hours immediate savings',
'Ongoing 78 hours weekly efficiency gains',
'Accurate high-cost drug spend tracking enabled',
'Trusts enabled to audit compliance and identify improvement opportunities',
],
codedEntries: [
{ code: 'AUT002', description: 'Automation: Blueteq form generation, 70% reduction' },
{ code: 'DAT002', description: 'Data integration: Blueteq + secondary care' },
{ code: 'VIS001', description: 'Visualisation: Sankey pathway analysis tool' },
],
description: getTimelineNarrativeEntry('high-cost-drugs-2022').description,
details: [...getTimelineNarrativeEntry('high-cost-drugs-2022').details],
outcomes: [...getTimelineNarrativeEntry('high-cost-drugs-2022').outcomes],
codedEntries: [...getTimelineNarrativeEntry('high-cost-drugs-2022').codedEntries],
skills: [
'medicines-optimisation',
'nice-ta',
@@ -203,23 +161,10 @@ const timelineEntitySeeds: TimelineEntity[] = [
startYear: 2017,
endYear: 2022,
},
description: 'Managed all pharmacy operations with full autonomy across a 100-hour contract, leading regional KPI delivery initiatives and contributing to national operational improvements. Served as Local Pharmaceutical Committee representative for Norfolk.',
details: [
'Identified and shared asthma screening process adopted nationally across Tesco pharmacy estate (~300 branches)',
'Led creation of national induction training plan and eLearning modules',
'Supervised two staff members through NVQ3 qualifications to pharmacy technician registration',
],
outcomes: [
'Reduced pharmacist time from ~60 hours to 6 hours per store per month',
'Network enabled to claim approximately £1M in revenue',
'Enhanced leadership development for non-pharmacist team members',
'Full HR responsibilities including recruitment, performance management, grievances',
],
codedEntries: [
{ code: 'INN001', description: 'Innovation: Asthma screening, ~£1M national revenue' },
{ code: 'TRN001', description: 'Training: National induction programme' },
{ code: 'LEA002', description: 'Leadership: Staff development to technician registration' },
],
description: getTimelineNarrativeEntry('pharmacy-manager-2017').description,
details: [...getTimelineNarrativeEntry('pharmacy-manager-2017').details],
outcomes: [...getTimelineNarrativeEntry('pharmacy-manager-2017').outcomes],
codedEntries: [...getTimelineNarrativeEntry('pharmacy-manager-2017').codedEntries],
skills: [
'medicines-optimisation',
'team-development',
@@ -253,21 +198,10 @@ const timelineEntitySeeds: TimelineEntity[] = [
startYear: 2016,
endYear: 2017,
},
description: 'Provided clinical leadership and operational management across community pharmacy services, developing early expertise in service development and quality improvement. Contributed to national clinical innovation initiatives while building foundational skills in medicines optimisation and stakeholder engagement.',
details: [
'Led NMS and asthma referral service development, improving uptake and patient outcomes',
'Devised quality payments solution adopted nationally across Tesco pharmacy estate',
'Built clinical foundation in medicines optimisation, patient safety, and community pharmacy operations',
],
outcomes: [
'Service development leadership recognised regionally',
'National adoption of quality payments approach',
'Strong clinical grounding established for progression to management',
],
codedEntries: [
{ code: 'SVC001', description: 'Service development: NMS & asthma referrals' },
{ code: 'INN002', description: 'Innovation: National quality payments solution' },
],
description: getTimelineNarrativeEntry('duty-pharmacy-manager-2016').description,
details: [...getTimelineNarrativeEntry('duty-pharmacy-manager-2016').details],
outcomes: [...getTimelineNarrativeEntry('duty-pharmacy-manager-2016').outcomes],
codedEntries: [...getTimelineNarrativeEntry('duty-pharmacy-manager-2016').codedEntries],
skills: [
'medicines-optimisation',
'data-analysis',
@@ -297,23 +231,10 @@ const timelineEntitySeeds: TimelineEntity[] = [
startYear: 2015,
endYear: 2016,
},
description: 'Completed pre-registration training across multiple community pharmacy sites, developing core clinical competencies and service delivery skills. Demonstrated initiative through expanding clinical services and delivering measurable quality improvements during the training year.',
details: [
'Expanded PGD clinical services: NRT, EHC, and chlamydia screening programmes',
'Improved NMS audit completion rate from under 10% to 5060% through process redesign',
'Developed palliative care screening pathway for community pharmacy setting',
'Gained broad operational experience across multiple pharmacy sites',
],
outcomes: [
'Successfully registered with GPhC in August 2016',
'Clinical service expansion adopted across multiple Paydens branches',
'Established reputation for quality improvement and service development',
],
codedEntries: [
{ code: 'PGD001', description: 'Clinical services: NRT, EHC, chlamydia PGDs' },
{ code: 'AUD001', description: 'Audit: NMS completion <10% → 50-60%' },
{ code: 'PAL001', description: 'Palliative care: Community screening pathway' },
],
description: getTimelineNarrativeEntry('pre-reg-pharmacist-2015').description,
details: [...getTimelineNarrativeEntry('pre-reg-pharmacist-2015').details],
outcomes: [...getTimelineNarrativeEntry('pre-reg-pharmacist-2015').outcomes],
codedEntries: [...getTimelineNarrativeEntry('pre-reg-pharmacist-2015').codedEntries],
skills: [
'medicines-optimisation',
'change-management',
@@ -339,21 +260,10 @@ const timelineEntitySeeds: TimelineEntity[] = [
startYear: 2011,
endYear: 2015,
},
description: 'Completed four-year Master of Pharmacy degree at the University of East Anglia, building a strong foundation in pharmaceutical sciences, clinical pharmacy, and research methodology. Demonstrated academic excellence through a distinction-grade research project and active engagement in university life.',
details: [
'Independent research project on drug delivery and cocrystals: 75.1% (Distinction)',
'4th year OSCE: 80%',
'President of UEA Pharmacy Society',
],
outcomes: [
'Strong academic foundation in pharmaceutical sciences',
'Research skills developed through independent project work',
'Leadership experience through society presidency',
],
codedEntries: [
{ code: 'RES001', description: 'Research: Drug delivery & cocrystals (Distinction)' },
{ code: 'SOC001', description: 'Leadership: UEA Pharmacy Society President' },
],
description: getTimelineNarrativeEntry('uea-mpharm-2011').description,
details: [...getTimelineNarrativeEntry('uea-mpharm-2011').details],
outcomes: [...getTimelineNarrativeEntry('uea-mpharm-2011').outcomes],
codedEntries: [...getTimelineNarrativeEntry('uea-mpharm-2011').codedEntries],
skills: ['medicines-optimisation', 'data-analysis'],
skillStrengths: {
'medicines-optimisation': 0.5,
@@ -374,20 +284,10 @@ const timelineEntitySeeds: TimelineEntity[] = [
startYear: 2009,
endYear: 2011,
},
description: 'Completed A-Level studies at Highworth Grammar School in Ashford, Kent, achieving strong results in mathematics and sciences that provided the academic foundation for pursuing pharmacy.',
details: [
'Mathematics: A*',
'Chemistry: B',
'Politics: C',
],
outcomes: [
'Strong mathematical foundation for data-driven career',
'Science grounding for pharmacy degree entry',
],
codedEntries: [
{ code: 'MATH01', description: 'Mathematics A*' },
{ code: 'CHEM01', description: 'Chemistry B' },
],
description: getTimelineNarrativeEntry('highworth-alevels-2009').description,
details: [...getTimelineNarrativeEntry('highworth-alevels-2009').details],
outcomes: [...getTimelineNarrativeEntry('highworth-alevels-2009').outcomes],
codedEntries: [...getTimelineNarrativeEntry('highworth-alevels-2009').codedEntries],
skills: ['data-analysis'],
skillStrengths: {
'data-analysis': 0.2,