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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Guidelines for concept management

  • Use one central OpenMRS server for "golden" metadata (concepts, etc)
  • When possible, use the CIEL dictionary for new concepts instead of recreating a new one.
  • Use the Maternal Concept Lab (MCL) for viewing the CIEL, PIH, AMPATH dictionaries.  
  • Use Metadata sharing (MDS) for getting existing concepts.  
    • Use MCL to generate an export package with concepts for import into your local "golden" server  OR
    • Use the CIEL dropbox to get the latest mysqldump of the CIEL concept* tables.  Install this on a local OpenMRS server along with the MDS module.  Export packages from this server for your local "golden" server.
  • Create a concept source for this server (ie.  Rwanda, PIH) where the concept_ids will be used for mappings (ie.  PIH: 12)
  • Add unique mappings terms for use with forms and reports (ie. "PIH: 12", "PIH: Anemia", "CIEL:123456", "Rwanda: 388").  The names must be unique.
  • These mappings should have a concept reference map type of "SAME-AS"
  • Add terminology mappings where useful (ie. SNOMED, ICD10, RxNORM, ICPC2, LOINC). These are helpful for standardizing diagnoses, procedures, and billing.  These are already populated in CIEL and PIH.
  • Locale - Concepts should be in appropriate language:  English, French, Spanish, Haitian Kreyol, Kinyarwanda, etc.
  • Validate the following with the validation module:
    • concepts
    • concept names
    • concept description
  • Cleanup unused concepts
  • Delete or retire duplicate concepts
  • Delete unattached concept terms
  • Check for appropriate classes and datatypes 
    • diagnosis, symptom, finding, program, workflow, state or misc should have a datatype of N/A
    • LabSet, MedSet, and ConvSet should have set members
    • questions should not have a datatype of N/A

Guidelines for htmlforms

  • Maintain the latest forms on the metadata server
  • Use mds to create htmlform packages which include all the concepts, program, drugs, locations, etc.
  • Forms and reports should use mappings to a concept dictionary (ie. CIEL or Rwanda) and not uuids or concept_ids
  • <htmlform>
                    <!-- Hemoglobin 3ccc7158-26fe-102b-80cb-0017a47871b2 21 -->
            <at:var at:name="HEMOGLOBIN" />=RWANDA:21
       <p>Hb: <obs conceptId="$<at:var at:name="HEMOGLOBIN" />" /></p>

    Add concept mappings within macro in the htmlform


  • Groovy module - Can be used with sync or non-sync environments to make changes to the OpenMRS database. The groovy modules allows for groovy scripts to be saved and managed within OpenMRS.
    • Script for deleting concept terms, maps, sources (ie. local, AMPATH, etc)
    • Script for adding new concept terms, maps, source (ie. Rwanda)
    • Script for renaming a concept source (ie. MVP/CIEL)
  • Metadata Sharing (mds) - Used to copy all metadata (concept and forms) between systems. Works well with sync and helps to propagate changes to all servers.
  • Validation module - Checks the concept dictionary for duplicate concept names, concept descriptions with null descriptions, Locations, etc.
  • Github repo for scripts (TBD)
    •  Add scripts (mysql and groovy) to public repo for sharing.  
      • Concept cleanup
      • Helper scripts for OpenMRS migration
      • Maintenance tools for propagating software (war and modules)
      • De identifying scripts
      • Adding new concept terms, maps, source
      • Check for duplicate mappings (when a reference term from PIH, CIEL, or Rwanda should not be on multiple concepts)

  • No labels