Skip to content

Enhancement Package 20260401#216

Open
lacarmen wants to merge 44 commits intoopen-osp:mainfrom
openo-beta:enhancement-package/20260401
Open

Enhancement Package 20260401#216
lacarmen wants to merge 44 commits intoopen-osp:mainfrom
openo-beta:enhancement-package/20260401

Conversation

@lacarmen
Copy link
Copy Markdown
Contributor

@lacarmen lacarmen commented Apr 1, 2026

Summary

This branch packages 5 fixes and performance improvements.

Performance Fixes:

1. PR #2333 - Performance: slow edit specialists page (7 commits)

  • The Edit Specialists and Display Service pages were slow because all specialist data was rendered server-side in a single large HTML response
  • Data is now loaded asynchronously via a dedicated endpoint and rendered client-side, significantly reducing page load times

Related Issue: #2321

2. PR #2264 - Fix: slow consultation pages - LEGACY BUG (14 commits)

  • Consultation list and form pages were slow due to inefficient database queries loading full entities when only summary data was needed
  • Replaced with DTO-based queries, batch fetching, and database indexes to dramatically reduce query count and load times

Related Issue: openo-beta#2099

3. PR #2268 - Performance/Improvement: tickler pagination not working correctly - LEGACY BUG (11 commits)

  • Tickler pagination was previously only cosmetic — the system was loading up to 5,000 records before applying pagination in the browser
  • Pagination is now handled server-side so only the requested page of records is fetched
  • Minor UX fixes: the "From" date filter now persists across searches, and the secondary filter dropdown is hidden when not applicable

Related Issue: openo-beta#2259


Bug Fixes

4. PR #2332 - Fix: Update instructions/label for Asthma Action Plan measurement (6 commits)

  • The AACP flowsheet was using a generic Yes/No/NA dropdown instead of the required Provided/Revised/Reviewed options per OMD DE16.098 conformance requirements
  • ⚠️ Includes a required manual database migration step for existing installations

Related Issue: #2319

5. PR #2334 - fix: restore epoch serialization for date fields across REST TO models to fix Ocean sync (1 commit)

  • A dependency upgrade changed how dates were serialized in the REST API, causing date fields to return as formatted strings instead of numeric epoch values
  • Epoch serialization has been restored across all affected REST transfer models, fixing Ocean integration sync and potentially other third-party integrations

…tch case instead of if else for performance, remove space seperator from date time string
…void potential NullPointerExceptions, add NumberFormatException handling inside of EctConsultationFormRequestUtil and ctViewConsultationRequestsUtil, prevent stale professionalSpecialist values by clearing contact fields if request is null, restore legacy date time matching, sanitize field before audit logging, added javadoc to FaxJobDao and FaxJobDaoImpl new methods
…rvices entities and their EAGER specialist collections
…alize blank providerNo's to ensure rows load correctly with privacy filters, return null provider to avoid outputting null provider name, populate all parallel lists in ectConsultationVecByDemographic to preven IndexOutOfBounds Exception, replace hardcoded extension keys for enum refs, add extra context to error log messages, return default sorting by ascending
…pages after it is all loaded no matter the limit per page, incorporated the changes to work with the previous DTO projection changes in the tickler manager page
…te is used in the queries and stays between searches
…a clamped start value to avoid negative or very large values, add null checks for dates, ensured that emtpy dates get set to todays date, or a large date when viewing through demographics to match previous behaviour, added try catches for possible exceptions, renamed warningCOlumn to rowTypeColumn for easier time understanding the use of it
…, allowing for consistent counts on all limit types
…r truncation when over max amount, add audit logging to tickler list, change exception throws to endpoint JSON responses for errors, refactored action to be more readable, ensured that comment row is reset before iterating over columns, adding unit testing to action class
…viewed, and account for legacy stored data by setting view dropdown if using the old options
  Move specialist data loading out of inline JSP scriptlets into a
  dedicated SpecialistList2Action that serves JSON via fetch() POST.
  The JSP pages now load a lightweight shell with spinner, then fetch
  and batch-render rows client-side using requestAnimationFrame.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants