Concept
Concept resource has a similar structure as Coding and CodeSystem.concept element. When you upload code system into Aidbox, we split CodeSystem resource into concepts. But for your convenience CRUD operations are allowed as well on the Concept resource. To create and manage simple dictionary/terminology, you can create a set of Concepts using Create operation.
resourceType: Concept
# id of concept; usually short name for terminology + code
id: loinc-17861-6
# inactivity flag
deprecated: true
system: http://loinc.org
code: 17861-6
display: Calcium [Mass/volume] in Serum or Plasma
# pre-expanded list of valueset ids/urls
valueset:
- labs
definition: <Definition string>
hierarchy:
- parent-code-1
- parent-code-2
designation:
display:
ge: der Calcium
es: el calcium
ru: Кальций
definition:
ge: der Calcium
es: el calcium
property:
LOINC:
long_common_name: ...
relatednames2: ...
This is a boolean flag, which can be used to deactivate (but not delete) a concept. This is the best-practice for terminology management - never delete concepts, but deprecate
It's a symbolic link on CodeSystem
A new hierarchy element-object that contains ancestors codes and amount of hops between current concept and ancestor. See detailed description and use cases.
A hierarchy element contains codes of parent concepts for hierarchical terminologies from top to bottom. This element is used for Subsumption Operation where you test that some code isA another code.
Designation element is copy semantic of CodeSystem.concept.designation - Additional representations for the concept - other languages, aliases, specialised purposes, used for particular purposes, etc. In Aidbox, it is represented in a more database-friendly format.
designation:
- use:
system: http://...designation-usage
code: display
language: ge
value: eigenclass
- use:
system: http://...designation-usage
code: display
language: es
value: el eigenclass
// to access it you need something like this
// designation.where(use='display' and language='ge').value
In Aidbox, it's grouped by use.code and after that by l_anguage_ attributes:
designation:
display:
ge: der Calcium
es: el calcium
ru: Кальций
definition:
ge: der Calcium
es: el calcium
// much more easy with this format
// designation.display.ge
Be careful,
Concept.property
is different from a FHIR CodeSystem.concept.property
! Concept.property is just an arbitrary JSON object with custom properties. It is good practice to put these props under the unique CodeSystem key.A property element is a polymorphic element, which contains additional properties for a concept like an axis of classification, etc. In Aidbox, we use a more database-oriented encoding with Object instead of the FHIR generic property array.
Example Concept with property:
resourceType: Concept
system: http://loinc.org
code: 17861-6
...
property:
LOINC:
long_common_name: ...
relatednames2: ...
Last modified 18d ago