Concepts are the core structure of code systems. They define the "things" that can be communicated about as well as the granularity those things can be expressed at. Concepts may have definitions, relationships and will always have at least one representation.
|Requirement||Concepts and their associated information may be versioned|
|Rationale||The definitional information about a concept can change across code system versions. It's important to know exactly what the definition, intended use, relationships, properties and representations of a concept were as part of a particular code system release.|
|Methodology||Refer to the versioning mechanism on Code System|
|Requirement||Concepts may have a number of different types of annotations|
|Rationale||See rationales for individual annotations types. Definition, if present, provides the semantics for the concept.|
|Requirement||Concepts should identify how they are intended to be used|
|Rationale||When a concept is represented in a code system, it has a particular intended use. Some concepts exist to be used in communication or persistence. Some concepts exist for navigation. Some exist only for analysis. Knowing how a concept is intended to be used affects application behavior.|