Meta model class specification: Difference between revisions

From Endeavour Knowledge Base
No edit summary
No edit summary
 
(22 intermediate revisions by the same user not shown)
Line 2: Line 2:
{{TOC left}}
{{TOC left}}
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 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.
<br />
[[File:IM meta model.png|center|alt=|frame]]


<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]]


== 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 26: Line 28:
|}
|}
{{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%23EntityShape/ Entity shape] ===
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Entity/ Entity] ===
Defines the shape of an instance of the target class : [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Entity/ Entity]
 
The super class and data model for all named resources in the model i.e. the data model of the entities that are labelled with iri label and status
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
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 58: Line 62:
|colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23scheme/ <span style="color:green">scheme ]</span></span>
|colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23scheme/ <span style="color:green">scheme ]</span></span>
|1..1
|1..1
|<span title="Core graphs for core ontologies 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>
|<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 code scheme or graph which the entity belongs to
|The code scheme or graph which the entity belongs to
|-
|-
|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="">[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="The super class and data model for all named resources in the model i.e. the data model of the entities that are labelled with iri label and status">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23EntityShape/ im:EntityShape]</span>
|<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>
|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">[[#Entity|Entity]]</span>
|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 85: Line 108:
|The column name in a select clause for this property, or a variable used to reference the result set of the values matched
|The column name in a select clause for this property, or a variable used to reference the result set of the values matched
|-
|-
|colspan="2"|<span title="The name of a variable, passed as an argument to the query, which is resolved to the IRI">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23variable/ <span style="color:green">variable ]</span></span>
|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
|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>
Line 106: Line 129:
|-
|-
|rowspan="2"|or<br>0..1
|rowspan="2"|or<br>0..1
|<span title="If the query results are derived from instances of certain type (or types) then set this flag to true.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23isType/ <span style="color:green">isType ]</span></span>
|<span title="In cases where it is ambiguous whether an iri refers to an instance or type, then set this to true if a type">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23isType/ <span style="color:green">isType ]</span></span>
|0..1
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
Line 120: Line 143:


|}
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23PropertyShape/ Property shape] ===
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Function/ Function] ===
Defines the shape of an instance of the target class : [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23Property/ Property]


Is a subtype of [[#Entity shape|Entity shape]]
Is a subtype of [[#Entity|Entity]]


data model for properties
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
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 133: Line 155:
|Description
|Description
|-
|-
|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 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="The class of RDF properties, used for Data properties (object properties are generally owl:ObjectProperties">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23Property/ rdf:Property]</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>
|A property that this property is an inverse of
|A list of parameters and data types used in this function
|-
|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..*
|<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
|-
|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..*
|<span title="The class of classes.">[[#Class|Class]]</span>
|the type of value for this property.
|-
|-


|}
|}
 
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Parameter/ Parameter] ===
== Query Model and Set definition shapes ==
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)
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%23QueryShape/ Query /Set shape] ===
Defines the shape of an instance of the target class : [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Query/ Query]
 
Is a subtype of [[#Entity shape|Entity shape]]
 
A query that is stored as an entity in a query library
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 166: Line 171:
|Description
|Description
|-
|-
|colspan="2"|<span title="The query definition itself">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23definition/ <span style="color:green">definition ]</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..1
|1..1
|<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>
|The query definition itself
|-
 
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23QueryDefinition/ Query /Set 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"
|+
|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>
|<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.
|The name of the parameter
|-
|-
|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>
|rowspan="2"|or<br>1..1
|0..*
|<span title="Specifies an RDF datatype that all value nodes must have.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23datatype/ <span style="color:green">datatype ]</span></span>
|<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>
|1..1
|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.
|<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>
|The iri of The data type of the parameter when the data type is a literal
|-
|-
|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>
<span title="The type that all value nodes must have.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23class/ <span style="color:green">class ]</span></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="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>
|1..1
|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>
|<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>
|Select query clause logically similar to SQL/SPARQL select but with GraphQL nesting ability
|The iri of the class of the parameter when the argument is an object
|-
|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="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>
|colspan="2"|<span title="The iri of the query used to generate the value of the parameter passed as an argument">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23query/ <span style="color:green">query ]</span></span>
|0..1
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|<span title="A query that is stored as an entity in a query library">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Query/ im:Query]</span>
|true if you want the results to use IRI prefixes
|The iri of the query used to generate the value of the parameter passed as an argument
|-
|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] ===
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23IriVariable/ IriVariable] ===
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
 
