Changelog

Version history and release notes

Back to Dashboard

Release History

Changelog

All notable changes to OmberCHM (CareSpace) will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.2.10] - 2026-07-01

Fixed

  • A pressure injury still could not be resolved for a "Pending CQC" record - Follow-up to v1.2.9, which fixed the wrong cause. The real blocker was the pressure injury form's validation: it required a "Date informed CQC" whenever "CQC Informed" was set to Yes, but that date field was never shown on the form. Any record in the normal "Pending CQC" state (cqc_informed = "Yes" with no date — e.g. resident Patricia Atkinson's) failed validation on every save, silently, so date_resolved could never be saved.
  • The CQC-date requirement is now only enforced when the user is actually setting CQC Informed to Yes in that submission; editing a pre-existing "Pending CQC" record is no longer blocked.
  • The "Date informed CQC", "Date MASH informed" and the CQC/MASH "not informed reason" fields are now rendered on the form so they can be recorded.
  • A form-level error summary is now shown at the top of the form, so validation problems are never silent again.
  • Editing a pressure injury wiped its "created by" author - A duplicate Meta.exclude left created_by bound to the form; because it is displayed read-only (never submitted), every save reset it to empty. created_by is now excluded from the form and preserved on update.

[1.2.9] - 2026-06-30

Fixed

  • Cannot resolve a pressure injury (or edit other clinical records) once the resident is no longer active - When a resident died, was discharged, or had their room reassigned, adding a date_resolved to their pressure injury silently failed to save. Reactivating the resident did not help.
  • Root cause: PropertyRestrictedFormMixin restricted the form's resident choices to residents with status Active and a room. On an update form, if the record's existing resident no longer matched, the hidden resident field failed validation ("Select a valid choice") and blocked the entire save — including unrelated fields like date_resolved.
  • Fix: when editing an existing record, the mixin now always keeps that record's current resident as a valid choice, even if they are deceased, discharged, or have no room. New residents can still only be selected from active residents.
  • Affects all forms using the mixin: Pressure Injury, Incident, Infection, Medication Error, Complaint, and Compliment.

[1.2.8] - 2026-06-18

