Motivation
- Rationale
- in the first lesson, the OntoDL object types codesystem and concept have been introduced. For the sampke code system a name, URI and version numer were provided while concepts had just been assigned a name which implicitly was considered the concept's code, too. Nevertheless, there is more to say about a code system or concept. E.g. a concept may need a definiton and a text to display to the user. Additional information may include synonyms for the concept or designations in different languages.
- In this lesson you will learn how to use object properties to further describe a newly defined code system and concept
- What you need
- You should have worked through Lesson 1 of this tutorial in order to have a basic understanding of OntoDL objects. Beside this you need your MS Word with the OntoDL macro installed.
- Example
- This example builds upon the example introduced in Lesson 1 which again implements a simple story board:
- Storyboard: In order to foster semantic interoperability among its IT-systems a hospital wants to define unique terminologies for its clinics. Each clinic and each ward shall be assigned a unique code that shall be used throughout all IT-systems for referring to that clinic or ward.
Properties of Code Systems and Concepts
Each OntoDL object can be further described by properties. In Lesson 1 the definitions of a URI and Version for a codesystem object are examples for the use of propereties. As properties are the most important means to control the definition of an object, OntoDL offers many different ways for assigning values to properties. In this lesson we will focus on the OntoDL Object Language syntax which is rather simple. All you need to do is to place a 2-column-table into the definition scope of an object that holds the property name in the first column and the assigned value of the property in the second column. The example below shows how to define a display value and a definition for a concept:
| Style Sheet |
|
Text |
|
Comment
|
| OntoDL |
|
|
|
define concept (cardiologic clinic) {
|
|
|
The opening brace sets up the definition scope for the concept "cardiologic clinic". All property value assignements done within the definition scope are implicitly linked to this concept.
|
| OntoDL |
|
|
|
|
|
|
|
Cardiologic Clinic, Prof. Smyth
|
|
|
|
|
|
The Cardiologic Clinic (Head: Prof. Smyth) takes responsibility for all cardiologic interventions and acute care therapies.
|
|
|
|
|
The left column gives the properties to be set while the second column gives the values to be assigned to these properties.
|
| OntoDL |
|
|
|
Comment
|
Predefined Properties
For each object type there are several properties defined in OntoDL which carry a defined semantics and are considered for the FHIR ValueSet resource that is generated from the OntoDL definitions. For each of these properties a fixed type is given; values assigned to such a property must comply to this type. Follow the links below to see the list of defined properties and their respective types for the object types introduced so far:
Some properties have a type collection with a defined subtype. Properties of collection may be assigend to an object mutiple times; e.g. you may add multiple definitions to a concept. The subtype defines the type of the objects within the collection; e.g. definiton is a collection of strings.
Qualified Properties
The FHIR ValueSet resource specification allows for concepts to have multiple designations for different usage and different language. OntoDL generalizes this idea and allows for every string value to be further qualified by a language and a usage restriction. For this strings are defined as objects of type string. The string type defines two properties for holding this information:
- Language: a string value holding a language code (e.g. de for Germany)
- Use: a concept defining the use of the string (e.g. synonym to the concept display name)
In order to simplify the use of these properties, you may provide further qualifiers when defining a property. Qualifiers are placed in sqaure brackets and consis of a poperty-value-pair. Qualifiers set the respective properties of the object that represents the property to the defined object. E.g. when defing a property designation to a concept, OntoDL creates an object of type string that is linked with a collection named designation. When the string object is defined, a qualifier Language=de" may be provided to instantiate the respective property of the string object.
| Style Sheet |
|
Text |
|
Comment
|
| OntoDL |
|
define codesystem (Clinics and Wards) { |
|
a new terminology is defined
|
| OntoDL |
|
|
|
some properties are set
|
| OntoDL |
|
define concept (cardiologic clinic) { |
|
a concept is defined
|
| OntoDL |
|
|
|
| Designation[Language=de]
|
Kardiologie
|
| Designation[Language=es]
|
cardiología
|
|
|
|
A German and a Spanisch designation is defined for the concept
|
| OntoDL |
|
} |
|
|
| OntoDL |
|
} |
|
|
For this example OntoDL internally creates a collection named "Designation" because the property "Designation" has the type collection. The expected values for the contents of the collection shall each have the type string. In the example two such objects are defined. When creating these objects, OntoDL takes the defined qualifiers and applies them as property definitions to these objects. The first string object in the collection wil therefore have a property "Language" with the value "de" defined and the second will have a property "Language" with the value "es" defined.
Example
Below an example is shown, how the terminology defined in Lesson 1 looks like with all relevant properties set to meaningful values.
| Style Sheet |
|
Text |
|
Comment
|
| OntoDL |
|
define codesystem (Clinics and Wards) { |
|
A new terminology "Clinics and Wards" is defined.
|
| OntoDL |
|
|
|
| URI
|
http://hospital.com/placeofstay
|
| Version
|
0.1
|
| Description
|
This terminology lists all clinics and wards of the ABC-hospital. All internal IT-Systems shall dynamically load information about clinics and wards from this terminology.
|
| Group
|
EXA
|
|
|
|
The "URI" and "Version" properties of a codesystem object together form the unique identifier for the respective resource in CTS2-LE. The "Group" property advises CTS2-LE where to place the terminology in the terminology browser. The "Description" property gives some narrative text to help the user to understand what this terminology is for.
|
| OntoDL |
|
define concept (cardiologic clinic) { |
|
A concept named "cardiologic clinic" is defined within the code system.
|
| OntoDL |
|
|
|
| Display
|
Cardiologic Clinic, Prof. Smyth
|
| Designation[Language=de]
|
Kardiologische Klinik
|
| Definition
|
The Cardiologic Clinic (Head: Prof. Smyth) takes responsibility for all cardiologic interventions and acute care therapies.
|
|
|
|
The "Display" property sets the text to be shown in the CTS2-LE terminology browser. The "Designation" property defines an alternative designation for the concept. A qualifier is used to signal that this is a German designation. In this example only a single designation is defined, but as "Designation" is defined as collection type, you may assign an arbitrary numer of designations - even with the same language - to a concept.
The "Definition" property provides the normative definition of the concept. This property is of type collection of string, too, so we may have added further definitions with additional qualifiers (which makes no sense for this property, because FHIR does not allow for language tags with definition elements.
|
| OntoDL |
|
define concept (ward 51.1) { |
|
|
| OntoDL |
|
|
|
| Display
|
Cardiologic care ward for Women and Children
|
| Designation[Language=de]
|
Kardiologische Station für Frauen und Kinder
|
|
|
|
|
| OntoDL |
|
} |
|
|
| OntoDL |
|
define concept (ward 51.2) { |
|
|
| OntoDL |
|
|
|
| Display
|
Cardiologic care ward for Intensive Care
|
| Designation[Language=de]
|
Kardiologische Intensivstation
|
|
|
|
|
| OntoDL |
|
} |
|
|
| OntoDL |
|
} |
|
Comment
|
| OntoDL |
|
define concept (orthopedic clinic) { |
|
|
| OntoDL |
|
|
|
| Display
|
Orthopedic Clinic, Prof. Miller
|
| Designation[Language=de]
|
Orthopädische Klinik
|
| Definition
|
The Orthopedic Clinic (Head: Prof. Miller) takes responsibility for all interventions and therapies related to knee and hip problems.
|
|
|
|
|
| OntoDL |
|
define concept (ward 52.1){ |
|
|
| OntoDL |
|
|
|
| Display
|
Orthopedic care ward for knee and hip patients
|
| Designation[Language=de]
|
Orthopädische Station für Knie- und Hüft-Patienten
|
|
|
|
Comment
|
| OntoDL |
|
} |
|
|
| OntoDL |
|
} |
|
|
| OntoDL |
|
} |
|
|