Hero Health
Hero Health
  • Docs
  • Changelog
  • Feature requests
  • Support portal

Hero Health changelog

Save to Record: clearer records, better visibility, more reliable

Save to Record: clearer records, better visibility, more reliable

We've rebuilt how Hero writes clinical entries to EMIS and SystmOne. The information saved to the patient record is the same, but how it's structured, labelled, and presented has been significantly improved.

What’s changed?

Readable entries in EMIS Care History

  • Previously, every Hero entry in the EMIS Care History tab appeared with a generic "SNOMED codes" label and no readable term. In this update, the actual SNOMED clinical term is written to the record. Hero entries now display with a descriptive name (for example, "Influenza vaccination invitation short message service text message sent") and are searchable alongside entries from other clinical systems.

Structured Clinical Safety block

  • Every entry now starts with a clearly labelled metadata header: record type, who it was sent to, contact details, who saved it, when, and a unique WriteToRecordID that links back to the specific action in Hero. This supports clinical audit and makes it easy to trace any record entry.

Clearer content layout

  • Message content, form responses, and consultation notes are now presented in separate, labelled sections rather than a single block of text.

Real-time save status in the inbox

  • When you click Save to Record, the button now locks immediately and shows a live status: "Saving message to record", then "Saved to record" (green) or "Failed to save" (red). If you navigate away while a write is in progress and come back, the status reflects the real outcome rather than resetting. No more clicking Save to Record a second time because it looked like nothing happened.

Automatic retries

  • If a write fails due to a temporary connection issue, Hero now retries automatically (up to five attempts) before raising a failure notification. This reduces unnecessary failure alerts in your inbox for transient problems.

Nothing changes about how you use it.

The Save to Record button, the toggle in the message builder, and the inbox notifications all work exactly as before. All new writes use the new format. Existing entries already in your EHR remain in their original format and are not changed.

Feedback and questions

Please let us know if you have any questions or feedback on the updates! Let us know the WriteToRecordID associated with your questions as specified bellow':

  • Each entry now includes a unique WriteToRecordID in the Clinical Safety block. If you ever need to query a specific record entry, sharing this ID with Hero support allows us to look up exactly what was written and when.


Inbox: Multi-task episodes & inline messaging

Inbox: Multi-task episodes & inline messaging

A faster, more connected way to manage patient conversations.

What's new for inbox users

💬 Message without leaving the episode

Sending a patient a message used to take you away from the inbox entirely — now it doesn't. The message composer is built directly into the bottom of the episode panel, so you can write and send messages while keeping the full patient conversation in view above you.

What's different day-to-day:

  • No more navigating away to a separate page to send a message

  • You can read the patient's history and compose your reply at the same time

  • Everything you're used to is still there — templates, attachments, and contact method selection — just in one place

  • Messages you send appear immediately in the episode timeline, keeping the full picture in one view

🧠 Behind the scenes: smarter task handling

You may not see this directly, but a number of improvements have been made to how the inbox handles work created by messages. When you send a patient a message containing a booking link, a form, or a reply prompt, the inbox now creates and tracks each of those as separate items — meaning nothing gets lost, and the right task lands in the right inbox view at the right time.

If a patient books an appointment, cancels, reschedules, or submits a form in response to your message, the episode will automatically re-surface in the inbox so it doesn't fall through the cracks.

📁 Everything is now captured in the episode timeline

Every interaction with a patient — messages sent, forms completed, appointments booked or cancelled — is now recorded directly in the episode. You get a full, chronological picture of what's happened without having to piece it together from different places.

🔄 How sending a message now works

Here's the updated flow from start to finish:

  1. Open an episode in the inbox

  2. The message composer is already there at the bottom of the panel — no button needed to navigate away

  3. Write your message — apply a template, invite the patient to book, or attach a file as needed

  4. Send — you stay in the episode, and the sent message appears in the timeline above

That's it. The previous workflow, where clicking 'Send' would load a full-page builder and remove the inbox from view entirely, is gone.


