Extract.common Package
Overview
The rm.extract.common package defines the semantics common to all kinds of Extract requests
and Extracts. Requests and Extracts can be implemented as messages, or used as types in a webservice
environment. In the latter, the Extract request semantics would most likely be replaced by equivalent
service function definitions.
The Request contains a detailed specification of the repository content required in the Extract. A Request is not always needed, and an Extract may be sent unsolicited. Requests can be made persistent and/or event-driven, supporting various periodic and continuous update scenarios. Each request may specify the data from one or more entities, e.g. EHRs or subjects.
The Extract reply may optionally include a copy of the request. Its main content is in the form of
chapters, under which folders and content items contain the requested content, or as much of it as was
possible to retrieve. Specific types of content item, including openEHR content, generic EMR content,
and demographic content are defined in various sub-packages, How the content is arranged
within folders in each chapter, and across chapters is managed by the use of archetypes and templates
for the Extract/chapter structure. The following uML diagram illustrates the rm.extract.common package.
The typical instance structure of the EXTRACT_REQUEST and EXTRACT types is illustrated below.
Design
Extract Request
The EXTRACT_REQUEST class consists of an update_spec specifying rules for update (one-off, periodic,
event-driven etc), and an extract_spec, indicating what information from the target repository is
required. The latter consists of an optional version_spec, indicating which versions (default is latest)
and a manifest, specifying which entities (records or subjects, and optionally which items from those
entities should be included.
Content Criteria Specification
The extract_spec part of the Request applies to all content in the Extract. The attributes are as follows:
-
extract_type: what kind of Extract this is, e.g.
|openehr-ehr|,|openehr-demographic|,|openehr-synchronisation|,|openehr-generic|,|generic-emr|, etc; -
include_multimedia: a flag indicating whether inline binary objects are included or not;
-
link_depth: value indicating how many levels of link to follow when constructing the content of the Extract; the default is 0, meaning 'don’t follow';
-
criteria: specifyies queries defining the required content of each entity record;
-
other_details: an archetypable structure including further extract details.
The criteria attribute defines in the form of generic queries (i.e. queries that apply sensibly to any
record) which items are to be retrieved from each entity’s record. Each query is expressed as a
DV_PARSABLE instance, enabling any formalism to be used. The openEHR archetype query formalisms
(AQL) could be used for example. Query expressions use variables such as $ehr to mean the current
EHR from the manifest list. Queries may be as simple as the following:
SELECT * FROM $ehr -- get all items in the record
SELECT /ehr_access FROM $ehr -- retrieve the EHR_ACCESS object in an EHR
SELECT /ehr_status FROM $ehr -- retrieve the EHR_STATUS object in an EHR
More sophisticated queries can be used to obtain items corresponding to a specific criteria, e.g.:
SELECT .... -- retrieve last 6 months' worth of blood glucose measurements
... -- retrieve ongoing medications list
...... -- retrieve items relating to active pregnancy
..... -- retrieve all GP encounter notes since 12-03-2005
To Be Continued:
Update Specification
The update_spec part of the Request specifies how the Request is to be processed by the server. The default situation, requiring no update_spec at all, is a one-off request. Other alternatives include:
-
repeat Request with a defined period and/or trigger events;
-
persisting the Request in the server so that the requestor can make later repeat requests by referring to a previously stored request by its identifier.
An ad hoc repeat of a request persisted earlier is made using an EXTRACT_ACTION_REQUEST with
action set to |repeat|. This specifies only the identifier of a request previously specified using an
EXTRACT_REQUEST. Since requests are uniquely identified for all time, there can be no error in the
identification.
The Manifest
The manifest specifies the scope of records to be retrieved in an Extract. In the simplest case, only a single
entity (e.g. patient) and no specific items will be identified (the content will be determined by the criteria in the
EXTRACT_SPEC object); this will be used in the vast majority of single-patient request scenarios.
However, some scenarios will be of a batch update nature, including pathology lab result update and
situations where patient records are requested corresponding to a list of referrals received by a hospital
since the last such update. In these cases, the request manifest may identify a number of entities
(i.e. records or patients), each of which will be allocated a separate chapter in the resulting Extract.
The item_list of each entity manifest identifies individual items using OBJECT_REF instances each
containing the HIER_OBJECT_ID identifier of a particular top-level object such as a Composition, or
Party. This mechanism for identifying contents of an Extract is only expected to be used when a specific
identifier is known, rather than when items corresponding to filtering criteria are requested. The
latter are specified using the criteria attribute.
Version Specification
An Extract request in its simplest form has no version specification, corresponding to the assumption of 'latest available version' for each matched item. However, in some situations there is a need to retrieve previous versions, or information about versions. The version specification part of the Extract request allows this to be done. The possibilities available are as follows.
-
include_all_versions: the whole version 'stack' of each item matched by the manifest and retrieval criteria should be returned. Note that the result of this will be all available versions from the repository in question, which is in general not the same as all versions that have ever been created, since versions in the same logical version tree may exist at other repositories due to local modifications that have not been propagated to the target repository of the Extract Request.
-
include_revision_history: this flag indicates whether the revision_history of a
VERSIONED_OBJECTis to be included in the Extract form of the version
Extract
Content Specification
The EXTRACT consists of a request_id, an optional participations list, an optional specification and a
set of chapters, containing the retrieved content. The participations attribute denotes parties that were
responsible for creating the Extract. The specification takes the same form as the extract_spec of the
EXTRACT_REQUEST, but in an EXTRACT instance, indicates the actual contents of the Extract. This
will usually differ in from the request specification in that it will list in the manifest section the actual
entities (and the identifiers they are known by in the receiver system) retrieved, whereas the request
may not specify any entities (it may rely on query criteria), or it may specify a different set of entities
than were retrievable in the receiver system.
Content
The content of an Extract is contained within the chapters attribute, in the form of one of more
instances of the EXTRACT_CHAPTER class or its subtype EXTRACT_ENTITY_CHAPTER. Within an
EXTRACT_CHAPTER the content attribute contains a folder structure made of EXTRACT_FOLDER
objects which in turn contain the content items. The folder structure is defined by archetypes, and can
be used to separate the parts of a health record, or group items according to some other scheme e.g.
episode. A specific kind of chapter, the EXTRACT_ENTITY_CHAPTER, is used to carry content associated
with a single entity, i.e. patient. This means that an Extract may contain data relating to multiple
entities, i.e. multiple patients.
The EXTRACT_CONTENT_ITEM class is subtyped in later sections of this specification to define metadata
for specific kinds of content.
Participations and Demographic Referencing
A key difference between an 'extract' or in fact any kind of message carrying information out of a system environment is that the Extract combines in one place information typically found in multiple services in the original environment. Two kinds of information routinely included in Extracts are clinical (i.e. EHR / EMR or similar) and demographic data regarding participations of the subject and other parties in the activities documented in the clinical information.
Within the openEHR EHR model, a 'participation' is defined by the PARTICIPATION class in the
rm.common.generic package. Actual participation instances include a performer object (a subtype
of PARTY_PROXY), and optionally an external reference object (type PARTY_REF). The latter contains
a reference to the demographic entity within a demographic service, provider registry or similar.
Within the Extract, participations occur in two places. In the EHR_EXTRACT class, participations are
used to provide information about parties related to the Extract. These are created new with each
Extract (i.e. they are not EHR data that is part of the Extract content. Accordingly, a simplified form
of the PARTICIPATION class is used: EXTRACT_PARTICIPATION. The only difference is that the
performer reference is a simple string, allowing it to contain a GUID reference to a demographic
party included elsewhere in the same Extract.
Participations also occur in the actual content of the EHR, and in this case, they original structures are
copied faithfully, including any in-line performer information. If there was an external_ref present,
pointing to a demographic entity that is also to be included in the Extract, this reference is rewritten to
point to a local copy of the demographic entity (using a GUID), within the Entity chapter of the
Extract.
The result of this is that for source data whose original external references are to external demographic entities, the logical structure is completely preserved within the Extract, with just the reference being rewritten to the GUID values used in the Extract (which may well come from the original demographic database or service).
A typical arrangement is to dedicate a single chapter to all demographic entities referenced within the Extract, optionally with an internal Folder structure. Some example arrangements are illustrated in the EHR and generic Extract sections below.
Class Descriptions
EXTRACT_REQUEST Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT_REQUEST |
|
|---|---|---|
Description |
Generic model of a Request for an Extract, containing an Extract specification. |
|
Inherit |
||
Attributes |
Signature |
Meaning |
1..1 |
extract_spec: |
Specification details of the request. |
0..1 |
update_spec: |
Update details of the request. |
1..1 |
uid: |
Identifier of this Request, generated by requestor. |
| EXTRACT_REQUEST | |||
|---|---|---|---|
Generic model of a Request for an Extract, containing an Extract specification. |
|||
Attributes |
|||
Runtime name of this fragment, used to build runtime paths. This is the term provided via a clinical application or batch process to name this EHR construct: its retention in the EHR faithfully preserves the original label by which this entry was known to end users. |
|||
Design-time archetype identifier of this node taken from its generating archetype; used to build archetype paths. Always in the form of an at-code, e.g. At an archetype root point, the value of this attribute is always the stringified form of the |
|||
uid: |
Identifier of this Request, generated by requestor. |
||
Links to other archetyped structures (data whose root object inherits from |
|||
LOCATABLE.archetype_details: |
Details of archetyping used on this node. |
||
LOCATABLE.feeder_audit: |
Audit trail from non-openEHR system of original commit of information forming the content of this node, or from a conversion gateway which has synthesised this node. |
||
extract_spec: |
Specification details of the request. |
||
update_spec: |
Update details of the request. |
||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Parent of this node in a compositional hierarchy. |
|||
PATHABLE.item_at_path ( |
The item at a path (relative to this item); only valid for unique paths, i.e. paths that resolve to a single item. |
||
PATHABLE.items_at_path ( |
List of items corresponding to a non-unique path. |
||
PATHABLE.path_exists ( |
True if the path exists in the data with respect to the current item. |
||
PATHABLE.path_unique ( |
True if the path corresponds to a single item in the data. |
||
The path to an item relative to the root of this archetyped structure. |
|||
Clinical concept of the archetype as a whole (= derived from the archetype_node_id' of the root node) |
|||
True if this node is the root of an archetyped structure. |
|||
Invariants |
|||
LOCATABLE.Links_valid: |
|||
LOCATABLE.Archetyped_valid: |
|||
LOCATABLE.Archetype_node_id_valid: |
|||
{
"name": "EXTRACT_REQUEST",
"documentation": "Generic model of a Request for an Extract, containing an Extract specification.",
"ancestors": [
"LOCATABLE"
],
"properties": {
"extract_spec": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "extract_spec",
"documentation": "Specification details of the request.",
"is_mandatory": true,
"type": "EXTRACT_SPEC"
},
"update_spec": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "update_spec",
"documentation": "Update details of the request.",
"type": "EXTRACT_UPDATE_SPEC"
},
"uid": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "uid",
"documentation": "Identifier of this Request, generated by requestor.",
"is_mandatory": true,
"type": "HIER_OBJECT_ID"
}
}
}
EXTRACT_ACTION_REQUEST Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT_ACTION_REQUEST |
|
|---|---|---|
Description |
Generic model of a Request for an Extract, containing an Extract specification. |
|
Inherit |
||
Attributes |
Signature |
Meaning |
1..1 |
request_id: |
Identifier of previous |
1..1 |
uid: |
|
1..1 |
action: |
Requested action: |
| EXTRACT_ACTION_REQUEST | |||
|---|---|---|---|
Generic model of a Request for an Extract, containing an Extract specification. |
|||
Attributes |
|||
Runtime name of this fragment, used to build runtime paths. This is the term provided via a clinical application or batch process to name this EHR construct: its retention in the EHR faithfully preserves the original label by which this entry was known to end users. |
|||
Design-time archetype identifier of this node taken from its generating archetype; used to build archetype paths. Always in the form of an at-code, e.g. At an archetype root point, the value of this attribute is always the stringified form of the |
|||
uid: |
|||
Links to other archetyped structures (data whose root object inherits from |
|||
LOCATABLE.archetype_details: |
Details of archetyping used on this node. |
||
LOCATABLE.feeder_audit: |
Audit trail from non-openEHR system of original commit of information forming the content of this node, or from a conversion gateway which has synthesised this node. |
||
request_id: |
Identifier of previous |
||
action: |
Requested action: |
||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Parent of this node in a compositional hierarchy. |
|||
PATHABLE.item_at_path ( |
The item at a path (relative to this item); only valid for unique paths, i.e. paths that resolve to a single item. |
||
PATHABLE.items_at_path ( |
List of items corresponding to a non-unique path. |
||
PATHABLE.path_exists ( |
True if the path exists in the data with respect to the current item. |
||
PATHABLE.path_unique ( |
True if the path corresponds to a single item in the data. |
||
The path to an item relative to the root of this archetyped structure. |
|||
Clinical concept of the archetype as a whole (= derived from the archetype_node_id' of the root node) |
|||
True if this node is the root of an archetyped structure. |
|||
Invariants |
|||
LOCATABLE.Links_valid: |
|||
LOCATABLE.Archetyped_valid: |
|||
LOCATABLE.Archetype_node_id_valid: |
|||
{
"name": "EXTRACT_ACTION_REQUEST",
"documentation": "Generic model of a Request for an Extract, containing an Extract specification.",
"ancestors": [
"LOCATABLE"
],
"properties": {
"request_id": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "request_id",
"documentation": "Identifier of previous `EXTRACT_REQUEST`.",
"is_mandatory": true,
"type": "OBJECT_REF"
},
"uid": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "uid",
"is_mandatory": true,
"type": "HIER_OBJECT_ID"
},
"action": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "action",
"documentation": "Requested action: `cancel | resend | send new`. Coded by openEHR Terminology group `'extract action type'`.",
"is_mandatory": true,
"type": "DV_CODED_TEXT"
}
}
}
EXTRACT_SPEC Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT_SPEC |
|
|---|---|---|
Description |
Specification of an Extract’s contents. Subtypes can be used to add details specific to the type of Extract. The specification consists of attributes specifying the directory, and two further groups of attributes in their own classes, namely a version specfication (which versions of information items are to be included) and a manifest (which entities are to be included in the extract). Use: Used in a request to specify an Extract, as well as to describe what is contained in an Extract. |
|
Attributes |
Signature |
Meaning |
0..1 |
version_spec: |
Specification of which versions of information items to include in the Extract. If Void, the default is latest versions only (which is reasonable for non-versioning systems as well). |
1..1 |
manifest: |
Specification of entities (e.g. records) to include in the Extract. |
1..1 |
extract_type: |
Coded term indicating the type of content required, e.g.
Coded by openEHR Terminology group |
1..1 |
include_multimedia: |
Indicates whether in-line instances of |
1..1 |
priority: |
Requested priority of this request to be handled by server. Priority schemes are likely to be local, and use values agreed by both ends. TBD: alternative is standard coded terms |
1..1 |
link_depth: |
Degree of links to follow emanating from content items specified for inclusion. The kind of links to follow is dependent on the type of Extract. All items at the target end of followed links at the given depth are also included in the extract;
|
0..1 |
criteria: |
Queries specifying the contents of this Extract. |
0..1 |
other_details: |
Other specification items. Archetypable. |
| EXTRACT_SPEC | |
|---|---|
Specification of an Extract’s contents. Subtypes can be used to add details specific to the type of Extract. The specification consists of attributes specifying the directory, and two further groups of attributes in their own classes, namely a version specfication (which versions of information items are to be included) and a manifest (which entities are to be included in the extract). Use: Used in a request to specify an Extract, as well as to describe what is contained in an Extract. |
|
Attributes |
|
version_spec: |
Specification of which versions of information items to include in the Extract. If Void, the default is latest versions only (which is reasonable for non-versioning systems as well). |
manifest: |
Specification of entities (e.g. records) to include in the Extract. |
extract_type: |
Coded term indicating the type of content required, e.g.
Coded by openEHR Terminology group |
include_multimedia: |
Indicates whether in-line instances of |
priority: |
Requested priority of this request to be handled by server. Priority schemes are likely to be local, and use values agreed by both ends. TBD: alternative is standard coded terms |
link_depth: |
Degree of links to follow emanating from content items specified for inclusion. The kind of links to follow is dependent on the type of Extract. All items at the target end of followed links at the given depth are also included in the extract;
|
criteria: |
Queries specifying the contents of this Extract. |
other_details: |
Other specification items. Archetypable. |
{
"name": "EXTRACT_SPEC",
"documentation": "Specification of an Extract's contents. Subtypes can be used to add details specific to the type of Extract. The specification consists of attributes specifying the directory, and two further groups of attributes in their own classes, namely a version specfication (which versions of information items are to be included) and a manifest (which entities are to be included in the extract).\n\nUse: Used in a request to specify an Extract, as well as to describe what is contained in an Extract.",
"properties": {
"version_spec": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "version_spec",
"documentation": "Specification of which versions of information items to include in the Extract. If Void, the default is latest versions only (which is reasonable for non-versioning systems as well).",
"type": "EXTRACT_VERSION_SPEC"
},
"manifest": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "manifest",
"documentation": "Specification of entities (e.g. records) to include in the Extract.",
"is_mandatory": true,
"type": "EXTRACT_MANIFEST"
},
"extract_type": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "extract_type",
"documentation": "Coded term indicating the type of content required, e.g.\n\n* `|openehr-ehr|`\n* `|openehr-demographic|`\n* `|generic-emr|`\n* `|other|`\n\nCoded by openEHR Terminology group `'extract content type'`.",
"is_mandatory": true,
"type": "DV_CODED_TEXT"
},
"include_multimedia": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "include_multimedia",
"documentation": "Indicates whether in-line instances of `DV_MULTIMEDIA` in the source data are included or not.",
"is_mandatory": true,
"type": "Boolean"
},
"priority": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "priority",
"documentation": "Requested priority of this request to be handled by server. Priority schemes are likely to be local, and use values agreed by both ends.\n\nTBD: alternative is standard coded terms",
"is_mandatory": true,
"type": "Integer"
},
"link_depth": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "link_depth",
"documentation": "Degree of links to follow emanating from content items specified for inclusion. The kind of links to follow is dependent on the type of Extract.\n\nAll items at the target end of followed links at the given depth are also included in the extract; `EXTRACT_CONTENT_ITEM._is_primary_` is used to differentiate.\n\n* 0 = don't follow;\n* 1 = follow first degree links;\n* 2 = follow 2nd degree links;\n* ....\n* n = follow nth degree links\n",
"is_mandatory": true,
"type": "Integer"
},
"criteria": {
"_type": "P_BMM_CONTAINER_PROPERTY",
"name": "criteria",
"documentation": "Queries specifying the contents of this Extract.",
"type_def": {
"container_type": "List",
"type": "DV_PARSABLE"
},
"cardinality": {
"lower": 0,
"upper_unbounded": true
}
},
"other_details": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "other_details",
"documentation": "Other specification items. Archetypable.",
"type": "ITEM_STRUCTURE"
}
}
}
EXTRACT_MANIFEST Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT_MANIFEST |
|
|---|---|---|
Description |
Specification of the candidate entities and optionally top-level items (e.g. Compositions) to be included in the Extract. |
|
Attributes |
Signature |
Meaning |
1..1 |
entities: |
List of entity manifests uids of items included in the Extract; for openEHR data, these are uids identifying the version containers. |
| EXTRACT_MANIFEST | |
|---|---|
Specification of the candidate entities and optionally top-level items (e.g. Compositions) to be included in the Extract. |
|
Attributes |
|
entities: |
List of entity manifests uids of items included in the Extract; for openEHR data, these are uids identifying the version containers. |
{
"name": "EXTRACT_MANIFEST",
"documentation": "Specification of the candidate entities and optionally top-level items (e.g. Compositions) to be included in the Extract.",
"properties": {
"entities": {
"_type": "P_BMM_CONTAINER_PROPERTY",
"name": "entities",
"documentation": "List of entity manifests uids of items included in the Extract; for openEHR data, these are uids identifying the version containers.",
"is_mandatory": true,
"type_def": {
"container_type": "List",
"type": "EXTRACT_ENTITY_MANIFEST"
},
"cardinality": {
"lower": 1,
"upper_unbounded": true
}
}
}
}
EXTRACT_ENTITY_MANIFEST Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT_ENTITY_MANIFEST |
|
|---|---|---|
Description |
The manifest for one entity (e.g. EHR subject), identifying the entity and optionally specifying top-level items to be included in the Extract. The list actually included may be modified by the Various identifiers may be provided for the entity; these are to be used by the receiver system to locate the entity. The |
|
Attributes |
Signature |
Meaning |
1..1 |
extract_id_key: |
Identifier by which this entity is known in the Extract. May be one of the other identifiers, e.g. ehr_id or subject_id, or it may be something else, including a simple integer. |
0..1 |
ehr_id: |
EHR / EMR identifier for the entity at the target system. |
0..1 |
subject_id: |
Subject (i.e. patient or similar) identifier for the entity at the target system. |
0..1 |
Other identifiers that may be used to find the entity at the target system, keyed by type. May include medicare numbers, drivers license number, tax number etc. |
|
0..1 |
item_list: |
List of Uids of items to be included in the Extract, in cases where individual items are being requested by id. More typically, this attribute is not used, and the |
| EXTRACT_ENTITY_MANIFEST | |
|---|---|
The manifest for one entity (e.g. EHR subject), identifying the entity and optionally specifying top-level items to be included in the Extract. The list actually included may be modified by the Various identifiers may be provided for the entity; these are to be used by the receiver system to locate the entity. The |
|
Attributes |
|
extract_id_key: |
Identifier by which this entity is known in the Extract. May be one of the other identifiers, e.g. ehr_id or subject_id, or it may be something else, including a simple integer. |
ehr_id: |
EHR / EMR identifier for the entity at the target system. |
subject_id: |
Subject (i.e. patient or similar) identifier for the entity at the target system. |
Other identifiers that may be used to find the entity at the target system, keyed by type. May include medicare numbers, drivers license number, tax number etc. |
|
item_list: |
List of Uids of items to be included in the Extract, in cases where individual items are being requested by id. More typically, this attribute is not used, and the |
{
"name": "EXTRACT_ENTITY_MANIFEST",
"documentation": "The manifest for one entity (e.g. EHR subject), identifying the entity and optionally specifying top-level items to be included in the Extract. The list actually included may be modified by the `_version_spec_` part of the specification, and also by the link_depth attribute. In repeat (standing order) requests, the final inclusion may be modified by the send_changes_only value for `EXTRACT_UPDATE_SPEC._update_method_`.\n\nVarious identifiers may be provided for the entity; these are to be used by the receiver system to locate the entity. The `_extract_id_key_` attribute is used to record the identifier that will be used throughout the Extract for this entity, including in instances of `EXTRACT_ENTITY_IDENTIFIER`.",
"properties": {
"extract_id_key": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "extract_id_key",
"documentation": "Identifier by which this entity is known in the Extract. May be one of the other identifiers, e.g. ehr_id or subject_id, or it may be something else, including a simple integer.",
"is_mandatory": true,
"type": "String"
},
"ehr_id": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "ehr_id",
"documentation": "EHR / EMR identifier for the entity at the target system.",
"type": "String"
},
"subject_id": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "subject_id",
"documentation": "Subject (i.e. patient or similar) identifier for the entity at the target system.",
"type": "String"
},
"other_ids": {
"_type": "P_BMM_CONTAINER_PROPERTY",
"name": "other_ids",
"documentation": "Other identifiers that may be used to find the entity at the target system, keyed by type. May include medicare numbers, drivers license number, tax number etc.",
"type_def": {
"container_type": "List",
"type": "String"
},
"cardinality": {
"lower": 0,
"upper_unbounded": true
}
},
"item_list": {
"_type": "P_BMM_CONTAINER_PROPERTY",
"name": "item_list",
"documentation": "List of Uids of items to be included in the Extract, in cases where individual items are being requested by id. More typically, this attribute is not used, and the `EXTRACT_SPEC._criteria query_` defines the Extract contents. If set, for openEHR data, these are Uids identifying the version containers.",
"type_def": {
"container_type": "List",
"type": "OBJECT_REF"
},
"cardinality": {
"lower": 0,
"upper_unbounded": true
}
}
}
}
EXTRACT_VERSION_SPEC Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT_VERSION_SPEC |
|
|---|---|---|
Description |
Specification of what versions should be included in an Extract. By default, only latest versions are included in the Extract, in which case this part of the Extract specification is not needed at all. The attributes |
|
Attributes |
Signature |
Meaning |
1..1 |
include_all_versions: |
True if all versions of each item in the Extract are included. |
0..1 |
commit_time_interval: |
Specifies commit time interval of items to source repository to include in Extract. By default, only latest versions whose commit times fall in the range are included. If include_all_versions is True, then the range includes all versions committed within the interval. |
1..1 |
include_revision_history: |
True if revision histories of the items in the Extract are included. If included, it is always the full revision history. |
1..1 |
include_data: |
|
Invariants |
Includes_revision_history_valid: |
|
| EXTRACT_VERSION_SPEC | |
|---|---|
Specification of what versions should be included in an Extract. By default, only latest versions are included in the Extract, in which case this part of the Extract specification is not needed at all. The attributes |
|
Attributes |
|
include_all_versions: |
True if all versions of each item in the Extract are included. |
commit_time_interval: |
Specifies commit time interval of items to source repository to include in Extract. By default, only latest versions whose commit times fall in the range are included. If include_all_versions is True, then the range includes all versions committed within the interval. |
include_revision_history: |
True if revision histories of the items in the Extract are included. If included, it is always the full revision history. |
include_data: |
|
Invariants |
|
Includes_revision_history_valid: |
|
{
"name": "EXTRACT_VERSION_SPEC",
"documentation": "Specification of what versions should be included in an Extract. By default, only latest versions are included in the Extract, in which case this part of the Extract specification is not needed at all. The attributes `_include_all_versions_` and `_commit_time_interval_` are used to modify this; the former forces all versions to be included; the latter limits the versions to be those latest versions committed in the time interval, or if `_include_all_versions_` is `True`, all versions committed in the time interval.",
"properties": {
"include_all_versions": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "include_all_versions",
"documentation": "True if all versions of each item in the Extract are included.",
"is_mandatory": true,
"type": "Boolean"
},
"commit_time_interval": {
"_type": "P_BMM_GENERIC_PROPERTY",
"name": "commit_time_interval",
"documentation": "Specifies commit time interval of items to source repository to include in Extract. By default, only latest versions whose commit times fall in the range are included. If include_all_versions is True, then the range includes all versions committed within the interval.",
"type_def": {
"root_type": "DV_INTERVAL",
"generic_parameters": [
"DV_DATE_TIME"
]
}
},
"include_revision_history": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "include_revision_history",
"documentation": "True if revision histories of the items in the Extract are included. If included, it is always the full revision history.",
"is_mandatory": true,
"type": "Boolean"
},
"include_data": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "include_data",
"documentation": "`True` if the data of items matched by the content spec should be included. This is the default. If `False`, only revision history is included in serialised versions. Turning this option on in openEHR systems causes `X_VERSIONED_OBJECTs` to have `_revision_history_` set, but versions Void. Useful for interrogating a server without having to look at any content data. In other systems it may or may not have a sensible meaning.",
"is_mandatory": true,
"type": "Boolean"
}
},
"invariants": {
"Includes_revision_history_valid": "not include_data implies include_revision_history"
}
}
EXTRACT_UPDATE_SPEC Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT_UPDATE_SPEC |
|
|---|---|---|
Description |
Specification of the how the request should be processed by server. The request can be persisted in the server, meaning that a) it can be re-activated by the requesting system simply by indicating Request id, and b) that a changes-only pattern of Extract updates can be set up. To achieve this, the server has to remember what was sent in the previous response. The update mode may be event-driven and periodic update or a mixture of both. The candidate items to be sent each time are the result of re-evaluating the content and versioning parts of the specification; what is actually sent is determined by the |
|
Attributes |
Signature |
Meaning |
1..1 |
persist_in_server: |
If True, this Request is persisted in the server until further notice. |
0..1 |
repeat_period: |
Period for resending update Extracts in response to original Request. |
0..1 |
trigger_events: |
Set of Event names that will cause sending of update Extracts. Event types include:
Coded by openEHR Terminology group 'extract update trigger event type'. |
1..1 |
update_method: |
Indicate mode of update. Can be: send only items that are changed (including logical deletions) or new since last send. For |
Invariants |
Overall_validity: |
|
Trigger_events_validity: |
||
Send_changes_only_validity: |
||
| EXTRACT_UPDATE_SPEC | |
|---|---|
Specification of the how the request should be processed by server. The request can be persisted in the server, meaning that a) it can be re-activated by the requesting system simply by indicating Request id, and b) that a changes-only pattern of Extract updates can be set up. To achieve this, the server has to remember what was sent in the previous response. The update mode may be event-driven and periodic update or a mixture of both. The candidate items to be sent each time are the result of re-evaluating the content and versioning parts of the specification; what is actually sent is determined by the |
|
Attributes |
|
persist_in_server: |
If True, this Request is persisted in the server until further notice. |
repeat_period: |
Period for resending update Extracts in response to original Request. |
trigger_events: |
Set of Event names that will cause sending of update Extracts. Event types include:
Coded by openEHR Terminology group 'extract update trigger event type'. |
update_method: |
Indicate mode of update. Can be: send only items that are changed (including logical deletions) or new since last send. For |
Invariants |
|
Overall_validity: |
|
Trigger_events_validity: |
|
Send_changes_only_validity: |
|
{
"name": "EXTRACT_UPDATE_SPEC",
"documentation": "Specification of the how the request should be processed by server. The request can be persisted in the server, meaning that a) it can be re-activated by the requesting system simply by indicating Request id, and b) that a changes-only pattern of Extract updates can be set up. To achieve this, the server has to remember what was sent in the previous response.\n\nThe update mode may be event-driven and periodic update or a mixture of both. The candidate items to be sent each time are the result of re-evaluating the content and versioning parts of the specification; what is actually sent is determined by the `_send_changes_only_` flag.",
"properties": {
"persist_in_server": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "persist_in_server",
"documentation": "If True, this Request is persisted in the server until further notice.",
"is_mandatory": true,
"type": "Boolean"
},
"repeat_period": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "repeat_period",
"documentation": "Period for resending update Extracts in response to original Request.",
"type": "DV_DURATION"
},
"trigger_events": {
"_type": "P_BMM_CONTAINER_PROPERTY",
"name": "trigger_events",
"documentation": "Set of Event names that will cause sending of update Extracts. Event types include: \n\n* `|any_change|` - any change in content items matched by content specification, e.g. new versions of persistent compositions. If the content list allows matching of any, or a wide range of archetypes, this event type will match any additions to the record.\n* `|correction|` - match error corrections only, including deletions.\n* `|update|` - match updates (i.e. new versions) of included content items.\n\nCoded by openEHR Terminology group 'extract update trigger event type'.",
"type_def": {
"container_type": "List",
"type": "DV_CODED_TEXT"
},
"cardinality": {
"lower": 0,
"upper_unbounded": true
}
},
"update_method": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "update_method",
"documentation": "Indicate mode of update. Can be: send only items that are changed (including logical deletions) or new since last send. For `_persist_in_server_` Requests only.",
"is_mandatory": true,
"type": "CODE_PHRASE"
}
},
"invariants": {
"Overall_validity": "repeat_period /= Void or trigger_events /= Void",
"Trigger_events_validity": "trigger_events /= Void implies not trigger_events.is_empty",
"Send_changes_only_validity": "send_changes_only implies persist_in_server"
}
}
EXTRACT Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT |
|
|---|---|---|
Description |
Generic model of an Extract of some information from a repository. |
|
Inherit |
||
Attributes |
Signature |
Meaning |
0..1 |
chapters: |
The content extracted and serialised from the source repository for this Extract. |
0..1 |
specification: |
The specification that this Extract actually conforms to; might not be identical with the specification of the corresponding request. |
0..1 |
request_id: |
Reference to causing Request, if any. |
1..1 |
time_created: |
Creation time of this Extract |
1..1 |
system_id: |
Identifier of creating system. |
1..1 |
sequence_nr: |
Number of this Extract response in sequence of responses to Extract request identified by |
0..1 |
participations: |
Participations relevant to the creation of this Extract. |
Invariants |
Sequence_nr_valid: |
|
| EXTRACT | |||
|---|---|---|---|
Generic model of an Extract of some information from a repository. |
|||
Attributes |
|||
Runtime name of this fragment, used to build runtime paths. This is the term provided via a clinical application or batch process to name this EHR construct: its retention in the EHR faithfully preserves the original label by which this entry was known to end users. |
|||
Design-time archetype identifier of this node taken from its generating archetype; used to build archetype paths. Always in the form of an at-code, e.g. At an archetype root point, the value of this attribute is always the stringified form of the |
|||
LOCATABLE.uid: |
Optional globally unique object identifier for root points of archetyped structures. |
||
Links to other archetyped structures (data whose root object inherits from |
|||
LOCATABLE.archetype_details: |
Details of archetyping used on this node. |
||
LOCATABLE.feeder_audit: |
Audit trail from non-openEHR system of original commit of information forming the content of this node, or from a conversion gateway which has synthesised this node. |
||
chapters: |
The content extracted and serialised from the source repository for this Extract. |
||
specification: |
The specification that this Extract actually conforms to; might not be identical with the specification of the corresponding request. |
||
request_id: |
Reference to causing Request, if any. |
||
time_created: |
Creation time of this Extract |
||
system_id: |
Identifier of creating system. |
||
sequence_nr: |
Number of this Extract response in sequence of responses to Extract request identified by |
||
participations: |
Participations relevant to the creation of this Extract. |
||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Parent of this node in a compositional hierarchy. |
|||
PATHABLE.item_at_path ( |
The item at a path (relative to this item); only valid for unique paths, i.e. paths that resolve to a single item. |
||
PATHABLE.items_at_path ( |
List of items corresponding to a non-unique path. |
||
PATHABLE.path_exists ( |
True if the path exists in the data with respect to the current item. |
||
PATHABLE.path_unique ( |
True if the path corresponds to a single item in the data. |
||
The path to an item relative to the root of this archetyped structure. |
|||
Clinical concept of the archetype as a whole (= derived from the archetype_node_id' of the root node) |
|||
True if this node is the root of an archetyped structure. |
|||
Invariants |
|||
LOCATABLE.Links_valid: |
|||
LOCATABLE.Archetyped_valid: |
|||
LOCATABLE.Archetype_node_id_valid: |
|||
Sequence_nr_valid: |
|||
{
"name": "EXTRACT",
"documentation": "Generic model of an Extract of some information from a repository.",
"ancestors": [
"LOCATABLE"
],
"properties": {
"chapters": {
"_type": "P_BMM_CONTAINER_PROPERTY",
"name": "chapters",
"documentation": "The content extracted and serialised from the source repository for this Extract.",
"type_def": {
"container_type": "List",
"type": "EXTRACT_CHAPTER"
},
"cardinality": {
"lower": 0,
"upper_unbounded": true
}
},
"specification": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "specification",
"documentation": "The specification that this Extract actually conforms to; might not be identical with the specification of the corresponding request.",
"type": "EXTRACT_SPEC"
},
"request_id": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "request_id",
"documentation": "Reference to causing Request, if any.",
"type": "HIER_OBJECT_ID"
},
"time_created": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "time_created",
"documentation": "Creation time of this Extract",
"is_mandatory": true,
"type": "DV_DATE_TIME"
},
"system_id": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "system_id",
"documentation": "Identifier of creating system.",
"is_mandatory": true,
"type": "HIER_OBJECT_ID"
},
"sequence_nr": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "sequence_nr",
"documentation": "Number of this Extract response in sequence of responses to Extract request identified by `_request_id_`. If this is the sole response, or there was no request, value is 1.",
"is_mandatory": true,
"type": "Integer"
},
"participations": {
"_type": "P_BMM_CONTAINER_PROPERTY",
"name": "participations",
"documentation": "Participations relevant to the creation of this Extract.",
"type_def": {
"container_type": "List",
"type": "EXTRACT_PARTICIPATION"
},
"cardinality": {
"lower": 0,
"upper_unbounded": true
}
}
},
"invariants": {
"Sequence_nr_valid": "sequence_nr >= 1"
}
}
EXTRACT_CHAPTER Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT_CHAPTER |
|
|---|---|---|
Description |
One content chapter of an Extract; contains information relating to only one entity. |
|
Inherit |
||
Attributes |
Signature |
Meaning |
0..1 |
items: |
The information content of this chapter. |
| EXTRACT_CHAPTER | |||
|---|---|---|---|
One content chapter of an Extract; contains information relating to only one entity. |
|||
Attributes |
|||
Runtime name of this fragment, used to build runtime paths. This is the term provided via a clinical application or batch process to name this EHR construct: its retention in the EHR faithfully preserves the original label by which this entry was known to end users. |
|||
Design-time archetype identifier of this node taken from its generating archetype; used to build archetype paths. Always in the form of an at-code, e.g. At an archetype root point, the value of this attribute is always the stringified form of the |
|||
LOCATABLE.uid: |
Optional globally unique object identifier for root points of archetyped structures. |
||
Links to other archetyped structures (data whose root object inherits from |
|||
LOCATABLE.archetype_details: |
Details of archetyping used on this node. |
||
LOCATABLE.feeder_audit: |
Audit trail from non-openEHR system of original commit of information forming the content of this node, or from a conversion gateway which has synthesised this node. |
||
items: |
The information content of this chapter. |
||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Parent of this node in a compositional hierarchy. |
|||
PATHABLE.item_at_path ( |
The item at a path (relative to this item); only valid for unique paths, i.e. paths that resolve to a single item. |
||
PATHABLE.items_at_path ( |
List of items corresponding to a non-unique path. |
||
PATHABLE.path_exists ( |
True if the path exists in the data with respect to the current item. |
||
PATHABLE.path_unique ( |
True if the path corresponds to a single item in the data. |
||
The path to an item relative to the root of this archetyped structure. |
|||
Clinical concept of the archetype as a whole (= derived from the archetype_node_id' of the root node) |
|||
True if this node is the root of an archetyped structure. |
|||
Invariants |
|||
LOCATABLE.Links_valid: |
|||
LOCATABLE.Archetyped_valid: |
|||
LOCATABLE.Archetype_node_id_valid: |
|||
{
"name": "EXTRACT_CHAPTER",
"documentation": "One content chapter of an Extract; contains information relating to only one entity.",
"ancestors": [
"LOCATABLE"
],
"properties": {
"items": {
"_type": "P_BMM_CONTAINER_PROPERTY",
"name": "items",
"documentation": "The information content of this chapter.",
"type_def": {
"container_type": "List",
"type": "EXTRACT_ITEM"
},
"cardinality": {
"lower": 0,
"upper_unbounded": true
}
}
}
}
EXTRACT_ENTITY_CHAPTER Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT_ENTITY_CHAPTER |
|
|---|---|---|
Description |
Type of chapter that contains information relating to a single demographic entity. |
|
Inherit |
||
Attributes |
Signature |
Meaning |
1..1 |
extract_id_key: |
Reference to entity, usually a demographic entity such as a patient that the content of this chapter relates to. |
| EXTRACT_ENTITY_CHAPTER | |||
|---|---|---|---|
Type of chapter that contains information relating to a single demographic entity. |
|||
Inherits: Any, PATHABLE, LOCATABLE, EXTRACT_CHAPTER |
|||
Attributes |
|||
Runtime name of this fragment, used to build runtime paths. This is the term provided via a clinical application or batch process to name this EHR construct: its retention in the EHR faithfully preserves the original label by which this entry was known to end users. |
|||
Design-time archetype identifier of this node taken from its generating archetype; used to build archetype paths. Always in the form of an at-code, e.g. At an archetype root point, the value of this attribute is always the stringified form of the |
|||
LOCATABLE.uid: |
Optional globally unique object identifier for root points of archetyped structures. |
||
Links to other archetyped structures (data whose root object inherits from |
|||
LOCATABLE.archetype_details: |
Details of archetyping used on this node. |
||
LOCATABLE.feeder_audit: |
Audit trail from non-openEHR system of original commit of information forming the content of this node, or from a conversion gateway which has synthesised this node. |
||
EXTRACT_CHAPTER.items: |
The information content of this chapter. |
||
extract_id_key: |
Reference to entity, usually a demographic entity such as a patient that the content of this chapter relates to. |
||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Parent of this node in a compositional hierarchy. |
|||
PATHABLE.item_at_path ( |
The item at a path (relative to this item); only valid for unique paths, i.e. paths that resolve to a single item. |
||
PATHABLE.items_at_path ( |
List of items corresponding to a non-unique path. |
||
PATHABLE.path_exists ( |
True if the path exists in the data with respect to the current item. |
||
PATHABLE.path_unique ( |
True if the path corresponds to a single item in the data. |
||
The path to an item relative to the root of this archetyped structure. |
|||
Clinical concept of the archetype as a whole (= derived from the archetype_node_id' of the root node) |
|||
True if this node is the root of an archetyped structure. |
|||
Invariants |
|||
LOCATABLE.Links_valid: |
|||
LOCATABLE.Archetyped_valid: |
|||
LOCATABLE.Archetype_node_id_valid: |
|||
{
"name": "EXTRACT_ENTITY_CHAPTER",
"documentation": "Type of chapter that contains information relating to a single demographic entity.",
"ancestors": [
"EXTRACT_CHAPTER"
],
"properties": {
"extract_id_key": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "extract_id_key",
"documentation": "Reference to entity, usually a demographic entity such as a patient that the content of this chapter relates to.",
"is_mandatory": true,
"type": "String"
}
}
}
EXTRACT_ITEM Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT_ITEM (abstract) |
|
|---|---|---|
Description |
Abstract parent of Extract Folder and Content types. |
|
Inherit |
||
| EXTRACT_ITEM (abstract) | |||
|---|---|---|---|
Abstract parent of Extract Folder and Content types. |
|||
Attributes |
|||
Runtime name of this fragment, used to build runtime paths. This is the term provided via a clinical application or batch process to name this EHR construct: its retention in the EHR faithfully preserves the original label by which this entry was known to end users. |
|||
Design-time archetype identifier of this node taken from its generating archetype; used to build archetype paths. Always in the form of an at-code, e.g. At an archetype root point, the value of this attribute is always the stringified form of the |
|||
LOCATABLE.uid: |
Optional globally unique object identifier for root points of archetyped structures. |
||
Links to other archetyped structures (data whose root object inherits from |
|||
LOCATABLE.archetype_details: |
Details of archetyping used on this node. |
||
LOCATABLE.feeder_audit: |
Audit trail from non-openEHR system of original commit of information forming the content of this node, or from a conversion gateway which has synthesised this node. |
||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Parent of this node in a compositional hierarchy. |
|||
PATHABLE.item_at_path ( |
The item at a path (relative to this item); only valid for unique paths, i.e. paths that resolve to a single item. |
||
PATHABLE.items_at_path ( |
List of items corresponding to a non-unique path. |
||
PATHABLE.path_exists ( |
True if the path exists in the data with respect to the current item. |
||
PATHABLE.path_unique ( |
True if the path corresponds to a single item in the data. |
||
The path to an item relative to the root of this archetyped structure. |
|||
Clinical concept of the archetype as a whole (= derived from the archetype_node_id' of the root node) |
|||
True if this node is the root of an archetyped structure. |
|||
Invariants |
|||
LOCATABLE.Links_valid: |
|||
LOCATABLE.Archetyped_valid: |
|||
LOCATABLE.Archetype_node_id_valid: |
|||
{
"name": "EXTRACT_ITEM",
"documentation": "Abstract parent of Extract Folder and Content types.",
"is_abstract": true,
"ancestors": [
"LOCATABLE"
]
}
EXTRACT_FOLDER Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT_FOLDER |
|
|---|---|---|
Description |
Folder in local Folder structure in an Extract. Empty Folders are allowed. |
|
Inherit |
||
Attributes |
Signature |
Meaning |
0..1 |
items: |
List of Folders and content items in this Folder. |
| EXTRACT_FOLDER | |||
|---|---|---|---|
Folder in local Folder structure in an Extract. Empty Folders are allowed. |
|||
Inherits: Any, PATHABLE, LOCATABLE, EXTRACT_ITEM |
|||
Attributes |
|||
Runtime name of this fragment, used to build runtime paths. This is the term provided via a clinical application or batch process to name this EHR construct: its retention in the EHR faithfully preserves the original label by which this entry was known to end users. |
|||
Design-time archetype identifier of this node taken from its generating archetype; used to build archetype paths. Always in the form of an at-code, e.g. At an archetype root point, the value of this attribute is always the stringified form of the |
|||
LOCATABLE.uid: |
Optional globally unique object identifier for root points of archetyped structures. |
||
Links to other archetyped structures (data whose root object inherits from |
|||
LOCATABLE.archetype_details: |
Details of archetyping used on this node. |
||
LOCATABLE.feeder_audit: |
Audit trail from non-openEHR system of original commit of information forming the content of this node, or from a conversion gateway which has synthesised this node. |
||
items: |
List of Folders and content items in this Folder. |
||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Parent of this node in a compositional hierarchy. |
|||
PATHABLE.item_at_path ( |
The item at a path (relative to this item); only valid for unique paths, i.e. paths that resolve to a single item. |
||
PATHABLE.items_at_path ( |
List of items corresponding to a non-unique path. |
||
PATHABLE.path_exists ( |
True if the path exists in the data with respect to the current item. |
||
PATHABLE.path_unique ( |
True if the path corresponds to a single item in the data. |
||
The path to an item relative to the root of this archetyped structure. |
|||
Clinical concept of the archetype as a whole (= derived from the archetype_node_id' of the root node) |
|||
True if this node is the root of an archetyped structure. |
|||
Invariants |
|||
LOCATABLE.Links_valid: |
|||
LOCATABLE.Archetyped_valid: |
|||
LOCATABLE.Archetype_node_id_valid: |
|||
{
"name": "EXTRACT_FOLDER",
"documentation": "Folder in local Folder structure in an Extract. Empty Folders are allowed.",
"ancestors": [
"EXTRACT_ITEM"
],
"properties": {
"items": {
"_type": "P_BMM_CONTAINER_PROPERTY",
"name": "items",
"documentation": "List of Folders and content items in this Folder.",
"type_def": {
"container_type": "List",
"type": "EXTRACT_ITEM"
},
"cardinality": {
"lower": 0,
"upper_unbounded": true
}
}
}
}
EXTRACT_CONTENT_ITEM Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT_CONTENT_ITEM (abstract) |
|
|---|---|---|
Description |
Abstract model of a wrapper for one content item in an Extract, containing various meta-data. Indicates whether it was part of the primary set and what its original path was. Intended to be subtyped for wrappers of specific types of content. |
|
Inherit |
||
Attributes |
Signature |
Meaning |
1..1 |
is_primary: |
True if the content item carried in this container was part of the primary set for the Extract, i.e. not added due to link-following. |
0..1 |
is_changed: |
True if the content item carried in this container is any kind of change since last send, in repeat sending situations. |
0..1 |
is_masked: |
True if the content of this item has not been included due to insufficient access rights of requestor. |
0..1 |
item: |
Content object. |
Invariants |
Item_validity: |
|
| EXTRACT_CONTENT_ITEM (abstract) | |||
|---|---|---|---|
Abstract model of a wrapper for one content item in an Extract, containing various meta-data. Indicates whether it was part of the primary set and what its original path was. Intended to be subtyped for wrappers of specific types of content. |
|||
Inherits: Any, PATHABLE, LOCATABLE, EXTRACT_ITEM |
|||
Attributes |
|||
Runtime name of this fragment, used to build runtime paths. This is the term provided via a clinical application or batch process to name this EHR construct: its retention in the EHR faithfully preserves the original label by which this entry was known to end users. |
|||
Design-time archetype identifier of this node taken from its generating archetype; used to build archetype paths. Always in the form of an at-code, e.g. At an archetype root point, the value of this attribute is always the stringified form of the |
|||
LOCATABLE.uid: |
Optional globally unique object identifier for root points of archetyped structures. |
||
Links to other archetyped structures (data whose root object inherits from |
|||
LOCATABLE.archetype_details: |
Details of archetyping used on this node. |
||
LOCATABLE.feeder_audit: |
Audit trail from non-openEHR system of original commit of information forming the content of this node, or from a conversion gateway which has synthesised this node. |
||
is_primary: |
True if the content item carried in this container was part of the primary set for the Extract, i.e. not added due to link-following. |
||
is_changed: |
True if the content item carried in this container is any kind of change since last send, in repeat sending situations. |
||
is_masked: |
True if the content of this item has not been included due to insufficient access rights of requestor. |
||
item: |
Content object. |
||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Parent of this node in a compositional hierarchy. |
|||
PATHABLE.item_at_path ( |
The item at a path (relative to this item); only valid for unique paths, i.e. paths that resolve to a single item. |
||
PATHABLE.items_at_path ( |
List of items corresponding to a non-unique path. |
||
PATHABLE.path_exists ( |
True if the path exists in the data with respect to the current item. |
||
PATHABLE.path_unique ( |
True if the path corresponds to a single item in the data. |
||
The path to an item relative to the root of this archetyped structure. |
|||
Clinical concept of the archetype as a whole (= derived from the archetype_node_id' of the root node) |
|||
True if this node is the root of an archetyped structure. |
|||
Invariants |
|||
LOCATABLE.Links_valid: |
|||
LOCATABLE.Archetyped_valid: |
|||
LOCATABLE.Archetype_node_id_valid: |
|||
Item_validity: |
|||
{
"name": "EXTRACT_CONTENT_ITEM",
"documentation": "Abstract model of a wrapper for one content item in an Extract, containing various meta-data. Indicates whether it was part of the primary set and what its original path was. Intended to be subtyped for wrappers of specific types of content.",
"is_abstract": true,
"ancestors": [
"EXTRACT_ITEM"
],
"properties": {
"is_primary": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "is_primary",
"documentation": "True if the content item carried in this container was part of the primary set for the Extract, i.e. not added due to link-following.",
"is_mandatory": true,
"type": "Boolean"
},
"is_changed": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "is_changed",
"documentation": "True if the content item carried in this container is any kind of change since last send, in repeat sending situations.",
"type": "Boolean"
},
"is_masked": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "is_masked",
"documentation": "True if the content of this item has not been included due to insufficient access rights of requestor.",
"type": "Boolean"
},
"item": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "item",
"documentation": "Content object.",
"type": "Any"
}
},
"invariants": {
"Item_validity": "is_masked xor item /= Void"
}
}
EXTRACT_PARTICIPATION Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
EXTRACT_PARTICIPATION |
|
|---|---|---|
Description |
Model of a participation of a Party (any Actor or Role) in an activity. Used to represent any participation of a Party in some activity, which is not explicitly in the model, e.g. assisting nurse. Can be used to record past or future participations. Should not be used in place of more permanent relationships between demographic entities. |
|
Attributes |
Signature |
Meaning |
0..1 |
time: |
The time interval during which the participation took place, if it is used in an observational context (i.e. recording facts about the past); or the intended time interval of the participation when used in future contexts, such as EHR Instructions. |
1..1 |
function: |
The function of the Party in this participation (note that a given party might participate in more than one way in a particular activity). This attribute should be coded, but cannot be limited to the HL7v3:ParticipationFunction vocabulary, since it is too limited and hospital-oriented. |
0..1 |
mode: |
The mode of the performer / activity interaction, e.g. present, by telephone, by email etc. |
1..1 |
performer: |
Uid of demographic entity within Extract who performed this participation. |
Invariants |
Function_valid: |
|
Mode_valid: |
||
| EXTRACT_PARTICIPATION | |
|---|---|
Model of a participation of a Party (any Actor or Role) in an activity. Used to represent any participation of a Party in some activity, which is not explicitly in the model, e.g. assisting nurse. Can be used to record past or future participations. Should not be used in place of more permanent relationships between demographic entities. |
|
Attributes |
|
time: |
The time interval during which the participation took place, if it is used in an observational context (i.e. recording facts about the past); or the intended time interval of the participation when used in future contexts, such as EHR Instructions. |
function: |
The function of the Party in this participation (note that a given party might participate in more than one way in a particular activity). This attribute should be coded, but cannot be limited to the HL7v3:ParticipationFunction vocabulary, since it is too limited and hospital-oriented. |
mode: |
The mode of the performer / activity interaction, e.g. present, by telephone, by email etc. |
performer: |
Uid of demographic entity within Extract who performed this participation. |
Invariants |
|
Function_valid: |
|
Mode_valid: |
|
{
"name": "EXTRACT_PARTICIPATION",
"documentation": "Model of a participation of a Party (any Actor or Role) in an activity. Used to represent any participation of a Party in some activity, which is not explicitly in the model, e.g. assisting nurse. Can be used to record past or future participations.\n\nShould not be used in place of more permanent relationships between demographic entities. ",
"properties": {
"time": {
"_type": "P_BMM_GENERIC_PROPERTY",
"name": "time",
"documentation": "The time interval during which the participation took place, if it is used in an observational context (i.e. recording facts about the past); or the intended time interval of the participation when used in future contexts, such as EHR Instructions. ",
"type_def": {
"root_type": "DV_INTERVAL",
"generic_parameters": [
"DV_DATE_TIME"
]
}
},
"function": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "function",
"documentation": "The function of the Party in this participation (note that a given party might participate in more than one way in a particular activity). This attribute should be coded, but cannot be limited to the HL7v3:ParticipationFunction vocabulary, since it is too limited and hospital-oriented. ",
"is_mandatory": true,
"type": "DV_TEXT"
},
"mode": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "mode",
"documentation": "The mode of the performer / activity interaction, e.g. present, by telephone, by email etc. ",
"type": "DV_CODED_TEXT"
},
"performer": {
"_type": "P_BMM_SINGLE_PROPERTY",
"name": "performer",
"documentation": "Uid of demographic entity within Extract who performed this participation.",
"is_mandatory": true,
"type": "String"
}
},
"invariants": {
"Function_valid": "function /= Void and then function.generating_type.is_equal (“DV_CODED_TEXT”) implies terminology (Terminology_id_openehr).has_code_for_group_id (Group_id_participation_function, function.defining_code)",
"Mode_valid": "mode /= Void and terminology (Terminology_id_openehr).has_code_for_group_id (Group_id_participation_mode, mode.defining_code)"
}
}