Wiki Spaces


Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack


Page tree

Versions Compared


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


Table of Contents

To Address Next Meeting

  1. FYI - Passcode change coming to zoom meetings - "1"
  2. Outcome of Lightning vs Carbon review & implementation approach review (Style Guide vs Design System)
  3. Test Results updatesTest Results updates
  4. Patient Chart Architecture
  5. Update on appointments (low priority but promised update to Bahmni about) - adding in a few slots for appointments

Meeting Notes

Sprint Board:
Priorities List:


At end of meeting: Release!

2020-10-15 - Order Entry Update, How to Release, and Design Updates

Burke, Brandon, Daniel, Donald, Eric, Florian, Grace, Ian, JJ, Manuel, Mike, Sharif 

Global State demo - Florian

Order Entry Update

Manuel - Order Entry - improved search experience, pagination, free text dosage, can now edit dose, Fixed duration and Rx refills so can't be negative value

Next - implementing changes in designs, connect floating order basket with reality

Can even search by dose and frequency

Drug info being pulled from REST API (not FHIR - dosing format, pill sizes, durations, doesn't have support in FHIR yet)

Concern: Using JSON as drug search endpoint. This was made to help make UI faster to prefill based on common order patterns, but search should probably hit the endpoint on OpenMRS. 

Process for adding code.

  1. PR
  2. Discuss it
  3. Merge
  4. Make a new release

Brandon: I encourage the use of for generating release notes. It'll create a You can just copy-paste the section corresponding to the latest tag. - see recommendations related to toggl

Maybe control esm-core releases tightly? Plan: do a release at the end of each sprint (at end of demo call, publicly viewable so people can see and learn).

UX Update

2020-10-08 - Check-in Call

Attendees: Burke, Manuel, JJ, Florian, Dennis, Ashutosh, Brandon, Ciaran, Daniel, Dimitri, Ian, Bett, Samuel, Mona, Mpho, Nicky K, Romain, Tendo, Thomas Mwogi, Vlad Shioshvili


  • Demos
    • Manuel - Order Entry 
    • Florian - access app shell and customize package via command line tool
    • Dennis & JJ - Configuration tools. Lookups with 
  • 10 mins - Ciaran Demo
  • Review work to be done for Registration Epic
  • Guidance re. using custom CSS vs using Design System. Almost everything in Carbon Design should be there; sometimes it's not named what you'd expect. Should avoid inventing new stuff - avoid custom CSS. Question whether writing custom CSS is really needed or whether it's buried somewhere in Carbon Design

    • How to use esm-style guide now
  • Test Results Viewer
    serverOpenMRS Issues
  • Update on appointments (low priority but promised update to Bahmni about) - adding in a few slots for appointments

2020-09-28 - Design Call - Medication Order Designs Update

Attendees: Burke, Grace, Daniel, Florian, Eric, Romain, Ciaran, David

HIV Clinic Workflow shadowing: Eric and Ciaran to set up virtual workflow tour for Ciaran in HIV clinic (with no patients around and fake data) so Ciaran can experiense end-to-end clinic workflow in patient's shoes with sample/fake data entered for him as a patient by each user role type.

Check with community (big implementers) how did they handle Drug Orders - pick only, or create custom? Request goes to add to formulary / drug table, or do you allow custom entry?

Awareness that MVP scope does not include integration of orders with pharmacy system. Without integration this may become an issue with go-lives (re. clinicians having to duplicate digital and paper orders). At PIH, digital orders right now are "not real orders" because you manually write the Rx for the patient to take to the pharmacy. Dispensing workflow not connected to any workflows. Printing the Rx - not realistic for pilot site locations.  (JJ note after: Ampath planning to push orders into pharmacy system in near future.)


  • We'll be using a formulary-style workflow in Drug ordering (i.e. as a clinician, I don't just say "I'm ordering Aspirin"; I have to specifically pick out "Aspirin 81mg" or "Aspiring 325mg".)
  • Custom Drug creation is not in-scope for MVP. Sites will be encouraged to keep the Drug Table up to date.