What's new for individual messaging users

📋 A single, simpler message builder

The tools for building a message have been consolidated into one compact input box. Whether you're sending from within an episode or elsewhere in the inbox, the experience now looks and works the same way.

Clearer link placement: Now when adding a link, we show a box that has an assignee option and a clearer way to remove the link from the message

Preset link text: When adding a link we have preset text to prompt the patient to access the link. Saving you time typing the same label against a link.

Availability window: We’ve added the ability to specify availability windows to your patient booking invitations. When creating a booking link, you can select a date range for the slot(s). This allows you to protect immediate appointment availability and empower patients to book further into the future or only provide slots for the current week. This update gives you more control over how you deliver online booking.

Preview questionnaires: You can now preview the form before sending it to the patient. Simply select the questionnaire link option via the message builder, choose your questionnaire, and you will be shown a preview of the questions before creating the link.

This means less clicking, less switching between views, and a more consistent experience across the board between the inbox and individual messaging.

✅ What hasn't changed

The following are exactly the same as before:

  • All your existing message templates and content

  • Contact method options (SMS, email, and NHS App for NHS practices)

  • Booking and questionnaire links, Attachment support and patient replies

  • Permissions and access controls

Find out more about how the inbox works here.


For API users

API changes (v2)

Episodes now return real persisted tasks instead of synthetic tasks, and the inbox task payload has been enriched with new fields:

{
  "tasks": [ /* real persisted tasks, not synthetic */ ],
  "inbox_task": {
    "name": "...",
    "assignee": { ... },
    "triggered_by": { ... }
  }
}

New task type: MessageCreated — message-originated actions are now a dedicated, queryable task type.

Link-specific episode behaviour:

Auto re-open episode?

Assignee behaviour

📋 Form / questionnaire

✅ Yes (where applicable)

Applies form-flow assignee update

📅 Booking

✅ Yes (where applicable)

Applies booking-flow assignee update

Summary of API-level changes:

Area

Change

Episode tasks

Migrated from synthetic → real persisted tasks

Task types

New MessageCreated type added

Episode behaviour

Link-type-specific auto re-open + assignee logic

Admin app

Enriched task payload with assignee + triggered_by

Public API (v2)

Same enrichment, real tasks returned


Inbox: Internal notes

Inbox: Internal notes

Practice staff can now add internal notes directly within the inbox, making it easier to collaborate across teams and individuals. Whether handing off a conversation or providing additional context for a colleague, internal notes keep that communication in one place without it ever being visible to patients.

Notes are composed within a patient ticket on the inbox, with a simple text area and a clearly labelled "Internal note" toolbar so it's always clear what you're writing. Once submitted via the "Add note" button, the note is saved and attributed to the admin who created it.

What’s changed

To make way for internal notes:

  • We have moved the Close button to the top of the ticket next to the priority and assignee

  • You can now send a message by selecting the 3 dots to the right of the assignee button


The New Diary is leaving BETA

The New Diary is leaving BETA

The legacy diary will be retired on 9th March 2026. From that point, the new diary is your diary.

After running successfully alongside the legacy diary and delivering consistently accurate, real-time appointment data, we're making it the one and only diary view for all practices. Thank you to everyone that helped us work out the kinks, your feedback was extremely valuable!

What you need to do before we retire the legacy diary:

  • Begin using the BETA diary as your primary diary view.

  • Familiarise yourself with the layout and filtering options.

  • Let us know if you notice anything that does not look correct.

The new diary offers improved accuracy, better performance, and will form the foundation for future enhancements. We strongly encourage practices utilising the legacy diary to transition as soon as possible.

The new diary will only be available for Practices using EMIS or SystmOne. If your practice user Hero without this, you will continue to use the current (legacy) diary to manage appointments.


What’s new

Clearer availability & bookings

We’ve re-designed the view to prioritise clarity on what’s booked and what’s available. We’ve also restructured the layout to provide clearer labels and flagging so that at a glance, you can see whether a booking is via video or via telephone as well as lots more private practice specific labelling.