Fixed

  • CQC Notifications: incidents notified via a Notification Event still showed as Pending - Incidents notified to CQC by adding a CQC Notification Event (rather than filling in the incident's own cqc_notified_date field) were wrongly listed under "Pending CQC Notification" on the dashboard.
  • Added annotate_incident_cqc_status() helper exposing an effective_cqc_date (the incident's cqc_notified_date, or the earliest CQC NotificationEvent.date_notified if blank).
  • CQCNotificationsListView and get_cqc_notifications_metrics() now treat an incident notified via a CQC Notification Event as notified, not pending.
  • Added data migration 0061 to backfill Incident.cqc_notified_date from existing CQC notification events (clears already-affected records, e.g. Oakland Court).

[1.2.7] - 2026-03-25

Fixed

  • Complaint creation 500 error - Fixed ComplaintCreateView crashing with ImproperlyConfigured: No URL to redirect to when submitting the complaint form. Added missing success_url and aligned form_valid() with the working ComplimentCreateView pattern.

[1.2.6] - 2026-02-18

Fixed

  • UAT deployment failure - Fixed NourishDependencyScoreAdmin using title (a computed property) in list_filter, which caused Django system check error admin.E116 and prevented container startup. Changed to filter by score field instead.

[1.2.5] - 2026-02-17

Fixed

  • Management Reports property filtering - Reports now correctly segregate data by care property
  • Changed analytics service to use direct care_property foreign key path for Incident, MedicationError, and PressureInjury queries
  • Added Property Scope selection to management report create/edit forms
  • Fixed get_properties_for_filtering() to return None (no filter) when no properties selected, instead of all properties
  • Room Calculator Nourish dependency scoring - Room calculator now maps raw Nourish scores (1-52) to level-based point values instead of using raw scores directly
  • Added point_value field to NourishDependencyScore model with data migration
  • Score ranges mapped: Low (9pts), Medium Low (10.5pts), Medium (12pts), Medium High (13.5pts), High (16pts), Very High (19pts)
  • Registered NourishDependencyScore in Django admin for easy point value management
  • CQC Notifications date validation - Added form validation requiring date_informed_cqc when cqc_informed is set to "Yes" on pressure injury records

Changed

  • Peak Period Analysis labels - Added "(top 3 of 12 two-hour slots)" subtitle to Top Risk Periods heading for clarity in both dashboard and management report views

[1.2.4] - 2026-02-07

Fixed

  • Room List 500 Error - Removed orphaned /rooms/ URL that caused 500 error
  • The RoomListView referenced a missing room_list.html template
  • Removed redundant "Room List" links from property management and property detail pages
  • Room browsing is handled by the property management page which displays rooms grouped by property/floor
  • Room detail, update, and delete views remain functional

Removed

  • RoomListView and RoomCreateView (orphaned code, room creation handled by property management HTMX views)
  • /rooms/ and /rooms/create/ URLs
  • "Room List" button from property management page
  • "Room List View" button from property detail page
  • "All Rooms" quick action from room detail page

[1.2.3] - 2026-01-30

Added

  • Incident Form Waterlow Review Question - Added new question "Does the Waterlow need reviewing?"
  • New Question 8 appears after "Does the Moving and Handling Assessment need reviewing?"
  • Previous Question 8 (Resulted in Complaint) is now Question 9
  • Displays in both incident form and detail view with consistent styling

[1.2.2] - 2026-01-27

Fixed

  • Management Report Detail 500 Error - Fixed FieldError on report detail view
  • Changed is_deleted=False to is_active=True in ManagementReport.get_properties_for_filtering()
  • Changed is_deleted=False to is_active=True in AnalyticsService.get_property_summary()
  • CareProperty model uses is_active field, not is_deleted

[1.2.1] - 2026-01-27

Fixed

  • Management Report 500 Error - Fixed unhandled IntegrityError when creating duplicate reports
  • Changed unique constraint from (year, month) to (year, month, title) allowing multiple reports per month with different titles
  • Added form validation to show user-friendly error message for duplicate title/month combinations
  • Previously caused 500 Internal Server Error when trying to create a report for a month that already had one

Added

  • Management Report Delete - Managers can now delete management reports
  • New delete button on report detail view (Manager role only)
  • Confirmation page with impact assessment showing what will be deleted
  • Checkbox confirmation required before delete button is enabled
  • Deletes report and all associated graphs; underlying clinical data is preserved

[1.2.0] - 2026-01-27

Added

  • CQC Notifications Dashboard Card & List View - New consolidated view for CQC-reportable items
  • Dashboard card with teal theme showing pending/notified counts and RAG status
  • Full list view aggregating CQC items from: Incidents, Notification Events, Pressure Injuries, DOLS Applications, and Safeguarding Referrals
  • Two sections: "Pending CQC Notification" (flagged but not reported) and "CQC Notified" (with dates)
  • Filter by record type (All, Incidents, Notification Events, Pressure Injuries, DOLS, Safeguarding)
  • Property filtering support consistent with other views
  • Configurable RAG thresholds via SystemConfiguration (CQC_PENDING_GREEN_MAX, CQC_PENDING_AMBER_MAX)
  • Links to original record detail pages from list view

[1.1.2] - 2026-01-27

Fixed

  • Discharged Resident Visibility - Fixed discharged/inactive residents disappearing from views
  • Residents were invisible in list and detail views after discharge cleared their room
  • Changed ResidentDetailView.property_field from room__care_property to care_property
  • Fixed ResidentListView to always show both active/inactive sections using base queryset
  • Changed property dropdown filter to use care_property instead of room__care_property
  • Now uses the direct care_property FK which is preserved when room is cleared

[1.1.1] - 2026-01-27

Fixed

  • Room Calculator Pricing - Fixed square footage to points conversion
  • Was using raw sq ft as points (150 sq ft = 150 points = £8,820)
  • Now correctly converts using scale: 9 sq ft = 4 points, +0.25 per additional sq ft
  • Formula: points = 1.75 + (sqft × 0.25)
  • Example: 150 sq ft → 39.25 points → £2,307.90 (at £58.80/point)
  • Added room_size_points property to Room model for consistent calculation

[1.1.0] - 2026-01-23

Added

  • DNACPR/ReSPECT Status Restructure - Replaced boolean DNAR field with comprehensive status tracking
  • New dnacpr_status dropdown with options: None, DNACPR Only, ReSPECT Only, Both DNACPR & ReSPECT, Undecided
  • New respect_active checkbox for tracking active ReSPECT forms
  • Review date now conditionally shown (hidden when status is "None")
  • Renamed "DNAR" to "DNACPR/ReSPECT" across all user-facing text
  • Legacy fields maintained for backwards compatibility

  • Pressure Injury Photo Upload - Added ability to document pressure injuries with photos

  • Multiple photos per injury with date taken and description
  • Photo gallery on detail page with upload/delete functionality
  • New notification checkboxes: TVN Informed, DN Informed, GP Informed

  • Day Care Room Support - Added special room type for day care residents

  • Day care rooms have unlimited occupancy (excluded from capacity calculations)
  • Excluded from occupancy statistics on dashboard and reports
  • Renamed "Admission date" to "Admission/Start Date" on resident forms

  • Room Calculator Access - Opened Room Calculator feature to all authenticated users

  • Previously restricted to Manager role only
  • Added link to Quick Actions on dashboard

Fixed

  • Reports Infection Count Mismatch - Fixed discrepancy between dashboard reports and list views
  • Reports now respect property filter context
  • Infection counts are now consistent across reports dashboard and infection list

[1.0.15] - 2026-01-20

Fixed

  • Resident Update 500 Error - Fixed Internal Server Error when editing residents
  • Root cause: Form/view kwarg mismatch after commit 2c40696
  • Views passed request but ResidentForm.__init__ expected user
  • Updated ResidentForm to accept both request and user kwargs (matching PropertyRestrictedFormMixin pattern)

[1.0.14] - 2026-01-17

Security

  • Dependency Updates - Patched 21 Dependabot vulnerabilities (1 critical, 7 high, 8 moderate, 5 low)
  • Django 5.2.5 → 5.2.10 (SQL injection, DoS fixes)
  • urllib3 2.5.0 → 2.6.3 (decompression bomb fixes)
  • aiohttp 3.12.15 → 3.13.3 (DoS, zip bomb fixes)
  • filelock 3.19.1 → 3.20.3 (TOCTOU symlink fixes)
  • fonttools 4.59.2 → 4.61.1 (arbitrary file write fix)

[1.0.13] - 2026-01-17

Added

  • Incident Follow-Up Question - Added new Question 2: "Was the relative informed, or was the option offered and declined by the resident?"
  • Inserted after hospital admission question
  • All subsequent questions renumbered (now 8 total questions)

[1.0.12] - 2026-01-17

Changed

  • Residents List Default Filter - Default filter now shows only active residents when first loading the page
  • Users can still select "Active & Inactive" to see all residents
  • Provides cleaner default view focused on current residents

[1.0.11] - 2026-01-17

Fixed

  • Property Filter Not Applied to Form Dropdowns - Fixed global property filter not being respected in resident dropdown lists
  • When filtering by property at the top of page (e.g., selecting "Home A"), form dropdowns (e.g., when adding an infection) now only show residents from the selected property instead of all accessible properties
  • Updated PropertyRestrictedFormMixin to use session-based selected properties instead of role-based accessible properties
  • Affects: Infection, Incident, Pressure Injury, Medication Error, Complaint, Compliment, DNAR, DoLS, Safeguarding, Clinical Care Need forms

[1.0.10] - 2026-01-17

Fixed

  • Resident Room Management Bugs - Fixed two related bugs with resident room handling after discharge
  • Room is now automatically cleared when a resident's status changes from Active to inactive (Discharged, Deceased, etc.)
  • Previously discharged residents can now have their rooms re-allocated to new residents
  • Inactive residents no longer "disappear" from the inactive list when their room is manually removed
  • Added care_property field to Resident model for proper property-based filtering even when room is NULL
  • Residents keep their property association even after room assignment is cleared

[1.0.9] - 2026-01-09

Changed

  • MCA Capacity Field UX - Changed resident mental capacity from dropdown to checkbox
  • Checked = Resident has capacity
  • Unchecked = Resident lacks capacity
  • Clearer visual styling with background container and help text

[1.0.8] - 2026-01-09

Fixed

  • Clinical Care Need Form Error - Fixed "Cannot resolve keyword 'is_active' into field" error when editing clinical care needs
  • PropertyRestrictedFormMixin was still filtering residents by removed is_active field
  • Updated to filter by status__name="Active" instead
  • Property Filter Room Count - Fixed invalid rooms__is_active filter in property filter dropdown
  • Room model doesn't have is_active field; removed erroneous filter

[1.0.7] - 2026-01-08

Changed

  • Active/Inactive Status Based on Status Field - Resident active/inactive display now determined by Status dropdown instead of Is Active checkbox
  • Status = "Active" → displayed as Active
  • Any other status (Discharged, Deceased, etc.) → displayed as Inactive
  • Removed is_active field from Resident model
  • Added is_active property (computed from status) for backward compatibility in templates
  • Added ResidentManager with active() and inactive() methods for cleaner queries
  • Removed Is Active checkbox from resident form (status dropdown now controls this)
  • Updated dashboard metrics, views, admin, and management commands to use new logic

[1.0.6] - 2026-01-08

Added

  • MCA Capacity and Attachment Fields - Enhanced Clinical Care Need form with additional MCA details
  • New "Resident Has Capacity" checkbox (required when MCA is completed)
  • New file upload field for MCA document attachments (PDF, DOC, DOCX, JPG, JPEG, PNG - max 10MB)
  • Fields only visible when "MCA Completed" is ticked
  • Detail view shows capacity status badge and MCA document download link
  • List view shows "Has Capacity" column with green tick/red cross/blank indicators

Fixed

  • Room Number Display Bug - Fixed room always showing "Unassigned" on Clinical Care Needs and DNAR list/detail views
  • Templates incorrectly referenced room.room_number instead of room.number
  • Affected pages: Clinical Care Needs list, DNAR Records list, DNAR Records detail

[1.0.5] - 2026-01-08

Fixed

  • Dashboard Clinical Assessments Count - Fixed incorrect assessment count on dashboard
  • Dashboard was using care_property filter path which excluded records with NULL care_property
  • Changed to use resident__room__care_property to match the list view logic
  • Now correctly counts all assessments for the selected properties

[1.0.4] - 2026-01-08

Changed

  • Improved Resident Delete Confirmation - Enhanced UX for resident deletion to prevent accidental deletions
  • Added detailed resident information display (ID, DOB, admission date, room, status)
  • Added comprehensive impact assessment showing all records that will be deleted (DOLS, DNAR, incidents, infections, etc.)
  • Added mandatory checkbox confirmation before delete button is enabled
  • Clear warning about cascade deletion of ALL associated clinical and administrative records
  • Matches the same confirmation pattern used for User deletion

[1.0.3] - 2026-01-08

Fixed

  • Delete View Context Bug - Fixed critical template context issue in delete confirmation views
  • Added missing context_object_name to 4 delete views: DOLSApplicationDeleteView, DNARRecordDeleteView, PressureInjuryDeleteView, ClinicalCareNeedDeleteView
  • Templates expected variable names with underscores (e.g., dols_application) but Django was providing lowercase model names without underscores (e.g., dolsapplication)
  • This mismatch could cause template rendering issues in delete confirmation pages
  • Ensures delete confirmation templates properly display the record being deleted

[1.0.2] - 2026-01-05

Security

  • Detail View Property Access Control - All detail views now enforce property-based access control
  • Added PropertyRestrictedDetailMixin to filter records to accessible properties only
  • Prevents unauthorized access to resident/incident/clinical data from other properties
  • 12 detail views updated: Resident, Incident, Infection, PressureInjury, MedicationError, Complaint, Compliment, DNARRecord, DOLSApplication, SafeguardingReferral, ClinicalCareNeed, and IncidentDetailByRef
  • Resident Form Property Filtering - Forms now filter properties and rooms to accessible only
  • ResidentForm filters property selector and room dropdown to accessible properties
  • rooms_by_property HTMX endpoint validates user has property access before returning rooms
  • Server-side validation prevents saving residents to unauthorized properties

[1.0.1] - 2026-01-02

Fixed

  • Residents List Global Filter - /residents view now respects the global property filter
  • Previously missed when global filter feature was implemented
  • Property dropdown only shows when multiple properties are selected in global filter
  • Room dropdown filtered to only show rooms from globally selected properties

[1.0.0] - 2025-12-30

Changed

  • Production Release - System handed over to customer

[0.14.0] - 2025-12-30

Added

  • Data Import Feature - Bulk import for rooms and residents from Excel files
  • Two-step import flow: upload file, preview changes, confirm import
  • Room Import: Select property, upload Excel with room data
    • Columns: Room Number, Description, Double Room (Yes/No), Room Level, Room size (sq ft)
    • Idempotent: re-uploading same file skips existing rooms (matched by property + room number)
  • Resident Import: Upload Excel with resident data including property column
    • Columns: First name, Middle names, Surname, DOB, Admission date, Property, Room number, Care type, Nourish score, Status, POA
    • Idempotent: skips existing residents (matched by first name + last name + DOB)
  • Auto-creates missing lookup values (Room Levels, Care Types, Statuses, POA Types)
  • Preview screen shows: new records count, existing (skip) count, errors, and lookup values to create
  • Partial import: valid rows import even if some fail, with downloadable error report
  • Downloadable templates for each import type
  • Data Import card added to Configuration page
  • Test files available in import/test/ folder for UAT testing

[0.13.2] - 2025-12-30

Added

  • POA Type Configuration - Dedicated management page for Power of Attorney types in Config
  • POA types now appear in the dropdown management list
  • Custom form supporting both name and description fields
  • Delete protection prevents removing POA types assigned to residents
  • Enables adding new options like "Yes - Finance & Health"

[0.13.1] - 2025-12-30

Added

  • Room Level Configuration - Dedicated management page for room levels in Config
  • Room levels now appear in the dropdown management list
  • Custom form supporting both name and point_value fields
  • Delete protection prevents removing room levels assigned to rooms
  • Point value validation (0-10 range)

[0.13.0] - 2025-12-24

Added

  • Property Assignment Admin Interface - Custom admin page for managing user property access
  • PropertyAssignmentManageView showing all users with roles and property assignments
  • API endpoint /api/property-assignments/update/ for updating user assignments
  • API endpoint /api/user-role/update/ for updating user roles with self-lockout prevention
  • Managers/Administrators automatically have access to all properties
  • Staff/Nurses can be assigned to specific properties via edit modal
  • Last administrator protection prevents accidental lockout
  • Auto-assign all properties when demoting Manager/Admin to Staff/Nurse
  • Property Assignments card added to Configuration page

[0.12.0] - 2025-12-24

Added

  • Management Reports Property Filtering - Reports can now be scoped to specific properties
  • properties M2M field on ManagementReport model for property scope selection
  • get_property_scope_display(), get_properties_list(), get_properties_for_filtering() helper methods
  • AnalyticsService refactored from static methods to instance-based with property filtering support
  • _apply_property_filter() method for filtering querysets by property
  • get_property_summary() method for property scope context in reports
  • All report views, PDF generator, and current metrics service updated for new AnalyticsService API

[0.11.0] - 2025-12-24

Added

  • Property Filtering Foundation - Database models and migrations for multi-property filtering system
  • PropertyAssignment model - Links users to properties they can access
  • UserPropertyPreference model - Stores user's filter preferences across sessions
  • CareProperty soft delete support (is_active, deleted_at, deleted_by fields)
  • CarePropertyManager with active() and inactive() methods
  • care_property foreign key on all clinical models for historical accuracy:
    • MedicationError, PressureInjury, ClinicalCareNeed, DNARRecord, DOLSApplication, SafeguardingReferral (required resident)
    • Complaint, Compliment (optional resident - nullable FK)
  • Auto-population of care_property from resident's room on record creation
  • Data migration to populate care_property on existing records
  • Django Admin registration for PropertyAssignment and UserPropertyPreference
  • CarePropertyAdmin with soft delete actions (soft delete/reactivate), room count, and resident count

[0.10.12] - 2025-12-24

Fixed

  • Fixed "Manage Rooms" button overlapping "Property Details" text on Property Management page by replacing absolute positioning with proper flexbox layout

[0.10.11] - 2025-12-24

Added

  • Property Detail page with nested Room CRUD - add, edit, and delete rooms directly within property context
  • HTMX modal-based room management with inline updates (no page refresh)
  • "Manage Rooms" button on Property Management page to access property-specific room management
  • Room statistics display (total rooms, occupied, available, occupancy rate)
  • Floor-based room organization on property detail page

Changed

  • Replaced "Room Management (Coming Soon)" placeholder with working "Room List" link

[0.10.10] - 2025-12-24

Added

  • Property filter dropdown on Residents list page - filter residents by care property
  • Property CRUD functionality accessible from Property Management page via "Add / Edit Properties" button

Changed

  • Residents list filter grid expanded to 6 columns to accommodate new Property filter

[0.10.9] - 2025-12-24

Fixed

  • Fixed dashboard Quality Overview showing incorrect RAG status when no data exists in the system
  • Medication errors learning completion now shows GREEN (100%) when no errors require lessons
  • Compliments metric now shows GREEN when no active residents exist (no expectation of compliments)
  • Clinical MCA completion now shows GREEN (100%) when no assessments exist

[0.10.8] - 2025-12-23

Fixed

  • Fixed password reset email not sending due to as_bytes() linesep error - pinned Django to <6.0 (django-ses incompatible with Django 6)
  • Fixed password reset email showing raw HTML - added html_email_template_name to send proper HTML emails
  • Enabled SESv2 client (USE_SES_V2=True) for better AWS SES support

[0.10.7] - 2025-12-23

Fixed

  • Password reset email now uses custom branded template instead of Django admin default
  • Fixed NoReverseMatch error for password_reset_confirm by using correct web: namespace in email template
  • Fixed NoReverseMatch error for login URL in password_reset_done.html and password_reset_complete.html templates
  • Moved web app before django.contrib.admin in INSTALLED_APPS to ensure custom templates take precedence

Changed

  • Styled all password reset pages (form, done, confirm, complete) to match login page with background image, card shadow, and polished inputs

[0.10.6] - 2025-12-23

Fixed

  • Upgraded django-ses to 4.5.0 to fix email sending as_bytes() linesep error
  • Added better error logging with full traceback for email service failures

Changed

  • Added background image to login page matching dashboard style

[0.10.5] - 2025-12-23

Fixed

  • Reverted S3 static files to private (querystring_auth enabled) - fixes logo display
  • Fixed initBodyMapModal is not defined error by moving {% load static %} to top of template

[0.10.4] - 2025-12-23

Fixed

  • Web manifest icons now accessible on S3 (static files use public-read ACL without signed URLs)

Reverted

  • This change broke private S3 bucket access - reverted in 0.10.5

[0.10.3] - 2025-12-23

Fixed

  • Body map markers now scale correctly with responsive image display
  • Added proper "Back of head" coordinates on back view of body map
  • Body map markers now appear at correct positions regardless of viewport size

[0.10.2] - 2025-12-23

Fixed

  • Body map markers now appear on image for common location names (e.g., "Back of head" maps to Scalp, "Ankle" maps to Left Ankle)
  • Added alias matching and partial matching for injury site locations

[0.10.1] - 2025-12-23

Fixed

  • Body map modal not opening due to JavaScript datetime serialization error
  • Updated plotly.js CDN from deprecated plotly-latest.min.js to explicit version 2.35.2

[0.10.0] - 2025-12-23

Added

  • Body map visualization for pressure injuries on injury detail view
  • Body map icon on resident Active Alerts tile to view all active pressure injuries
  • Interactive body map modal with hover tooltips showing injury stage and date
  • Click navigation from body map markers to injury detail pages
  • Support for multiple injuries at same body location with count badges
  • Sidebar list for injuries at unmapped/custom locations

Fixed

  • Corrected site_of_damage references to site_of_injury in model str, admin, and templates

[0.9.6] - 2025-12-23

Changed

  • Use ECR Public Gallery for Python base images to avoid Docker Hub rate limits

[0.9.5] - 2025-12-23

Fixed

  • Version showing "unknown" in footer - pyproject.toml now copied to Docker image
  • Changelog page showing "not available" - CHANGELOG.md now copied to Docker image

[0.9.4] - 2025-12-23

Added

  • Changelog page accessible at /changelog
  • Semantic versioning with single source of truth from pyproject.toml
  • Footer version now links to changelog

[0.9.3] - 2025-11-17

Added

  • Incident follow-up questions and regulatory notification tracking
  • Incident reference number system with auto-generation and UI integration

Changed

  • Moved incident reference number to Basic Information section
  • Refactored CLAUDE.md into modular documentation structure

[0.9.2] - 2025-09-27

Added

  • Property filter specification
  • Nourish Dependency Score updates

Changed

  • Simplified version configuration
  • Updated CareType defaults in migrations

Fixed

  • Config save functionality in dropdown management

[0.9.1] - 2025-09-19

Added

  • Comprehensive Room Calculator feature
  • CareSpace rebrand with new favicon system
  • Chart printing system with optimized layouts

Fixed

  • Logo URL handling for S3 static files in UAT environment
  • Pie chart padding and legend positioning

[0.9.0] - 2025-09-01

Added

  • Initial release of care home management system
  • Resident management with room allocation
  • Incident tracking and management
  • Infection control module
  • Medication error logging
  • Pressure injury tracking
  • Complaints and compliments management
  • Safeguarding referral system
  • DOLS application tracking
  • DNAR record management
  • Clinical care needs assessment
  • Management reports with AI-generated summaries
  • Dashboard with RAG status indicators
  • User management and role-based access control
  • Audit trail for all changes