2021 Meeting Notes
2021-12
12-15
Meeting 23?
2021-12-09
- OHRI Dispensing Update presentation by Paul:
- Agreement re. this navigation style between pages outside of the patient chart (proposal and slack thread here)
- Plan for Theming 3.x!
- Plan to Move onto Dev3/O3 pipeline; Deprecate openmrs-spa environment Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.
- We are blocked by CI
- Things aren't being released properly
- O3 needs updating - versions of most things need updating (because CI has been broken)
2021-11
2021-11-11
Attendees: Emmanuel, Dimitri, Cynthia, Dennis, Grace, Donald, Eric A, Eric K, Eudson Bambo, Jayasanka, Jonathan Teich, Manuel, Paul A, Piru, Sonia, Karunarathna, Vineet,
Welcome Sonia Madureira, BA from ICRC
Emmaneul demo'd: Ability to create and show reporting components within the form. flexible pattern
manuel: Generally the main issues that I talked about last week (finalize cache invalidation and upgrade modules to new offline APIs). While looking into the cache invalidation I realized that updating the current mechanism might also benefit from some other changes, mainly moving the responsiblity of managing the cache out of the service worker and into the main app (though I must say that I'm still looking into it right now - I also want to sync with Florian about this tomorrow). Once these things stand, we can adapt the offline tools to the new behavior and then I'll publish the PR for these new features. Afterwards I'll tackle migrating the patient chart widgets to the new API(s).
2021-11-08 Design Call
Attendees: Ciaran, David, Grace, Keziah, Kote, Lousa, Burke
- Next steps: 3 more test users of service delivery queues & new clinical views navigation this week.
- Welcome Keziah, Lousa, Kote from KenyaEMR/Palladium team
- Drug Dispensing designs first draft now ready for feedback on Miro: https://miro.com/app/board/o9J_lleCVDs=/ David & Grace to review and provide feedback for Paul this week.
- NCD Workflow User Testing:
- n=1 at moment, more planned. Findings from interivew with user "C", a clinician:
- Used to having form driving experience - form was her workflow guide
- Last visit information outside of patient chart (in list) wasn't really useful, confusing. Ciaran interested to hear what a registration clerk/first person wants to see.
- Nice to see vitals - e.g. to see why they've been marked as emergency. But would rather go into patient chart to go through more information from previous visits.
- Metrics: Wouldn't expect to use in her day to day work (maybe different if clinical implications?)
- Word Clinical Views didn't immediately make sense; made sense after explanation
- Altered Clinical Views design:
- Liked seeing actions completed by others and recommended
- Felt she was consuming a lot of historical information; whereas she's used to the form guiding her current-time workflow. Used to seeing current meds within the form workflow. Renewing meds from that form.
- Liked Medication short-form
- Wants to see program overview page first, then go straight into a form
2021-11-01 Design Call
Attendees: Ciaran, Grace, JJ (Ampath), David (PIH), Lousa (Palladium), Wamz (UCSF)
Ciaran Design Work Updates
- User Research & Workflow design with NCD clinicians from Ampath & PIH
2021-10
2021-10-28
Attendees: Manuel, Vineet, Brandon, Ian, Burke, Bett, Dennis, Dimitri, Eric, Eudson, Jayasanka, Jonathan T, Grace P, Kumuditha Karunarathna, Nirupa, Pasindu, Piru Pius, Piumal, Samuel M, Settimba, Sonia Madureira, Suruchi, Tendo, Walter, Eric
Offline Mode: enter pt data - updates (Manuel)
Pt Lists: updates (Vineet)
Frontend Automated Tests (Jayasanka)
2021-10-21
Attendees: Nirupa Bottu, Piru Pius, Ruth Keitany, Suruchi Dhungana, Vineet, Walter Kiprono, Walton, Jonathan Teich, Grace Potma, Ciaran, Burke, Alex Kemboi, Brandon, Dimitri, Eric A, Eudson, Ian, Joshua Nsereko, Lars, Manuel, Maureen
- Status of Offline Mode: collect patient data offline
Conventional Commits guidelines proposed by Brandon & Ian: https://www.conventionalcommits.org/en/v1.0.0/
2021-10-14: Special 3.0.0 Release Workshop
Together we went through the process of setting up 3.0.0, our first official Demo Distribution release. We covered:
- Demo environment: Set up our new Demo environment at o3.openmrs.org
- How to update the new Dev Environment and the new Demo Environment builds
- How we'll track issues for future releases
- Plan for SPA Site: We will take down the SPA website. Though for now the esm assets are hosted in spa's digital ocean.
- How we release frontend modules: Releasing the latest ESMs (thanks to @Brandon Istenes for doing some prep work to walk us through this)
- We released/updated the major mono-repos Using Narn and GitHub changelog generator: https://github.com/github-changelog-generator/github-changelog-generator & GitHub Releases
- esm-patient-chart: v 3.0.1 GitHub action triggered by creation of the release, which triggers new npm versions.
- esm-patient-management:
- esm-core:
- We'll need to get used to applying this RFC for Versioning our ESMs/frontend modules: https://github.com/openmrs/openmrs-rfc-frontend/blob/338812c25ff37fdb85b3f474bcc14689d9a6183f/text/0022-versions.md
- We released/updated the major mono-repos Using Narn and GitHub changelog generator: https://github.com/github-changelog-generator/github-changelog-generator & GitHub Releases
Questions for us to resolve:
When do we do releases of the ESMs/frontend modules? Do we have designated Release Managers who make sure version numbers are assigned etc?
What's their
Demos:
2021-10-__
Attendees: Grace P, Vineet, Brandon, Dennies, Derrick, Dimitri, Donald, Eric K, Josua Nsereko, Manu, Reagan, Settimba, Walter Kiprono
- Grace to send questions/clean-up tasks to Ciaran (e.g. 404 page, Offline mode notifications, Registration Page design)
- PIH Rwanda is developing their own first version of a microfrontend with some support from Brandon
- PIH Mexico interested in adopting 3.x Patient Chart. Gap Analysis almost complete
- Demos:
2021-09
2021-09-30
https://dev3.openmrs.org - uses the "Next" version of each ESM
OpenMRS 3.0 Micro Frontend Demo Page
Review 3.0.0 blockers: 3.0 Demo Release - 2021-10-13
2021-09-27
Attendees: Grace, Brandon & David (PIH), Burke, Ciaran & JJ & Eric (Ampath), Beth Dunbar (ITECH), Jonathan Teich
Implementer Tools update:
- Allowing "Add page"
Other
- NCD kick off call plan?
Missing Fx:
Workflow to check for duplicate patients (and need to be able to click into that patient chart to check demographics, e.g. that phone # matches)
- Unenroll from Program (design similar to Medications?)
- Create patient - After registering patient, should user see option to go to patient chart?
2021-09-23 Squad Call
Demos:
SWR now added to most patient chart widgets. Needs to be added individually. https://github.com/openmrs/openmrs-esm-patient-chart/pull/383
Donald - basic appointments
Updated 3.x Dev Guide that includes the direct link to the Design Pattern Guidance for devs: https://openmrs.github.io/openmrs-esm-core/#/main/carbon
- 3.0.0 MVP Launch Plan - Let's ship this thing ASAP! JJ & Eric & I have been down-scoping it - the only blockers left are the Jira tickets specifically logged as "Blockers". List here of the *10* Jira Tickets/blockers we need to prioritize getting done.
- Follow up on last week's design issues that were raised
- Exciting new updates to the Implementer Tools UI - this is a big milestone towards making our 3.x EMR configurable by non-technical end users! We'll do a bit of a deep-dive into this tooling
2021-09-20:
Search box tech requirements: Search by concept name, synonym; ideally mapping IDs as well. CIEL 5630 PIH 5630 (add to
Should we add UI to add JSON code (Upload button)? Or does that not make sense - upload at time of startup. Make change on server vs make change on fly - eventually have to go back and change on server. So next time recycled, not overwritten.
Zeplin link to dev guide
2021-09-16: Squad call
Attendees: Ciaran, Grace, Alex Kemboi, Arthur Mugume, Brandon, Burke, Cynthia, Derrick, Dimitri, Emmanuel, Eric,A, Eric K, Florian, Herbert Oketayot, Jonathan Teich, Lars, Manu, Maureen, Piru, Settimba, Vineet, Walter Kiprono
Offline Actions demo by Manu:
A lot of CSS customizations spread everywhere. Need strategy for both Designers and Devs
We are re-doing the same custom CSS styling in many places; introducing hacks to Carbon Components in many places. Missing ruleset. Without ruleset, thigns will always be repeated.
High-level rules & patterns | High-level documentation explaining/introducing high-level concepts (like siderail etc) TODO: Add Styleguide Project |
Widget-level components | ready made component(this requires documentation from tech team too), it can save upon writing the same code snippet again and again. TODO: Fully fledged table pattern (with pagination etc) TODO: Content Switcher pattern TODO: Tiles TODO: ID what's most duplicated at the moment & improve those. ID re-used atomic components and make available in esm-styleguide. |
Atomic Individual small components (buttons etc) | Available in Zeplin Styleguide Guidance sometimes being missed; devs not always referencing components & associated CSS. They are being adapted for each example where they're being used. (e.g. changing in Vitals widget, changing in Visits widget). Reuseable Components that can be copy-pasted: Can link Style Guide components to Code Components. |
Procedure | 1x month design call to prep things for sprint, ensure design CSS guidance is clear; devs inform the work |
* Dennis: OpenMRS 3.0 colour palette into a set of SASS variables https://gist.github.com/denniskigen/e307c006c878800ae72f53b41241ec64
Burke: "Wouldn’t we want to use CSS names based on purpose (rather than color) in most places?"
Florian feedback: "Having the colors named is a great start, but we should avoid making direct references to it. Instead they should be put in context using a theme-specific variable name ("purpose-named"). This would make it more easy to refactor / update later and also make the usage more clear imho."
2021-09-13: Design call
Points of feedback on Lab Entry MVP:
- Question spacing
- Option for "Undetectable"
- Filters within results
- Better to show today’s date in the field instead of leaving it blank and assuming the user will know the business logic.
- Better if date could be applied throughout rather than for each result
PIH Viral Load use case:
2021-09-01
Plan to optimize data: e.g. taking 40MB to load. Causing issues for Cypress testing too.
→ getting things from service worker.
- Reduce bundle size of all ESMs. Need to look into size of large (>1MB) MFs one by one: Most likely an import that shouldn't be there (e.g. over-import of carbon components, icons). Individual issues.
- Maybe make Rests.CSS file from carbon a shared resource, and see if there's other resources that make sense to make a shared resource.
- Introduce specific limits & warnings if you exceed the previous bundle size by some threshold - so you'd see at time of PR if you were having an inordinate impact. via GitHub Actions.
- Of course everything is being called because need it for offline mode readiness. Could change this by having offline mode be opt-in.
- Ensure what's written in slack makes it in to tickets
- Need realistic Real-world testing before much action taken - Grace f/u with Eric A for site visit testing; use in the field and see how much is used
Dennis to get PR for getting SWR into patient chart.
2021-09-02
Attendees: FLorian, Donald, Manuel, Alex Kemboi, Arthur Mugume, Brandon, Grace, Jonathan Teich, Cynthia, Daniel, Emmanuel Nyachoke, Eric K, Herbert Oketayot, Ian, Joshua Nsereko, Lars, Maureen, Piru, Romain, Suruchi
Demos
- Manuel: Offline mode
- Florian: back button now supported for login workflow
- Donald: Lab results widget, Progress notification in workspace sidebar
- Maureen: Vitals widget Trendline design improvements
https://dev3.openmrs.org/openmrs/
Issue raised: Need way to order Labs (Romain).
2021-08
2021-08-19
Attendees: Brandon, Jayasanka, Alex Kemboi, Cynthia, Daniel, Derrick, Dimitri, Donald, Emmanuel, Eric A, Eric K, Eudson, Grace P, Lars, Manuel, Maureen Nduta, Michael Van Hese, Piru Pius, Romain, Samuel, Settimba, Suruchi, Vineet, Walter K, Burke
Jayasanka: Demo automated tests and how to maintain them
Demo of Privilege Based access - Manuel? (to sync with Florian to prep)
- P
- Privilege layer of extensions added. Works online and offline.
- Next: Need to redecorate all the spots where we hardcoded "user has access"
Review of Workspace work (check for overlap and progress)
3.0 Design vs Demo Review Checklist https://docs.google.com/spreadsheets/d/1cEXXXTNCGA42m7XzMJ3wzhBQSDWJSQpOGOAp4q8vbBA/edit#gid=0
3 Proposals:
- Proposal for Patient Chart PR checklist: https://github.com/openmrs/openmrs-esm-patient-chart/pull/334/files Remind ppl to check styleguide; can this be something we can check when we merge PRs - https://om.rs/styleguide
- RFC: Common Widgets Directory https://github.com/openmrs/openmrs-rfc-frontend/pull/29
- RFC: Improve UX Performance of Up-To-Date Patient Information (with React-SWR) https://github.com/openmrs/openmrs-rfc-frontend/pull/28
2021-08-12
Attendees: Grace P, Alex Kemboi, Amos, Arthur Mugume, Brandon, Cynthia, Daniel, Derrick, Dimitri, Donald, Eric A, Eric K, Herbert Oketayot, Jonathan Teich, Lars, Manuel, Maureen Nduta, Nick, Piru Pius, Romain, Samuel Male, Settimba, Suruchi, Vineet, Walter Kiprono
Vineet:
Rest API/ FHIR API suggestion: Only fetching 50 resuls at a time, so you don't know total number of data (e.g. if pt list is >50) - can we get the REST API to send the # of patients in that list
Manuel: Offline caching
Appointments Discussion
- Bahmni Appointments: https://bahmni.atlassian.net/wiki/spaces/BAH/pages/32604198/Appointment+Scheduling
- Recognition that UI is different
- Would need some widgets
UX Design Channel: Multiple pt lists in offline mode
2021-08-05
Grace, Arthur Mugume (UCSF/HISTAC Dev), Donald, Manuel, Jonathan T, Ampath interns Alex Kemboi & Cynthia & Maureen & Nick, Brandon, Burke, Daniel, Derrick, Dimitri, Emmanuel, Eric A, Eudson, Florian, Ian, Lars, Piru Pius, Romain, Vineet
- Welcome Ampath interns
- Demos
- OHRI: Computed Concepts (e.g. for displaying HIV + alert tag in pt header)
2021-07
2021-07-29
Attendees: Grace Potma, Florian, Vineet, Samuel, Burke, Derrick, Arthur Mugume, Brandon Istenes, Daniel, David DeSimone, Dennis, David Mugume, Dimitri, Donald, Edward Bichetero (METS), Emmanuel N, Eric, Eudson, JJ, Lars, Michael Van Hese, Piru Pius, Settimba
Session timeout bug - Florian to follow up
- Florian to present proposal to continue on this SWR / data fetching topic.
- Samuel will be able to present the cohort work today during the call, including the "Add to list dialog box". Then next week we will likely present the HTS Home Screen as well as the Computed Concepts.
TODO
- Changing the future squad call times to be 2hrs earlier (i.e. 4pm EAT instead of 6pm EAT)
- Changing the squad name from "MF Squad" to "3.0 Squad" (since we've kind of surpassed just MFE architecture as the squad's focus, and 3.0 will be clearer for all parties)
- Using om.rs/mfboard as our source of truth for what's going on & who's doing what these days
- Proposal for forms - what's the lift to connect a form to a widget? Like immunizations?
- SDK communication & tech blocks communication
- Strategy standup of migration: Challenges, workarounds, your approach; things you've done, problems you've seen vs anticipated
2021-07-22
Performance Improvement Proposal with React-SWR
- Dennis showed using React-SWR to increase the user-perceived speed of data loading - immediately loads cached data, while simultaneously checking for any changes/updates. Means you can see updated condition list after saving in the action panel/workspace.
- Still need design for "this content is stale/being updated" for user clarity.
- React-SWR is a React library, but SWR is just a general data fetching pattern. E.g., https://datatracker.ietf.org/doc/html/rfc5861#section-3 Caveat that React-SWR would only handle data shown via React. → Should we rearchitect to explicitly decide that react is our primary framework? (So far, we are react-oriented/basically react primary, not necessarily react-only)
2021-07-08
Attendees: Grace P, Manuel, Vineet, Daniel, Dimitri, Eudson, FLorian, Heshan, Ian, Jayasanka, JJ, Nikita, Romain, Samuel
- Registration related blockers
2021-07-01
Attendees: Vineet, Brandon, Cliff, Daniel, Derrick, Dimitri, Donald, enyachoke, Eudson, florian, Ian, Ines, JJ, Lars, Manuel, Nikita, Romain, Samuel, Sttimba. Regrets: Grace
- Demos
- Manuel showed form searches working in offline mode
- Vineet demonstrated showing active visits
- Nikita demonstrated implementation of modal dialogs
2021-06-24
https://iu.mediaspace.kaltura.com/media/t/1_k77ip3o7
Attendees: Grace, Burke, Manuel, Brandon, Ciaran, Dennis, Dimitri, Emmanuel, Florian, Ian, Nikita, Romain, Settimba, Vineet. Regrets: JJ
- Demos:
- Manuel showed sync working when user returns online after offline mode
- Metadata MVP for release is almost done :tada: → PR reviewed by Romain and after Amos reviews, should be ready early next week
- CI pipeline setup: PR by Ian coming
- Unblock Vineet
2021-06-17
- 3.0 Overvew - on Talk
- Squad Showcase coming July 14/15!
- Plan: Release by mini-conference ("Community meeting")
- 2nd half: Understanding of technical steps to creating the release: What's the checklist of things that has to happen for a release? (e.g. all MFs have to be released)? Then, what's the decison making process / who signsoff that something is ready to be released?
2021-06-14: Design call
Attendees: Burke, JJ, Ciaran, Grace, Eudson, Ines Fernandes, Nikita, Dimitri, Eric
- Review of Offline Mode designs
- Discussion of technical handling of offline login & cache clearing
- Discussion of plan for Eudson & team to lead implementation of Forms and Workspace designs in RefApp
2021-06-10: Squad call
Recording: https://iu.mediaspace.kaltura.com/media/t/1_3h3cczcs
Attendees: Nikita, Manuel, Vineet, Jonathan T, Grace P, Burke, Ciaran, Dimitri, Donald, Emmanuel, Eric, Florian, Ian, Paul A, Samuel, Brandon, Eudson, Daniel Betres, Herbert Oketayot, Piru Pius, Settimba
- Demos:
- Brandon: Dev Documentation Updated, Implementer Documentation Updated, SDK updated to pull MFEs; added microfrontends.json to SDK:
- Demo: Paul: Design System for Forms
- Idea: Add tickets/bugs you find to #mf-issues? We need your help catching issues
Releases
We're saying "release" to sometimes mean 3 different, but related things:
1) **Our Alpha:** Releasing OpenMRS 3.0.0 into our Demo Environment
2) **Demo Site Release Cadence**: The regular process of releasing from a Dev Environment to Demo (Prod) Environment (the thing that users & prospective implementers of all knowledge levels can easily play with)
3) **Technical Release Pipeline**: How this happens for individual widgets/apps, vs import map, vs config; How do we formally represent a release of the reference app? Is it a repo? Docker image? Ideas?
In the 3.0 framework, a "release" is technically (1) an Import Map, + (2) Configuration, + (3) Modules.
- Proposed Plan: Release OpenMRS 3.0.0 on July 2, 2021: Whatever's releaseable by then, will be in first release ("3.0.0")
- What is a release?
- Import Map + Configuration + Modules
- How do we formally represent a release of the reference app? Is it a repo? Docker image? Ideas?
- We hope to include all JIRA tickets currently marked as 3.0.0 release candidates (Jira label = "3.0.0releasecandidate")
- Next steps
- Need clear dev vs demo environments
- Pre-release week workshop to get started?
- Release Sprint Planning
- When does sprint begin? End?
- Promote!
- Hackathon?
- Tweet about it
2021-06-03
Recording: https://iu.mediaspace.kaltura.com/media/t/1_0rcu25um?st=1222
OHRI/UCSF demo of work to date: https://iu.mediaspace.kaltura.com/media/t/1_0rcu25um?st=2590
Attendees: Grace P, Burke, Brandon, Donald, Vineet, Ciaran, Derrick, Eric, Eudson, Ian, JJ, Jonathan T, Michael Van Hese, Nikita, Romain, Settimba, Suruchi, Tendo
- Appointments plan for MFE = ?
Do we need to set up a Distro for the Demo, put in Digital Ocean? (Import Map + Config File) (Set up another version, a real Demo, that is stable and has a config file so it can be a more polished version of what we want to show?)
- 3.x packaging repo does docker-compose - can add it to repo
- OpenMRS infra sites are deployed as docker-compose using ansible: https://github.com/openmrs/openmrs-contrib-ansible-docker-compose/tree/master/files
Demos
- Brandon: Working on more exhaustive documentation; experimenting with Doxify
- Donald: Forms
- Vineet: Visit History
- Eudson, Samuel, & UCSF/OHRI Team: Team progress & form builder
- Grace: 3.0 Apps & Widgets Directory: https://om.rs/directory
2021-05
2021-05-26
Attendees: Grace P, Burke, Ciaran, Nikita, Jonathan T, Brandon, Daniel, Dennis, Dimitri, Donald, Emmanuel, Eric, Florian, Lars, Michael Van Hese (USAID HIS Advisor), Romain, Samuel, Sean K, Settimba, Vineet
Alerts & FHIR
Demos:
- Nikita: Chart now changes with clicking different time range. Improvements to Lab Results Timeline.
- Question about shortening the "All Results" timeline: Shortening the timeline if there isn't 5 years of data. I wonder if there's value in making that obvious to the user, e.g., a line saying "Showing only data since 20/1/2020" -- so the user doesn't think they're looking at five years' worth? Might be clinically valuable.
- Manuel: Can view and submit form while offline; can create and edit pt offline: