Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

2024-07-24

  • Performance improvements

    • Added visit parameter to fetching of orders and observations (these are only in Platform 2.7)

    • Adding features to RESTWS module

  • If we make changes to the Platform (e.g., in the latest version), how do we want to introduce these features to O3?

    • Do we set up a “special server” to test out changes? Is it something temporary or do we want something more permanent?

    • Using dev3 also theoretically means we can get the added benefit of leveraging Jayasanka’s load testing infrastructure (in theory)

  • OpenMRS 3.1 release planning – are there any modules that should be bumped?

    • Will plan on pulling in latest released version of each module as part of preparing release

2024-07-10

  • QA Refapp is showing liquibase errors

  • Audit logging

    • Tried creating an audit log using hibernate interceptors; however it logs only changes to data (inserts, edits, deletes), but not reads.

    • We recognize there is a need for access logging (i.e., auditing who is looking at whose data). Burke gave the simple questions like (1) who has accessed this patient’s record over this time period? and (2) which patients' records has this user accessed over this time period? It’s likely implementers will have more requirements for their local security needs (e.g., being able to generate a report that summarizes access or identifies red flags).

      •  Org Administrator will start a discussion on gathering requirements on access logging
  • Njidda Salifu pointed out a couple of issues

    • Docker nginx configuration limiting the size of data uploaded (proposed fix)

    • SDK does not offer options for location when logging in, because there are no locations defined in the database

  • Manoj Rathnapriya shared some errors when getting Flag resource (http://localhost:8080/openmrs/ws/fhir2/R4/Flag/d073f2af-779d-4160-b2a4-3aa87486cf6b)
    image-20240710-154803.png

    • Ian Bacher said it looks like something isn’t getting registered properly. It looks like the FHIR2 module was not listed as a dependency in a new maven submodule in the pom.xml. Adding a dependency on the patient-flags-fhir module should fix the problem.

...

  • Performance and bandwidth issues

    • Org Administrator had discussions with Palladium Kenya and identified a number of performance issues issues

    • Looked into specific performance issues

    • Majority of bandwidth usage is for code that is unnecessarily reloaded. Caching can help, but the caching frequently needs to be cleared when pages don’t load completely.

      • If we could create an endpoint for receiving client-side errors, then its possible the SPA module could report errors to the server when errors occur

      • Ian Bacher & Antony Ojwang discussed trying to find a time when they could connect while Antony is in the field to do some live troubleshooting

    • Do we have to use FHIR? It sends more information than our custom REST API.

    • When the database has a lot of data (e.g., large number of observations), some queries perform more slowly.

      • Might be able to address these by improving indexing or queries/paging

    • There are multiple points in the application where full representations are unnecessarily requested, when a custom representation could perform much better (return less unnecessary information)

    • Old hardware can cause adverse performance

      • OpenMRS could publish hardware requirements

      • Make sure CI pipeline and developers are experiencing application that more closely reflects real world hardware

    • In some cases, multiple calls are made to handle a single operation where a single call would be more efficient.

  • Clustering

2024-05-15

  • Performance Issues

    • Jan Flowers - working on finding “real-world” type data set for using in testing

      • other possible pathways - work with Palladium to work real time on troubleshooting together or via VPN, synthetic data (pros/cons)

    • Org Administrator - will follow up with Antony to determine pathway for troubleshooting their issue they reported

    • Tracking/Prioritizing

      • Can we make an Epic at least? Grace is tagging

      • How do we track the performance issues that are being reported

      • How do we make sure we are creating tickets for the performance issues we want to prioritize and focus on resolving; measure/track/target to resolve

      • E.g. Locations thread, supposedly fixed with indexing fix and closed, but with recent versions of Tomcat there is a noticeable slowness - is there a ticket for this and is it assigned to be addressed?

      • We are not in a situation where there is no actionable performance issues - Tomcat issue, and “chattiness” from O3 for Palladium

      • Paul Biondich - can Daniel be responsible to driving the troubleshooting and resolving of OpenMRS performance issues

        • Daniel - challenges in troubleshooting to get to the point of creating epics/tickets

        • When Daniel can’t move something forward, should turn to Paul/Jan/Burke to help unblock and problem solve

        • Create momentum through shared responsibility for solving problems - holding folks to commitments for follow up, pinging when someone doesn’t follow up, etc.

  • Billing/Stock Management Module

    • Org Administrator - working with ___(?) to generalize module that was harvested from Banda Health

  • Docker Images for recent JDKs

    • raff - JDK 11 and 17? Ready for the master build, will backport for 2.6 and 2.5 release lines

  • Cloud hosting architecture

    • Looking into cluster containers and drafting architecture and approach for cloud based deployment of OpenMRS3, started talk post - waiting for feedback; will start R&D on this approach next week

      • MVP definition - request for OpenMRS to be run on multi-tenant environment

        • multiple instances for multiple facilities in a cluster, via kubernetes with centralized platform for deployment with monitoring

        • advising for AWS, Azure, etc deployment

        • not just about scaling the API, but also about the backend db - kubernetes supports the cluster of db, instances, but more work needed on the API

      • Goal: get to the point that this is a “best practice” approach and is a straight forward recipe/lift for implementing

  • Auto de-activation of users / timeouts - isaiahmuli

    • Reviewing code and sorting through questions for Daniel

    • Need guidance on how improvements are made at code level, pointers to documentation

    • Org Administrator use forums (talk and slack) as much as possible in public way so that others can help support (not just Org Administrator directly), also improves knowledge base for others to get set up; edit documentation, point out gaps and problems, as you go through things

  • PM support for Platform/Backend

    • Can jmwiinga spend some time helping here? Jeremiah and Jan to follow up to determine how he could help

...