DavidStables (talk | contribs) No edit summary |
DavidStables (talk | contribs) No edit summary |
||
Line 5: | Line 5: | ||
The main classes are illustrated here on the right, and the class definitions and subclasses are specified in text, the tables and text being auto generated from the IM SHACL shapes.<br /> | The main classes are illustrated here on the right, and the class definitions and subclasses are specified in text, the tables and text being auto generated from the IM SHACL shapes.<br /> | ||
[[File:IM_meta_model.png|alt=|frameless|900x900px]] | [[File:IM_meta_model.png|alt=|frameless|900x900px]] | ||
== Basic shapes == | == Basic shapes == | ||
These shapes are the meta classes of the named entities within the information model. | These shapes are the meta classes of the named entities within the information model. | ||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23IriRef/ IrirRef] === | === [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23IriRef/ IrirRef] === | ||
Is a subtype of [[#Data model/Node shape |Data model/Node shape ]] | |||
A reference to resource with an iri and optional name to enable readability | A reference to resource with an iri and optional name to enable readability | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 28: | Line 29: | ||
{{Note| Example <br>{"@id" : "sn:29857009", "name" : "Chest pain (finding)"} }} | {{Note| Example <br>{"@id" : "sn:29857009", "name" : "Chest pain (finding)"} }} | ||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Entity/ Entity] === | === [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Entity/ Entity] === | ||
Is a subtype of [[#Data model/Node shape |Data model/Node shape ]] | |||
The abstract super class and data model for all named entities in the model i.e. the data model of the entities that are labelled with iri label and status | The abstract super class and data model for all named entities in the model i.e. the data model of the entities that are labelled with iri label and status | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 62: | Line 66: | ||
|- | |- | ||
|colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23isContainedIn/ <span style="color:green">isContainedIn ]</span></span> | |colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23isContainedIn/ <span style="color:green">isContainedIn ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="Folder containing subfolders or entities">[ | |<span title="Folder containing subfolders or entities">[[#Folder|Folder]]</span> | ||
|An entity that this entity inherits from, both semantically and structurally, this is also used for sub properties as properties are classes of properties | |An entity that this entity inherits from, both semantically and structurally, this is also used for sub properties as properties are classes of properties | ||
|- | |- | ||
|colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fsnomed.info%2Fsct%23370124000/ <span style="color:green">370124000 ]</span></span> | |colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fsnomed.info%2Fsct%23370124000/ <span style="color:green">370124000 ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="The abstract super class and data model for all named entities in the model i.e. the data model of the entities that are labelled with iri label and status">[ | |<span title="The abstract super class and data model for all named entities in the model i.e. the data model of the entities that are labelled with iri label and status">[[#Entity|Entity]]</span> | ||
|When a status is inactive, the entity that replaces this entity (if any) | |When a status is inactive, the entity that replaces this entity (if any) | ||
|- | |||
|} | |||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Folder/ Folder] === | |||
Is a subtype of [[#Entity|Entity]] | |||
Folder containing subfolders or entities | |||
{| class="wikitable" | |||
|+ | |||
|colspan="2"|Property | |||
|Card. | |||
|Value type | |||
|Description | |||
|- | |- | ||
Line 138: | Line 156: | ||
|Description | |Description | ||
|- | |- | ||
|colspan="2"|<span title=" | |colspan="2"|<span title="The parameters of a function or constraint component.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23parameter/ <span style="color:green">parameter ]</span></span> | ||
|0..* | |0..* | ||
|<span title="Models a named parameter used in function or other clauses. The parameter name and data type of the parameter (if literal) or class (if on object) ">[[#Parameter|Parameter]]</span> | |<span title="Models a named parameter used in function or other clauses. The parameter name and data type of the parameter (if literal) or class (if on object) ">[[#Parameter|Parameter]]</span> | ||
Line 216: | Line 234: | ||
|- | |- | ||
|colspan="2"|<span title="The property that determines that two given properties are inverse.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23inverseOf/ <span style="color:green">inverseOf ]</span></span> | |colspan="2"|<span title="The property that determines that two given properties are inverse.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23inverseOf/ <span style="color:green">inverseOf ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="The class of properties">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23Property/ rdf:Property]</span> | |<span title="The class of properties">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23Property/ rdf:Property]</span> | ||
|A property that this property is an inverse of | |A property that this property is an inverse of | ||
|- | |- | ||
|colspan="2"|<span title="A domain of the subject property.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23domain/ <span style="color:green">domain ]</span></span> | |colspan="2"|<span title="A domain of the subject property.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23domain/ <span style="color:green">domain ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="The class of classes.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23Class/ rdfs:Class]</span> | |<span title="The class of classes.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23Class/ rdfs:Class]</span> | ||
|The classes or concepts that may have this property as a property, or a role, or a role within a role group | |The classes or concepts that may have this property as a property, or a role, or a role within a role group | ||
|- | |- | ||
|colspan="2"|<span title="A range of the subject property.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23range/ <span style="color:green">range ]</span></span> | |colspan="2"|<span title="A range of the subject property.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23range/ <span style="color:green">range ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="The class of classes.">[[#Class|Class]]</span> | |<span title="The class of classes.">[[#Class|Class]]</span> | ||
|the type of value for this property. | |the type of value for this property. | ||
|- | |- | ||
Line 259: | Line 263: | ||
|- | |- | ||
|colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23list/ <span style="color:green">list ]</span></span> | |colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23list/ <span style="color:green">list ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | ||
|The list of entities by iri to select from | |The list of entities by iri to select from | ||
Line 281: | Line 285: | ||
|- | |- | ||
|colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23isContainedIn/ <span style="color:green">isContainedIn ]</span></span> | |colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23isContainedIn/ <span style="color:green">isContainedIn ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="Folder containing subfolders or entities">[ | |<span title="Folder containing subfolders or entities">[[#Folder|Folder]]</span> | ||
| | | | ||
|- | |- | ||
|colspan="2"|<span title="The subject is a subclass of a class.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23subClassOf/ <span style="color:green">subClassOf ]</span></span> | |colspan="2"|<span title="The subject is a subclass of a class.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23subClassOf/ <span style="color:green">subClassOf ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="The meta class for shapes, those shapes defining a type i.e the shape of a shape">[ | |<span title="The meta class for shapes, those shapes defining a type i.e the shape of a shape">[[#NodeShape|NodeShape]]</span> | ||
| | | | ||
|- | |- | ||
|colspan="2"|<span title=" | |colspan="2"|<span title="Links a shape to its property shapes.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23property/ <span style="color:green">property ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="A meta class defining the shape of a property definition in a node shape. Not to be confused with a property concept">[[#PropertyShape|PropertyShape]]</span> | |<span title="A meta class defining the shape of a property definition in a node shape. Not to be confused with a property concept">[[#PropertyShape|PropertyShape]]</span> | ||
|The list of properties for this shape | |The list of properties for this shape | ||
Line 313: | Line 317: | ||
|- | |- | ||
|colspan="2"|<span title="The subject is a subclass of a class.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23subClassOf/ <span style="color:green">subClassOf ]</span></span> | |colspan="2"|<span title="The subject is a subclass of a class.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23subClassOf/ <span style="color:green">subClassOf ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="data model for terminology concepts">[ | |<span title="data model for terminology concepts">[[#Concept|Concept]]</span> | ||
|The concept this concept is a sub type of | |The concept this concept is a sub type of | ||
|- | |- | ||
Line 323: | Line 327: | ||
|- | |- | ||
|colspan="2"|<span title="links a an alternative term code to a concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23hasTermCode/ <span style="color:green">hasTermCode ]</span></span> | |colspan="2"|<span title="links a an alternative term code to a concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23hasTermCode/ <span style="color:green">hasTermCode ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="data model for a term code">[[#TermCodeShape|TermCodeShape]]</span> | |<span title="data model for a term code">[[#TermCodeShape|TermCodeShape]]</span> | ||
|Alternative terms or synonyms for this concept. A term may also have a description id. | |Alternative terms or synonyms for this concept. A term may also have a description id. | ||
Line 338: | Line 342: | ||
|- | |- | ||
|colspan="2"|<span title="points to one or more maps that matches this concept to another concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23hasMap/ <span style="color:green">hasMap ]</span></span> | |colspan="2"|<span title="points to one or more maps that matches this concept to another concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23hasMap/ <span style="color:green">hasMap ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | ||
|Any backward maps from core to legacy. This is limited to complex maps rather than simple matches and are 'backward' matches not suitable for automatic inclusion in subsumption queries | |Any backward maps from core to legacy. This is limited to complex maps rather than simple matches and are 'backward' matches not suitable for automatic inclusion in subsumption queries | ||
Line 353: | Line 357: | ||
|- | |- | ||
|colspan="2"|<span title="Points to a match between the concept and a legacy concept as part of a map">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23matchedTo/ <span style="color:green">matchedTo ]</span></span> | |colspan="2"|<span title="Points to a match between the concept and a legacy concept as part of a map">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23matchedTo/ <span style="color:green">matchedTo ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="Value set place holder for unmodelled property value sets">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23VSET_Unspecified/ im:VSET_Unspecified]</span> | |<span title="Value set place holder for unmodelled property value sets">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23VSET_Unspecified/ im:VSET_Unspecified]</span> | ||
|For a legacy concept, one or more concept this concept matches to. A query for the matched to concepts would entail this concept normally, but NOT the children of this concept | |For a legacy concept, one or more concept this concept matches to. A query for the matched to concepts would entail this concept normally, but NOT the children of this concept | ||
|- | |- | ||
|colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fsnomed.info%2Fsct%23370124000/ <span style="color:green">370124000 ]</span></span> | |colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fsnomed.info%2Fsct%23370124000/ <span style="color:green">370124000 ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="data model for terminology concepts">[ | |<span title="data model for terminology concepts">[[#Concept|Concept]]</span> | ||
|Indicates the concepts that this concept has been replaced by | |Indicates the concepts that this concept has been replaced by | ||
|- | |- | ||
|colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23isChildOf/ <span style="color:green">isChildOf ]</span></span> | |colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23isChildOf/ <span style="color:green">isChildOf ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="data model for terminology concepts">[ | |<span title="data model for terminology concepts">[[#Concept|Concept]]</span> | ||
|points to the parent legacy concept that this concept is in. Note that it may or may not be a true subtype. Reflects the original taxonomy | |points to the parent legacy concept that this concept is in. Note that it may or may not be a true subtype. Reflects the original taxonomy | ||
|- | |- | ||
Line 375: | Line 374: | ||
|} | |} | ||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23TermCodeShape/ Term code shape] === | === [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23TermCodeShape/ Term code shape] === | ||
Is a subtype of [[#Data model/Node shape |Data model/Node shape ]] | |||
data model for a term code | data model for a term code | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 384: | Line 386: | ||
|- | |- | ||
|colspan="2"|<span title="A human-readable name for the subject.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23label/ <span style="color:green">label ]</span></span> | |colspan="2"|<span title="A human-readable name for the subject.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23label/ <span style="color:green">label ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | ||
|The term or synonym for the concept | |The term or synonym for the concept | ||
|- | |- | ||
|colspan="2"|<span title="a code for a concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23code/ <span style="color:green">code ]</span></span> | |colspan="2"|<span title="a code for a concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23code/ <span style="color:green">code ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | ||
|Descriptionid or code for this particular term | |Descriptionid or code for this particular term | ||
|- | |- | ||
|colspan="2"|<span title="Status of relationship">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23status/ <span style="color:green">status ]</span></span> | |colspan="2"|<span title="Status of relationship">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23status/ <span style="color:green">status ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="A status that is in active or active">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Status/ im:Status]</span> | |<span title="A status that is in active or active">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Status/ im:Status]</span> | ||
|The status of this particular term code, may be active or inactive | |The status of this particular term code, may be active or inactive | ||
|- | |- | ||
Line 467: | Line 415: | ||
|- | |- | ||
|colspan="2"|<span title="An anonymous property connecting to an anonymous class that has an intersection of sub roles">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23roleGroup/ <span style="color:green">roleGroup ]</span></span> | |colspan="2"|<span title="An anonymous property connecting to an anonymous class that has an intersection of sub roles">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23roleGroup/ <span style="color:green">roleGroup ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="data model for a role group">[[#RoleGroupShape|RoleGroupShape]]</span> | |<span title="data model for a role group">[[#RoleGroupShape|RoleGroupShape]]</span> | ||
|Zero or many role groups, each group containing one or more roles. These represent constraints on the super types i.e. more specific. Generated by inference making sure to remove duplicate properties or super properties. | |Zero or many role groups, each group containing one or more roles. These represent constraints on the super types i.e. more specific. Generated by inference making sure to remove duplicate properties or super properties. | ||
Line 474: | Line 422: | ||
|} | |} | ||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23RoleGroupShape/ Role group shape] === | === [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23RoleGroupShape/ Role group shape] === | ||
Is a subtype of [[#Data model/Node shape |Data model/Node shape ]] | |||
data model for a role group | data model for a role group | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 483: | Line 434: | ||
|- | |- | ||
|colspan="2"|<span title="The class of properties">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23Property/ <span style="color:green">Property ]</span></span> | |colspan="2"|<span title="The class of properties">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23Property/ <span style="color:green">Property ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="data model for terminology concepts">[ | |<span title="data model for terminology concepts">[[#Concept|Concept]]</span> | ||
|The concept identifier of the concept that is the role. Role Groups are unique in that their properties are any properties from an ontology,usually concepts | |The concept identifier of the concept that is the role. Role Groups are unique in that their properties are any properties from an ontology,usually concepts | ||
|- | |- | ||
Line 531: | Line 482: | ||
== Query Model and Set definition shapes == | == Query Model and Set definition shapes == | ||
These shapes form the model for defining sets (also known as query definitions) for retrieving data from the IM or health records. | These shapes form the model for defining sets (also known as query definitions) for retrieving data from the IM or health records. | ||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23DataSet/ Data set] === | |||
Is a subtype of [[#Query|Query]] | |||
A query that produces a data set as an output is stored as an entity in a query library | |||
{| class="wikitable" | |||
|+ | |||
|colspan="2"|Property | |||
|Card. | |||
|Value type | |||
|Description | |||
|- | |||
|} | |||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Query/ Query] === | === [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Query/ Query] === | ||
Line 550: | Line 515: | ||
|} | |} | ||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23QueryDefinition/ Query definition] === | |||
Is a subtype of [[#IriAlias|IriAlias]] | |||
A set definition holding the logical definition of a set. Usually referred to as a Query as these are used to retrieve data.<br>Includes most of the main logical query constructs used in mainstream query languages, thus is a constrained version of mainstream languages that is schema independent. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |||
|colspan="2"|Property | |||
|Card. | |||
|Value type | |||
|Description | |||
|- | |||
|colspan="2"|<span title="Optional description for clause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23description/ <span style="color:green">description ]</span></span> | |||
|0..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|Optional description of the query definition for support purposes. | |||
|- | |||
|colspan="2"|<span title="The value comparison for lower end of the range">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23from/ <span style="color:green">from ]</span></span> | |||
|0..* | |||
|<span title="An IRI with a name and an optional alias and a variable name when the iri is passed in as an argument (e.g. $this">[[#IriAlias|IriAlias]]</span> | |||
|The base cohort/ set or type(s), or instance(s) on which all the subsequent where or filter clauses operate. If more than one this is treated as an OR list. | |||
|- | |||
|colspan="2"|<span title="A chained where clause operating on the property value object. Equivalent to a join in SQL or '.' in sparql">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23where/ <span style="color:green">where ]</span></span> | |||
|0..1 | |||
|<span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.Supports graph traversal filtering and inference for subsumption query">[[#WhereClause|WhereClause]]</span> | |||
|Tests properties and property paths and applies filters. Equivalent to SQL Join/ Where and SPARQL Where<br>Bollean where clauses supported. | |||
|- | |||
|colspan="2"|<span title="Return query clause logically similar to SQL/SPARQL select and CYPHER Return in object form">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23return/ <span style="color:green">return ]</span></span> | |||
|1..1 | |||
|<span title="Defines the objects and properties to retrieve from a graph, subject to a mach clause. Supports graphql type nesting and sub selects for column groups">[[#SelectClause|SelectClause]]</span> | |||
|Return query clause logically similar to SQL/SPARQL select but with GraphQL nesting ability | |||
|- | |||
|colspan="2"|<span title="If the results need to be grouped, the grouping properties.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23groupBy/ <span style="color:green">groupBy ]</span></span> | |||
|0..* | |||
|<span title="An IRI with a name and an optional alias and a variable name when the iri is passed in as an argument (e.g. $this">[[#IriAlias|IriAlias]]</span> | |||
|If the results need to be grouped, the grouping properties. | |||
|- | |||
|colspan="2"|<span title="Ordering of instances via a property value in order to further test in another where clause.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23orderBy/ <span style="color:green">orderBy ]</span></span> | |||
|0..* | |||
|<span title="An IRI with a name and an optional alias and a variable name when the iri is passed in as an argument (e.g. $this">[[#IriAlias|IriAlias]]</span> | |||
|Ordering of instances via a property value returned. | |||
|- | |||
|colspan="2"|<span title="direction of ordering (DESC or ASC) .">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23direction/ <span style="color:green">direction ]</span></span> | |||
|0..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|direction of ordering (DESC or ASC) . | |||
|- | |||
|colspan="2"|<span title="Number of entities to return. Normally used with order by">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23limit/ <span style="color:green">limit ]</span></span> | |||
|0..1 | |||
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span> | |||
|Number of entities to return. Normally used with order by | |||
|- | |||
|colspan="2"|<span title="Tests an aggregate result from the group clause for a value">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23having/ <span style="color:green">having ]</span></span> | |||
|0..1 | |||
|<span title="A clause testing an aggregate function on a property usually one that is grouped">[[#HavingClause|HavingClause]]</span> | |||
|Tests an aggregate result from the group clause for a value | |||
|- | |||
|colspan="2"|<span title="SubQueries used to group columns in multi group reports. The sub queries are all subsets of the main query clauses">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23subQuery/ <span style="color:green">subQuery ]</span></span> | |||
|0..* | |||
|<span title="A set definition holding the logical definition of a set. Usually referred to as a Query as these are used to retrieve data.Includes most of the main logical query constructs used in mainstream query languages, thus is a constrained version of mainstream languages that is schema independent.">[[#QueryDefinition|QueryDefinition]]</span> | |||
|SubQueries used to group columns in multi group reports. The sub queries are all subsets of the main query clauses | |||
|- | |||
|colspan="2"|<span title="Prefixe used in the rest of the document">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23prefix/ <span style="color:green">prefix ]</span></span> | |||
|0..0 | |||
|<span title="The model of a class containing an iri prefix map">[[#PrefixShape|PrefixShape]]</span> | |||
|list of prefix to namespace expansion to enable readability of iris | |||
|- | |||
|colspan="2"|<span title="true if you want the results to use IRI prefixes">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23usePrefixes/ <span style="color:green">usePrefixes ]</span></span> | |||
|0..1 | |||
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span> | |||
|true if you want the results to use IRI prefixes | |||
|- | |||
|colspan="2"|<span title="Whether only active entities are included in the match clauses or select clauses">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23activeOnly/ <span style="color:green">activeOnly ]</span></span> | |||
|0..1 | |||
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span> | |||
|Whether only active entities are included in the match clauses or select clauses | |||
|- | |||
|} | |||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23WhereClause/ WhereClause] === | |||
A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.<br>Supports graph traversal filtering and inference for subsumption query | |||
{| class="wikitable" | |||
|+ | |||
|colspan="2"|Property | |||
|Card. | |||
|Value type | |||
|Description | |||
|- | |||
|colspan="2"|<span title="The column name in a select clause for this property, or a variable used to reference the result set of the values matched">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23alias/ <span style="color:green">alias ]</span></span> | |||
|0..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|Used to define the clause with a readable term and also used in other clauses for further refinement | |||
|- | |||
|colspan="2"|<span title="Optional description for clause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23description/ <span style="color:green">description ]</span></span> | |||
|0..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|Optional description for clause | |||
|- | |||
|colspan="2"|<span title="The value comparison for lower end of the range">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23from/ <span style="color:green">from ]</span></span> | |||
|0..* | |||
|<span title="An IRI with a name and an optional alias and a variable name when the iri is passed in as an argument (e.g. $this">[[#IriAlias|IriAlias]]</span> | |||
|Refers <br> a) to the alias of another where clause to indicate the set of objects defined by the referenced clause, which will be further refined by this where clause.<br>Equivalent to accessing a temporary or derived table in SQL.<br>(b) One or more instance objects to test properties of<br>(c) or instances of a certain type(s)<br>(d) external result set (e.g. a base cohort population)<br>If more than one it is considered an OR List.<br>Represents a subject of a triple or entity. Should be used with caution in IM query | |||
|- | |||
|colspan="2"|<span title="The graph to which these entities apply by default. This may be overridden by the entitiesThis means you can add predicates to any entity without affecting the original authored entity, those predicates belonging only to this module or graph">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23graph/ <span style="color:green">graph ]</span></span> | |||
|0..1 | |||
|<span title="Core graphs for core ontologies and taxonomies such as the health information model, Discovery and Snomed">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Graph/ im:Graph]</span> | |||
|The iri of a graph if the query is limited to a particular data set | |||
|- | |||
|colspan="2"|<span title="A property type path made up of space delimitediri strings, from the outer entity to the entity on which this clause operates. Alternates property and typeEquivalent to an inner join in SQL">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23pathTo/ <span style="color:green">pathTo ]</span></span> | |||
|0..1 | |||
|<span title="The class resource, everything in RDF/OWL/SHACL/RDFS.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23Resource/ rdfs:Resource]</span> | |||
|A property type path made up of space delimitediri strings, from the outer entity to the entity on which this clause operates. Alternates property and type<br>Equivalent to an inner join in SQL | |||
|- | |||
|colspan="2"|<span title="Points to a nested where clause. If the nested clause returns results then the entity referenced by the outer where clause is excluded.In other words, for the outer entity to be included, the nested entity must have no results. This contrasts with 'not'">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23notExist/ <span style="color:green">notExist ]</span></span> | |||
|0..1 | |||
|<span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.Supports graph traversal filtering and inference for subsumption query">[[#WhereClause|WhereClause]]</span> | |||
|Points to a nested where clause. If the nested clause returns results then the entity referenced by the outer where clause is excluded.<br>In other words, for the outer entity to be included, the nested entity must have no results. This contrasts with 'not' | |||
|- | |||
|colspan="2"|<span title="Boolean operator OR on subclauses">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23or/ <span style="color:green">or ]</span></span> | |||
|2..* | |||
|<span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.Supports graph traversal filtering and inference for subsumption query">[[#WhereClause|WhereClause]]</span> | |||
|Boolean operator OR on subclauses | |||
|- | |||
|colspan="2"|<span title="Boolean operator AND on subclauses">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23and/ <span style="color:green">and ]</span></span> | |||
|2..* | |||
|<span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.Supports graph traversal filtering and inference for subsumption query">[[#WhereClause|WhereClause]]</span> | |||
|Boolean operator AND on subclauses | |||
|- | |||
|colspan="2"|<span title="Tests properties and property paths and applies filters. Equivalent to SQL Join/ Where and SPARQL WhereBollean where clauses supported.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23property/ <span style="color:green">property ]</span></span> | |||
|0..* | |||
|<span title="An IRI with a name and an optional alias and a variable name when the iri is passed in as an argument (e.g. $this">[[#IriAlias|IriAlias]]</span> | |||
|a property tgo test. Note that this is applied to the entity after the path has been resolved. | |||
|- | |||
|colspan="2"|<span title="Whether the value is in this list of sets or concepts (including any sub types)">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23in/ <span style="color:green">in ]</span></span> | |||
|0..* | |||
|<span title="A reference to resource with an iri and optional name to enable readability">[[#IriRef|IriRef]]</span> | |||
|Whether the value is in this list of sets or concepts (including any sub types) | |||
|- | |||
|colspan="2"|<span title="Whether the value is this concept (and optionally if set to include sub or supertypes)">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23is/ <span style="color:green">is ]</span></span> | |||
|0..* | |||
|<span title="An IRI with a name and an optional alias and a variable name when the iri is passed in as an argument (e.g. $this">[[#IriAlias|IriAlias]]</span> | |||
|Whether the value is this concept (and optionally if set to include sub or supertypes) | |||
|- | |||
|colspan="2"|<span title="Testing for the value as a not. Note that this filters out the instances but does not exclude the outer entity (see not exist)">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23not/ <span style="color:green">not ]</span></span> | |||
|0..1 | |||
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span> | |||
|Testing for the value as a not. Note that this filters out the instances but does not exclude the outer entity (see not exist) | |||
|- | |||
|colspan="2"|<span title="A function that operates on the property value (and other parameters) prior to a compare or range or inclusion test. For example a time difference function operating on the date and a reference date.Note that properties that ARE functions do not need functions included for example age. For these simply supply the arguments.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23function/ <span style="color:green">function ]</span></span> | |||
|1..1 | |||
|<span title="A call to a function used in a query consisting of the function iri and one or more arguments to pass in at run time">[[#FunctionClause|FunctionClause]]</span> | |||
|A function that operates on the property value (and other parameters) prior to a compare or range or inclusion test. For example a time difference function operating on the date and a reference date.<br>Note that properties that ARE functions do not need functions included for example age. For these simply supply the arguments. | |||
|- | |||
|rowspan="2"|or<br>0..1 | |||
|<span title="Where the value is within a range of another valueNote that if the test is a function then the argument list would be in the function clause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23within/ <span style="color:green">within ]</span></span> | |||
|0..1 | |||
|<span title="Tests a value against another value, either as comparison or range">[[#WithinClause|WithinClause]]</span> | |||
|Where the value is within a range of another value<br>Note that if the test is a function then the argument list would be in the function clause | |||
|- | |||
| | |||
<span title="The value of the property used in a test. This is a string which will be cast to a number or date, depending on the data type of the property value">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23value/ <span style="color:green">value ]</span></span> | |||
|1..1 | |||
|<span title="Tests a value, whether equal, greater than, less than etc. optionally including a value to compare against">[[#ValueClause|ValueClause]]</span> | |||
|If testing a property value as equal greater than ete. use compare | |||
|- | |||
|colspan="2"|<span title="Test foe a value being between two absolute or relative values">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23range/ <span style="color:green">range ]</span></span> | |||
|1..1 | |||
|<span title="A range for use in property value testing">[[#RangeClause|RangeClause]]</span> | |||
|Test foe a value being between two absolute or relative values | |||
|- | |||
|colspan="2"|<span title="A chained where clause operating on the property value object. Equivalent to a join in SQL or '.' in sparql">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23where/ <span style="color:green">where ]</span></span> | |||
|1..1 | |||
|<span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.Supports graph traversal filtering and inference for subsumption query">[[#WhereClause|WhereClause]]</span> | |||
|A chained where clause operating on the property value object.<br> Equivalent to a join in SQL or '.' in sparql | |||
|- | |||
|colspan="2"|<span title="Ordering of instances via a property value in order to further test in another where clause.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23orderBy/ <span style="color:green">orderBy ]</span></span> | |||
|0..* | |||
|<span title="An IRI with a name and an optional alias and a variable name when the iri is passed in as an argument (e.g. $this">[[#IriAlias|IriAlias]]</span> | |||
|Ordering of instances via a property value in order to further test in another where clause. | |||
|- | |||
|colspan="2"|<span title="direction of ordering (DESC or ASC) .">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23direction/ <span style="color:green">direction ]</span></span> | |||
|0..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|direction of ordering (DESC or ASC) . | |||
|- | |||
|colspan="2"|<span title="Number of entities to return. Normally used with order by">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23limit/ <span style="color:green">limit ]</span></span> | |||
|0..1 | |||
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span> | |||
|Number of entities to return. Normally used with order by | |||
|- | |||
|} | |||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23SelectClause/ SelectClause] === | |||
Defines the objects and properties to retrieve from a graph, subject to a mach clause. Supports graphql type nesting and sub selects for column groups | |||
{| class="wikitable" | |||
|+ | |||
|colspan="2"|Property | |||
|Card. | |||
|Value type | |||
|Description | |||
|- | |||
|colspan="2"|<span title="A property path made up of space delimited iri strings, from the outer entity to the entity on which this clause operates. Shortcut for nested selects">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23path/ <span style="color:green">path ]</span></span> | |||
|0..1 | |||
|<span title="The class resource, everything in RDF/OWL/SHACL/RDFS.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23Resource/ rdfs:Resource]</span> | |||
|A property path made up of space delimited iri strings, from the outer entity to the entity on which this clause operates.<br> Shortcut for nested selects | |||
|- | |||
|colspan="2"|<span title="Tests properties and property paths and applies filters. Equivalent to SQL Join/ Where and SPARQL WhereBollean where clauses supported.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23property/ <span style="color:green">property ]</span></span> | |||
|1..1 | |||
|<span title="An IRI with a name and an optional alias and a variable name when the iri is passed in as an argument (e.g. $this">[[#IriAlias|IriAlias]]</span> | |||
|Information about a property or field to include in the results. Property select supports nesting with selects for the objects that may be values of the property | |||
|- | |||
|colspan="2"|<span title="Nested select property clauses from the objects that are values of this select's property Note that if the value is null then this select would be absent">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23select/ <span style="color:green">select ]</span></span> | |||
|0..* | |||
|<span title="Defines the objects and properties to retrieve from a graph, subject to a mach clause. Supports graphql type nesting and sub selects for column groups">[[#SelectClause|SelectClause]]</span> | |||
|Nested select property clauses from the objects that are values of this select's property Note that if the value is null then this select would be absent | |||
|- | |||
|colspan="2"|<span title="A chained where clause operating on the property value object. Equivalent to a join in SQL or '.' in sparql">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23where/ <span style="color:green">where ]</span></span> | |||
|0..* | |||
|<span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.Supports graph traversal filtering and inference for subsumption query">[[#WhereClause|WhereClause]]</span> | |||
|Nested where clause operating on the values of this select's property<br>Enables multi- level filtering as used in JOIN where clauses in SQL | |||
|- | |||
|colspan="2"|<span title="If the results need to be grouped, the grouping properties.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23groupBy/ <span style="color:green">groupBy ]</span></span> | |||
|0..* | |||
|<span title="An IRI with a name and an optional alias and a variable name when the iri is passed in as an argument (e.g. $this">[[#IriAlias|IriAlias]]</span> | |||
|If the results need to be grouped, the grouping properties. | |||
|- | |||
|colspan="2"|<span title="Ordering of instances via a property value in order to further test in another where clause.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23orderBy/ <span style="color:green">orderBy ]</span></span> | |||
|0..* | |||
|<span title="An IRI with a name and an optional alias and a variable name when the iri is passed in as an argument (e.g. $this">[[#IriAlias|IriAlias]]</span> | |||
|Ordering of instances via a property value returned. | |||
|- | |||
|colspan="2"|<span title="direction of ordering (DESC or ASC) .">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23direction/ <span style="color:green">direction ]</span></span> | |||
|0..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|direction of ordering (DESC or ASC) . | |||
|- | |||
|colspan="2"|<span title="Number of entities to return. Normally used with order by">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23limit/ <span style="color:green">limit ]</span></span> | |||
|0..1 | |||
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span> | |||
|Number of entities to return. Normally used with order by | |||
|- | |||
|colspan="2"|<span title="Tests an aggregate result from the group clause for a value">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23having/ <span style="color:green">having ]</span></span> | |||
|0..1 | |||
|<span title="A clause testing an aggregate function on a property usually one that is grouped">[[#HavingClause|HavingClause]]</span> | |||
|Tests an aggregate result from the group clause for a value | |||
|- | |||
|colspan="2"|<span title="Name of an aggregate function to operate on the property">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23aggregate/ <span style="color:green">aggregate ]</span></span> | |||
|0..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|Name of an aggregate function to operate on the property | |||
|- | |||
|colspan="2"|<span title="A function that operates on the property value (and other parameters) prior to a compare or range or inclusion test. For example a time difference function operating on the date and a reference date.Note that properties that ARE functions do not need functions included for example age. For these simply supply the arguments.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23function/ <span style="color:green">function ]</span></span> | |||
|0..1 | |||
|<span title="A call to a function used in a query consisting of the function iri and one or more arguments to pass in at run time">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23FunctionClause/ im:FunctionClause]</span> | |||
|The iri of a function indicating that the result is the result of a function operating on the property values, and any arguments passed in | |||
|- | |||
|colspan="2"|<span title="Arguments to pass into the function. They should match the parameter definitions of the function">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23argument/ <span style="color:green">argument ]</span></span> | |||
|0..* | |||
|<span title="A named parameter and a value for passing into a function">[[#Argument|Argument]]</span> | |||
|Arguments to pass into the function | |||
|- | |||
|} | |||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23HavingClause/ Having clause] === | |||
A clause testing an aggregate function on a property usually one that is grouped | |||
{| class="wikitable" | |||
|+ | |||
|colspan="2"|Property | |||
|Card. | |||
|Value type | |||
|Description | |||
|- | |||
|colspan="2"|<span title="Name of an aggregate function to operate on the property">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23aggregate/ <span style="color:green">aggregate ]</span></span> | |||
|0..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|Name of the aggregate function e.g. MAX,MIN,COUNT,SUM, AVERAGE | |||
|- | |||
|colspan="2"|<span title="Tests properties and property paths and applies filters. Equivalent to SQL Join/ Where and SPARQL WhereBollean where clauses supported.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23property/ <span style="color:green">property ]</span></span> | |||
|0..1 | |||
|<span title="An IRI with a name and an optional alias and a variable name when the iri is passed in as an argument (e.g. $this">[[#IriAlias|IriAlias]]</span> | |||
|The property on which the aggregate function operates | |||
|- | |||
|colspan="2"|<span title="The value of the property used in a test. This is a string which will be cast to a number or date, depending on the data type of the property value">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23value/ <span style="color:green">value ]</span></span> | |||
|0..1 | |||
|<span title="Tests a value, whether equal, greater than, less than etc. optionally including a value to compare against">[[#ValueClause|ValueClause]]</span> | |||
|The value of the aggregate result to be tested | |||
|- | |||
|} | |||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23PrefixShape/ Prefix shape] === | |||
The model of a class containing an iri prefix map | |||
{| class="wikitable" | |||
|+ | |||
|colspan="2"|Property | |||
|Card. | |||
|Value type | |||
|Description | |||
|- | |||
|colspan="2"|<span title="Prefixe used in the rest of the document">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23prefix/ <span style="color:green">prefix ]</span></span> | |||
|1..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|Prefixe used in the rest of the document | |||
|- | |||
|colspan="2"|<span title="The iri or namespace or graph iri this prefix refers to">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23iri/ <span style="color:green">iri ]</span></span> | |||
|1..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|The iri or namespace or graph iri this prefix refers to | |||
|- | |||
|} | |||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23FunctionClause/ FunctionClause] === | |||
Is a subtype of [[#IrirRef|IrirRef]] | |||
A call to a function used in a query consisting of the function iri and one or more arguments to pass in at run time | |||
{| class="wikitable" | |||
|+ | |||
|colspan="2"|Property | |||
|Card. | |||
|Value type | |||
|Description | |||
|- | |||
|colspan="2"|<span title="Arguments to pass into the function. They should match the parameter definitions of the function">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23argument/ <span style="color:green">argument ]</span></span> | |||
|0..* | |||
|<span title="A named parameter and a value for passing into a function">[[#Argument|Argument]]</span> | |||
|Arguments to pass into the function. They should match the parameter definitions of the function | |||
|- | |||
|} | |||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23WithinClause/ Within clause] === | |||
Tests a value against another value, either as comparison or range | |||
{| class="wikitable" | |||
|+ | |||
|colspan="2"|Property | |||
|Card. | |||
|Value type | |||
|Description | |||
|- | |||
|rowspan="2"|or<br>1..1 | |||
|<span title="The value of the property used in a test. This is a string which will be cast to a number or date, depending on the data type of the property value">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23value/ <span style="color:green">value ]</span></span> | |||
|1..1 | |||
|<span title="Tests a value, whether equal, greater than, less than etc. optionally including a value to compare against">[[#ValueClause|ValueClause]]</span> | |||
|The test is for an actual value (including comparison against another value | |||
|- | |||
| | |||
<span title="Test foe a value being between two absolute or relative values">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23range/ <span style="color:green">range ]</span></span> | |||
|1..1 | |||
|<span title="A range for use in property value testing">[[#RangeClause|RangeClause]]</span> | |||
|The test is for a range of values against another value | |||
|- | |||
|colspan="2"|<span title="The alias and property the value test is against">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23of/ <span style="color:green">of ]</span></span> | |||
|1..1 | |||
|<span title="When comparing a value to another variable's value this defines the target to compare against. Might be property, alias of a property, or a variable value">[[#CompareClause|CompareClause]]</span> | |||
|The alias and property the value test is against | |||
|- | |||
|} | |||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23ValueClause/ ValueClause] === | |||
Tests a value, whether equal, greater than, less than etc. optionally including a value to compare against | |||
{| class="wikitable" | |||
|+ | |||
|colspan="2"|Property | |||
|Card. | |||
|Value type | |||
|Description | |||
|- | |||
|colspan="2"|<span title="Comparison operators : =, <, <=, >, >=">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23comparison/ <span style="color:green">comparison ]</span></span> | |||
|1..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|Comparison operators : =, <, <=, >, >= | |||
|- | |||
|rowspan="2"|or<br>1..1 | |||
|<span title="The value of the property used in a test. This is a string which will be cast to a number or date, depending on the data type of the property value">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23value/ <span style="color:green">value ]</span></span> | |||
|1..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|The value of the property used in a test. This is a string which will be cast to a number or date, depending on the data type of the property value | |||
|- | |||
| | |||
<span title="The value is the value of a variable or property set elsewhere in the query">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23valueOf/ <span style="color:green">valueOf ]</span></span> | |||
|0..1 | |||
|<span title="When comparing a value to another variable's value this defines the target to compare against. Might be property, alias of a property, or a variable value">[[#CompareClause|CompareClause]]</span> | |||
|The value is the value of a variable or property set elsewhere in the query | |||
|- | |||
|colspan="2"|<span title="When the target value or value of is a date and the value is a number then the units of time e.g. years or months as a parameter to a function">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23unitOfTime/ <span style="color:green">unitOfTime ]</span></span> | |||
|1..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|When the target value or value of is a date and the value is a number then the units of time e.g. years or months as a parameter to a function | |||
|- | |||
|} | |||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23RangeClause/ RangeClause] === | |||
A range for use in property value testing | |||
{| class="wikitable" | |||
|+ | |||
|colspan="2"|Property | |||
|Card. | |||
|Value type | |||
|Description | |||
|- | |||
|colspan="2"|<span title="The value comparison for lower end of the range">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23from/ <span style="color:green">from ]</span></span> | |||
|1..1 | |||
|<span title="Tests a value, whether equal, greater than, less than etc. optionally including a value to compare against">[[#ValueClause|ValueClause]]</span> | |||
|The value comparison for lower end of the range | |||
|- | |||
|colspan="2"|<span title="The value comparison of upper end of the range">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23to/ <span style="color:green">to ]</span></span> | |||
|1..1 | |||
|<span title="Tests a value, whether equal, greater than, less than etc. optionally including a value to compare against">[[#ValueClause|ValueClause]]</span> | |||
|The value comparison of upper end of the range | |||
|- | |||
|} | |||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Argument/ Argument] === | |||
A named parameter and a value for passing into a function | |||
{| class="wikitable" | |||
|+ | |||
|colspan="2"|Property | |||
|Card. | |||
|Value type | |||
|Description | |||
|- | |||
|colspan="2"|<span title="The parameters of a function or constraint component.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23parameter/ <span style="color:green">parameter ]</span></span> | |||
|1..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|Parameter name for a function or the parameter name for an argument | |||
|- | |||
|rowspan="2"|or<br>1..1 | |||
|<span title="Value that is a literal such as a string or number">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23valueData/ <span style="color:green">valueData ]</span></span> | |||
|1..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|Value that is a literal such as a string or number | |||
|- | |||
| | |||
<span title="argument value which is a variable name to be resolved at run time">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23valueVariable/ <span style="color:green">valueVariable ]</span></span> | |||
|1..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|argument value which is a variable name to be resolved at run time | |||
|- | |||
|colspan="2"|<span title="Passes in the result set from a previous where clause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23valueFrom/ <span style="color:green">valueFrom ]</span></span> | |||
|1..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|Passes in the result set from a previous where clause | |||
|- | |||
|colspan="2"|<span title="Function specific paylod object, normally a json object deserialized to object as determined by the function">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23valueObject/ <span style="color:green">valueObject ]</span></span> | |||
|0..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|Function specific paylod object, normally a json object deserialized to object as determined by the function | |||
|- | |||
|} | |||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23CompareClause/ CompareClause] === | |||
When comparing a value to another variable's value this defines the target to compare against. Might be property, alias of a property, or a variable value | |||
{| class="wikitable" | |||
|+ | |||
|colspan="2"|Property | |||
|Card. | |||
|Value type | |||
|Description | |||
|- | |||
|colspan="2"|<span title="The column name in a select clause for this property, or a variable used to reference the result set of the values matched">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23alias/ <span style="color:green">alias ]</span></span> | |||
|0..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|The alias of the result set from another where clause | |||
|- | |||
|colspan="2"|<span title="Tests properties and property paths and applies filters. Equivalent to SQL Join/ Where and SPARQL WhereBollean where clauses supported.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23property/ <span style="color:green">property ]</span></span> | |||
|0..1 | |||
|<span title="An IRI with a name and an optional alias and a variable name when the iri is passed in as an argument (e.g. $this">[[#IriAlias|IriAlias]]</span> | |||
|The property of the objects in the result set (as indicated by the alias) to test | |||
|- | |||
|colspan="2"|<span title="The name of a variable, passed as an argument to a function. Assumed to be a collection">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23variable/ <span style="color:green">variable ]</span></span> | |||
|0..1 | |||
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span> | |||
|If a value is being compared against a variable passed in as an argument, the name of the variable | |||
|- | |- | ||
Line 567: | Line 1,007: | ||
|Description | |Description | ||
|- | |- | ||
|colspan="2"|<span title=" | |colspan="2"|<span title="The parameters of a function or constraint component.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23parameter/ <span style="color:green">parameter ]</span></span> | ||
|0..* | |0..* | ||
|<span title="Models a named parameter used in function or other clauses. The parameter name and data type of the parameter (if literal) or class (if on object) ">[[#Parameter|Parameter]]</span> | |<span title="Models a named parameter used in function or other clauses. The parameter name and data type of the parameter (if literal) or class (if on object) ">[[#Parameter|Parameter]]</span> | ||
Line 575: | Line 1,015: | ||
|} | |} | ||
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23PathQuery/ Path Query] === | === [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23PathQuery/ Path Query] === | ||
Is a subtype of [[#Data model/Node shape |Data model/Node shape ]] | |||
A query that returns a set pf paths between a source and target entity, traversing to a certain level | A query that returns a set pf paths between a source and target entity, traversing to a certain level | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 618: | Line 1,061: | ||
|- | |- | ||
|colspan="2"|<span title="points to a member of the set">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23hasMember/ <span style="color:green">hasMember ]</span></span> | |colspan="2"|<span title="points to a member of the set">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23hasMember/ <span style="color:green">hasMember ]</span></span> | ||
|0.. | |0..1 | ||
|<span title="data model for terminology concepts">[ | |<span title="data model for terminology concepts">[[#Concept|Concept]]</span> | ||
|The flat list of leaf concepts when generated from the definition, or for many national sets, simple list of concepts | |The flat list of leaf concepts when generated from the definition, or for many national sets, simple list of concepts | ||
|- | |- | ||
Line 677: | Line 1,120: | ||
|<span title="The abstract super class and data model for all named entities in the model i.e. the data model of the entities that are labelled with iri label and status">[[#Entity|Entity]]</span> | |<span title="The abstract super class and data model for all named entities in the model i.e. the data model of the entities that are labelled with iri label and status">[[#Entity|Entity]]</span> | ||
|Set of entities to file. If the entities do not have crud or graphs oftheir own then the default from the document are used | |Set of entities to file. If the entities do not have crud or graphs oftheir own then the default from the document are used | ||
|- | |- | ||
|} | |} |
Revision as of 09:59, 6 July 2023
The information model's meta model is a small set of relatively simple classes capable of holding huge sophisticated ontologies, an extensible data model, as well as set and query definitions.
The main classes are illustrated here on the right, and the class definitions and subclasses are specified in text, the tables and text being auto generated from the IM SHACL shapes.
Basic shapes
These shapes are the meta classes of the named entities within the information model.
IrirRef
Is a subtype of Data model/Node shape
A reference to resource with an iri and optional name to enable readability
Property | Card. | Value type | Description | |
name | 1..1 | xsd:string | The name of the entity |
Example {"@id" : "sn:29857009", "name" : "Chest pain (finding)"} |
Entity
Is a subtype of Data model/Node shape
The abstract super class and data model for all named entities in the model i.e. the data model of the entities that are labelled with iri label and status
Property | Card. | Value type | Description | |
label | 1..1 | xsd:string | The preferred full name of the entity | |
type | 1..1 | rdfs:Resource | The base type of the entity i.e. one of the high level entity types | |
comment | 0..1 | xsd:string | The description of the entity | |
status | 1..1 | im:Status | The status of the entity being active, inactive, draft or unassigned | |
scheme | 1..1 | im:Graph | The code scheme or graph which the entity belongs to | |
isContainedIn | 0..1 | Folder | An entity that this entity inherits from, both semantically and structurally, this is also used for sub properties as properties are classes of properties | |
370124000 | 0..1 | Entity | When a status is inactive, the entity that replaces this entity (if any) |
Folder
Is a subtype of Entity
Folder containing subfolders or entities
Property | Card. | Value type | Description |
IriAlias
Is a subtype of IrirRef
An IRI with a name and an optional alias and a variable name when the iri is passed in as an argument (e.g. $this
Property | Card. | Value type | Description | |
alias | 0..1 | xsd:string | The column name in a select clause for this property, or a variable used to reference the result set of the values matched | |
variable | 0..1 | xsd:string | The name of a variable, passed as an argument to the query, which is resolved to the IRI | |
inverse | 0..1 | xsd:boolean | When used as a property, whether this is an inverse object property i.e. an inbound connection to this entity | |
includeSubtypes | 0..1 | xsd:boolean | When used in a with or where clause, whether to include the subtypes of this entity | |
includeSupertypes | 0..1 | xsd:boolean | When used in a with or where clause, whether to include the supertypes of this entity e.g. when ascending a hierrchy to look for a property | |
or 0..1 |
isType | 0..1 | xsd:boolean | If the query results are derived from instances of certain type (or types) then set this flag to true. |
0..1 | xsd:boolean | If the query results derived the result set of a concept set, value set or query result then set this flag to true. |
Function
Defines the shape of an instance of the target class : FunctionClause
Is a subtype of Entity
Data model of a function i.e. models the parameters. A query that calls a function uses a function clause that uses this function definition to name each argument passed in
Property | Card. | Value type | Description | |
parameter | 0..* | Parameter | A list of parameters and data types used in this function |
Parameter
Models a named parameter used in function or other clauses. The parameter name and data type of the parameter (if literal) or class (if on object)
Property | Card. | Value type | Description | |
label | 1..1 | xsd:string | The name of the parameter | |
or 1..1 |
datatype | 1..1 | rdfs:Resource | The iri of The data type of the parameter when the data type is a literal |
1..1 | rdfs:Resource | The iri of the class of the parameter when the argument is an object | ||
query | 0..1 | im:Query | The iri of the query used to generate the value of the parameter passed as an argument |
IriVariable
Is a subtype of IrirRef
A variable, usually passed in as a parameter to a function, with an optional IRI and whether the iri is an instance or type iri (if ambiguous)
Property | Card. | Value type | Description | |
variable | 0..1 | xsd:string | The name of a variable, passed as an argument to a function. Assumed to be a collection | |
isType | 0..1 | xsd:boolean | In cases where it is ambiguous whether an iri refers to an instance or type, then set this to true if a type |
Property
Is a subtype of Entity
A property data model
Property | Card. | Value type | Description | |
inverseOf | 0..1 | rdf:Property | A property that this property is an inverse of | |
domain | 0..1 | rdfs:Class | The classes or concepts that may have this property as a property, or a role, or a role within a role group | |
range | 0..1 | Class | the type of value for this property. |
Entity selector
Is a subtype of Entity
A list of entities to select at particular points in a business process.
Property | Card. | Value type | Description | |
list | 0..1 | xsd:string | The list of entities by iri to select from |
Data Model shapes
These shapes are the meta classes of the data modelling entities within the information model.
Data model/Node shape
Is a subtype of Entity
The meta class for shapes, those shapes defining a type i.e the shape of a shape
Property | Card. | Value type | Description | |
isContainedIn | 0..1 | Folder | ||
subClassOf | 0..1 | NodeShape | ||
property | 0..1 | PropertyShape | The list of properties for this shape |
Concept shapes
These shapes are the meta classes of the terminology concepts used within the information model.
Terminology concept
Is a subtype of Entity
data model for terminology concepts
Property | Card. | Value type | Description | |
subClassOf | 0..1 | Concept | The concept this concept is a sub type of | |
code | 1..1 | xsd:string | The code for this concept, which may be a local code if local concept, or a core code such as a snomed identifier | |
hasTermCode | 0..1 | TermCodeShape | Alternative terms or synonyms for this concept. A term may also have a description id. | |
weighting | 0..1 | xsd:integer | A number indicating a weighting for this concept which can be used in free text search | |
definitionalStatus | 0..1 | im:VSET_Definitionalstatus | Indicates the authoring status of this concept, whether necessary only, or both necessary and sufficient. OWL would use Equivalent class axiom to indicate this. | |
hasMap | 0..1 | xsd:string | Any backward maps from core to legacy. This is limited to complex maps rather than simple matches and are 'backward' matches not suitable for automatic inclusion in subsumption queries | |
usageTotal | 0..1 | xsd:integer | The approximate number of times this concept has been used in around 1 million primary care and acute care records | |
im1Id | 0..1 | xsd:string | pointer the original identifer in IM1 | |
matchedTo | 0..1 | im:VSET_Unspecified | For a legacy concept, one or more concept this concept matches to. A query for the matched to concepts would entail this concept normally, but NOT the children of this concept | |
370124000 | 0..1 | Concept | Indicates the concepts that this concept has been replaced by | |
isChildOf | 0..1 | Concept | points to the parent legacy concept that this concept is in. Note that it may or may not be a true subtype. Reflects the original taxonomy |
Term code shape
Is a subtype of Data model/Node shape
data model for a term code
Property | Card. | Value type | Description | |
label | 0..1 | xsd:string | The term or synonym for the concept | |
code | 0..1 | xsd:string | Descriptionid or code for this particular term | |
status | 0..1 | im:Status | The status of this particular term code, may be active or inactive |
Refined concep
Is a subtype of Terminology concept
A concept with role groups with roles
Property | Card. | Value type | Description | |
roleGroup | 0..1 | RoleGroupShape | Zero or many role groups, each group containing one or more roles. These represent constraints on the super types i.e. more specific. Generated by inference making sure to remove duplicate properties or super properties. |
Role group shape
Is a subtype of Data model/Node shape
data model for a role group
Property | Card. | Value type | Description | |
Property | 0..1 | Concept | The concept identifier of the concept that is the role. Role Groups are unique in that their properties are any properties from an ontology,usually concepts |
Codeable concept
Is a subtype of IrirRef
A coded concept used in a health record system that may or may not be a defined concept in the ontology. It represents the local definition of a code and is of the form used in HL7 messaging
Property | Card. | Value type | Description | |
matchedConcept | 0..1 | IriRef | The core concept iri that this codeable concept has been matched to in this instance | |
originalCode | 0..1 | xsd:string | The original code entered in the publication system which may be mapped to a code concept | |
originalScheme | 0..1 | xsd:string | The original code scheme identifier, may be a url or a OID or informal identifier | |
originalCodeTerm | 0..1 | xsd:string | The original display term for this code usually as a reference. Should not be confused with original text as seen by the user, which may be different depending on the context | |
originalQualifierTerm | 0..1 | xsd:string | A qualifier term in the original system which may result in a different concept map. For Example 'negative' or 'positive' or a block of text |
Query Model and Set definition shapes
These shapes form the model for defining sets (also known as query definitions) for retrieving data from the IM or health records.
Data set
Is a subtype of Query
A query that produces a data set as an output is stored as an entity in a query library
Property | Card. | Value type | Description |
Query
Is a subtype of Entity
A query that is stored as an entity in a query library
Property | Card. | Value type | Description | |
definition | 0..1 | QueryDefinition | The query definition itself |
Query definition
Is a subtype of IriAlias
A set definition holding the logical definition of a set. Usually referred to as a Query as these are used to retrieve data.
Includes most of the main logical query constructs used in mainstream query languages, thus is a constrained version of mainstream languages that is schema independent.
Property | Card. | Value type | Description | |
description | 0..1 | xsd:string | Optional description of the query definition for support purposes. | |
from | 0..* | IriAlias | The base cohort/ set or type(s), or instance(s) on which all the subsequent where or filter clauses operate. If more than one this is treated as an OR list. | |
where | 0..1 | WhereClause | Tests properties and property paths and applies filters. Equivalent to SQL Join/ Where and SPARQL Where Bollean where clauses supported. | |
return | 1..1 | SelectClause | Return query clause logically similar to SQL/SPARQL select but with GraphQL nesting ability | |
groupBy | 0..* | IriAlias | If the results need to be grouped, the grouping properties. | |
orderBy | 0..* | IriAlias | Ordering of instances via a property value returned. | |
direction | 0..1 | xsd:string | direction of ordering (DESC or ASC) . | |
limit | 0..1 | xsd:integer | Number of entities to return. Normally used with order by | |
having | 0..1 | HavingClause | Tests an aggregate result from the group clause for a value | |
subQuery | 0..* | QueryDefinition | SubQueries used to group columns in multi group reports. The sub queries are all subsets of the main query clauses | |
prefix | 0..0 | PrefixShape | list of prefix to namespace expansion to enable readability of iris | |
usePrefixes | 0..1 | xsd:boolean | true if you want the results to use IRI prefixes | |
activeOnly | 0..1 | xsd:boolean | Whether only active entities are included in the match clauses or select clauses |
WhereClause
A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.
Supports graph traversal filtering and inference for subsumption query
Property | Card. | Value type | Description | |
alias | 0..1 | xsd:string | Used to define the clause with a readable term and also used in other clauses for further refinement | |
description | 0..1 | xsd:string | Optional description for clause | |
from | 0..* | IriAlias | Refers a) to the alias of another where clause to indicate the set of objects defined by the referenced clause, which will be further refined by this where clause. Equivalent to accessing a temporary or derived table in SQL. (b) One or more instance objects to test properties of (c) or instances of a certain type(s) (d) external result set (e.g. a base cohort population) If more than one it is considered an OR List. Represents a subject of a triple or entity. Should be used with caution in IM query | |
graph | 0..1 | im:Graph | The iri of a graph if the query is limited to a particular data set | |
pathTo | 0..1 | rdfs:Resource | A property type path made up of space delimitediri strings, from the outer entity to the entity on which this clause operates. Alternates property and type Equivalent to an inner join in SQL | |
notExist | 0..1 | WhereClause | Points to a nested where clause. If the nested clause returns results then the entity referenced by the outer where clause is excluded. In other words, for the outer entity to be included, the nested entity must have no results. This contrasts with 'not' | |
or | 2..* | WhereClause | Boolean operator OR on subclauses | |
and | 2..* | WhereClause | Boolean operator AND on subclauses | |
property | 0..* | IriAlias | a property tgo test. Note that this is applied to the entity after the path has been resolved. | |
in | 0..* | IriRef | Whether the value is in this list of sets or concepts (including any sub types) | |
is | 0..* | IriAlias | Whether the value is this concept (and optionally if set to include sub or supertypes) | |
not | 0..1 | xsd:boolean | Testing for the value as a not. Note that this filters out the instances but does not exclude the outer entity (see not exist) | |
function | 1..1 | FunctionClause | A function that operates on the property value (and other parameters) prior to a compare or range or inclusion test. For example a time difference function operating on the date and a reference date. Note that properties that ARE functions do not need functions included for example age. For these simply supply the arguments. | |
or 0..1 |
within | 0..1 | WithinClause | Where the value is within a range of another value Note that if the test is a function then the argument list would be in the function clause |
1..1 | ValueClause | If testing a property value as equal greater than ete. use compare | ||
range | 1..1 | RangeClause | Test foe a value being between two absolute or relative values | |
where | 1..1 | WhereClause | A chained where clause operating on the property value object. Equivalent to a join in SQL or '.' in sparql | |
orderBy | 0..* | IriAlias | Ordering of instances via a property value in order to further test in another where clause. | |
direction | 0..1 | xsd:string | direction of ordering (DESC or ASC) . | |
limit | 0..1 | xsd:integer | Number of entities to return. Normally used with order by |
SelectClause
Defines the objects and properties to retrieve from a graph, subject to a mach clause. Supports graphql type nesting and sub selects for column groups
Property | Card. | Value type | Description | |
path | 0..1 | rdfs:Resource | A property path made up of space delimited iri strings, from the outer entity to the entity on which this clause operates. Shortcut for nested selects | |
property | 1..1 | IriAlias | Information about a property or field to include in the results. Property select supports nesting with selects for the objects that may be values of the property | |
select | 0..* | SelectClause | Nested select property clauses from the objects that are values of this select's property Note that if the value is null then this select would be absent | |
where | 0..* | WhereClause | Nested where clause operating on the values of this select's property Enables multi- level filtering as used in JOIN where clauses in SQL | |
groupBy | 0..* | IriAlias | If the results need to be grouped, the grouping properties. | |
orderBy | 0..* | IriAlias | Ordering of instances via a property value returned. | |
direction | 0..1 | xsd:string | direction of ordering (DESC or ASC) . | |
limit | 0..1 | xsd:integer | Number of entities to return. Normally used with order by | |
having | 0..1 | HavingClause | Tests an aggregate result from the group clause for a value | |
aggregate | 0..1 | xsd:string | Name of an aggregate function to operate on the property | |
function | 0..1 | im:FunctionClause | The iri of a function indicating that the result is the result of a function operating on the property values, and any arguments passed in | |
argument | 0..* | Argument | Arguments to pass into the function |
Having clause
A clause testing an aggregate function on a property usually one that is grouped
Property | Card. | Value type | Description | |
aggregate | 0..1 | xsd:string | Name of the aggregate function e.g. MAX,MIN,COUNT,SUM, AVERAGE | |
property | 0..1 | IriAlias | The property on which the aggregate function operates | |
value | 0..1 | ValueClause | The value of the aggregate result to be tested |
Prefix shape
The model of a class containing an iri prefix map
Property | Card. | Value type | Description | |
prefix | 1..1 | xsd:string | Prefixe used in the rest of the document | |
iri | 1..1 | xsd:string | The iri or namespace or graph iri this prefix refers to |
FunctionClause
Is a subtype of IrirRef
A call to a function used in a query consisting of the function iri and one or more arguments to pass in at run time
Property | Card. | Value type | Description | |
argument | 0..* | Argument | Arguments to pass into the function. They should match the parameter definitions of the function |
Within clause
Tests a value against another value, either as comparison or range
Property | Card. | Value type | Description | |
or 1..1 |
value | 1..1 | ValueClause | The test is for an actual value (including comparison against another value |
1..1 | RangeClause | The test is for a range of values against another value | ||
of | 1..1 | CompareClause | The alias and property the value test is against |
ValueClause
Tests a value, whether equal, greater than, less than etc. optionally including a value to compare against
Property | Card. | Value type | Description | |
<span title="Comparison operators : =, <, <=, >, >=">comparison | 1..1 | xsd:string | Comparison operators : =, <, <=, >, >= | |
or 1..1 |
value | 1..1 | xsd:string | The value of the property used in a test. This is a string which will be cast to a number or date, depending on the data type of the property value |
0..1 | CompareClause | The value is the value of a variable or property set elsewhere in the query | ||
unitOfTime | 1..1 | xsd:string | When the target value or value of is a date and the value is a number then the units of time e.g. years or months as a parameter to a function |
RangeClause
A range for use in property value testing
Property | Card. | Value type | Description | |
from | 1..1 | ValueClause | The value comparison for lower end of the range | |
to | 1..1 | ValueClause | The value comparison of upper end of the range |
Argument
A named parameter and a value for passing into a function
Property | Card. | Value type | Description | |
parameter | 1..1 | xsd:string | Parameter name for a function or the parameter name for an argument | |
or 1..1 |
valueData | 1..1 | xsd:string | Value that is a literal such as a string or number |
1..1 | xsd:string | argument value which is a variable name to be resolved at run time | ||
valueFrom | 1..1 | xsd:string | Passes in the result set from a previous where clause | |
valueObject | 0..1 | xsd:string | Function specific paylod object, normally a json object deserialized to object as determined by the function |
CompareClause
When comparing a value to another variable's value this defines the target to compare against. Might be property, alias of a property, or a variable value
Property | Card. | Value type | Description | |
alias | 0..1 | xsd:string | The alias of the result set from another where clause | |
property | 0..1 | IriAlias | The property of the objects in the result set (as indicated by the alias) to test | |
variable | 0..1 | xsd:string | If a value is being compared against a variable passed in as an argument, the name of the variable |
FunctionShape
Defines the shape of an instance of the target class : FunctionClause
Is a subtype of Entity
Data model of a function i.e. models the parameters. A query that calls a function uses a function clause that uses this function definition to name each argument passed in
Property | Card. | Value type | Description | |
parameter | 0..* | Parameter | A list of parameters and data types used in this function |
Path Query
Is a subtype of Data model/Node shape
A query that returns a set pf paths between a source and target entity, traversing to a certain level
Property | Card. | Value type | Description | |
source | 1..1 | IriRef | the source entity at the start of the path. | |
target | 1..1 | IriRef | the target entity at the end of the path. | |
depth | 0..1 | xsd:integer | How many hops to be taken in the graph between source and target |
Set
Is a subtype of Entity
data model for concept sets and value sets
Property | Card. | Value type | Description | |
definition | 0..1 | QueryDefinition | The query definition itself | |
hasMember | 0..1 | Concept | The flat list of leaf concepts when generated from the definition, or for many national sets, simple list of concepts |
Transform map shapes
These shapes form the model for transformation maps used by a engine to transform from a source to destination data model. Based on FHIR mapping language
Transactional shapes
These shapes form the meta classes for structures pass into APIs for query of, or filing into, the model or health records.
EntityFileTransaction
Is a subtype of Entity
An entity with the additional CRUD indicators to enable deletes updates, adding quads etc
Property | Card. | Value type | Description | |
crud | 1..1 | im:CrudOperation | Indicates the nature of the CRUD transaction which must be one of im:DeleteAll, im:AddQuads (adds in additional triples), im:UpdateAll (replaces all the predicates for this entity in the graph with te ones submitted), im:UpdatePredicates ( replaces all the objects of these submitted predicates for this graph | |
graph | 1..1 | im:Graph | The graph to which these triples apply. This means you can add predicates to any entity without affecting the original authored entity, those predicates belonging only to this module or graph |
EntityDocument
A document containing any number of triples to file as a batch.
Note that if the document is sent as Json-LD with prefixed iris, a @context object will be required
Property | Card. | Value type | Description | |
crud | 1..1 | im:CrudOperation | Indicates the nature of the default CRUD transaction for entities in thisdocument. Thes can be overridden in each entity. Must be one of: im:DeleteAll, im:AddQuads (adds in additional triples), im:UpdateAll (replaces all the predicates for this entity in the graph with te ones submitted), im:UpdatePredicates ( replaces all the objects of these submitted predicates for this graph | |
graph | 1..1 | im:Graph | The graph to which these entities apply by default. This may be overridden by the entities This means you can add predicates to any entity without affecting the original authored entity, those predicates belonging only to this module or graph | |
entities | 1..* | Entity | Set of entities to file. If the entities do not have crud or graphs oftheir own then the default from the document are used |