Signposting Toolkit — Project Summary
A multi-surgery GP signposting and care-navigation web application used by primary care teams to route patients safely and consistently.
Built by Dr Daniel Webber-Rookes, Ide Lane Surgery, Exeter.
The toolkit provides a structured, standardised symptom library, local customisation, AI-assisted clarity tools, an appointment directory, and a full governance workflow for clinical review — all delivered through a clean, modern, NHS-aligned interface.
1. Purpose
The Signposting Toolkit supports reception and care-navigation teams to:
- send patients to the right service first time,
- follow clear and clinically-approved guidance,
- reduce variation and inappropriate bookings,
- identify high-risk symptoms quickly,
- and maintain a robust clinical audit trail.
Each GP surgery has a fully independent configuration, symptom library, governance workflow, and appointment directory.
2. Key Features
🔹 Symptom Library (Base + Local Overrides)
- 200+ standardised symptoms included by default.
- Each surgery can override any field (title, wording, instructions, ages, icons).
- Local-only symptoms can be added.
- Clear badge indicating base or locally modified.
- Alphabet filter, age-group filters, search, and high-risk quick buttons.
🔹 Symptom Detail Page
- Clean NHS-styled layout.
- Highlight engine automatically formats:
- orange slot, red slot, pink, purple, green, etc.
- Embedded icons (per symptom) displayed consistently.
- AI tools available directly inside the symptom page:
- “Customise instructions”
- “Get Questions to Ask”
- Buttons for suggestion feedback, hiding symptoms, and navigation back.
🔹 AI-Assisted Features
- AI Instruction Editor: rewrites instructions for clarity; admin reviews before publishing.
- AI Suggested Questions: generates grouped triage-style questions:
- red flags
- urgency/timing
- pathway suitability
- All AI text must pass through clinical review before going live.
- Smart symptom updates available when base content changes centrally.
🔹 Appointment Directory
- Fully integrated top-level navigation.
- Simple searchable catalogue of appointment types.
- Colour-coded by staff team.
- CSV import for rapid updates.
- Built for reception staff: plain language, simple filtering, clear rules.
🔹 Preferences System (per browser)
- Appearance: Modern white or Classic blue cards.
- Header layout: Classic toolbar vs Split layout.
- Quick-scan mode: minimal card display.
- High-risk button style: pill or tile.
🔹 Clinical Review Workflow
- Every surgery must clinically approve all symptoms.
- Pending symptoms trigger a banner warning to all users.
- Approval recorded with reviewer identity and date.
- Re-review can be requested at any time (e.g. annually).
- All AI-generated content enters PENDING state.
🔹 Engagement Tracking and Suggestions
- Logs which symptoms are viewed and by whom.
- Tracks high-risk vs low-risk usage.
- Suggestions tab shows staff-submitted improvement ideas.
🔹 User Management & RBAC
Three-level access hierarchy:
- Superuser (global)
- Surgery Admin
- Standard User
Each user may belong to multiple surgeries with differing roles.
🔹 Multi-Surgery Tenancy
- Each surgery has its own overrides, symptoms, appointment directory, users, and setup status.
- Superusers can switch between surgeries.
3. Technical Architecture
🔧 Stack
- Next.js 15 (App Router)
- TypeScript
- Tailwind CSS
- Prisma ORM — Neon Postgres
- NextAuth (Credentials Provider + JWT)
- Azure OpenAI (secure server-side calls)
🔧 Server Actions
Used extensively for:
- symptom updates
- override creation
- appointment directory CRUD
- AI generation endpoints
- clinical review actions
🔧 Rendering
- Mix of Server Components (data fetching) and Client Components (interactive UI).
- Caching layer for common public queries.
4. Data Model Overview
Core Models
- User
- Surgery
- UserSurgery (junction table)
- BaseSymptom
- SurgerySymptomOverride
- SurgeryCustomSymptom
- AppointmentEntry
- StaffTeam
- Suggestion
- EngagementEvent
- FeatureFlag
- ImageIcon
5. Feature Flags
Feature availability controlled via hierarchical flags:
- Superuser → Surgery → User
Current active flags include:
ai_instructionsai_questionssmart_symptom_updates- (future flags can be added via admin panel)
6. Clinical Governance Model
Principles
- Surgeries are responsible for their own final wording.
- Base library is centrally maintained but overrideable.
- AI output must be clinician-reviewed.
States
- PENDING — awaiting local review
- APPROVED — clinically signed-off
- CHANGES_REQUIRED — flagged for updates
The system maintains an audit trail for:
- reviewer identity
- date of approval
- which fields changed
7. Application Flows
🟦 Staff Workflow
- Search for symptom
- Check age-group filters
- Open symptom
- Follow instructions
- Book appointment or signpost service
- Use high-risk guidance if needed
🟧 Admin Workflow
- Select symptom
- Edit fields or override base
- Review highlight logic
- Approve via Clinical Review
- Monitor usage via Engagement tab
🟩 AI Workflow
- Admin clicks “Customise Instructions”
- AI generates suggestion → stored as DRAFT
- Draft enters Clinical Review
- Admin approves, modifies, or rejects
🟨 Appointment Directory Workflow
- Import CSV or add entries manually
- Assign staff teams & colours
- Receptionists browse by search or team
- Used as reference when interpreting instructions
8. External Dependencies
- Azure OpenAI API
- Neon managed Postgres
- Vercel serverless platform
- TailwindCSS + Heroicons
- TipTap (for future rich text improvements)
9. Known Issues & Future Improvements (Short List)
- Need surgery profile module.
- Multi-line membership badges in Users table (UX).
- Analytics dashboard not yet surfaced for admins.
- Symptom linking pathways could be expanded.
- Setup checklist can be made more dynamic.