Your whole day in one view

When the diary loads, you'll immediately see every practitioner with active sessions or appointments for the day.

Filter by location to get a clear view of who's active where, or drill down into a single practitioner's schedule. It's fast, it's clear, and it's built to grow.

Stripe payments & invoicing

We've just shipped one of the most-requested improvements to the diary: colour-coded badges and labels that tell you everything you need to know about a payment's status, instantly.

Here's what you'll now see on every appointment:

Payment status — colour-coded badges with clear labels for ‘Open’ (Unpaid) and ‘Paid’ invoices give you an immediate read on the billing state for any appointment, no digging required.

Payment method — if a patient has a payment method stored against their default Stripe customer, a badge will indicate this to help streamline your practice payment processes.

Insurance — insurance badges remain clearly visible for any patient with insurance details stored against their account.

Membership status — patients with active or paid memberships have a badge displaying ‘Member’ on the appointment, so your team always knows where they stand.


If you have any questions, please contact [email protected] and we’ll be happy to help.


EMIS sync improvements

We’ve recently made an improvement to our EMIS availability syncing to reduce unnecessary load and improve overall performance and stability. What this means for you:

  • In most cases, you should see faster and more reliable availability syncing.

  • As part of this change, we now sync a more focused set of appointment types/slot types, based on what’s needed for booking and availability.

What to look out for

  • If you notice a specific appointment type/slot no longer syncing correctly/missing availability when it previously did, please let us know so we can check whether that slot type has been filtered out from being synced with EMIS unintentionally.

If something looks missing, please share:

  • The appointment type/slot type

  • When you last saw it working

We can then quickly review and, if needed, re-enable syncing for that slot type.

What's next

We will release a second update in the coming weeks, which will allow you the flexibility to turn on the EMIS sync on a slot type by slot type basis via our settings. This means the power is in your hands for which appointment types are synced, with performance increasing if you reduce the number of slot types you’re syncing with EMIS.


EHR availability service

EHR availability service

We're excited to announce the release of our new availability service that improves the speed and reliability of EMIS/S1 appointment syncs in Hero. We’ve upgraded how Hero reads availability from EMIS/S1 to make booking smoother and more reliable for both staff and patients.

What’s improved

Faster updates

Changes you make in EMIS/SystmOne - creating slots, adjusting times, cancelling sessions - now appear in Hero within minutes, not long delays.

Fewer booking errors

This significantly reduces cases where:

  • A slot appears online for a patient to book, but it can’t be booked

  • Patients get incomplete bookings - where the booking doesn't sync to the EHR

Automatically self-corrects

If a sync fails or EMIS/SystmOne misses an update, Hero will fix it automatically on the next refresh.

What this means for you

  • You can change availability in EMIS/SystmOne and trust Hero to follow almost instantly.

  • Online booking becomes more dependable for patients.

  • Hero stays in sync throughout the day with no manual intervention.


Other releases

Pharmacierge prescription app

You can now connect Hero to Pharmacierge so you prescribe and send private prescriptions through a single, integrated workflow. The app pulls prescriber and surgery details, supports comments, and captures only the minimal data needed to complete a safe, compliant prescription quickly.

Avoid rekeying, and give patients a better experience from prescription to delivery. Go to Apps → Pharmacierge to connect your account.

Chemist4U prescription app

You can now dispense private prescriptions via Chemist4U directly from Hero. The integration streamlines prescriber lookup, ensures accurate GMC and surgery details in the payload, and keeps medication and codes aligned to practice standards.

This matters because you save time and reduce errors, with reliable updates on prescription status. Go to Apps → Chemist4U to connect your account.

