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.
- The Systematized Nomenclature of Medicine (SNOMED) is a systematic, computer-processable collection of medical terms, in human and veterinary medicine, to provide codes, terms, synonyms and definitions which cover anatomy, diseases, findings, procedures, microorganisms, substances, etc.
- ICD-10 is the 10th revision of the International Statistical Classification of Diseases and Related Health Problems (ICD), a medical classification list by the World Health Organization (WHO). It contains codes for diseases, signs and symptoms, abnormal findings, complaints, social circumstances, and external causes of injury or diseases.
- RxNorm is a name of a US-specific terminology in medicine that contains all medications available on US market.
- The International Classification of Primary Care (ICPC) is a classification method for primary care encounters. It allows for the classification of the patient’s reason for encounter (RFE), the problems/diagnosis managed, primary or general health care interventions.
- Logical Observation Identifiers Names and Codes (LOINC) is a database and universal standard for identifying medical laboratory observations.
- Locale - Concepts should be in appropriate language: English, French, Spanish, Haitian Kreyol, Kinyarwanda, etc.
- Validate the following with the validation module:
- 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
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)