Test: Difference between revisions

From Endeavour Knowledge Base
No edit summary
No edit summary
Line 59: Line 59:


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


== Query language shapes ==
Is a subtype of [[#class_IrirRef|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
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="The column name in a select clause for this property, or a variable used to reference the result set of the values matched">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23alias/ <span style="color:green">alias ]</span></span>
|0..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|The 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>
|0..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|The name of a variable, passed as an argument to the query, which is resolved to the IRI
|-
|colspan="2"|<span title="When  used as a property, whether this is an inverse object property i.e. an inbound connection to this entity">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23inverse/ <span style="color:green">inverse ]</span></span>
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|When  used as a property, whether this is an inverse object property i.e. an inbound connection to this entity
|-
|colspan="2"|<span title="Whether to include the subtypes of the entities selected or matched">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23includeSubtypes/ <span style="color:green">includeSubtypes ]</span></span>
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|When used in a with or where clause, whether to include the subtypes of this entity
|-
|colspan="2"|<span title="Whether to include the supertypes of the entity in a match clause. Used for ascending the hierarch to look for properties inherited">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23includeSupertypes/ <span style="color:green">includeSupertypes ]</span></span>
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|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
|-
 
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23Property/ Property] ===
 
Is a subtype of [[#class_Entity shape|Entity shape]]
 
data model for properties
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23subClassOf/ <span style="color:green">subClassOf ]</span></span>
|0..*
|<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>
|
|-
|colspan="2"|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23inverseOf/ <span style="color:green">inverseOf ]</span></span>
|0..*
|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23Property/ rdf:Property]</span>
|
|-
|colspan="2"|<span title="">[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="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23Class/ rdfs:Class]</span>
|
|-
|colspan="2"|<span title="">[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="">[[#class_Class|Class]]</span>
|
|-
 
|}
 
== Query Model shapes ==
These shapes form the query language DSL for retrieving data from the IM or health records.
These shapes form the query language DSL for retrieving data from the IM or health records.
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Query/ Query] ===
Is a subtype of [[#class_Entity shape|Entity shape]]
A query that is stored as an entity in a query library
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="The query definition itself">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23query/ <span style="color:green">query ]</span></span>
|0..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.">[[#class_QueryDefinition|QueryDefinition]]</span>
|The query definition itself
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23QueryDefinition/ QueryDefinition] ===
Is a subtype of [[#class_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>
|Optional description of the query definition for support purposes.
|-
|colspan="2"|<span title="The base type, or base population/ set , or single object instance that this query is operating on.The result of the query contains subsets of this set.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23With/ <span style="color:green">With ]</span></span>
|0..1
|<span title="A clause defining a base cohort, or set , or a base type(s), or an object instance, on which the query operates">[[#class_WithClause|WithClause]]</span>
|The base type, or base population/ set , or single object instance that this query is operating on.<br>The result of the query contains subsets of this set.
|-
|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">[[#class_WhereClause|WhereClause]]</span>
|Tests properties and property paths and applies filters. Equivalent to SQL Join/ Where and SPARQL Where<br>Bollean where clauses supported.
|-
|colspan="2"|<span title="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
|<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">[[#class_SelectClause|SelectClause]]</span>
|Select query clause logically similar to SQL/SPARQL select but with GraphQL nesting ability
|-
|colspan="2"|<span title="If the results need to be grouped, the grouping properties.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23groupBy/ <span style="color:green">groupBy ]</span></span>
|0..*
|<span title="An IRI with a name and an optional alias  and a variable name when the iri is passed in as an argument (e.g. $this">[[#class_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">[[#class_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.">[[#class_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">[[#class_PrefixShape|PrefixShape]]</span>
|list of prefix to namespace expansion to enable readability of iris
|-
|colspan="2"|<span title="true if you want the results to use IRI prefixes">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23usePrefixes/ <span style="color:green">usePrefixes ]</span></span>
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|true if you want the results to use IRI prefixes
|-
|colspan="2"|<span title="Whether only active entities are included in the match clauses or select clauses">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23activeOnly/ <span style="color:green">activeOnly ]</span></span>
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|Whether only active entities are included in the match clauses or select clauses
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23WithClause/ WithClause] ===
A clause defining a base cohort, or set , or a base type(s), or an object instance, on which the query operates
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|rowspan="3"|or<br>1..1
|<span title="If the query is derived from instances of certain type (or types) then these are the types.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23type/ <span style="color:green">type ]</span></span>
|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">[[#class_IriAlias|IriAlias]]</span>
|If the query is derived from instances of certain type (or types) then these are the types.
|-
|
<span title="If the query is based on a single instance then this is the id of the instance">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23instance/ <span style="color:green">instance ]</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">[[#class_IriAlias|IriAlias]]</span>
|If the query is based on a single instance then this is the id of the instance
|-
|
<span title="The query definition itself">[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.">[[#class_QueryDefinition|QueryDefinition]]</span>
|If the query is based on the result set of another query then this is define here either as an iri or an inline definition
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23WhereClause/ WhereClause] ===
A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.<br>Supports graph traversal filtering and inference for subsumption query
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="The column name in a select clause for this property, or a variable used to reference the result set of the values matched">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23alias/ <span style="color:green">alias ]</span></span>
|0..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|Used to define the clause with a readable term and also used in other clauses for further refinement
|-
|colspan="2"|<span title="Optional description for clause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23description/ <span style="color:green">description ]</span></span>
|0..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|Optional description for clause
|-
|colspan="2"|<span title="The value comparison for lower end of the range">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23from/ <span style="color:green">from ]</span></span>
|0..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|Refers 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
|-
|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="">[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">[[#class_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">[[#class_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">[[#class_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">[[#class_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">[[#class_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">[[#class_IriAlias|IriAlias]]</span>
|Whether the value is this concept (and optionally if set to include sub or supertypes)
|-
|colspan="2"|<span title="Testing for the value as a not. Note that this filters out the instances but does not exclude the outer entity (see not exist)">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23not/ <span style="color:green">not ]</span></span>
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|Testing for the value as a not. Note that this filters out the instances but does not exclude the outer entity (see not exist)
|-
|colspan="2"|<span title="A function that operates on the property value (and other parameters) prior to a compare or range or inclusion test. For example a time difference function operating on the date and a reference date.Note that properties that ARE functions do not need functions included for example age. For these simply supply the arguments.">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23function/ <span style="color:green">function ]</span></span>
|1..1
|<span title="A function used in a query consisting of the function iri and one or more arguments to pass in at run time">[[#class_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">[[#class_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">[[#class_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">[[#class_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">[[#class_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">[[#class_IriAlias|IriAlias]]</span>
|Ordering of instances via a property value in order to further test in another where clause.
|-
|colspan="2"|<span title="direction of ordering (DESC or ASC) .">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23direction/ <span style="color:green">direction ]</span></span>
|0..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|direction of ordering (DESC or ASC) .
|-
|colspan="2"|<span title="Number of entities to return. Normally used with order by">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23limit/ <span style="color:green">limit ]</span></span>
|0..1
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span>
|Number of entities to return. Normally used with order by
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23SelectClause/ SelectClause] ===
Defines the objects and properties to retrieve from a graph, subject to a mach clause. Supports graphql type nesting and sub selects for column groups
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="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>
|0..1
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|If the query result is simply a sum of the main entities found. equivalent to COUNT(id)
|-
|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="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23Resource/ rdfs:Resource]</span>
|A property path made up of space delimited iri strings, from the outer entity to the entity on which this clause operates.<br> Shortcut for nested selects
|-
|colspan="2"|<span title="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>
|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">[[#class_IriAlias|IriAlias]]</span>
|Information about a  property or field to includein 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">[[#class_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">[[#class_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
|<span title="boolean true or false">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|Whether the result is a summation of this property's values
|-
|
<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>
|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
|-
|
<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">[[#class_Argument|Argument]]</span>
|Arguments to pass into the function
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23PrefixShape/ PrefixShape] ===
The model of a class containing an iri prefix map
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="Prefixe used in the rest of the document">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23prefix/ <span style="color:green">prefix ]</span></span>
|1..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|Prefixe used in the rest of the document
|-
|colspan="2"|<span title="The iri or namespace or graph iri this prefix refers to">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23iri/ <span style="color:green">iri ]</span></span>
|1..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|The iri or namespace or graph iri this prefix refers to
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23FunctionClause/ FunctionClause] ===
Is a subtype of [[#class_IrirRef|IrirRef]]
A function used in a query consisting of the function iri and one or more arguments to pass in at run time
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="Arguments to pass into the function. They should match the parameter definitions of the function">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23argument/ <span style="color:green">argument ]</span></span>
|0..*
|<span title="A named parameter and a value for passing into a function">[[#class_Argument|Argument]]</span>
|Arguments to pass into the function. They should match the parameter definitions of the function
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Argument/ Argument] ===
A named parameter and a value for passing into a function
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="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>
|1..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|Parameter name for a function or the parameter name for an argument
|-
|rowspan="2"|or<br>1..1
|<span title="Value that is a literal such as a string or number">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23valueData/ <span style="color:green">valueData ]</span></span>
|1..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|Value that is a literal such as a string or number
|-
|
<span title="argument value which is a variable name to be resolved at run time">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23valueVariable/ <span style="color:green">valueVariable ]</span></span>
|1..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|argument value which is a variable name to be resolved at run time
|-
|colspan="2"|<span title="Passes in the result set from a previous where clause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23valueFrom/ <span style="color:green">valueFrom ]</span></span>
|1..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|Passes in the result set from a previous where clause
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23ValueClause/ ValueClause] ===
Tests a value, whether equal, greater than, less than etc. optionally including a value to compare against
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="Comparison operators : =, <, <=, >, >=">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23comparison/ <span style="color:green">comparison ]</span></span>
|1..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|Comparison operators : =, <, <=, >, >=
|-
|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="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
|-
|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>
|0..1
|<span title="">[[#class_CompareClause|CompareClause]]</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
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23RangeClause/ RangeClause] ===
A range for use in property value testing
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="The value comparison for lower end of the range">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23from/ <span style="color:green">from ]</span></span>
|1..1
|<span title="Tests a value, whether equal, greater than, less than etc. optionally including a value to compare against">[[#class_ValueClause|ValueClause]]</span>
|The value comparison for lower end of the range
|-
|colspan="2"|<span title="The value comparison of upper end of the range">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23to/ <span style="color:green">to ]</span></span>
|1..1
|<span title="Tests a value, whether equal, greater than, less than etc. optionally including a value to compare against">[[#class_ValueClause|ValueClause]]</span>
|The value comparison of upper end of the range
|-
|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>
|1..1
|<span title="">[[#class_CompareClause|CompareClause]]</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
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23CompareClause/ CompareClause] ===
null
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="The column name in a select clause for this property, or a variable used to reference the result set of the values matched">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23alias/ <span style="color:green">alias ]</span></span>
|0..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|The alias of the result set from another where clause
|-
|colspan="2"|<span title="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..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">[[#class_IriAlias|IriAlias]]</span>
|The property of the objects in the result set (as indicated by the alias) to test
|-
|colspan="2"|<span title="The name of a variable, passed as an argument to 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>
|0..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|If a value is being compared against a variable passed in as an argument, the name of the variable
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Function/ Function] ===
Is a subtype of [[#class_Entity shape|Entity shape]]
null
{| 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="">[[#class_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"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="">[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
|<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
|-
|rowspan="2"|or<br>1..1
|<span title="">[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="">[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
|-
|
<span title="">[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="">[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%23PathQuery/ PathQuery] ===
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">[[#class_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">[[#class_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
|<span title="whole number">[https://www.w3.org/TR/xmlschema-2/#integer xsd:integer]</span>
|How many hops to be taken in the graph between source and target
|-
|}


== Data Model shapes ==
== Data Model shapes ==
Line 306: Line 906:
|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>
|
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23RefinedConceptShape/ RefinedConceptShape] ===
Is a subtype of [[#class_Concept shape|Concept shape]]
A concept with role groups with roles
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|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>
|0..*
|<span title="data model for a role group">[[#class_RoleGroupShape|RoleGroupShape]]</span>
|Zero or many role groups, each group containing one or more roles. These represent constraints on the super types i.e. more specific. Generated by inference making sure to remove duplicate properties or super properties.
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23RoleGroupShape/ RoleGroupShape] ===
data model for a role group
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="">[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>
|
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23ConceptPropertyShape/ ConceptPropertyShape] ===
Is a subtype of [[#class_Concept shape|Concept shape]]
A concept that is a role in another concept and as a property may have domains and ranges
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23ConceptSet/ ConceptSet] ===
Is a subtype of [[#class_Entity shape|Entity shape]]
data model for concept sets and value sets
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="Points to something that defines the entity content">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23definition/ <span style="color:green">definition ]</span></span>
|0..1
|<span title="A query that is stored as an entity in a query library">[[#class_QueryShape|QueryShape]]</span>
|A definition of set content using the subset of the query language that aligns to Expression constraint language
|-
|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..*
|<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 flat list of leaf concepts when generated from the definition, or for many national sets, simple list of concepts
|-
|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">[[#class_TermCodeShape|TermCodeShape]]</span>
|
|
|-
|-
Line 313: Line 991:
== Transactional shapes ==
== Transactional shapes ==
These shapes form the meta classes for structures pass into APIs for query of, or  filing into, the model or health records.
These shapes form the meta classes for structures pass into APIs for query of, or  filing into, the model or health records.
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23EntityFileTransaction/ EntityFileTransaction] ===
Is a subtype of [[#class_Entity shape|Entity shape]]
An entity with the additional CRUD indicators to enable deletes updates, adding quads etc
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="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">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23crud/ <span style="color:green">crud ]</span></span>
|1..1
|<span title="Operations that Update delete and and triples">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23CrudOperation/ im:CrudOperation]</span>
|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
|-
|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
|<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 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
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23EntityDocument/ EntityDocument] ===
A document containing any number of triples to file as a batch.<br>Note that if the document is sent as Json-LD with prefixed iris, a @context object will be required
{| class="wikitable"
|+
|colspan="2"|Property
|Card.
|Value type
|Description
|-
|colspan="2"|<span title="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">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23crud/ <span style="color:green">crud ]</span></span>
|1..1
|<span title="Operations that Update delete and and triples">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23CrudOperation/ im:CrudOperation]</span>
|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
|-
|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
|<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 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>
|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">[[#class_EntityShape|EntityShape]]</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
|-
|}
=== [https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23QueryRequest/ QueryRequest] ===
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">[[#class_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">[[#class_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 query definition itself">[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.">[[#class_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
|-
|}

Revision as of 13:54, 21 September 2022

Basic shapes

These shapes are the meta classes of the named entities within the information model.

IriRef

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

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

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
subClassOf 0..* im:EntityShape An entity that this entity inherits from, both semantically and structurally, this is also used for sub properties as properties are classes of properties

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

Property

Is a subtype of Entity shape

data model for properties

Property Card. Value type Description
subClassOf 0..* im:Concept
inverseOf 0..* rdf:Property
domain 0..* rdfs:Class
range 0..* Class

Query Model shapes

These shapes form the query language DSL for retrieving data from the IM or health records.

Query

Is a subtype of Entity shape

A query that is stored as an entity in a query library

Property Card. Value type Description
query 0..1 QueryDefinition The query definition itself

QueryDefinition

Is a subtype of IriAlias

A set definition holding the logical definition of a set. Usually referred to as a Query as these are used to retrieve data.
Includes most of the main logical query constructs used in mainstream query languages, thus is a constrained version of mainstream languages that is schema independent.

Property Card. Value type Description
description 0..1 xsd:string Optional description of the query definition for support purposes.
With 0..1 WithClause The base type, or base population/ set , or single object instance that this query is operating on.
The result of the query contains subsets of this set.
where 0..1 WhereClause Tests properties and property paths and applies filters. Equivalent to SQL Join/ Where and SPARQL Where
Bollean where clauses supported.
select 1..1 SelectClause Select query clause logically similar to SQL/SPARQL select but with GraphQL nesting ability
groupBy 0..* IriAlias If the results need to be grouped, the grouping properties.
orderBy 0..* IriAlias Ordering of instances via a property value returned.
direction 0..1 xsd:string direction of ordering (DESC or ASC) .
limit 0..1 xsd:integer Number of entities to return. Normally used with order by
subQuery 0..* QueryDefinition SubQueries used to group columns in multi group reports. The sub queries are all subsets of the main query clauses
prefix 0..0 PrefixShape list of prefix to namespace expansion to enable readability of iris
usePrefixes 0..1 xsd:boolean true if you want the results to use IRI prefixes
activeOnly 0..1 xsd:boolean Whether only active entities are included in the match clauses or select clauses

WithClause

A clause defining a base cohort, or set , or a base type(s), or an object instance, on which the query operates

Property Card. Value type Description
or
1..1
type 1..* IriAlias If the query is derived from instances of certain type (or types) then these are the types.

instance

1..1 IriAlias If the query is based on a single instance then this is the id of the instance

query

1..1 QueryDefinition If the query is based on the result set of another query then this is define here either as an iri or an inline definition

WhereClause

A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.
Supports graph traversal filtering and inference for subsumption query

Property Card. Value type Description
alias 0..1 xsd:string Used to define the clause with a readable term and also used in other clauses for further refinement
description 0..1 xsd:string Optional description for clause
from 0..1 xsd:string Refers to the alias of another where clause to indicate the set of objects defined by the referenced clause, which will be further refined by this where clause.
Equivalent to accessing a temporary or derived table in SQL
graph 0..1 im:Graph The iri of a graph if the query is limited to a particular data set
path 0..1 rdfs:Resource A property path made up of space delimited iri strings, from the outer entity to the entity on which this clause operates.
Equivalent to an inner join in SQL
notExist 0..1 WhereClause Points to a nested where clause. If the nested clause returns results then the entity referenced by the outer where clause is excluded.
In other words, for the outer entity to be included, the nested entity must have no results. This contrasts with 'not'
or 2..* WhereClause Boolean operator OR on subclauses
and 2..* WhereClause Boolean operator AND on subclauses
property 0..* IriAlias a property tgo test. Note that this is applied to the entity after the path has been resolved.
in 0..* IriRef Whether the value is in this list of sets or concepts (including any sub types)
is 0..* IriAlias Whether the value is this concept (and optionally if set to include sub or supertypes)
not 0..1 xsd:boolean Testing for the value as a not. Note that this filters out the instances but does not exclude the outer entity (see not exist)
function 1..1 FunctionClause A function that operates on the property value (and other parameters) prior to a compare or range or inclusion test. For example a time difference function operating on the date and a reference date.
Note that properties that ARE functions do not need functions included for example age. For these simply supply the arguments.
argument 0..1 Argument Arguments to pass into a function when the property is a function property.
Note that if the test is a function then the argument list would be in the function clause
value 1..1 ValueClause If testing a property value as equal greater than ete. use compare
range 1..1 RangeClause Test foe a value being between two absolute or relative values
where 1..1 WhereClause A chained where clause operating on the property value object.
Equivalent to a join in SQL or '.' in sparql
orderBy 0..* IriAlias Ordering of instances via a property value in order to further test in another where clause.
direction 0..1 xsd:string direction of ordering (DESC or ASC) .
limit 0..1 xsd:integer Number of entities to return. Normally used with order by

SelectClause

Defines the objects and properties to retrieve from a graph, subject to a mach clause. Supports graphql type nesting and sub selects for column groups

Property Card. Value type Description
count 0..1 xsd:boolean If the query result is simply a sum of the main entities found. equivalent to COUNT(id)
path 0..1 rdfs:Resource A property path made up of space delimited iri strings, from the outer entity to the entity on which this clause operates.
Shortcut for nested selects
property 1..1 IriAlias Information about a property or field to includein the results. Property select supports nesting with selects for the objects that may be values of the property
select 0..* SelectClause Nested select property clauses from the objects that are values of this select's property Note that if the value is null then this select would be absent
where 0..* WhereClause Nested where clause operating on the values of this select's property
Enables multi- level filtering as used in JOIN where clauses in SQL
or
0..1
sum 0..1 xsd:boolean Whether the result is a summation of this property's values

average

0..1 xsd:boolean Whether the result is an average of this property's values

max

0..1 xsd:boolean Whether the result is the maximum of this property's values
function 0..1 im:Function The iri of a function indicating that the result is the result of a function operating on the property values, and any arguments passed in
argument 0..* Argument Arguments to pass into the function

PrefixShape

The model of a class containing an iri prefix map

Property Card. Value type Description
prefix 1..1 xsd:string Prefixe used in the rest of the document
iri 1..1 xsd:string The iri or namespace or graph iri this prefix refers to

FunctionClause

Is a subtype of IrirRef

A function used in a query consisting of the function iri and one or more arguments to pass in at run time

Property Card. Value type Description
argument 0..* Argument Arguments to pass into the function. They should match the parameter definitions of the function

Argument

A named parameter and a value for passing into a function

Property Card. Value type Description
parameter 1..1 xsd:string Parameter name for a function or the parameter name for an argument
or
1..1
valueData 1..1 xsd:string Value that is a literal such as a string or number

valueVariable

1..1 xsd:string argument value which is a variable name to be resolved at run time
valueFrom 1..1 xsd:string Passes in the result set from a previous where clause

ValueClause

Tests a value, whether equal, greater than, less than etc. optionally including a value to compare against

Property Card. Value type Description
<span title="Comparison operators : =, <, <=, >, >=">comparison 1..1 xsd:string Comparison operators : =, <, <=, >, >=
value 1..1 xsd:string The value of the property used in a test. This is a string which will be cast to a number or date, depending on the data type of the property value
relativeTo 0..1 CompareClause 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

RangeClause

A range for use in property value testing

Property Card. Value type Description
from 1..1 ValueClause The value comparison for lower end of the range
to 1..1 ValueClause The value comparison of upper end of the range
relativeTo 1..1 CompareClause 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

CompareClause

null

Property Card. Value type Description
alias 0..1 xsd:string The alias of the result set from another where clause
property 0..1 IriAlias The property of the objects in the result set (as indicated by the alias) to test
variable 0..1 xsd:string If a value is being compared against a variable passed in as an argument, the name of the variable

Function

Is a subtype of Entity shape

null

Property Card. Value type Description
parameter 0..* Parameter A list of parameters and data types used in this function

Parameter

null

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

PathQuery

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

Data Model shapes

These shapes are the meta classes of the data modelling entities within the information model.

NodeShape

Is a subtype of Entity shape

The meta class for a data model type, using a SHACL node shape for both definition and validation

Property Card. Value type Description
property 0..* PropertyNodeShape

PropertyNodeShape

Is a subtype of Entity shape

The data model of a shacl node shape describing a property of a data model entity

Property Card. Value type Description
path 1..1 rdf:Property The iri of the property
minCount 0..1 xsd:integer Minimum cardinality,if null assuming any number including zero
maxCount 0..1 xsd:integer The maximum number allowed. If null then any number
or
1..1
class 1..1 rdfs:Resource The iri for the class range of the property. The range of this property is a subclass of this class

datatype

1..1 rdfs:Resource The range of the property is a data type of this type

node

1..1 rdfs:Resource The property points to a node shape
comment 0..1 xsd:string Description of the property
name 0..1 xsd:string The name of the property used for ease of recognition
order 0..1 xsd:integer The property order for display
inheritedFrom 0..1 NodeShape The shape that this property is inherited from (used in the inferred instance of the information model

Concept shapes

These shapes are the meta classes of the terminology concepts used within the information model.

Concept

Is a subtype of Entity shape

data model for terminology concepts

Property Card. Value type Description
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..* 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..* 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..* 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
sourceContext 0..* SourceContextShape The source context object for this concept indicating the system, table, field and organisation that published this legacy concept
370124000 0..* im:Concept Indicates the concepts that this concept has been replaced by
isChildOf 0..* im: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

TermCodeShape

data model for a term code

Property Card. Value type Description
label 0..* xsd:string
code 0..* xsd:string
status 0..* im:Status

SourceContextShape

Is a subtype of Entity shape

Data model for source context for a concept e.g. source system, field etc

Property Card. Value type Description
sourceSystem 1..* im:ComputerSystem
sourcePublisher 1..* im:Organisation
sourceSchema 1..* xsd:string
sourceTable 1..* xsd:string
sourceField 1..* xsd:string
sourceRegex 1..* xsd:string
sourceHeading 1..* xsd:string
sourceText 1..* xsd:string
sourceValue 1..* xsd:string

RefinedConceptShape

Is a subtype of Concept shape

A concept with role groups with roles

Property Card. Value type Description
roleGroup 0..* 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.

RoleGroupShape

data model for a role group

Property Card. Value type Description
Property 0..* im:Concept

ConceptPropertyShape

Is a subtype of Concept shape

A concept that is a role in another concept and as a property may have domains and ranges

Property Card. Value type Description

ConceptSet

Is a subtype of Entity shape

data model for concept sets and value sets

Property Card. Value type Description
definition 0..1 QueryShape A definition of set content using the subset of the query language that aligns to Expression constraint language
hasMember 0..* im:Concept The flat list of leaf concepts when generated from the definition, or for many national sets, simple list of concepts
hasTermCode 0..* TermCodeShape

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 shape

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..* EntityShape Set of entities to file. If the entities do not have crud or graphs oftheir own then the default from the document are used

QueryRequest

A request for data sent as a body (json in local name format) to the /queryIM API.
Contains a query as an iri or inline query with run time variable values as arguments for use in the query

Property Card. Value type Description
name 0..1 xsd:string optional name for debugging purposes. Is not used in the query process
page 0..1 PageInformation optional page number and size if the client is looking for paged results
textSearch 0..1 xsd:string If a free text search is part of the query
argument 0..* Argument arguments to pass in to the query as parameters. Parameter name and value pairs. Values ,may be strings, numbers or IRIs
or
1..1
query 1..1 QueryDefinition 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
referenceDate 0..1 im:DateTime reference date for date ranges that use reference date. (Note that it could be passed in as an argument)

PageInformation

Information about paging if the client wishes to page results, including page number and page size

Property Card. Value type Description
pageNumber 1..1 xsd:integer Page number (starting at 1)
pageSize 1..1 xsd:integer number of entries per page