Wiki Spaces


Get Help from Others

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


Page tree
Skip to end of metadata
Go to start of metadata

Expectations for OpenMRS Dictionary Manager Squad Meeting Notes

We use the OpenMRS Wiki - Edit Mode for real time. This means that everyone attending a meeting monitors and contributes to the note taking!

Notes Directory

How to get started with OCL for OpenMRS

Join our team calls! We meet most weeks on Wednesday at 7:30pm IST | 5pm Nairobi | 4pm Cape Town | 2pm UTC | 9am Boston | 6am Seattle

Other Helpful Links

To Address Next Meeting

  • LUI-174 - Getting issue details... STATUS

Technical Priorities

CIELOCL BackendDictionary ManagerOCL/Subscription Module

Blocker: MSF waiting for release (Burke to f/u)

CIEL Build: Latest version is on staging. Importing into Prod now. ETA: week of Sept 9.

  • Blocker: MSF priority bugs
  • Customization: Cloning Concepts update (even if just one example is done, Suruchi can try the next one). Recursive problem. Concepts with deeply nested chains causing ++ complexity/difficult to support. Cloning fx will be needed to handle the other changes users want that we're not planning to support, e.g. breaking changes.
  • Customization: Answers and Mappings (waiting on cloning, also need to ensure mapping bugs found by MSF)
  • Blocker: Ken: Import Errors & Error Messages - logged by MSF: OCLOMRS-1049 OCLOMRS-1050
  • Ken: Review Subscription Changes
  • Mark: PIH test 
QA/Problem-catching strategy
  • Updates on the QA Dashboad (workflow-based tests)

Needed: Automated testing

  • Definition: _____

Grounding Priorities

ImplementerTop PrioritiesQ2 Goals2021 Goals
  • Waiting for CIEL
  • Want to centralize MSFOCP concepts in OCL (Laure working on a master CSV file)
  • Need customization to set up new Dictionaries for upcoming large implementations (deadline to start work = Monday Sept 6th)
  • Question-type standardization = recurrent challenge (answers may be different across implementations - customization will help accommodate differences across projects)

  • Finish OCL import of PIH Dictionary content
  • Try using OCL in PIH Demo / PIH workflow examples → Mark Goodrich to be following up (Ellen away Sept 9 - Oct 26)
  • Large backlog of content for Peru
  • PIH Golden Dictionary

  • Will need ability to customize concepts, so will need ability to clone concepts while awaiting fully functional concept customization features


  • By end of May: Building new dictionary(s) using previous content
  • Current Bugs with sources and answers in concepts
  • Review of custom concepts by Andy

October Road-map

  • Existing Bug fixes
  • Cloning Feature
  • Finish Baseline QA Workflows
  • Customization of UUID
  • Clear Content Review
  • Add Answer and mapping to a source not yet mapped for the curated concept
  • Add additional Names (translations) to a curated concept
  • Add own Preferred Name and set it as the Preferred Name for a curated concept
  • Add and change my own Synonyms to the names of a curated concept
  • Change or add a Short Name of a curated concept
  • Delete set members to a "CIEL concept" in my collection

