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


The concept graph can be constructed in different ways. This page contains various design models represented as class diagrams.

Graph Design Models

Generic Graph

Nodes and edges are represented in a generic way, allowing an arbitrary graph to be constructed.


  1. Complete flexibility
  2. Easily extensible


  1. Nodes must be overloaded with all attributes
  2. No inherent meaning. Must rely on convention

Fixed Node Types, No Edges

The graph has readily apparent kinds of nodes, likely to be commonly occurring in any statement. Each kind of node is separated into a specific node type, with a fixed relationship to other node types. Edges are no longer needed.

By distilling the essential node types, this representation removes the ambiguity of a free-form graph, making the formation of meaningful sentences direct and obvious.


  1. Sentence structure is clear
  2. Each node type can have appropriate attributes


  1. Extensibility requires continually adding new node types
  2. No method for augmenting semantics (can't make new associations between nodes)

Qualified Concept Names

The concept names in the Fixed Node Type diagram can now be used for multiple purposes by annotating them with well-known tags. For example, "preferred" or "abbreviation". Overloading the ConceptName in this way allows synonyms to be folded in by adding a type named "synonym".


  1. Reduced complexity of representation
  2. Simple mechanism for extending semantics in a controlled way


  1. expressions still limited by fixed structure of the graph
  • No labels