OpenMRS does not want to be a vocabulary standard. There is a lot of up-keep involved with managing universal codes used around the world. Instead, every openmrs installation is free to add new concepts, change concepts, etc in their local installation. That installation's concepts will get concept_ids assigned by the database and are probably unique to that installation.
A concept can have any number of mappings to any number of other vocabularies. Other vocabularies are called "concept sources" in openmrs (these would be like LOINC, SNOMED, ICD-9, ICD10, etc). Every concept can define a string for its mapping in any "concept source" defined in the database.
Openmrs ships with some demo data which includes concepts. It is optional to use this set of concepts. These concepts do not come with any mappings defined to any terminology.
Creating a new Concept Source
- Go to the Administration screen
- Click "Manage Concept Sources"
- Click "Add new Concept Source"
- Fill in the specific details.
Creating the Mapping
- Go to the Concept Dictionary
- Go to the edit screen of the concept you want
- Scroll down to the "Mappings"
- Click "Add Mapping"
- Enter the SNOMED code and then choose SNOMED as the source
- Click "Save" to save the concept
Receiving HL7 Messages
As of version 1.5, openmrs can receive hl7 ORUR01 messages with mapping codes instead of just internal concept_ids. The hl7_code for the concept_source simply has to be in the hl7 part and the code can be the mapping:
(Assumes the weight concept has a mapping of "398439443293" to the Snomed "concept source" and that source has the hl7 code of "SNOMED")
To add a concept mapping to a concept using the API:
To get a concept by its mapping using the API:
The openmrs concept collaborative uses the mapping tables to facilitate openmrs installations to share data by mapping to each other's concepts. In this case, you would have a concept source named "PIH's Concepts" and then add mappings there.