Improvements

  • QuickConsult V2: You can conduct and record faster, lighter consultations with a streamlined editor and better defaults

  • SignatureRx: You can configure and manage SignatureRx with a clearer layout and fewer clicks

  • Consultation coding: You can add SNOMED and attachment codes so records stay consistent across systems

  • Admin Portal: Give admin option to deselect prescriber (nullify) so you can clear the prescriber when it no longer applies

  • Admin Portal: Managing prescription states on a table so you can view, sort, and act on prescriptions at a glance

  • Admin Portal: Revamp SignatureRx app page for clearer setup and faster navigation

  • API: Add default attachment code for consultation adapter to keep records and external systems aligned

  • API: Add default attachment code for xml in Emis so attachments save with the correct code

  • API: Add EMISProxy client to availability service so you can route slot checks via a dedicated client

  • API: Add check_ehr_direct and check_hero_unavailable flags to /api/v1/slots/available/:uid so you can control direct EHR checks per request

  • API: Check slots_for_session if check_ehr_direct is true to confirm real-time availability

  • API: Create availability service client in Typescript and Ruby to standardize access across apps

  • API: GetPatientDemographics - call errors/timeouts investigation to improve reliability and timeouts handling

  • API: Logic to check slots_for_session in EMISProxy to ensure bookings use current EHR state

  • API: update XML for new consultation element to keep EMIS records structured and current

  • API: Add code element for attachments in consultations xml so downstream systems can classify files

  • Stripe: Remove “Subscriptions” and rename “Invoicing” to “Stripe” for clearer billing navigation

  • Database: Refactor patient object for tasks inside episodes list to simplify loading and reduce queries

  • Database: Refactor preload taskable associations for episodes to improve list performance

  • Database: Remove slots from the past to keep scheduling data current

  • Database: Remove unavailability from the past to declutter diaries and searches

  • Database: Store oc_submission_type on care_nav_submission for better reporting and auditing

  • Element: Prescription builder only needs minimal info on screen so you can prescribe faster with less clutter

  • Element: QuickConsult V2 delivers a streamlined consultation flow with clearer saving to record

  • Element: Add a SNOMED code to the consultation so you can code structured data at the point of care

  • Element: Attach a file to the consultation from device to enrich the clinical record

  • Element: Review content in quick consult being saved to record to ensure generated outputs meet clinical standards

  • Feedback: Front-end improvements from internal feedback for smoother navigation

  • Interface: Add loader/spinner to diary page so users see progress while data loads

  • Interface: Ensure BP readings display without spaces (e.g., 120mmHg) for consistency

  • Interface: Minimise suggested codes panel in quick consult with a collapse control to reduce noise

  • Interface: Order Prescription app table by name (alphabetical) to locate users faster

  • Interface: Update toast messages to accurately describe errors and next actions

  • Interface: Convert over to the new design for a more consistent UI

  • Performance: Investigate slow EMIS connections to lower timeouts and retries

  • Performance: Measure impact to verify improvements and guide next work

  • Performance: Monitor current calls and general performance within server to catch regressions early

  • Performance: Remove slots last updated much earlier than peers to prevent skewing sync

  • Performance: Synchronous EHR availability slot check to prevent booking into stale capacity

Fixes

  • API: Fix the episode’s controller index so episode lists load reliably

  • API: Fix file name for attachments in consultation to preserve original names

  • API: GetMedicationIssues on prescription resolved to restore end-to-end prescribing

  • Appointment Booking: Issue booking appointments after new year now resolved

  • Bug: Booking/reservations bug on bookings.herohealth.net resolved

  • Bug: S1 – Attachments not saving correctly to record now save as expected

  • Bug: SignatureRx accounts not appearing in dropdown in edit mode now visible

  • Editor: Fix attachment not saving to record for consultations; files persist with the encounter

  • Editor: Quick consult element save-to-record error for S1 resolved

  • Forms: Basic health data form validations on patient side corrected to prevent incomplete submissions

  • Incident: App crashes from memory leak on api/inbox/tasks#index resolved; stability restored

  • Interface: Prescriber PIN dialog adds required terms statement for compliance

  • Interface: Empty CSV when downloading appointments fixed

  • Interface: Appointments table export restored

  • Interface: Stripe showing payment but invoice unpaid corrected


Changelog: 16-Oct-2025