Is a subtype of [[#IrirRef|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)
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 256: Line 208:
|Description
|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>
|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
|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>
|Used to define the clause with a readable term and also used in other clauses for further refinement
|The name of a variable, passed as an argument to a function. Assumed to be a collection
|-
|-
|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>
|colspan="2"|<span title="In cases where it is ambiguous whether an iri refers to an instance or type, then set this to true if a type">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23isType/ <span style="color:green">isType ]</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 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 path made up of space delimited iri strings, from the outer entity to the entity on which this clause operates.Equivalent to an inner join in SQL">[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>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="The property of the objects in the result set (as indicated by the alias) to test">[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
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|<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)
|In cases where it is ambiguous whether an iri refers to an instance or type, then set this to true if a type
|-
|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 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.
|-
|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..1
|<span title="A named parameter and a value for passing into a function">[[#Argument|Argument]]</span>
|Arguments to pass into a function when the property is a function property.<br>Note that if the test is a function then the argument list would be in the function clause
|-
|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>
|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] ===
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Property/ Property] ===
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
 
Is a subtype of [[#Entity|Entity]]
 
A property data model
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 367: Line 232:
|Description
|Description
|-
|-
|colspan="2"|<span title="If the query result is simply a sum of the main entities found. equivalent to COUNT(id)">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23count/ <span style="color:green">count ]</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..1
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</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>
|If the query result is simply a sum of the main entities found. equivalent to COUNT(id)
|A property that this property is an inverse of
|-
|-
|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.Equivalent to an inner join in SQL">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23path/ <span style="color:green">path ]</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..1
|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>
|<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>
|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
|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="The property of the objects in the result set (as indicated by the alias) to test">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23property/ <span style="color:green">property ]</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>
|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
|-
|rowspan="3"|or<br>0..1
|<span title="Whether the result is a summation of this property's values">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23sum/ <span style="color:green">sum ]</span></span>
|0..1
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|<span title="The class of classes.">[[#Class|Class]]</span>
|Whether the result is a summation of this property's values
|the type of value for this property.
|-
|-


|
|}
<span title="Whether the result is an average of this property's values">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23average/ <span style="color:green">average ]</span></span>
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23EntitySelector/ Entity selector] ===
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|Whether the result is an average of this property's values
|-


|
Is a subtype of [[#Entity|Entity]]
<span title="Whether the result is the maximum of this property's values">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23max/ <span style="color:green">max ]</span></span>
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|Whether the result is the maximum of this property's values
|-
|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 function definition with optional parameters">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Function/ im:Function]</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
|-


|}
A list of entities to select at particular points in a business process.
=== [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"
{| class="wikitable"
|+
|+
Line 433: Line 261:
|Description
|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>
|colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23list/ <span style="color:green">list ]</span></span>
|1..1
|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>
|Prefixe used in the rest of the document
|The list of entities by iri to select from
|-
|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]]
== Data Model shapes ==
These shapes are the meta classes of the data modelling entities within the information model.
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23NodeShape/ Data model/Node shape ] ===