Meeting Notes


  • User Persona and User Interview Presentation
  • Sprint Planning and Board review together - we’ll cover all the issues and prioritize them for the next sprint.Log in - OpenMRS Issues


  1. Welcome Chanuka Wijayakoon, former GSOC student interested in contributing to frontend
  2. Peter Ricketts & team from 
  3. sprint board review with developers focusing the work progress. I have started a new sprint but as there was just few UI change in this sprint I don't think it's necessary to release now. But, let's make release after having some major feature like cloning.
  4. OCL team update/demo:  I, Hadijah and Ian had joined the call yesterday. They have made change in reference and expansion but it won't affect the API now. Also they have collection of collection feature which is somehow like a bulk import with the help of reference URL in OCL term browser. Fields we don't have. 
  5. Implications of new Collection of Collections: can ask ocl to evaluate your references. e.g. you've built a dictionary, uses old v of CIEL. Now you have control over how CIEL is evaluating it. Approval and review process for diff check of newer versions. 
  6. Any query you can run in OCL can now be used as a reference. "Add all concepts from CIEL that match this criteria" (e.g. malaria; or "give me everything from this dictionary like all of CIEL" or "add everything from my linked source into my dictionary." or "Combine these dictionaries" or "I want to get the next version of CIEL". OCL is releasing into production end of the year. TODO: Mini design session next week for what our priorities and value-add for users are. 


  • "Can I use the DM as a Terminology Service? Setting up and HIE in HAPI FHIR for SHR, but data is coming with concept ids, would like to transform concept IDs into text. Want to call something externally to do a lookup. What can we use for that?" → API call "here's this ID" and get back info about that concept Sending Obs via FHIR to SHR. Then bunch of data in SHR you can't make sense of. So want to get own concepts into OCL - bulk import process
    • SQL dump then script to turn SQL dump into JSON file. 
  • Manual concept creation process rough. Creating concepts locally or import from CIEL. Hoping to make better. 
  • End result goal is Iniz.
  • TODO: Follow up with Stephen

Interest in UgandaEMR

Peter Ricketts from Open Solutions for Health (OS4H)

  • All health facilities connecte to a national data centre via a national fiber network. So a national medical record because reliable connectivity to most health centres. 
  • Team already created a dictionary using the Dictionary Mgr and subscribed to it in an OpenMRS instance
  • some questions
  • Had been unable to get OpenMRS providers to set up on Reg Desk function 24/7. Tried to implement without that, so getting  tons of duplicate. Most people come overnight because they can get free healthcare, bypass front desk. Meanwhile, in small practices, increasing demand for systems. 
  • Know they need a Terminology Service to support HIE stuff. This is how they heard about OCL. Tasked intern over the summer with figuring out OCL and writing user manual. 
  • Want to be able to manage multiple instances of OMRS dictionaries and have ONE source of truth, so that when setting up interop services, already have standardized dictionary that would allow for easier implementation and connection. Then, ONE shared health record for patients - hub and spoke architecture. (Currently working with govt to create legislation on what info should be shared). Idea is that once data is shared through SHR, you have access based on credentials (e.g. based on active license). 
  • Natiuonal Electronic Immunization Registry in Govt being implemented in DHIS2 (Can use CSV import to get codes into it)
  • Can start dictionaries from scratch
  • Were trying to do as much as possible from CIEL; trying to code ECHO report had to switch from CIEL to LOINC. (Interface vs Reference terminology)
  • They'd love to have translated version of CIEL that they manage, so they can change the short names, but then have own custom version of CIEL. (But need to do Cardiologist role out by end of month.)
  • Have OS4H master dictionary, they pull stuff out of that
  • Search by Short Name (e.g. search for LVESD here
  • How to reuse?
  • Need video: How to import using spreadsheet
  • Connect Petter with Andy
  • e.g. how do we go from an echo form to making a form and mapping ti to correct concepts

  1. OHIE terminology session:
  2. Point staging to 

I will go through the recording after I am back and I will cover persona in next call.


  • Update on MSF tagged issues
  • Discuss issues that need backend support
  • Update on QA automation work & how others can see the results clearly in the dashboard
  • Tagging Feature



  • @Ian Bacher - update or demo on Cloning progress (OCLOMRS-1007)
    • Two new issues discovered:
      1. We need a workflow to convert at concept from a reference to another source into a clone, in which case any references to it (as an answer or set member) within the dictionary would need to be updated to point to the concept in the dictionary's source.
      2. We need to evaluate the extent to which we need to worry about references to a concept when cloning (e.g., if we clone a new CIEL concept, do we need to scan the dictionary for references to that concept and update them? Burke thinks not, since any answer or set member references to the concept implies the concept must already be in the dictionary – even if just a reference to CIEL – so the workflow above would apply)
  • @Ken Omondi - update or demo on OCL Module bug fix progress
  • @Hadijah - update on QA automation work & how others can see the results in the dashboard
  • Michael - CSV upload working for synonyms?
    • If name type is left empty, then synonym works
    • From decision last week, we need a ticket to refactor Dictionary Manager so it stops implying that "SYNONYM" is a name type. ( OCLOMRS-1054 - Getting issue details... STATUS )
  • Tagging Feature
  • Unified OCL and Dictionary Manager Experience



Synonym discussion

  • Synonym: Label not being applied at import → causes errors. No value being stored in backend for Synonym. For now: MSF can remove name value "Synonym" in CSV for import. OCL change: Need to agree on business rules. 
    • Currently: assumes default is Synonym; tech debt big to address. All names are synonyms unless otherwise specified. 
    • Interim fix proposal: Make synonym grey in DM UI so user doesn't think of it as the same kind of name type
  • Joe or John: OCL Backend update on CSV upload issues
  • General update on MSF bugs in Dictionary Manager


Agenda :

  • Sprint Board review together - we’ll cover the key themes we’re focusing on right now, and devs will give updates on their ongoing work Log in - OpenMRS Issues
  • Discuss: MSF blockers and updates
  • Grace demo issues
  • Discuss: Priorities for next sprint


Attendees: Burke, Suruchi, Grace, Juliet, Amoko, Andy, Ellen, Hadijah, Irene, Jonathan P, Mwariri, Wamathaga

Agenda :

  • Sprint Board review together - we’ll cover the key themes we’re focusing on right now, and devs will give updates on their ongoing work Log in - OpenMRS Issues
  • Documentation Update
  • Discuss: Implementer’s Priorities
    • PIH working toward getting working dictionary in OCL
    • OHRI facing bugs
    • KenyaEMR (per Andy) working through content
      • Will need to be able to clone & customize until full customization is supported by OCL and Dictionary Manager
  • Grace demo issues
  • What’s next for customization? (Name customization) 
  • Onboarding steps - 


Agenda :

  • Sprint Board review together - we’ll cover the key themes we’re focusing on right now, and devs will give updates on their ongoing work Log in - OpenMRS Issues
  • July Release - Dictionary Manager 1.4.0 released 
  • Q/A Dashboard QA Test Processes at OpenMRS - Google Slides
  • OHRI Team issues
    • Cannot map to some sources unless logged in as a different user

    • Custom concepts that are coded but the answers are not displayed

    • Some existing custom concepts are not listed on search but can be viewed with a link

    • On importing to OpenMRS some answers are being dropped

  • MSF Team issues
  • Grace demo issues
  • What’s next for customization? (Name customization) - Burke to push for API to be ready for next sprint. For now prioritizing cloning capability. 
  • Re. "Why does the Dictionary Manager product need to be a separate product from the OCL TermBrowser GUI?" What is the data model preventing us from merging with the OCL TermBrowser product?


Attendees: Juliet, Hadijah, Ndacyayi, Suruchi, Amoko, Grace, Mwariri, Jon, Burke

  • Board Review
    • Have been working on unit testing over past sprint
    • Will be ready for sprint planning soon
  • Implementer Updates
    • UCSF has been setting up a dictionary using Dictionary Manager for Care and Treatment
  • PIH's approach to defining codes
    • At one point, add PIH mappings to all concepts to represent PIH canonical code.
    • Lately have not been adding PIH mappings to CIEL concepts (concepts with existing CIEL mapping)
    • Ellen will update PIH dictionary to make sure every concept has a PIH SAME-AS mapping which will define the concept's official "gold" concept code (ID)
      • "Internal ID from a golden dictionary", or "external mappings vs internal"
        • Burke: Just like we treat Q-AND-A mappings as answers and CONCEPT-SET mappings as answers, we could treat a SAME-AS mapping to the current source as a special mapping that represents the official ID (code) – i.e., don't show this mapping as a "mapping" in UI, ensure it matches the concept's ID, and create the mapping if it doesn't exist. Within OCL (which is always the "gold" version of a dictionary), this mapping would always match the concept's ID.
      • This should be "select a code" rather than concept:
  • PIH update
    • Uploaded PIH dictionary. Nearly completely successful. 
  • Proposed use case for customizing a concept: Adding an answer to a CIEL (example here):
    • Add CIEL Received HIV test result (164848) to dictionary. This should cascade to include question and its three answers:
      • Yes (1065)
      • No (1066)
      • Unknown (1067)
    • Add CIEL Procedure not performed (160414) as an answer.
    • Add reference to CIEL 160414 to collection
      • Add Q-AND-A mapping from CIEL 164848 to CIEL 160414 to dictionary’s source
      • Add reference to mapping to collection
    • Dictionary should now contain CIEL’s “Received HIV test result” question with 4 answers. While all concepts (question & answers) are CIEL concepts, it should be clear “Procedure not performed” was added (since mapping belongs to user).


Attendees: Grace, Ian, Michael, Joe, Suruchi, Jon


Attendees: Hadijah, Grace P, Grace B, Suruchi, Ian, Andy, Juliet, Ivan, Jonathan Payne, Daud, Irene, Daniel

Customization mvp Unblocked! Fix for will be on OCL QA server today - so any mapping edits will be reflected in user's concept/collection

Reviewed Roadmap and sprint plan

Reviewed UAT testing Updates & designs for subscription update workflow/diff check in OCL Module: 

Big increase in demand for CIEL. But, not many people in the organizations explicitly owning the concepts/spreadsheets; Andy noticing big time gaps in questions → responses. Eventually once organizations ramp up their concept manager role(s) then a tool to compare the spreadsheet with CIEL would be essential.

Andy pointed out that Search Terms is missing / needed in the UI and the Subscription Module



  • OCLOMRS-967 (Adding concepts from a collection) currently blocked
    • Either
      1. Copy references from collection to user's collection
      2. Workaround: copy reference to original source to user's collection
  • Suruchi walking through diff check design
  • Dictionary import updates
    • PIH import - Burke working on script to sort out 
  • Customization
    • Currently, editing looks only at sources
  • Need an API method to cascade concepts EXCEPT ones with specific map type
    • When adding a new concept to a collection with cascading, OCL platform will skip concepts that are already in the collection.
    • We want to also exclude concepts for which there exists a SAME-AS mapping; however, OCL platform doesn't inherently know the meaning of any specific mapping type, so we will need to include it in a new API feature – e.g., cascade=sourcemappings&excludeIfMappingExists=SAME-AS – which would not only skip concepts that already exist in the collection but also skip any concepts for which a SAME-AS mapping to the concept already exists in the collection. In other words, a collection is considered to already contain the concept if it either has (1) a reference to the concept or (2) a reference to a SAME-AS mapping to the concept.


Attendees: Suruchi, Juliet, Joe, Michaël, Hadijah, Burke, Patrick, Ellen, Andy

Regrets: Ian, Grace, Jon

  • Discussed customization work
    • Agreed concept editor should run against collection URL – i.e., when editing a customized concept, you are not editing the concept within any specific source; rather,  you are editing a concept derived from multiple sources.
      • How will the OCL API help us?
        • We will be able to request a concept from the collection and receive the "calculated" result (concept with customizations applied)
        • Will we be able to post changes directly to the collection concept the same way we would for a concept in a source (will the OCL API figure out what needs to be done)? Or will the client need to work directly with references in the collection? We assume the latter.
        • TODO: Need to walk through proposed API modifications with OCL team to document API conversation of customizing a concept. Could use concrete example: many patients are living in local schools, so you want to add school (CIEL 159928) as an answer to House type (CIEL 163577):
          • Add CIEL 163577 "House type" to your dictionary (cascades concepts & mappings into your collection)
          • Add CIEL 159928 "school" as an answer (add mapping to your source, add reference to new mapping into collection)
    • In the near term, we could add a feature to clone the CIEL concept
      • Concepts in collection from another source would have option to "clone locally"
      • Cloning would copy concept and mappings into our source and add a "SAME-AS" mapping to the original source concept
      • Ideally, we would enumerate "breaking changes" and alert the user if the concept has any SAME-AS mapping to another source.


Attendees: Suruchi, Grace P, Burke, Andy, Jonathan Payne, Daniel, Ellen, Grace, Hadijah, Joe Amlung, Juliet, Steven Wanyee

  • OCL onboarding updates: 
    • PIH: Burke working on upload; some concepts went missing so OCL team hunting for reason
    • KenyaEMR: 1/4 of the way through. Now reviewing ++ custom concepts that have been created. 
    • OHRI: Next step unclear - there was a need to review a spreadsheet of custom concepts? Grace to follow up. 
  • Sprint Board review together - we’ll cover the key themes we’re focusing on right now, and devs will give updates on their ongoing work
  • Demo of early Concept Customization work by Suruchi. 
  • Automated testing E2E update
  • Name: the OpenMRS Dictionary Manager?
    • Kenya about to pass eHealth Act that uses the term "Health Data Dictionary"


Attendees: Suruchi, Andy, Grace, Burke, Jon, Ellen, Hadijah, Juliet, Michael, Steven Wanyee, Ian

  • June Sprint Planning done. 
  • Formal decision about renaming OCL for OpenMRS
    • The "OpenMRS Concept Manager"? Would this be clear enough that this is specifically designed for OpenMRS? 
    • Steven noticing MoH folks using "Health Data Dictionary" wording. → "Dictionary Manager"?
  • Sprint Board review together - we’ll cover the key themes we’re focusing on right now, and devs will give updates on their ongoing work
  • Trusted Content Flag - Discussion
  • Talk through Concept Customization plan with OCL team
    • Adding Answers and Mappings is work in-scope this sprint
    • OCL team is working on Collection of Collections this sprint - they will demo to squad in a few weeks. May trigger some new ways of thinking about Original Customization idea.
      • Then updates are based on "Same-As" mappings.
  • Content Migration Updates
    • PIH: Uploading to OCL Staging this week! 
    • KEMR: Content review in progress w/ Andy
    • BandaGo is also potentially switching over
    • UCSF/OHRI: 


Attendees: Andy, Burke, Hadijah, Ian, Grace, Jonathan, Juliet, Michael, Suruchi

  • Sprint Board review together - we’ll cover the key themes we’re focusing on right now, and devs will give updates on their ongoing work
    • Identified there are 2 Reconciliation Workflows user needs to go through:
      • 1) Putting together a Collection of Collections: An "order basket" or "bundle" of dictionaries I want. There may be overlap of concepts that need to be reconciled (which one do you want?)
      • 2) Reconciling
    • Roadmap discussion:
      • Multi-subscription workflow: Loading multiple dictionaries but there's overlap between concepts, who are slightly different
  • KEMR migration process: 
    • Work ongoing in Google Sheet with Andy/Antony
    • Import process heavily relies on mappings to ciel
    • Want to be able to map CIEL concepts to KEMR concepts, where semantically similar but wording used quite different
    • Concept ids: would be nice to i.d. when CIEL ID of 1011; Organization ID 1011 → be able to recognize this. Decide if identical or if 
  • Discuss on Trusted Content Flags
  • Roadmap discussion and priorities for next sprint
  • Talk through Concept Customization plan with OCL team
    • Backend timelines:
      • End of June - Collection of Collections
      • End of July - Concept Customization


Update KenyaEMR priorities & CIEL priorities

Dev Updates/Demos/Dev Experience/Questions

Update from Andy & Antony re KEMR concept work 

Update on PIH content migration to OCL production

Review the workflow for implementers to start using OCL

Roadmap discussion

Talk through Concept Customization plan with OCL team

If time: Getting Started Workflow for Orgs with Existing concepts



Regrets: Ellen

Sprint Board review together - we’ll cover the key themes we’re focusing on right now, and devs will give updates on their ongoing work 1

Concept Customization update and next steps - Technical progress ongoing. OCL team working on this, meeting regularly over last week. Breaking down how FHIR & interrelated work fits into this. Today: finished the last category of OCL changes (e.g., FHIR-related work, dynamic collections, versioning changes), now defining requirements for each one in this document

Trajectory update & Takeaways from Shiriki webinar yesterday

  • Countries are interested in using OCL for OpenMRS (5 of 6 specifically mention this is in their plan!)
  • Will need migration path to working in OCL
  • Each country has a central body managing concepts, which means how centralized concept changes are propagated will be an important feature.
  • Maturity Model targeting policy level (Ministries of Health), but idea could be useful for OpenMRS community.

Urgent needs related to the CDC demo on Tuesday next week

PIH OCL Migration

  • Ellen & Mark (PIH) working with Burke & Jon working on Migrating to OCL: PIH Use Case which involves (1) exporting concept tables from OpenMRS using mysqldump, (2) converting the SQL to an OCL import using ocl_omrs tooling, (3) uploading the import file into OCL.