Changelog: 16-Oct-2025

Jersey Number Support in Booking Authentication

Accept Jersey mobile numbers for booking authentication so patients sign in reliably with their real number. The flow validates Jersey formats and uses the correct routing for SMS codes. You reduce duplicate records created when patients previously used multiple emails.

This matters because it improves access and keeps patient records consistent. Jersey support is on by default in Patient Services self‑booking. Review copy and settings in Settings → Patient Services. Available today on all plans.

Improvements

  • Patient service: Update self-booking flow wording for security code to better explain Jersey support

  • Booking links: Patient-specific booking links now list appointment types alphabetically in the builder

  • Feedback: Adjust spacing on desktop confirmation screen based on NHS standards

  • Patient dashboard: Patient appointments list shows correctly without needing a status filter

  • Interface: Standardise table button order

  • Interface: Align table button behaviours across views

  • Interface: Support in-place editing for tables

  • Search: Filter out past slots from availability views

  • Settings: Update prescriber selection to write new admin name/email fields

  • Settings: Add a feature flag for Chemist4U

Fixes

  • API: Fix completion check to use unique recipientId when counting BulkOperationExecution

  • API: Resolve XML long-text handling for save-to-record

  • API: Update practice group API to save User ID to prescription_partner_credentials

  • Appointment Booking: Restore appointments visibility in booking flows

  • Appointment Booking: Send correct reminders for telephone appointments

  • Batch Messaging: Show campaign cancellation list reliably

  • Batch Messaging: emails display correctly for partner batch messages

  • Billing: Mark paid invoices as completed, not draft

  • Bug: Align slot lengths between Hero and EMIS

  • Bug: Invoice transactions no longer show as draft

  • Database: Fix form response to read from correct data source table

  • Forms: Match EMIS questionnaire field order to the original form

  • Forms: Ensure forms save to EMIS reliably

  • Forms: Allow manual questionnaire saves without errors

  • Forms: Respect original form order for Questionnaire/Care Navigation responses

  • Forms: Prevent save when SNOMED codes are missing or misapplied across answers

  • General: Fix miscellaneous issues improving overall stability

  • General: Lewisham (Sexual Health) PG 212: Restore visible slots in Rails patient booking

  • Individual Messaging: Havering North PCN: Allow affected admin to send messages again

  • Notifications: Restore automated patient mailers

  • Partner Issue: Resolve webhook 404 responses

  • Patient services: Accept Jersey mobile numbers without errors

  • Patient services: Fix booking link so it works consistently with the QR code

  • Prescriptions: Prevent “error loading application” message in prescription builder


Resolving unregistered patients

Resolving unregistered patients

We're excited to introduce the new Match with EHR feature, designed to make reconciling patient registration even easier and improve data connectivity between Hero and your EHR system.

What's New

Unregistered patient identification

  • Visual indicators: Patients without valid EHR IDs now display an "unregistered" badge across all patient contexts

  • System-wide visibility: The unregistered status is visible in your inbox, appointments, communications; wherever a patient is in context.

Automated patient matching

  • Smart matching: The system automatically attempts to match patients based on demographic details

  • Confirmation process: When a potential match is found, you'll see a review screen displaying patient information before confirming the match.

  • One-click action: Simply click "Match with EHR" above the patient's name to initiate the process

Manual patient matching

  • Fallback Option: When automatic matching doesn't find a result, you can manually search using EMI ID

  • Easy Input: Enter the patient's EMI ID into the search box and click submit

  • Verification Step: The system displays patient information for final confirmation before establishing the link

  • Secure Matching: Click "Match" to complete the connection and unlock additional patient information

Benefits

  • Reduces administrative overhead by identifying unlinked patients at a glance

  • Improves data accuracy through verified patient matching

  • Ensures comprehensive patient records by maintaining proper EHR connections

  • Streamlines workflow with accessible matching tools throughout the platform

The Match with EHR feature is now available across all patient contexts within Hero, including inbox, appointments, and communications.