A function used in a query consisting of the function iri and one or more arguments to pass in at run time
Is a subtype of [[#Entity|Entity]]
{| 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
|-


|}
The meta class for shapes, those shapes defining a type i.e the shape of a shape
=== [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"
{| class="wikitable"
|+
|+
Line 473: Line 283:
|Description
|Description
|-
|-
|colspan="2"|<span title="A list of parameters and data types used in this function">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23parameter/ <span style="color:green">parameter ]</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>
|1..1
|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="Folder containing subfolders or entities">[[#Folder|Folder]]</span>
|Parameter name for a function or the parameter name for an argument
|
|-
|-
|rowspan="2"|or<br>1..1
|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>
|<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>
|0..1
|1..1
|<span title="The meta class for shapes, those shapes defining a type i.e the shape of a shape">[[#NodeShape|NodeShape]]</span>
|<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>
|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>
|1..1
|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="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>
|Passes in the result set from a previous where clause
|The list of properties for this shape
|-
|-


|}
|}
=== [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
== Concept shapes ==
These shapes are the meta classes of the terminology concepts used within the information model.
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Concept/ Terminology concept] ===
 
Is a subtype of [[#Entity|Entity]]
 
data model for terminology concepts
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 507: Line 315:
|Description
|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>
|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>
|1..1
|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="data model for terminology concepts">[[#Concept|Concept]]</span>
|Comparison operators : =, <, <=, >, >=
|The concept this concept is a sub type of
|-
|-
|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>
|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>
|1..1
|1..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 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
|The code for this concept, which may be a local code if local concept, or a core code such as a snomed identifier
|-
|-
|colspan="2"|<span title="When the range values are relative to another value , information about the other value (e.g. variable or property of the results defined in another clause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23relativeTo/ <span style="color:green">relativeTo ]</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..1
|0..1
|<span title="">[[#CompareClause|CompareClause]]</span>
|<span title="data model for a term code">[[#TermCodeShape|TermCodeShape]]</span>
|The result to compare the property value against is derived from a variable value or property of an object (identified by its alias) defined another where clause
|Alternative terms or synonyms for this concept. A term may also have a description id.
|-
|-
 
|colspan="2"|<span title="weighting to help in search retrieval">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23weighting/ <span style="color:green">weighting ]</span></span>
|}
|0..1
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23RangeClause/ RangeClause] ===
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span>
A range for use in property value testing
|A number indicating a weighting for this concept which can be used in free text search
{| 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>
|colspan="2"|<span title="Points to the definitional status of this entity e.g. full defined as an equivalent class">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23definitionalStatus/ <span style="color:green">definitionalStatus ]</span></span>
|1..1
|0..1
|<span title="Tests a value, whether equal, greater than, less than etc. optionally including a value to compare against">[[#ValueClause|ValueClause]]</span>
|<span title="Value set for Concept shape / definitional status">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23VSET_Definitionalstatus/ im:VSET_Definitionalstatus]</span>
|The value comparison for lower end of the range
|Indicates the authoring status of this concept, whether necessary only, or both necessary and sufficient. OWL would use Equivalent class axiom to indicate this.
|-
|-
|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>
|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>
|1..1
|0..1
|<span title="Tests a value, whether equal, greater than, less than etc. optionally including a value to compare against">[[#ValueClause|ValueClause]]</span>
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|The value comparison of upper end of the range
|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
|-
|-
|colspan="2"|<span title="When the range values are relative to another value , information about the other value (e.g. variable or property of the results defined in another clause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23relativeTo/ <span style="color:green">relativeTo ]</span></span>
|colspan="2"|<span title="usage total for a stats report">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23usageTotal/ <span style="color:green">usageTotal ]</span></span>
|1..1
|0..1
|<span title="">[[#CompareClause|CompareClause]]</span>
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span>
|When the range values are relative to another value , information about the other value (e.g. variable or property of the results defined in another clause
|The approximate number of times this concept has been used in around 1 million primary care and acute care records
|-
|-
 
|colspan="2"|<span title="the old identifier from im1">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23im1Id/ <span style="color:green">im1Id ]</span></span>
|}
|0..1
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23CompareClause/ CompareClause] ===
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
null
|pointer the original identifer in IM1
{| 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>
|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..1
|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="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>
|The alias of the result set from another where clause
|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="The property of the objects in the result set (as indicated by the alias) to test">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23property/ <span style="color:green">property ]</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..1
|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>
|<span title="data model for terminology concepts">[[#Concept|Concept]]</span>
|The property of the objects in the result set (as indicated by the alias) to test
|Indicates the concepts that this concept has been replaced by
|-
|-
|colspan="2"|<span title="The name of a variable, passed as an argument to the query, which is resolved to the IRI">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23variable/ <span style="color:green">variable ]</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..1
|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="data model for terminology concepts">[[#Concept|Concept]]</span>
|If a value is being compared against a variable passed in as an argument, the name of the variable
|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
|-
|-


|}
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23FunctionShape/ FunctionShape] ===
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23TermCodeShape/ Term code shape] ===
Defines the shape of an instance of the target class : [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Function/ Function]


Is a subtype of [[#Entity shape|Entity shape]]
Is a subtype of [[#Data model/Node shape |Data model/Node shape ]]


null
data model for a term code
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="A list of parameters and data types used in this function">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23parameter/ <span style="color:green">parameter ]</span></span>
|0..*
|<span title="">[[#Parameter|Parameter]]</span>
|A list of parameters and data types used in this function
|-
 
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Parameter/ Parameter] ===
null
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 606: Line 385:
|-
|-
|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>
|1..1
|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 name of the parameter
|The term or synonym for the concept
|-
|-
|rowspan="2"|or<br>1..1
|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>
|<span title="Specifies an RDF datatype that all value nodes must have.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23datatype/ <span style="color:green">datatype ]</span></span>
|0..1
|1..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|<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>
|Descriptionid or code for this particular term
|The iri of The data type of the parameter when the data type is a literal
|-
|-
 
|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>
|
<span title="The type that all value nodes must have.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23class/ <span style="color:green">class ]</span></span>
|1..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>
|The iri of the class of the parameter when the argument is an object
|-
 
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23PathQueryShape/ PathQueryShape] ===
Defines the shape of an instance of the target class : [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23PathQuery/ Path query]
A query that returns a set pf paths between a source and target entity, traversing to a certain level
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="the source entity at the start of the path.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23source/ <span style="color:green">source ]</span></span>
|1..1
|<span title="A reference to resource with an iri and optional name to enable readability">[[#IriRef|IriRef]]</span>
|the source entity at the start of the path.
|-
|colspan="2"|<span title="the target entity at the end of the path.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23target/ <span style="color:green">target ]</span></span>
|1..1
|<span title="A reference to resource with an iri and optional name to enable readability">[[#IriRef|IriRef]]</span>
|the target entity at the end of the path.
|-
|colspan="2"|<span title="How many hops to be taken in the graph between source and target">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23depth/ <span style="color:green">depth ]</span></span>
|0..1
|0..1
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</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>
|How many hops to be taken in the graph between source and target
|The status of this particular term code, may be active or inactive
|-
|-


|}
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23SetShape/ Set shape] ===
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23RefinedConcept/ Refined concep] ===
Defines the shape of an instance of the target class : [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23ConceptSet/ Concept Set]


Is a subtype of [[#Query /Set shape|Query /Set shape]]
Is a subtype of [[#Terminology concept|Terminology concept]]


data model for concept sets and value sets
A concept with role groups with roles
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 665: Line 413:
|Description
|Description
|-
|-
|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="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="Top level information concept for all codeable concepts">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Concept/ im:Concept]</span>
|<span title="data model for a role group">[[#RoleGroupShape|RoleGroupShape]]</span>
|The flat list of leaf concepts when generated from the definition, or for many national sets, simple list of concepts
|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.
|-
|-


|}
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23RoleGroupShape/ Role group shape] ===


== Data Model shapes ==
Is a subtype of [[#Data model/Node shape |Data model/Node shape ]]
These shapes are the meta classes of the data modelling entities within the information model.
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23DataModelShape/ Data model shape] ===
Defines the shape of an instance of the target class : [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23NodeShape/ Node shape]
 
Is a subtype of [[#Entity shape|Entity shape]]


The meta class for a data model type, using a SHACL node shape for both definition and validation
data model for a role group
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 688: Line 432:
|Description
|Description
|-
|-
|colspan="2"|<span title="Parameter name for a function or the parameter name for an argument">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%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="The data model of a shacl node shape describing a property of a data model entity">[[#PropertyNodeShape|PropertyNodeShape]]</span>
|<span title="data model for terminology concepts">[[#Concept|Concept]]</span>
|The list of properties for this shape
|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
|-
|-


|}
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23PropertyNodeShape/ PropertyNodeShape] ===
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23CodeableConcept/ Codeable concept] ===


Is a subtype of [[#Entity shape|Entity shape]]
Is a subtype of [[#IrirRef|IrirRef]]


The data model of a shacl node shape describing a property of a data model entity
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
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 707: Line 451:
|Description
|Description
|-
|-
|colspan="2"|<span title="Specifies the property path of a property shape.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23path/ <span style="color:green">path ]</span></span>
|colspan="2"|<span title="the common model concept to which an original code has been matched to, used within a codeable concept when preserving original code">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23matchedConcept/ <span style="color:green">matchedConcept ]</span></span>
|1..1
|<span title="The class of RDF properties, used for Data properties (object properties are generally owl:ObjectProperties">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23Property/ rdf:Property]</span>
|The iri of the property
|-
|colspan="2"|<span title="Specifies the minimum number of values in the set of value nodes.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23minCount/ <span style="color:green">minCount ]</span></span>
|0..1
|0..1
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span>
|<span title="A reference to resource with an iri and optional name to enable readability">[[#IriRef|IriRef]]</span>
|Minimum cardinality,if null assuming any number including zero
|The core concept iri that this codeable concept has been matched to in this instance
|-
|-
|colspan="2"|<span title="Specifies the maximum number of values in the set of value nodes.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23maxCount/ <span style="color:green">maxCount ]</span></span>
|colspan="2"|<span title="a code as originally entered in the system">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23originalCode/ <span style="color:green">originalCode ]</span></span>
|0..1
|0..1
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span>
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|The maximum number allowed. If null then any number
|The original code entered in the publication system which may be mapped to a code concept
|-
|rowspan="3"|or<br>1..1
|<span title="The type that all value nodes must have.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23class/ <span style="color:green">class ]</span></span>
|1..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>
|The iri for the class range of the property. The range of this property is a subclass of this class
|-
 
|
<span title="Specifies an RDF datatype that all value nodes must have.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23datatype/ <span style="color:green">datatype ]</span></span>
|1..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>
|The range of the property is a data type of this type
|-
|-
 
|colspan="2"|<span title="the scheme of a  code as originally entered in the system, may be a url or OID">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23originalScheme/ <span style="color:green">originalScheme ]</span></span>
|
<span title="Specifies the node shape that all value nodes must conform to.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23node/ <span style="color:green">node ]</span></span>
|1..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>
|The property points to a node shape
|-
|colspan="2"|<span title="A description of the subject resource.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23comment/ <span style="color:green">comment ]</span></span>
|0..1
|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>
|Description of the property
|The original code scheme identifier, may be a url or a OID or informal identifier
|-
|-
|colspan="2"|<span title="Human-readable labels for the property in the context of the surrounding shape.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23name/ <span style="color:green">name ]</span></span>
|colspan="2"|<span title="a code term usually from a look up  from the original entered system. This may or may not be the same as the text displayed to the user">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23originalCodeTerm/ <span style="color:green">originalCodeTerm ]</span></span>
|0..1
|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 name of the property used for ease of recognition
|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
|-
|-
|colspan="2"|<span title="Specifies the relative order of this compared to its siblings. For example use 0 for the first, 1 for the second.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2Fns%2Fshacl%23order/ <span style="color:green">order ]</span></span>
|colspan="2"|<span title="Where original codes have been qualified as a result of text e.g a text result such as negative">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23originalQualifierTerm/ <span style="color:green">originalQualifierTerm ]</span></span>
|0..1
|0..1
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span>
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|The property order for display
|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
|-
|colspan="2"|<span title="The shape that this property is inherited from (used in the inferred instance of the information model">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23inheritedFrom/ <span style="color:green">inheritedFrom ]</span></span>
|0..1
|<span title="A node shape is a shape that specifies constraint that need to be met with respect to focus nodes.">[[#NodeShape|NodeShape]]</span>
|The shape that this property is inherited from (used in the inferred instance of the information model
|-
|-


|}
|}


== Concept shapes ==
== Query Model and Set definition shapes ==
These shapes are the meta classes of the terminology concepts used within the information model.
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%23ConceptShape/ Concept shape] ===
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23DataSet/ Data set] ===
Defines the shape of an instance of the target class : [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Concept/ Terminology Concept]


Is a subtype of [[#Entity shape|Entity shape]]
Is a subtype of [[#Query|Query]]


data model for terminology concepts
A query that produces a data set as an output is stored as an entity in a query library
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 779: Line 492:
|Value type
|Value type
|Description
|Description
|-
|colspan="2"|<span title="a code for a codeable concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23code/ <span style="color:green">code ]</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 code for this concept, which may be a local code if local concept, or a core code such as a snomed identifier
|-
|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..*
|<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.
|-
|colspan="2"|<span title="weighting to help in search retrieval">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23weighting/ <span style="color:green">weighting ]</span></span>
|0..1
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span>
|A number indicating a weighting for this concept which can be used in free text search
|-
|colspan="2"|<span title="Points to the definitional status of this entity e.g. full defined as an equivalent class">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23definitionalStatus/ <span style="color:green">definitionalStatus ]</span></span>
|0..1
|<span title="Value set for Concept shape / definitional status">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23VSET_Definitionalstatus/ im:VSET_Definitionalstatus]</span>
|Indicates the authoring status of this concept, whether necessary only, or both necessary and sufficient. OWL would use Equivalent class axiom to indicate this.
|-
|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..*
|<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
|-
|colspan="2"|<span title="usage total for a stats report">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23usageTotal/ <span style="color:green">usageTotal ]</span></span>
|0..1
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span>
|The approximate number of times this concept has been used in around 1 million primary care and acute care records
|-
|colspan="2"|<span title="the old identifier from im1">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23im1Id/ <span style="color:green">im1Id ]</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>
|pointer the original identifer in IM1
|-
|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..*
|<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
|-
|colspan="2"|<span title="Points to the context object holding information about the source of this concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23sourceContext/ <span style="color:green">sourceContext ]</span></span>
|0..*
|<span title="Data model for source context for a concept e.g. source system, field etc">[[#SourceContextShape|SourceContextShape]]</span>
|The source context object for this concept indicating the system, table, field and organisation that published this legacy 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>
|0..*
|<span title="Top level information concept for all codeable concepts">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Concept/ im:Concept]</span>
|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>
|0..*
|<span title="Top level information concept for all codeable concepts">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Concept/ im: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
|-
|-


|}
|}
=== [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%23Query/ Query] ===
data model for a term code
 
Is a subtype of [[#Entity|Entity]]
 
A query that is stored as an entity in a query library
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 846: Line 507:
|Description
|Description
|-
|-
|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="The query definition itself">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23definition/ <span style="color:green">definition ]</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 query definition itself
|-
|colspan="2"|<span title="a code for a codeable concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23code/ <span style="color:green">code ]</span></span>
|0..*
|<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
|-
|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..*
|<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
|-
|-


|}
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23SourceContextShape/ Source context shape] ===
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23PathQuery/ Path Query] ===


Is a subtype of [[#Entity shape|Entity shape]]
Is a subtype of [[#Data model/Node shape |Data model/Node shape ]]


Data model for source context for a concept e.g. source system, field etc
A query that returns a set pf paths between a source and target entity, traversing to a certain level
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 875: Line 526:
|Description
|Description
|-
|-
|colspan="2"|<span title="Points to the source system that published this concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23sourceSystem/ <span style="color:green">sourceSystem ]</span></span>
|colspan="2"|<span title="Input parameter representing one or more source objects. Usually a variable name from an outer group or map, and may or may not be typed">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23source/ <span style="color:green">source ]</span></span>
|1..*
|1..1
|<span title="A named computer system considered a type of device">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23ComputerSystem/ im:ComputerSystem]</span>
|<span title="A reference to resource with an iri and optional name to enable readability">[[#IriRef|IriRef]]</span>
|the name of the system that was responsible for sending the message or extract, usually referring to the health care record system
|the source entity at the start of the path.
|-
|-
|colspan="2"|<span title="Points to the source organisation that published this concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23sourcePublisher/ <span style="color:green">sourcePublisher ]</span></span>
|colspan="2"|<span title="Input parameter representing one or more target objects. Usually a variable name from an outer group or map, and may or may not be typed. The net result of a group is the population of the target objects with data. Targets are not modelled as return values and therefore should be pre-created unless the rule creates an instance as a property value of a group object">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23target/ <span style="color:green">target ]</span></span>
|1..*
|1..1
|<span title="A record of an organisation and its relationships. Named collections of people that have come together to achieve an objective">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Organisation/ im:Organisation]</span>
|<span title="A reference to resource with an iri and optional name to enable readability">[[#IriRef|IriRef]]</span>
|The organisation (usually a provider) that was the source of this message or extract
|the target entity at the end of the path.
|-
|-
|colspan="2"|<span title="Points to the source extract or message type that published this concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23sourceSchema/ <span style="color:green">sourceSchema ]</span></span>
|colspan="2"|<span title="How many hops to be taken in the graph between source and target">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23depth/ <span style="color:green">depth ]</span></span>
|1..*
|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="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span>
|The schema or data set or other identifier that identifies the format of this extract
|How many hops to be taken in the graph between source and target
|-
|colspan="2"|<span title="Points to the source table or resource or message segment that published this concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23sourceTable/ <span style="color:green">sourceTable ]</span></span>
|1..*
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|If a table or message the name of the source table or source message type
|-
|colspan="2"|<span title="Points to the source field, element or message field that published this concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23sourceField/ <span style="color:green">sourceField ]</span></span>
|1..*
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|The source field containing this data item
|-
|colspan="2"|<span title="Points to the source regex or other pattern match used when creating the concept from a mix of code and term">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23sourceRegex/ <span style="color:green">sourceRegex ]</span></span>
|1..*
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|In the case of text, the nature of a regex expression or nlp algorithm used to parse the source text
|-
|colspan="2"|<span title="the source code or term that acts as the heading for a text qualifier such as negative or positive">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23sourceHeading/ <span style="color:green">sourceHeading ]</span></span>
|1..*
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|For an item that depends on the context in which it appears, the heading which provides context
|-
|colspan="2"|<span title="the source text for a text map">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23sourceText/ <span style="color:green">sourceText ]</span></span>
|1..*
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|Source text or term for coded or non coded data
|-
|colspan="2"|<span title="The orignal field value used to create the concept">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23sourceValue/ <span style="color:green">sourceValue ]</span></span>
|1..*
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|The value or code for this concept. Note that a scheme for the code can be inferred from the other context information. In the event of a scheme/code pair, use different fields in the source context
|-
|-


|}
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23RefinedConceptShape/ Refined concept shape] ===
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Set/ Set] ===


Is a subtype of [[#Concept shape|Concept shape]]
Is a subtype of [[#Entity|Entity]]


A concept with role groups with roles
data model for concept sets and value sets
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 934: Line 555:
|Description
|Description
|-
|-
|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="The query definition itself">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23definition/ <span style="color:green">definition ]</span></span>
|0..*
|0..1
|<span title="data model for a role group">[[#RoleGroupShape|RoleGroupShape]]</span>
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</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.
|The query definition itself
|-
|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..1
|<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
|-
|-


|}
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23RoleGroupShape/ Role group shape] ===
data model for a role group
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="The class of RDF properties, used for Data properties (object properties are generally owl:ObjectProperties">[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..*
|<span title="Top level information concept for all codeable concepts">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Concept/ im: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
|-


|}
== 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 ==
== Transactional shapes ==
Line 962: Line 575:
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23EntityFileTransaction/ EntityFileTransaction] ===
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23EntityFileTransaction/ EntityFileTransaction] ===


Is a subtype of [[#Entity shape|Entity shape]]
Is a subtype of [[#Entity|Entity]]


An entity with the additional CRUD indicators to enable deletes updates, adding quads etc
An entity with the additional CRUD indicators to enable deletes updates, adding quads etc
Line 979: Line 592:
|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>
|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>
|1..1
|1..1
|<span title="Core graphs for core ontologies 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>
|<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 graph to which these triples apply. <br>This means you can add predicates to any entity without affecting the original authored entity, those predicates belonging only to this module or graph
|The graph to which these triples apply. <br>This means you can add predicates to any entity without affecting the original authored entity, those predicates belonging only to this module or graph
|-
|-
Line 1,000: Line 613:
|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>
|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>
|1..1
|1..1
|<span title="Core graphs for core ontologies 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>
|<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 graph to which these entities apply by default. <br>This may be overridden by the entities<br>This means you can add predicates to any entity without affecting the original authored entity, those predicates belonging only to this module or graph
|The graph to which these entities apply by default. <br>This may be overridden by the entities<br>This means you can add predicates to any entity without affecting the original authored entity, those predicates belonging only to this module or graph
|-
|-
|colspan="2"|<span title="Set of entities to file. If the entities do not have crud or graphs oftheir own then the default from the document are used">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23entities/ <span style="color:green">entities ]</span></span>
|colspan="2"|<span title="Set of entities to file. If the entities do not have crud or graphs oftheir own then the default from the document are used">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23entities/ <span style="color:green">entities ]</span></span>
|1..*
|1..*
|<span title="The super class and data model for all named resources in the model i.e. the data model of the entities that are labelled with iri label and status">[[#EntityShape|EntityShape]]</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
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23QueryRequest/ Query Request] ===
A request for data sent as a  body (json in local name format) to the /queryIM API.<br>Contains a query as an iri or inline query with run time variable values as arguments for use in the query
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="optional name for debugging purposes. Is not used in the query process">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23name/ <span style="color:green">name ]</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 name for debugging purposes. Is not used in the query process
|-
|colspan="2"|<span title="optional page number and size if the client is looking for paged results">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23page/ <span style="color:green">page ]</span></span>
|0..1
|<span title="Information about paging if the client wishes to page results, including page number and page size">[[#PageInformation|PageInformation]]</span>
|optional page number and size if the client is looking for paged results
|-
|colspan="2"|<span title="If a free text search is part of the query">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23textSearch/ <span style="color:green">textSearch ]</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 free text search is part of the query
|-
|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 in to the query as parameters. Parameter name and value pairs. Values ,may be strings, numbers or IRIs
|-
|rowspan="1"|or<br>1..1
|<span title="The requested query, either by iri reference or inline definition If the query is already defined, use the queryIri. Arguments may be used in eoither approach">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23query/ <span style="color:green">query ]</span></span>
|1..1
|<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>
|The requested query, either by iri reference or inline definition If the query is already defined, use the queryIri. Arguments may be used in eoither approach
|-
|colspan="2"|<span title="reference date for date ranges that use reference date. (Note that it could be passed in as an argument)">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23referenceDate/ <span style="color:green">referenceDate ]</span></span>
|0..1
|<span title="im date time format">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23DateTime/ im:DateTime]</span>
|reference date for date ranges that use reference date. (Note that it could be passed in as an argument)
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23PageInformation/ PageInformation] ===
Information about paging if the client wishes to page results, including page number and page size
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="Page number (starting at 1)">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23pageNumber/ <span style="color:green">pageNumber ]</span></span>
|1..1
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span>
|Page number (starting at 1)
|-
|colspan="2"|<span title="number of entries per page">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23pageSize/ <span style="color:green">pageSize ]</span></span>
|1..1
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span>
|number of entries per page
|-
|-


|}
|}

Latest revision as of 10:07, 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.

isSet

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

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

class

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 xsd:string The query definition itself

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 xsd:string 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