Attendees: Ian, Burke, Jonathan, Suruchi, Grace P, Andy, Ellen, Hadijah, Juliet, Naman, Ojwang, Daniel

Regrets: Irene

  • Sprint Board review together - cover the key themes we’re focusing on right now, and devs give updates on their ongoing work

Information Sharing with Antony Ojwang from KenyaEMR

KenyaEMR using CIEL until 2017, then added a few local concepts. Since then not able to keep up with new releases of CIEL. They support implementing partners who also do their own forms and need answer for "what concept do I use" right away so creating temporary custom concepts helped them respond to customer demand quickly.  But using local concepts proved to be very difficult - because originally created as placeholder concepts; not going through best practices of terminology creation. E.g. created but without mappings. But didn't end up with CIEL alternatives to them so kept creating new ones, couldn't get them into CIEL due to resource constraints at CIEL (100 concepts okay to work through with Andy esp. in Office Hours, but 500+ there needs to be some funded support for CIEL team time.). Means they haven't benefited from new CIEL concepts, and even if they want to use a concept that is already in CIEL, they can't take advantage of that b/c dictionary not in sync w/ CIEL dictionary. Have to spend time trying to create the concepts. Wondering if they can still benefit from OCL Client. Not a lot of focus on trying to cherry pick; instead, goal is to switch out their custom concepts to CIEL in a big bulk effort. 

What do you hope to gain from CIEL? 

  • Speed of updates: E.g. developing emr for covid - there were quick updates to the CIEL dictionary. They introduce a variable and the following day you could have a concept added to the dictionary.
  • Terminology Expertise: They your tech team can focus on the tech stuff, and let the terminology management be handled by experts. 
    • Terminology Team? Who would own it at the organization still a little unclear, want it to be clinical people. Build up some internal expertise so concepts are used and created properly. Might be owned by a central MoH team and then used by the implementers. 
  • Interoperability They see requirements to exchange data w/ other systems, so would be good to use dictionary that has proper mappings to other dictionaries.
  • Reduce unnecessary work on duplicated concepts: Want to be sure that when you create a concept, there's none like it already.

New Problem Identified: Want a continuous way of consuming the changes from CIEL. 

Problem Identified: Going back to clinicians: Need it to be easy to go back to clinicians and ask questions. 

Problem Identified: value of good concept management practices (beyond the tool) is not clear for distributed teams/customers. PIH: Sites say "we have 500 concepts we need, we don't want to wait for you". Ellen Suggestion: Could there be a simple explanation to bring people on board to principles of effective concept management? 

