Skip to content
Jonathan Payne edited this page Oct 28, 2026 · 2 revisions

The goal is to make collection-based dictionary management in OCL v3 usable for the average OpenMRS implementer. Many of the capabilities are already in place. They now need to be packaged into intuitive workflows, along with the missing capabilities we identify.

This wiki is the working document for that effort, and it replaces the earlier Google Docs (Sources and history). Anyone invited as a collaborator can edit it.

Where things stand (October 2026)

  • Five Scenarios describe how a dictionary should expand when its concepts have equivalents in a higher-ranked source.
  • Six draft Rules resolve each scenario to a single expansion. Each rule lists the alternatives still under review.
  • In the equivalency rules prototype, you can switch each rule's options and see the result, for the five scenarios or for any CIEL or PIH concept.
  • The main decision under review is Rule 3: when a concept is replaced by its equivalent, does it bring the replacement's own answers and set members, or the referenced concept's?

Use cases

  1. Building a concept dictionary mainly from CIEL, with some concepts in my own custom source.
  2. Adapting an implementation guide (IG) to use the equivalent concepts in an implementation's dictionary.
  3. Publishing content, for example to share it with another implementation.

Focus areas

  1. Equivalency-aware expansion (the current focus)
  2. A workflow to improve how a collection's references are modeled, so the collection stays maintainable
  3. Happy-path workflows for managing a collection-based dictionary
  4. Concept customizations

The work builds on real collections. For example, the openmrs org's DeathCause collection has a few concepts from two sources.

Pages

Page What's on it
Background Why collections, and why equivalency is the hard part
Definitions Dictionary, ranked list, equivalency, and the other terms used here
Scenarios The five scenarios, with their concepts and results
Rules The six draft rules, their alternatives, and how they resolve each scenario
Requirements The ranked list, equivalency and milestones
Open questions Decisions still to make, and cases the scenarios don't cover
Prototype How to use the prototype and read its results
Data notes What OCL's data shows about the scenarios
Sources and history The documents this wiki replaces

How to take part

Edit any page, or comment on the tracking ticket, OpenConceptLab/ocl_issues#2972. To propose a different rule, edit its draft on Rules and say which scenarios it changes. If the prototype has the option, link to it with that option selected: the link keeps the options you chose.

Clone this wiki locally