Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register

Ticket #97 (new enhancement)

Opened 3 years ago

Last modified 2 years ago

Concept_synonym changes

Reported by: pbiondich Assigned to: pbiondich
Priority: major Milestone: OpenMRS Someday
Component: OpenMRS Code Base Keywords:
Cc: bwolfe, bmamlin, pbiondich Introductory Ticket:

Description

We need a way to differentiate between synonyms that are used for convenience, vs. those that are part of the medical vernacular.

For example, "acidity" within Eldoret clinics refers to GERD. That is a synonym which you'd like to reuse (and redisplay) throughout the EMR when a clinican writes "acidity" (even though we're storing GERD).

This is different than "iz06" which might be a convenience synonym for a MMR immunization, but shouldn't be displayed.

Perhaps an attribute of a synonym?

Change History

07/10/06 21:48:36 changed by djazayeri

  • milestone changed from OpenMRS 1.1 to OpenMRS sometime.

09/26/06 21:47:48 changed by bmamlin

  • type changed from task to enhancement.

I think we settled on this:

Definitions

synonym -- an alternative name for a concept, including abbreviations or valid alternate spellings, or word substitutions. For example: COMPLETE BLOOD COUNT could have the synonyms CBC and WHOLE BLOOD COUNT

search phrase -- any phrase that may be useful when searching for a concept, but is not a valid (or useful) representation for the concept. These could be used for common misspellings, bar code values, and any phrase that might be helpful in aiding the search process but does not represent a valid name (or alternate name) for the concept. For example: TETRACYCLINE could have the search phrases TETROCICLINE (if that is often typed by users) and SUMYCIN (to allow look up by brand name without displaying brand name on reports).

Overview

The goal of distinguishing these two forms of alternate names would be to support the use of synonyms on reports -- i.e., if a doctor orders CBC, then she could see CBC on the list of ordered tests, even thought the primary name is COMPLETE BLOOD COUNT. Search phrases, on the other hand, would be immediately converted to the primary name, serving only to aid in the concept search process.

There are two phases to supporting this enhancement: 1) Update concept_synonym and the UI to support differentiating synonyms and search phrases 2) Update obs and order tables, the API, and the UI to persist synonyms used to find concepts. Essentially, anywhere we persist a concept linkage would need an additional varchar attribute to hold the synonym text used to create the linkage.

Distinguishing synonyms and search phrases

This could be accomplished by adding concept_synonym.search_phrase as a boolean with default false.

The concept edit UI would present synonyms as it does now, storing all these as rows in the concept_synonym table with concept_synonym.search_phrase = false. Then we'd add a second list below Synonyms that would be labeled Search phrases. All entries in the Search phrases list would be added to concept_synonym with concept_synonym.search_phrase = true.

Persisting synonyms

We would need to add a concept_synonym attribute to obs and order tables and then adjust the API and UI to use these attributes to (1) persist the text used to select a concept and (2) use this text, when non-null, instead of the concept's primary name on reports and for display.

03/05/07 22:30:27 changed by bmamlin

After some discussion, we realize that we need to store a unique ID for each synonym, necessitating concept_synonym.concept_synonym_id.

03/06/07 03:50:50 changed by bmamlin

  • cc changed from bwolfe, bmamlin to bwolfe, bmamlin, pbiondich.

It looks like we're going to fold synonyms into concept_name. Paul's going to mock up the model on the wiki.