All of CIEL? Not always good to have all concepts, because difficult for Clinicians to handle, and performance. On other hand, Implementers would like to know they have all the concepts they need without worrying they've forgotten something. 

  • Next steps for Antony/KEMR team:
    • Will review new concepts with Andy. He will then guide them on next steps. 
    • Ultimate goal: existing concepts imported into OCL so it can be managed there. 
  • Office Hours
  • Using OCLOMRS

  • User Feedback and their ideas on OCL for OpenMRS client application
  • Concept Customization update and next steps
  • Discussion: Roadmap


  • Sprint Board review together -
  • All agreed on release to Production asap (smile)  
  • OCLOMRS-983 - Getting issue details... STATUS id'd as critical; Juliet to pick up
  • May sprint planning: Monday


  • Sprint Board review together -
    • API2-related bug fixes done
    • Iniz Validator?
    • Columns ticket
  • MSF Impact of API2: Andy & Burke following up on MSF mapping for 16 references
  • Iniz support update
  • Blocker: Concept Customization data model -Further Discussion on Next Steps
    • Use Case Document:
    • Expanding on what's technically needed by OCL/ Plan for work that needs to be done in OCL platform to enable this / what changes are needed in API itself
      • Name modifications could be tackled sooner - b/c fhir has a model for what this looks like
    • Would be useful to have PIH dictionary in OCLClient to support OHRI work
      • Todo: Grace to confirm if OHRI team would like to see this
      • Todo: Ellen & Jon following up about getting PIH dictionary for HIV, TB, into OCLOMRS. Would load into staging server first and validate. 
    • Next Steps
      • Grace & jon: Book time w/ OCL team + engineers about concept modification
      • Grace, Jon, Burke: Summarize the technical 
      • Lab sets for different countries e.g. Sierra Leone
  • Discussion: Backlog Ticket(if time allows)


  • Updates:
    • Welcome to our new fellows, Hadijah (mentor) and Juliet (fellow)!
    • Sprint Planning on Monday
    • Daily standups
    • API2 launched over weekend; all our environments now use API2
      • MSF Impact: Andy & Burke following up on MSF mapping for 16 references - answer within next few days whether something to be concerned about. Give MSF the link to v1 production. They'll follow up with MSF about this. 
      • CIEL-related bug: Name needs to be resolved, and ID should be visible (e.g., "NAME (ID)" or ID showing concept code in a separate column) – ticket OCLOMRS-976
          (example: 1421)
      • CIEL mapping appears missing ("I have 3 in OMRS by only 2 mappings here"): May want to show CIEL mapping (to itself) - reason it doesn't show here is because you're looking at the source's original concept, so the reference is inherent. 
        • (Grace file ticket) Add column for CIEL and reference to CIEL in the concept 
  • New practice - Sprint Board review together: First 10 mins - Review April sprint board. Suruchi to lead after. Highlight focus, then review peoples' work status.
  • Blocker: Concept Customization data model - what are the next steps? What do we need from the OCL team?
    • Would be introducing Fx that's not standards-based. OK for name-related changes but deviant everywhere else. 
    • Alternative: Code System Supplements

2021-03-31: Iniz & API2 switch

Attendees: Grace, Burke, Ian, Suruchi, Andy, Daniel, Ellen, Hadijah, Irene, Jonathan, Naman

  • No call next week - OMRS Community Meeting instead!
  • Important things to book
    • Sprint Retrospective & Sprint Planning meetings: TODO: Book for Tuesday next week 9am EDT
    • Standups - Daily Check-ins, Blocker checks - Ian, Suruchi, Hadijah to propose? Short daily post in #ocl-client-dev. E.g. what issue you're working on today? Any blockers? at 9am EDT. Todo: Trial over the next week (smile) Ian to set up
  • Iniz
    • Issue in OCL Module: The way it's set up, it needs a subscription or it will create an error when it tries to save concepts
    • Work-around ideas voiced by Burke
  • API2 switch: Team QA plan

2021-03-24: 1.0 Release debrief, Iniz & Sprint Update

Attendees: Suruchi, Michael, Naman, Hadijah, Juliet, Grace, Tendo, Ellen