Attendees: Florian, Donald, Dennis, Burke, Brandon, Ciaran, Daniel, David, Grace, JJ, Samuel, Mike, Mona Fenzl, Romain, Brandon, Eric


  • Donald demoed progress carbonizing header nav 
  • Florian demoed the carbon designs that he has adopted for the medication orders. Working medication orders with data flows working. Working on enabling widgets as extensions and host the medications/drugorder widget via this mechanism (pull #179) Planning to introduce widgets as extensions soon. Currently supporting both old and new approach to extensions.

  • Brandon demoed on making extensions configurable. He made the reports button an extension.

  • Dennis demoed on on the chart summary translations.
  • Dennis demoed ongoing work to show a UI Editor that enables editing the config and extensions, and highlights the section the user is editing.
  • Ciaran gave an update - He has been doing user testing with the designs and some of the suggestions were: include some vitals and allergies to be easily viewed on the order entry page. He also demoed the designs he has for the visit workflow. He also will find a way of how the vitals for today's visit will be displayed (make it collapsible)
  • Ciaran will share links in slack to the sketches where people can add comments and suggestions.

2020-09-17 - Demo ongoing work - order entry designs, carbon styling

Attendees: Larry, Brandon, Burke, Mike, Daniel, Donald, Florian, Ian, JJ, Samuel, Manuel, Romain, David, Dennis, Mona, Grace, Eric


  • Ciaran shared some of the designs he has been working on and they are ready for user testing.
  • Brandon updates – Working on extensions and configurations. Currently working to make extensions configurable.
  • Donald did carbon styling implementation demo on the allergies widget. He will create a PR for the patient chart widgets carbon styling.
  • Manuel – Did a demo for drug orders and he has introduced carbon styling. He will continue implementing in drug orders. while awaiting for wireframes that Ciaran is working on.
  • Samuel – Did a demo for editing patient demographics data.
  • Larry  - Did a demo of adding configurable support for additional patient attributes.

To Do

  • Florian to create tickets in JIRA for domain decomposition.

2020-09-15 - Virtual HIV visit workflow using POC

Attendees: JJ, Ciaran, ERic

  • JJ aasumed the role of Clinician and took Ciaran through the HIV workflow in AMPATH POC. Important was to capture the medication order concept.
  • Eric also took Ciaran through the process of patient registration and program enrollments in AMPATH POC.

2020-09-14 - User testing process - Order entry

Attendees: JJ, Burke, Eric, Ciaran, Mike,  David, Daniel, Ian, Jen, Samuel, Dmitri


  • User test workflow
    • Ciaran will spend 90minutes with a user with three different workflows, i.e:
      • Speak to the users at the beginning of the conversation and ask them some questions.
      • Present the designs and walk through with the user
      • Towards the end of the conversation, allow user to ask questions. (3 major workflows)
  • Reviewed the latest designs for order entry that Ciaran has made
  • Ciaran is 75% done with the order entry clickable designs and should be done soon - in the course of the week - for user testing to begin.
  • To Do's
    • Eric to organize for a call with Ciaran and one of the clinicians at AMPATH to go through the AMPATH workflow of order entry.
    • Ciaran to come up with a plan for the user testing.

2020-09-14 - Sprint 5 planning


  • JJ clarified that the patient chart and patient chart widgets tickets for carbon integration styling will have to wait for Ciarans prototypes in order to proceed. The tickets will however go into sprint 5 once the designs are ready.

2020-09-10 - Squad Check-in and Sprint Demo

Attendees: Burke, Donald, Manuel, Ajay, Brandon, Ciaran, Daniel, Dennis, Dimitri, Eric, Florian, Larry, JJ, Romain, Samuel, Tendo, Grace

Recording: ___


  • Sprint Demo
    • Medication Order entry widget demo, using extensions system, demo'd by Florian and Manuel
    • Progress Carbon integration into styleguide, demo'd by Donald - started w/ fonts and warning messages
    • Progress making buttons extension-slot-based, demo'd by Dennis
      • Extension slot demo/explanation by Brandon
      • Link gets placed into an extension slot. So expect to be using/seeing divs a lot (smile) 
  • Test Results Update
    • Basic table display being built
    • Test data from PIH/Ellen going to be incorporated into designs and what they're building
    • Brandon to help unblock them with screen not displaying
  • General Design Updates
    • Designs for order entry: _______
  • Product Management Updates
    • HIV Outpatient Clinic Workflow goal; documentation progress here: MFE - Proof of concept release
    • Jira: Using Epics to capture and delineate widgets work, still have one place of working together while different global teams pick up different work
    • Grace & Eric: Raise question about tickets, i.d. Eric as person who will be following up with Squad Devs - we want to know how to help, and this helps us understand what's going on
    • Eric to lead Cycle Planning call on Monday (smile) Using Board view & Sprint view in Jira
  • Goals for Next Sprint - sounds right?
        1. Extension (needs breaking down)
    • Carbon integration into styleguide
        1. Need to get 1 & 2 sorted to move forward with the others
        2. Roadmap for how to transition our existing features to the visuals in latest designs using Carbon
      1. Domain decomposition(needs breaking down)
      2. Designs ready and tested for Global Navigation (ideally start work on it this sprint)
        1. User testing: need a way for clients to look at mockups and provide feedback. Talk about process on Monday in Design Forum at 4pm UTC.
      3. Appointment Scheduling or Forms?

2020-09-08 - Design Session

Test Results Updates

Ellen and Ajay had a call about Reference Ranges. Ranges just per-lab-result. Absolute High, Critical High, Normal High already built-in, per test.

David to share PIH EMR end-to-end HIV Clinic workflow with Ciaran/Grace/Eric/Daniel on Thursday.

Reviewed latest wireframes from Ciaran


Lab Results updates

  • Dev work beginning this week at ThoughtWorks, led by Nori Krishna
  • User testing plan included
  • Nori to check that Carbon Design is used
  • TODO: Grace - Access for Nori to JIRA - epics proposal; People to add


  • PIH Planning technical roadmap; deciding how to use MFE work moving forwards. Has anyone recently done inventory of what we have, the functionality that's already in SPA?
  • Whether we're iterating on it
  • TODO: JJ/Grace/Eric: Documentation of what's been done/in progress in SPA/patient chart/etc, the status and completeness, design status, etc; follow-up with Dave about this

Ciaran's work

  • User Interviews: Looking for clinician users on front lines who can share their screens to support research
    • TODO: List of people Ciaran can reach out to - ideally users with a few different contexts
      • "We would like 1-2 clinical providers who are regular users of your OpenMRS implementation(s) in delivering patient care to help work with a UX designer to help inform our frontend framework design. They will need to be able to join up to X Zoom calls lasting about Y minutes."
      • User(s) designated by:
      • Aim to get representations of doctor, nurse, community health worker
  • Napkin Sketches: Looking for manual hand-drawn sketches of what people are expecting a given piece to look like

Search Bar

2020-08-27: Demos of ongoing work: identifier generation, extensions

PM Eric: Introduced Eric Achillahas new squad PM. Will be involved in planning and coordinating sprints and user testing, w/ support from Grace & JJ. Welcome! (smile) 

Discussion re. possible need to have style guide. To guide the how to use Carbon Design in the OMRS setting. 


Identifiers - Samuel

How to help user with auto-generating a user id

Discussion on the different Patient Identifier types - there are multiple different OMRS IDs: 

Extensions demo - Brandon

2020-08-20: Sprint review & extensions discussion

  • Address templates & validation done
  • Unique identifiers discussion
  • Extensions presentation (see PPT here!)

2020-08-10: Design Call

  1. Implementer UX for Extensions
    1. 90% of apps made will be made for local usage. (smile) 
      1. Widget comes by default with app, you don't need to configure it. 
      2. Extension points: will be for specific extensibility; apps will not subscribe to a "class" or "type" of extension point
    2. Ideally if I install a module, the config is set up automatically. Don't want to depend on some tooling to manually update a config file.
    3. Widget implications: "I turn on an HIV widget, HIV things are then available elsewhere as well"
    4. Definitions: 
      1. App = Space in single-page application that has things available elsewhere. A vertical solution to an issue (I have a problem, app solves it). There are settings I can adjust. e.g. Diabetes app: might add or make available a new widget for my patient dashboard that is diabetes-centric. Avoid places where you'd need to write code to adjust basic settings.
      2. Extension = Extend the app by adding additional relevant things (e.g. HIV-related headings in the navigation)
    5. Extend at widget level?
      1. Add extension points where they're useful, not because there might be a use some day.
      2. Discovery model - without having to go through my settings I can see this extension is available to me to add; they were made automatically available to me because I added the app.
    6. 3 central questions:
      1. 1. Implementer interface or JSON-only?
    7. Need more people from on-the-ground implementations to weigh-in - b/c this is about their user experience.
    8. TODO: Brandon (& JJ & Burke review): Document description of different options, and implications for an implementer using the platform. Then can run this by on-the-ground implementers.
  2. Design
    1. tl;dr takeaways: Picking a Design System helps us right away, but later when breaking changes are introduced, massive scale of updates needed. (Though - this could be a good clear task for the community to fix.)

      So: Select a design system to follow its patterns & set standards, but not to import into our code. Need mechanism for creating shared components. Sharing components across different teams. (e.g. Zeplin). Commit to a given look & feel, use the CSS from a Style Guide for all things that are already there - so vast majority of dev time is not spent creating UI elements. For things people couldn't find, we direct them to a shared Style Guide (like our own appendix) where people can share what they've custom-built where it wasn't well represented in the Style Guide.

      • So (1) go to 3rd party Style Guide website for guidance; if you don't find something that really meets your needs, (2) go to supplemental OMRS website to see what others have adapted specifically for OMRS.
      • Some people would copy-paste from somewhere else and adapt it and share it there. Like the weird case of a button that has a drop-down menu built in when you click it. You might want to copy the CSS from the 3rd party, but adapt it, and then share it for other OMRS contributors to pull from.
      • Problem: This requires people becoming good at CSS up front rather than just importing.

      Confusion: what a pattern is and where the designers document that.

      TODO: JJ F/u with Ciaran. Start w/ next week?

  3. Test Results
    1. TODO: JJ/Brandon: Test Results Repo creation for ThoughtWorks team to start working in (Krishna leading)

2020-08-07: Insights from Ajay Brar re. Style Guides vs Design Systems

Caveat: From context of client sites, not open source environments.

You still have to style

  • Not opposed to DS. Has seen they introduce dependencies. Patches can be security related as well as usability etc etc.
  • Bootstrap - found class naming difficult; wanted something very very lightweight. Switched to Foundation (can choose to just use CSS) and only used a few components
  • With CSS/Global CSS, very easy to change if tomorrow you wanted something different
  • What do you get in return?
  • Clear building block guidelines
  • Could achieve w/ visual style guide. But advantage of DS is instead of having 5 different implementations of a button, you get 1-button-code used across. Normally great but it's no longer "your" button
  • Bulk from Flexibility = most difficult part
  • e.g. button in Material: made to be extremely generic. ++ properties to allow changes; we may only need to use 2. 
  • Loading in code that 1/2 the time you don't know what it does
  • Restricts you from adapting button further (e.g. with dropdown underneath it) - then you have to create custom UI components. (e.g. even Google doesn't use Material across its own applications)
  • Bloat
  • some allow you to chose what gets included vs what doesn't (don't have to include all the UI elements) but some don't have that capability
  • est. 25-30% ^
  • Handling Information Architecture (this should be laid out like this)
  • Can say "follow Material guidelines the way they structure things" - e.g. "a text field should have labels on the left rather than on top"
  • Security
  • Anytime you have a JS library, have potential for security issues. e.g. pre-built React components. Not difficult to inject malicious code through JS.
  • Having a CSS-only Style Guide would meant this isn't a concern - but that means you're not chosing a Design System (b/c whole idea is reuseable component library)
  • Maintenance
  • Idea of defining in design tool: Create button standards in Sketch, Figma etc, let that platform generate the CSS, so you're not dealing with patches/things that can break
  • e.g. Sketch sticker sheet
  • How do we make process of sharing code simple?
  • Shared code repo
  • Need to i.d. who owns it, who's responsible to maintaining it

2020-8-03 Design Call

Introducing Lousa Sheenaz - Palladium Kenya (HIV prevention, care & treatment)
Style Guide evaluation update

  • TODO: Grace F/U w/ Ciaran re. absence of card view; expectations re. design system selection work; further detail re. his thoughts on Bootstrap
  • TODO: F/U w Bahmni - what do they use?
  • TODO: F/U w/ jr dev volunteers - + book wrap up

Comes down to: Is there a better choice for OMRS than Bootstrap?

2020-07-27 Condition Widget - Modelling Design Call

  • Could make sure that FHIR2 module captures business flows w/ existing API
  • Can't build on existing condition modelling in RefApp due to tech issues and workflow/use case issues
  • If RefApp 2.11 was shipped w/ OMRS Spa, could new condition list be included out-of-the-box? Yes.
  • Easiest would be if we could ship a version of the RefApp where one of the modules has some of the MFE artifacts; module can deploy taste of MFEs without having to set up separate docket container etc
  • Develop on SDK itself? 
  • Issure around FHIR "active" status - active for patient vs active in clinician's current review? Active lists were meant to help handle adding and removing conditions to a list.

How can MFE Squad support, in general and in Sprint 3?

  • Items should go on/off list; remove with single click; have undo
  • Take current condition compontent in MFEs and make work against FHIR API
  • General Goal: Get conditions working in MFEs with aim to take component and intro into RefApp

Next Steps

  • TODO: Mark: Log bug tickets with clear descriptions around need to fix the API so it uses the UI correctly; flag Ian and include in FHIR2 Module release project
  • TODO: Sprint 3: Ian and Brandon support: Get current MFE condition component hooked up to FHIR API
  • TODO: Grace: Clean up Wiki page & talk posts for condition lists - compare to what exists, document tickets & share w/ Mark & Burke for review


  1. Announcements
  1. FHIR2 Release: Mid August. Should cover 70-80% of data in OMRS systems. Resources, ability to create/update/delete resources, ability to do complex searching for those resources. "Almost as much FHIR support as EPIC".
  1. ThoughtWorks Intros: 6 devs from Germany joined MFE project over last week. Availabiltiy can change w/in a day; so recorded onboarding calls as a future resource. Cards picked up by pairs. 
  1. End of sprint 2: Demo/share our work together
  1. PRs re. extensions - see here if you want to see ongoing discussion: 
  1. Ampath had session w/ Florian re. new architecture - looking at design for flexible MFEs to come up w/ widgets that are flexible t/o MFEs
  1. Repo:
  1. Frontend Development Vision statement drafted; vetting with Bahmni to see how they see this fits in for future convergence using this tech
  1. Draft: 
  1. Style Guides/Design Systems Update & Discussion: @Ciarán Duffy will join us for the 2nd half of the call and we'll address next steps here and open the opportunity for questions.
  1. Ciaran having period to speak to people in community and interview would give better recommendation/rationale - later in August due to admin blockers