Cortico Web Release
1. Updates to Appointment Booking
1.1 - After a patient cancels an appointment and indicates they want to reschedule because the time didn't work, they can now re-book directly in the same workflow via a new call-to-action.
2. Updates to video appointments
2.1 - Fixed an issue where clicking the message box in a video call didn't immediately work due to interference with the patient agreement element.
3. Updates to the patient portal
3.1 - Design updates to the patient messaging page.
4. Updates to patient forms
4.1 - Cached patient form progress is now cleared when a clinic makes changes to the form questions.
4.2 - Fixed an issue where toggling between choice questions with different "next question" targets did not correctly update the question flow.
4.3 - Fixed an issue where partially filling out a form in the new patient flow, navigating to a previous step, and returning would incorrectly mark the form as complete.
5. Updates to payments
5.1 - Multiple services can now be added when creating an invoice.
6. Updates to EMR integrations
6.1 - [OscarPro] Added support for the Enrollment Physician field for online booking (family doctor workflows) and patient-initiated messaging.
6.2 - [Accuro] When multiple subcolumn booking is enabled, blocked subcolumns are no longer offered or booked into (amendment to a prior release item).
6.3 - [MedAccess] Fixed an issue where removing or updating a cell phone number during terminal check-in was not being saved to the EMR.
6.4 - [Accuro] Fixed a race condition that sometimes occurred when refreshing tokens.
6.5 - [Profile] Fixed an issue where schedule availability was being calculated using the wrong appointment rule.
7. Updates to Clinic Settings
7.1 - Fixed a UI issue where the Provider Specializations settings preview would shift around while editing.
7.2 - Fixed an issue where the provider_no on Staff page provider cards could overlap with names.
7.3 - The "Starter (Special offer)" plan is now shown as a configurable option for any user in a clinic, as long as at least one user in that clinic already has that status.
8. Updates to analytics features
8.1 - Performance improvements for the Business Review page.
8.2 - The Reports page table now hides providers who have no specializations assigned.
8.3 - Updates to terminal metrics in the clinic monthly report.
9. Other updates
9.1 - The health card scanner now defaults to the front camera and allows switching between cameras.
9.2 - Added a configuration option for clinics to require all staff to enable 2FA.
9.3 - Added a configuration option to redirect patients to a custom URL after new patient signup, instead of the /drop-in page.
9.4 - Improvements and fixes to patient login error handling.
9.5 - Fixed an issue where using keyboard navigation in the patient sign-in / lookup form focused the "Learn how Cortico protects your privacy" link instead of the Date of Birth field after the Health Card Number field.
Cortico Plug-in
1. Messaging
1.1 - Retired the original provider messaging implementation on web and replaced it with v2 (internal refactor, no functional change for users).
1.2 - Fixed an issue where the Send button tooltip sometimes did not disappear until the button was re-hovered (in both patient and provider messaging).
1.3 - Fixed an issue where using "Send (no replies)" from within an existing conversation still sent a secure portal-login SMS link.
1.4 - Message drafts are now wiped when a user logs out of Cortico, so drafts are not persisted across shared computers.
1.5 - Providers can now send a direct message to another provider who is outside the Cortico network but within Cortico's provider directory, with a patient selected through the EMR, so they can consult on a specific case.
1.6 - Providers can now send a direct message to another provider who is outside the Cortico network but within Cortico's provider directory, without a patient selected, for private provider-to-provider consults.
1.7 - When choosing a message recipient, providers can now search for providers by location, making it faster to find the appropriate provider in a given area.
1.8 - When a provider within the Cortico network is sent a direct message from a provider at another clinic, that message is now only visible to the recipient and does not appear in the triage inbox.
1.9 - When a provider outside the Cortico network is sent a direct message from a provider inside the network, they now receive an email notifying them of a secure message and linking them to the secure view.
1.10 - MOAs and providers can now send a message to another clinic without selecting a particular recipient, so any MOA currently on shift at the receiving clinic can pick it up.
1.11 - Patient-initiated messaging can now be enabled for a single provider's patient panel, allowing a clinic to soft-launch the feature with a few providers before rolling it out clinic-wide.
1.12 - The web app now uses the shared Create Conversation / Recipient Search surface from the messenger package (internal refactor, no user-visible change).
2. Cortico AI
2.1 - Fixed an issue where AI chat was not retaining context between messages ("AI chat has amnesia").
2.2 - Clinicians can now set custom instructions in AI chat that persist across conversations, so preferences don't need to be repeated each time.
2.3 - AI chat responses containing ranked or comparative data are now rendered as formatted tables for easier scanning.
2.4 - Citation markers in AI chat now render live while the response streams, avoiding raw markup or a jarring reflow at completion.
2.5 - AI chat usage analytics are now recorded in conversation_stats, allowing measurement of document-read patterns, reasoning and cache token cost, and context-truncation frequency (internal instrumentation, no user-visible change).
2.6 - Fixed an issue where the AI growth scorecard "# of Clinics" showed 0 for every AI feature, because plug-in workflow events were reaching cerebro without clinic attribution.
2.7 - Fixed an issue where the AI chat Print button opened an ERR_FILE_NOT_FOUND page, because the print page was missing from dev and one-shot extension builds.
2.8 - AI chat: centered the plus icon against the input and made the web search toggle sticky.
2.9 - Providers and MOAs can now give feedback on AI chat answers and generated documents, so issues reach the engineering team immediately and AI output quality improves.
2.10 - MOAs can now edit documents and AI chat artifacts using a rich WYSIWYG MDX editor, without needing to know markdown syntax.
2.11 - [MedAccess] AI chat can now read patient chart data directly from the EMR on TELUS Med Access, so clinicians get accurate AI assistance without manual data entry or OCR.
2.12 - AI chat now skips patient context re-extraction after the first chat turn.
2.13 - AI chat history and report REST calls are now routed through the ServiceRegistry (CerebroAiService) for consistent auth, base-URL resolution, and error handling (internal refactor, no user-visible change).
2.14 - AI chat: lazy tool loading and exact token accounting (internal performance improvement).
3. Annotate & Fax
3.1 - Removed the "v2" label from the Annotator so the naming reflects the current standard version.
3.2 - The Annotator button now appears on the right side of all non-OSCAR Pro UI pages and is collapsible and draggable, so it does not block EMR functionality.
4. Appointment Actions
4.1 - The appointment actions on the schedule page and the appointment actions page are now identical for a consistent experience.
5. Authentication
5.1 - [Oscar] The plug-in now detects shared accounts and displays a banner.
6. UI/UX Improvements
6.1 - The schedule Send button is now click-to-view and larger, reducing accidental pop-ups when sending messages.
6.2 - Fixed an issue where the Report Issue dialog for AI-generated documents opened hidden behind the plug-in menu.
6.3 - The EMR schedule page now holds off on auto-refreshing while the Cortico plug-in is open, so in-progress AI chats and message drafts are not wiped.
6.4 - Fixed an issue where the Add Document and HRM attachment buttons appeared on the schedule page even when no patient was selected.
6.5 - Fixed a grammatical error in the eligibility check text (extra "to" in a sentence).
7. Stability & Error Handling
7.1 - Fixed an issue where CircleOfCare's str method exposed patient names in Sentry events (internal privacy fix).
7.2 - PII and PHI are now redacted from Sentry events, so patient data is not exposed in error monitoring.
7.3 - Wrapped the React error boundary in Sentry so component render errors are captured with component stack traces (internal error-monitoring improvement, no user-visible change).
8. Code Quality & Infrastructure
8.1 - Updated Vite and Vitest to patch the latest CVE (internal security update, no user-visible change).
8.2 - Added ESLint no-restricted-imports rules for axios and relative imports (internal code standards, no user-visible change).
8.3 - Removed CI failure notifications for migrations, ruff, and pylint (internal dev tooling, no user-visible change).
9. Development Workflow
9.1 - Webhook notifications now replace Zapier for QA status changes, reducing Zapier task usage and notifying on tickets that don't meet requirements when moved to QA (internal workflow improvement, no user-visible change).
9.2 - Reduced lint failure noise in the node-ci multibranch pipeline (internal CI improvement, no user-visible change).
10. Testing
10.1 - Fixed failing E2E tests in test-drafts.spec.mjs (internal test fix, no user-visible change).
10.2 - Fixed failing E2E tests in test-messenger-draft.spec.mjs (internal test fix, no user-visible change).
10.3 - Fixed failing E2E tests in view-files.spec.mjs (internal test fix, no user-visible change).
10.4 - Fixed failing E2E tests in patient-reply-2wpm-develop.spec.mjs (internal test fix, no user-visible change).
10.5 - Fixed failing E2E tests in auto-triage-booking.spec.mjs (internal test fix, no user-visible change).
10.6 - Fixed failing E2E tests in patient-dashboard.spec.mjs (internal test fix, no user-visible change).
10.7 - Fixed failing E2E tests in standalone-form-submission.spec.mjs (internal test fix, no user-visible change).
10.8 - Fixed failing E2E tests in patient-receives-1wpm-develop.spec.mjs (internal test fix, no user-visible change).
10.9 - Fixed failing E2E tests in open-echart.spec.mjs (internal test fix, no user-visible change).
10.10 - Fixed failing E2E tests in patient-switch-new-juno.spec.mjs (internal test fix, no user-visible change).
10.11 - Fixed failing E2E tests in saved-replies.spec.mjs (internal test fix, no user-visible change).
10.12 - Restored E2E tests: diag-conversations.spec.mjs, moa-notifications-2wpm.spec.mjs, and send-provider-messaging.spec.mjs (internal test fix, no user-visible change).
10.13 - Fixed failing E2E tests in moa-notifications-2wpm.spec.mjs (internal test fix, no user-visible change).
10.14 - Fixed failing E2E tests in send-provider-messaging.spec.mjs (internal test fix, no user-visible change).
10.15 - Plug-in E2E tests now run against the staging environment on develop, so staging-only regressions are caught before release (internal QA improvement, no user-visible change).
10.16 - Fixed failing E2E tests in spa-patient-detection.spec.mjs (internal test fix, no user-visible change).
10.17 - Fixed failing E2E tests in diag-conversations.spec.mjs (internal test fix, no user-visible change).