Debrief on 1.0 Release

  • Kudos to Suruchi, Hadijah, Ian for bug fixes already. Low-impact so no rollback required.
  • Having more people involved in final qa: more eyes, we'll catch more (smile)  (1 week announcement before release - ask others to try out staging)
  • Checklist looked okay, passed - need to update based on what we learned
  • Checklist should clarify the must-haves that must be checked before each release (e.g. anything that could result in a bad change to an org's content, permissions)
    • Suruchi to go through checklist and update
    • Suruchi doing User Guide updates
  • Jira features should highlight what somethings must not do, e.g. "this feature should not allow you to edit others' organizations"

Iniz update

  • Goal: Have Iniz use OCL.  Progress with code but not working completely; Suruchi and Ian progressing. When user loads Iniz file, OCL concepts used & loaded.
  • Time target: Iniz able to understand OCL by end of the month
  • Updates on the #openmrs-initializer channel

March Sprint

  • Reviewed board


  • coming next week, blocker is CIEL content migration
  • API2 environment testing passing! (smile) 


  • Mentor & Fellow interviews, deliberating


  • Grace & Ellen confirmed that we need to add Reference Range adjustments to the requested non-breaking changes options list. TODO: Grace confirm that this could be in-scope and handled by our proposed model.
  • Will OCL be able to support changes needed/help us, starting in April? (Thinking we'd like this in our April sprint as our next major focus)
  • Is data model approved? TODO: Grace f/u with attendees via email

2021-03-18:Discussion on how to move forward with both Iniz and OCL4OMRS

Suruchi, Ian, Mike S, Mark, Grace

2021-03-16: Squad Call, v1.0 Release done!


Attendees: Burke, Naman, Hadijah, Suruchi, Grace, Andy, Ian, Daniel

  • Released to Staging yesterday → Suruchi testing Staging → Released v1.0 to Prod today together (smile) 
    • Idea: Display version # somewhere in webapp
    • Talk post with summary of Release Notes coming shortly (Suruchi) 
  • Dev demos and updates
    • Ordering Options & Sort Weight: Naman working on ability to order things (e.g. Answers) in the OCLOMRS UI  
    • Why is PIH, MSFOCP, not available in production?
      • Pending OCL data migration. CIEL will be loaded into new envi this week; if goes smoothly, they'll open that server up to the squad to make sure it's working as expected with the migrated data
      • i.e. Test Migration data before move to API2.
      • PIH one not migrating - was on staging only because was incomplete. Technically ready but no value for PIH yet.
      • The error with the MSFOCP source in current production is caused because the source is private in prod IIRC. → Fixed (smile) But still blank.
        • Confirm Public Dictionaries list is not showing Private Dictionaries
        • Ideally we alert the user when there's a workflow problem like a Public Dictionary where the Source has been marked Private 
    • CIEL not available when making a custom concept?
  • March Sprint started, review scope
  • Review unclear backlog items
  • API2 update
  • ICD communication to stakeholders
  • Update on Plan for Customization:
    • Data model discussion re. Customizing Concepts that we had with Bryn Rhodes & Andy on Friday: What were the next steps that came out of that discussion? Did Bryn give a thumbs-up overall to our data model? Can we proceed with the dev work for this or do we need to rethink it?
  • Roadmap review: 

2021-03-10 Squad Call


  • New version of CIEL coming soon. How do organizations update?
    • PIH: Ellen's workflow: Publishes on MDS server for all to be able to see. No process to update existing concepts. Useful things and problematic things - e.g. if we updated a dictionary but not our PAC system, or Lab tests. Changes to codes causes a lot of QA/action domino effect
    • MSF: Use existing version for existing content. 
  • TODO: Follow up on whether - PIH needs support/dif check
  • PIH Source currently empty in production - historical mappings blocker OCL faced
  • OHRI Updates: Monday, Wednesday presentations
    • If site has existing concepts, can import your mainline/existing content using OCL API directly. MSF has figured out how to do this. 
    • TODO: Check w/ Mekom: was apparently also working on a script to export all the concepts you have in your implementation, and transport all your concepts into an OCL CSV format.
    • "No migration scripts"  → Will this make it easier to do upgrades? Don’t have to map the concepts? (Dan
  • Technical Updates
    • QA2 is down → (was restored later by Rafal)
  • TODO:  Plan for call next week (PST/EST → PDT/EDT)

2021-03-08 Follow up on ceasing support for CIEL Legacy Mappings 

Attendees: Jon, Andy, Ian, Suruchi, Grace


This is not a recurring change that will happen; exceptionally rare

Due to moving to a production ready environment that's ready for scale. Includes making CIEL as clean as possible. 

Next steps for MSF & OCL

  • OCL will create a Dif and will handle the legacy mappings for them. 
  • They'll create an audit report for MSF that will show them what changed (if anything). 
  • Should know this week what the impact would be. 
  • If any changes: No production impact. If they wanted to set up another server, it's possible the ICD10 maps for a certain concept would not match what they had in a prior version. 



Attendees: Ian, Jonathan, Suruchi, Andy, Daniel, Ellen, Hadijah, Irene, Juliet, Michael, Naman, Settimba, Tendo, Grace P


  • Release of staging to production is blocked by orgs bug
  • We'll re-make staging again after the fix gets in (Ian following up on fix)
  • Suruchi to do the testing in staging after QA has been pushed

API2 change-over

  • Likely change over in 1.5 weeks. Could change over sooner
  • Finding # of concepts: Suruchi working on this (OCLOMRS-923) to use new API
  • Bulk import error: CORS error - had been pointing to the wrong server (because of AWS server switch)

Clarified: We are not planning to drop the Subscription Module! It's a strategic priority to continue to support this. 

Regarding the load of CIEL into OCL v2.0:

  • Decided not to migrate over old CIEL data from 1.0, but instead load a new version into 2.0.
    • E.g. latest version of CIEL, like v2021-01-29.
    • Why? Dirty - very old concepts. Contained mistakes, broken links. User would still see retired concepts but without history (would be current version of CIEL). 30 versions published since 2016. 
      • Only affects mappings. No impact to CIEL concepts available.
      • Mappings are going to disappear. Because there's no "retired" flag for maps, only delete when cleaning up. 
      • What if someone was 
      • Subscription Module: If you were subscribed to older version of CIEL, it will look through OCL for any changes to that version - and it won't be able to find that version. 
        • → If they're subscribed to a prior version of CIEL, and they wanted to use the Subscription Module, they'd have to upgrade the version (i.e. __) 
          • OCL Could produce a report of what's happened/changed/mapping rows that have disappeared. Could include references that couldn't be migrated because the resource is missing.
          • Andy & OCL Team would also create mappings so that there would still be an appropriate concept mapped. 
            • Needs to be clear: What the impact is on existing implementations. e.g. Implementers would need 6-12mo notice on major change to workflow.
            • How to test: Need a copy of Bangladesh dictionary in QA; point that to newest version of CIEL; check nothing breaks
    • Impact?
      • Impact on MSF Bangladesh dictionary? 
        • The concepts will still be in the latest version of CIEL. May be flagged as Retired.
      • There won't be SNOMED NP any more. But in OMRS, there's no way to say which relationship is preferred. May need to build out the OMRS concept representation more. Should we improve the OMRS Concept representation? Yes! Question is how to support legacy.
        • (e.g. ability to indicate preferred Mapping - sometimes really matters which is the primary code and which is the secondary code.)
        • Why?
        • E.g. OpenMRS handling retired mappings
        • TODO: Task: Upgrade OMRS Concept tables: e.g. Add retired field, retired mapping, to OMRS Concept datatable - need design call w/ Burke & Andy to i.d. other things that should be done.
      • ICD10 codes dropped?
  • Need to ensure the sources for mappings are correct. There are several problems with the way it is done now.
    • Only SNOMED NP?
  • Any time to redo or retest the CIEL import script? Andy putting together a document which outlines what he thinks the translations should be from CIEL 1.6.6 to OCL.
    • Concern this impacts the subscription module

Copy Dictionary Feature


  • Follow up call - booked for Monday, 5pm UTC
  • Using MSF Bangladesh dictionary as real-world test case
  • Need a test environment with the new version of CIEL



Attendees: Andy, Ian, Daniel, Ellen, Irene, Juliet, Joseph, Michael, Naman, Suruchi, Tendo, Grace

FYI: Save the Date: Quarterly Virtual Community Meeting: 17th Mar to 18th Mar 2021 Lightning talks Squad showcase(each squad will have 5 mins). Implementer showcase( each implementer will have 5 mins). Strategy forum. 

  • API2 testing work: Update
    • 3 main issues: Unable to Edit (Fixed now), total # of concepts not showing up, bulk concept import not possible in new API
    • TODO: Andy Follow up with Burke and Jon to clarify data migration strategy
  • How to tell if CIEL is up to date? 
    • Confirmed: Head is always the latest version on OCL b/c Andy doesn't make his changes on OCL. I.e. we're not searching the true CIEL Head (people shouldn't be able to add things that aren't yet published)
  • Update: Copy Dictionary work
    • Addressing ability for user to totally copy a dictionary so they don't have to start from scratch
    • Want to be able to rename the dictionary
    • Suruchi and Hadijah pair programming
    • Preference is to copy the latest version rather than head (avoid enabling 
  • Release Manager: Suruchi
    • Works with others to decide when release is ready, pushes through release pipeline, communicates the release and what was updated
    • To complete QA in staging; hoping to release this week
    • Release Summary: Organization tab moved below Profile Tab Organization: View page, List, Create, and edit with field validation, delete Page reload on Create and edit Organization detail page with Organization details, Members , Sources and Dictionary List or User’s Organization in User profile Page Concept Names are grouped by language and sorted alphabetically Concept title in header without formatting
    • ?includeRetired
  • Retired Concepts
    • OCLOMRS-932 - Getting issue details... STATUS  : Hide retired concepts (put at bottom of filters)
      • Problem: Backend returning "true" for "include retired" even when the request is false
      • There are use cases where users need to be able to see retired concepts
      • TODO: Change ticket to "Include retired" and "Include added concepts". Put at bottom. Default is these are excluded 
    • Code for Added concepts:  OCLOMRS-933 - Getting issue details... STATUS   - How to handle isn't clear; 
      • ?addToDictionary=/users/admin/collections/tst1/          
      • perhaps similar challenge to /concepts/?page=1&limit=10 - e.g. 2 requests: 1 to get all the concepts that exist in that dictionary, and all the concepts in all dictionary, and remove all the concepts that are referenced in our dictionary.

        • Impact on performance: OCL API very slow to return whole thing
        • Could be opportunity to improve search efficiency
        • Naman and Ian to follow up
  • OCLOMRS-918 - Getting issue details... STATUS  Ian to review
    • Ensure it's pulling the specific version of the concept we're on

Other topics if time:

  • GSOC Projects?
    • Could we help Andy/CIEL with some work, such as scrips to fix All-Caps issues?
  • Clarify plan to include ICD-10+, SNOMED in our Sources?



Attendees: Andy, Burke, Daniel, Ellen, Grace, Ian, Irene, Juliet, Laure, Michael, Suruchi, Tendo

  • Iniz vs Subscription Module conversation on Wednesday
  • OCL API2 update coming in next 2 weeks
    • Suruchi & Grace hosting QA Session together on Thursday, 2pm UTC at
    • Goal: Test both API2 and the new features ready for release
    • Plan to test API2:
      • Go through QA document
      • Try to break it (tongue) 
    • Plan to switch over to API2:
      • Pointing to the right API: API1 will have support for a while, but we'll need to change url to match the new host location; we'll change over once API2 is live
      • Data Migration: TODO: Need to set up time to review how data in v1 → v2; implications of v1 changes not being synced to v2
      • No material impact to worry about for CIEL
  • Customization Update
    • Data model discussion with OCL team on Monday; wrapping up and breaking down next steps on Monday next week
  • Summary of Export: OCL API for Exporting only supports as low as Sources, still working on dictionaries & concepts-level info. We tried fetching whole dictionaries via different API call and returned so much JSON we couldn't even get the file to open. Fields Iniz CSV requires either have multiple different API calls or none at all. 
    • The only APIs we can access for now: 
    • Main need is to re-use work:
      • Copy a dictionary to build on top of that work in a new dictionary
      • Create a recommended source - any collection could become a searchable source
    • TODO: Check Zip file import option from Subscription Module
    • TODO: Burke to check w/ Jon on timeline for supporting head export; get his thoughts on copying a collection


Attendees: Burke, Andy, Daniel, Ellen, Grace Nakiguli, Ian, Juliet, Michael, Suruchi, Tendo, Grace Potma, Hadijah


  • Updates: Open to all. Export functionality planning updates.
    • Clarify plan to unblock customization needs with FHIR terminology - Burke share knowledge (smile)
      • Suruchi joining the Tuesday OCL Dev calls with the OCL team to get to know them and hear how FHIR is used.  
        • Customization: Take references to CIEL concepts –> make non breaking changes, have those applied and continue to work with it as if it's the CIEL term. 
        • OCL wants to represent this customization workflow with FHIR. But, FHIR not totally designed for terminology management and curation. So question is how to model
          •  Key Value pairs would be natural spot to put this additional information
          • Not adding extra details to a concept, but could be an extension (additional properties) to a reference. Jon seems to have idea of how this could be carried out.
          • Need to be able to address presence or absence of mappings in addition to properties added to, or removed from, a concept or mapping.
          • Shifted from FHIR first to "How do we represent in OCL"
          • TODO: Call w/ Jon, Burke, Suruchi, Ian, Grace, and possibly a technical team member from OCL to kick off the collaborative FHIR modeling work to unblock customization
            • Task is to understand how Jon imagines this will be applied in OCL already, build on that
            • Seems like we'll need to use a FHIR Extension
              • But, FHIR is a transport standard not a management tool. Therefore, it is mostly likely to transfer a flattened, customized concept and not carry the differences as structured elements.
              • CIEL concerned that CIEL references to modified concepts not get confused with the original. 
              • Perhaps propagate a link to the custom OCL concept (flattened with changes) but retain a provenance link to the original CIEL concept with a modified flag (and that the only think added to FHIR is the provenance link with the modified flag)
            • Read up on: 
    • Export Fx update & unblock requirements:  
  • Plan for Subscription Module - are we introducing too much complexity with Iniz?
    • By using Iniz to fulfill offline-related gaps, aren't we duplicating what the users need to manage concepts? Does add complexity.  
    • Internet at PIH sites: Either non-existent or spotty. 
    • Michael: Can we create a serialized version of the API call from Subscription and store it locally and have the subscription module read it from there instead of online? Why is that different from Iniz.
    • Burke: Iniz vs Subscription model: not solving same problem. Iniz: Initial deployment. Subscription: 
    • Grace TODO: Use case call w/ Michael, Ellen, Dimitri
  • OHRI Project Requirements: 
    • OHRI = OMRS HIV Reference Instance. PEPFAR funded project. Going to bring more attention to concept management requirements.
    • TODO: Burke to coordinate bringing OHRI representatives to next squad call to share what they need
  • TODO: Completing January release: Join Grace tomorrow, Feb 11 at 2pm UTC:
    • We'll review QA tasks together
  • Divvy-up our immediate QA plan
    • For Release: Need to share work for manual QA of current OCLOMRS Staging environment
    • For the API2 upgrade: Need to share work for manual QA of API2 qa environment 
  • Look at Roadmap. Confirm next sprint priorities. Missing: Diff Checks. 

Reference to concepts or to mappings - example below shows adding the changed content 'foo: bar'.

    "references": [
            "expression": "/orgs/CIEL/sources/CIEL/concepts/165647/5e7b9791bc59190001937cf5/",
            "reference_type": "concepts",
			"extras": {
				"foo": "bar"
			"names": [
            "expression": "/orgs/CIEL/sources/CIEL/mappings/583c695a65baaa00076d2968/1/",
            "reference_type": "mappings"




Attendees: Suruchi, Burke, Ian, Jonathan Payne, Andy, Daniel, Ellen, Hadijah, Irene, Juliet, Joseph, Laure, Michael, Naman, Tendo


Attendees: Burke, Jonathan Payne, Andy, Daniel, Ellen, Hadijah, Ian, Irene N, Juliet, Joseph K, Michael, Naman, Suruchi, Tendo, Grace

  • OCL Team Demo: OCL Web2
    • dif view - how does this compare to what you're imagining for before vs after customization? Before vs after a concept update?
    • Shared user stories: - Non-breaking changes for localization purposes + where to store those customizations; - Import/export for dictionaries/collections; - Comparisons/version management; - Filters and UI in general.
    • Have representative join public OCL call - dev calls on Tuesday 8am EST; Architecture calls Friday 8am EST - share priority user stories at the moment
    • Checklist of what's in scope for OCL vs what things need to be owned by OpenMRS
  • OCL API v2 - Use API2 for next production release? How "imminent" is the switch-over for OCL? 
    • OCL Team tentatively aiming for ~ end of Feb
    • Most calls are backwards compatible


Attendees: Grace, Suruchi, Burke, Michael, Andy, Ellen, Ian, Juliet, Tendo

  • End User Feedback on Export/Import workflow (@suruchi to lead)
  • Update on real-ish use case for OCL client: MFE Demo Distribution, experience thus far. (Need customization for sure. VIRAL LOAD vs Viral Load in UI display, also need to adjust the ranges → getting into "source of truth" issues.)
    • Test ranges vary by lab facility, by gender, age, ethnicity; different ranges depending on units - more complex than we should probably be trying to perfectly handle in dictionary. But OMRS doesn't have a place to store these values right now. Could persist values from the lab as part of the observation - but it's not being stored/handled as part of the OMRS model. 
      • Ellen recommends getting this information from the Lab Information System, not OMRS, so that it's in one place and don't have to maintain in both 
    • Should we be filing issues in OCL team's GitHub Issue Tracker rather than on #ocl? 
  • Update on plan to connect with Open Concept Lab team this friday: Demo
    • We in squad agree that joining dev forces would be ideal

2021-01-13: Customization Wireframes Walkthrough & Feedback

Attendees: Burke, Burke, Andy, Daniel, Ellen, Hadijah, Ian, Laure, Michael, Suruchi (Welcome Naman!)

  • OCL Team updates: API2 progress ongoing. QA environment is up with API2; staging environment this week. Burke has been working with Sonny to test out the client amidst the infra changes, and to make sure there aren't any API changes that will prevent client from running. Specific qa2 client testing not needed just yet. Surface level, big blocker checks ongoing.
  • CIEL: Content released for vaccination; OCL team will likely need to do another release at end of January.
    • Andy to start regular "office hour" for anyone in community who wants help w/ terminology
  • Client
    • Organization Management: Work update & demo by Hadijah; clarify questions that have arisen.
      • Stay consistent with "Company" vs "Organization" terminology used by OCL. Since optional, can mark optional here.
      • Rename "Collections" to be "Dictionaries" in the Organizations details page. Ideally Sources and Dictionary options would be links so I could click them and go there. 
    • Automated Frontend Tests: Update (Suruchi)
      • Login cypress test working 
      • Next tests in progress is Concepts tests and Create or 
    • Customization Workflow: Designs review (based on part 1 of the user stories/requirements document); any high-level updates from Burke on FHIR modelling
    • Sort Order requirements for Answers and Sets

2021-01-06: Reviewing January Sprint progress & plan, and confirming Customization User Stories 


Customization User Stories/Requirements document:
Attendees: Andy, Burke, Grace, Hadijah, Michael, Ivan, Suruchi, Tendo 

  • Hear about how the January Sprint is going (goal is a release at end of January, to release Org Management features and recent bug fixes)
    • Sprint Board: 
    • Hadijah working on view details workflow and UI, and edit organization this week.
    • Juliet working on organizing names alphabetically
    • Suruchi to work on making members editable
    • No content updates to Bangladesh since sept
      • Did have to go through deploying a new version right before launch and that worked well
      • Content updates required when:
        • Changing symptoms/treatments (e.g. with COVID)
        • New features or treatment programs
  • Learn about the Cypress test review work @suruchi did over the holiday break 
  • Confirm documentation to send to OCL team about Concept Customization, and discuss how to move forward with wireframes
    • Public Concepts Updates:
      • PIH, MSF Currently not following updates at all other than conversations directly w/ CIEL team. Sometimes a fix is needed really quickly - updating a name, adding a mapping; to push out new content immediately into the field - you'd do this to your own dictionary immediately. (So being able to manually make the updates / changes yourself. Sometimes need to change later an as-is CIEL concept, after having already pulled it in to your dictionary.)
      • Being able to add or auto-add new translations, new mappings, could be of value.
      • Changes used to be uncommon. Lots of changes related to COVID right now. ICD-11 move is on horizon: adding new ICD-11 maps. 
  • Briefly review the recent clean-up work done in our Jira; having another backlog cleaning session this week on Thursday at 5:30pm EAT

Links shared:

2019 Meeting Notes