Classes Index

ACCESS_CONTROL_SETTINGSAccess Control Settings for the EHR and components.
Intended to support multiple access control schemes.
Currently implementation dependent.
ACCESS_GROUP_REFReference to access group in an access control service.
ACTIONUsed to record a clinical action that has been performed, which may
have been ad hoc, or due to the execution of an Activity in an Instruction
workflow. Every Action corresponds to a careflow step of some kind or another.
ACTIVITYDefines a single activity within an Instruction, such as a medication
administration.
ADMIN_ENTRYEntry subtype for administrative information, i.e. information about setting up the
clinical process, but not itself clinically relevant. Archetypes will define contained
information.
Used for admistrative details of admission, episode, ward location, discharge,
appointment (if not stored in a practice management or appointments system).
Not to be used for any clinically significant information.
ARCHETYPEArchetype equivalent to ARCHETYPED class in Common reference model.
Defines semantics of identfication, lifecycle, versioning, composition and specialisation.
An archetype is a modelled as a particular kind of AUTHORED_RESOURCE, and as such,
includes descriptive meta-data, language information and revision history. The ARCHETYPE
class adds identifying information, a definition - expressed in terms of constraints on instances of an
object model, and an ontology.
ARCHETYPE_CONSTRAINTArchetype equivalent to LOCATABLE class in openEHR Common reference model.
Defines common constraints for any inheritor of LOCATABLE in any reference model.
ARCHETYPE_IDIdentifier for archetypes. Ideally these would identify globally uniqued archetypes.
Lexical form:
rm_originator -' rm_name -' rm_entity .' concept_name { -' specialisation }* .v' number
ARCHETYPE_INTERNAL_REFA constraint defined by proxy, using a reference to an object constraint defined
elsewhere in the same archetype.
Note that since this object refers to another node, there are two objects with avail-
able occurrences values. The local occurrences value on an
ARCHETYPE_INTERNAL_REF should always be used; when setting this from a seri-
alised form, if no occurrences is mentioned, the target occurrences should be used
(not the standard default of {1..1}); otherwise the locally specified occurrences
should be used as normal. When serialising out, if the occurrences is the same as
that of the target, it can be left out.
ARCHETYPE_ONTOLOGYLocal ontology of an archetype.
ARCHETYPE_SLOTConstraint describing a slot' where another archetype can occur.
ARCHETYPE_TERMRepresentation of any coded entity (term or constraint) in the archetype ontology.
ARCHETYPEDArchetypes act as the configuration basis for the particular structures of instances
defined by the reference model. To enable archetypes to be used to create valid
data, key classes in the reference model act as root points for archetyping;
accordingly, these classes have the archetype_details attribute set.

An instance of the class ARCHETYPED contains the relevant archetype identification
information, allowing generating archetypes to be matched up with data instances.
ASSERTIONStructural model of a typed first order predicate logic assertion, in the form of an
expression tree, including optional variable definitions.
ASSERTION_VARIABLE
ATTESTATIONRecord an attestation of a party (the committer) to item(s) of record content.
An attestation is an explicit signing by one healthcare agent of particular
content for various particular purposes, including:
for authorisation of a controlled substance or procedure (e.g.
sectioning of patient under mental health act);
witnessing of content by senior clinical professional;
indicating acknowledgement of content by intended recipient,
e.g. GP who ordered a test result.

AUDIT_DETAILSThe set of attributes required to document the committal of an information item to
a repository.
AUTHORED_RESOURCEAbstract idea of an online resource created by a human author.
BASIC_DEFINITIONSDefines globally used constant values.
C_ATTRIBUTEAbstract model of constraint on any kind of attribute node.
C_BOOLEANConstraint on instances of Boolean.
Both attributes cannot be set to False, since this would mean that the Boolean
value being constrained cannot be True or False.
C_CODE_PHRASEExpress constraints on instances of CODE_PHRASE. The terminology_id attribute
may be specified on its own to indicate any term from a specified terminology;
the code_list attribute may be used to limit the codes to a specific list.
C_COMPLEX_OBJECTConstraint on complex objects, i.e. any object that consists of other object constraints.
C_DATEISO 8601-compatible constraint on instances of Date in the form either of a set of
validity values, or an actual date range. There is no validity flag for year', since it
must always be by definition mandatory in order to have a sensible date at all.
Syntax expressions of instances of this class include YYYY-??-?? (date with
optional month and day).
Date ranges are probably only useful for historical dates.
C_DATE_TIMEISO 8601-compatible constraint on instances of Date_Time. There is no validity
flag for year', since it must always be by definition mandatory in order to have a
sensible date/time at all. Syntax expressions of instances of this class include
YYYY-MM-DDT??:??:?? (date/time with optional time) and
YYYY-MM-DDTHH:MM:xx (date/time, seconds not allowed).
C_DEFINED_OBJECTAbstract parent type of C_OBJECT subtypes that are defined by value, i.e. whose
definitions are actually in the archetype rather than being by reference.
C_DOMAIN_TYPEAbstract parent type of domain-specific constrainer types, to be defined in external packages.
C_DURATIONISO 8601-compatible constraint on instances of Duration. In ISO 8601 terms,
constraints might are of the form PWD (weeks and/or days), PDTHMS (days,
hours, minutes, seconds) and so on. In official ISO 8601:2004, the W' (week)
designator cannot be mixed in; allowing it is an openEHR-wide exception.
C_DV_ORDINALClass specifying constraints on instances of DV_ORDINAL. Custom constrainer
type for instances of DV_ORDINAL.
C_DV_QUANTITYConstrain instances of DV_QUANTITY.
C_DV_STATEConstrainer type for DV_STATE instances. The attribute c_value defines a
state/event table which constrains the allowed values of the attribute value in a
DV_STATE instance, as well as the order of transitions between values.
C_INTEGERConstraint on instances of Integer.
C_MULTIPLE_ATTRIBUTEAbstract model of constraint on any kind of attribute node.
C_OBJECTAbstract model of constraint on any kind of object node.
C_PRIMITIVEAbstract supertype of all constrained primitive types.
C_PRIMITIVE_OBJECTConstraint on a primitive type.
C_QUANTITY_ITEMConstrain instances of DV_QUANTITY.
C_REALConstraint on instances of Real.
C_REFERENCE_OBJECTAbstract parent type of C_OBJECT subtypes that are defined by reference.
C_SINGLE_ATTRIBUTEPurpose Concrete model of constraint on a single-valued attribute node. The meaning of
the inherited children attribute is that they are alternatives.
C_STRINGConstraint on instances of STRING.
C_TIMEISO 8601-compatible constraint on instances of Time. There is no validity flag
for hour', since it must always be by definition mandatory in order to have a
sensible time at all. Syntax expressions of instances of this class include HH:??:xx
(time with optional minutes and seconds not allowed).
CARDINALITYExpress constraints on the cardinality of container objects which are the values of
multiply-valued attributes, including uniqueness and ordering, providing the
means to state that a container acts like a logical list, set or bag. The cardinality
cannot contradict the cardinality of the corresponding attribute within the relevantreference model.
CARE_ENTRYThe abstract parent of all clinical ENTRY subtypes. A CARE_ENTRY
defines protocol and guideline attributes for all clinical Entry subtypes.
CLUSTERThe grouping variant of ITEM, which may contain further instances of ITEM, in
an ordered list.
CODE_PHRASEA fully coordinated (i.e. all coordination has been performed) term from a ter-
minology service (as distinct from a particular terminology).
CODE_SET_ACCESSinterfaceDefines an object providing proxy access to a code_set.
COMPOSITIONOne version in a VERSIONED_COMPOSITION. A composition is considered the
unit of modification of the record, the unit of transmission in record extracts, and
the unit of attestation by authorising clinicians. In this latter sense, it may be
considered equivalent to a signed document.
CONSTRAINT_REFReference to a constraint described in the same archetype, but outside the main
constraint structure. This is used to refer to constraints expressed in terms of
external resources, such as constraints on terminology value sets.
CONTENT_ITEMAbstract ancestor of all concrete content types.
CONTRIBUTIONDocuments a contribution of one or more versions added to a change-controlled
repository.
DATA_STRUCTUREAbstract parent class of all data structure types. Includes the as_hierarchy function
which can generate the equivalent CEN EN13606 single hierarchy for each
subtype's physical representation. For example, the physical representation of an
ITEM_LIST is List<ELEMENT>; its implementation of as_hierarchy will generate a
CLUSTER containing the set of ELEMENT nodes from the list.
DATA_VALUEServes as a common ancestor of all data value types in openEHR models.
DV_ABSOLUTE_QUANTITYAbstract class defining the concept of quantified entities whose values are absolute with
respect to an origin. Dates and Times are the main example.
DV_AMOUNTAbstract class defining the concept of relative quantified amounts'. For relative quantities,
the +' and -' operators are defined (unlike descendants of DV_ABSOLUTE_QUANTITY,
such as the date/time types).
DV_BOOLEANItems which are truly boolean data, such as true/false or yes/no answers.
For such data, it is important to devise the meanings (usually questions in subjective data)
carefully, so that the only allowed results are in fact true or false.
The DV_BOOLEAN class should not be used as a replacement for naively modelled
enumerated types such as male/female etc. Such values should be coded, and in
any case the enumeration often has more than two values.
DV_CODED_TEXTA text item whose value must be the rubric from a controlled terminology, the
key (i.e. the code') of which is the defining_code attribute. In other words: a
DV_CODED_TEXT is a combination of a CODE_PHRASE (effectively a code) and
the rubric of that term, from a terminology service, in the language in which the
data was authored.

Since DV_CODED_TEXT is a subtype of DV_TEXT, it can be used in place of it,
effectively allowing the type DV_TEXT to mean a text item, which may option-
ally be coded .

If the intention is to represent a term code attached in some way to a fragment of
plain text, DV_CODED_TEXT should not be used; instead use a DV_TEXT and a
TERM_MAPPING to a CODE_PHRASE.
DV_COUNTCountable quantities.
Used for countable types such as pregnancies and steps (taken by a physiotherapy
patient), number of cigarettes smoked in a day.
Not to be used for amounts of physical entities (which all have units)
DV_DATERepresents an absolute point in time, as measured on the Gregorian calendar, and
specified only to the day. Semantics defined by ISO 8601.
Used for recording dates in real world time. The partial form is used for
approximate birth dates, dates of death, etc.
DV_DATE_TIMERepresents an absolute point in time, specified to the second. Semantics defined
by ISO 8601.
Used for recording a precise point in real world time, and for approximate time
stamps, e.g. the origin of a HISTORY in an OBSERVATION which is only partially
known.
DV_DURATIONRepresents a period of time with respect to a notional point in time, which is not
specified. A sign may be used to indicate the duration is backwards in time
rather than forwards.

NOTE: a deviation from ISO8601 is supported, allowing the W' designator to
be mixed with other designators. See assumed types section in the Support IM.

Used for recording the duration of something in the real world, particularly when
there is a need a) to represent the duration in customary format, i.e. days, hours,
minutes etc, and b) if it will be used in computational operations with date/time
quantities, i.e. additions, subtractions etc.
Durations cannot be used to represent points in time, or intervals of time.
DV_EHR_URIA DV_EHR_URI is a DV_URI which has the scheme name ehr , and which can
only reference elements in EHRs.
Used to reference elements in an EHR, which may be the current one, or another.
DV_ENCAPSULATEDAbstract class defining the common meta-data of all types of encapsulated data.
DV_GENERAL_TIME_SPECIFICATIONSpecifies points in time in a general syntax. Based on the HL7v3 GTS data type.
DV_IDENTIFIERType for representing identifiers of real-world entities. Typical identifiers include
drivers licence number, social security number, veterans affairs number, prescription id,
order id, and so on.

DV_IDENTIFIER is used to represent any identifier of a real thing, issued by
some authority or agency.

DV_IDENTIFIER is not used to express identifiers generated by the infrastructure to
refer to information items; the types OBJECT_ID and OBJECT_REF and subtypes are
defined for this purpose.
DV_INTERVALGeneric class defining an interval (i.e. range) of a comparable type. An interval is
a contiguous subrange of a comparable base type. Used to define intervals of dates,
times, quantities (whose units match) and so on.
The type parameter, T, must be a descendant of the type DV_ORDERED, which is
necessary (but not sufficient) for instances to be compared (strictly_comparable is
also needed).
Without the DV_INTERVAL class, quite a few more DV_ classes would be needed to
express logical intervals, namely interval versions of all the date/time classes, and
of quantity classes. Further, it allows the semantics of intervals to be stated in one
place unequivocally, including the conditions for strict comparison.

The basic semantics are derived from the class INTERVAL<T>, described in the
support RM.
DV_MULTIMEDIAA specialisation of DV_ENCAPSULATED for audiovisual and biosignal types.
Includes further metadata relating to multimedia types which are not applicable to
other subtypes of DV_ENCAPSULATED.
DV_ORDEREDAbstract class defining the concept of ordered values, which includes ordinals as well as
true quantities. It defines the functions <' and is_strictly_comparable_to, the latter of
which must evaluate to True for instances being compared with the <' function, or
used as limits in the DV_INTERVAL<T> class.

Data value types which are to be used as limits in the DV_INTERVAL<T> class must
inherit from this class, and implement the function is_strictly_comparable_to to ensure
that instances compare meaningfully. For example, instances of DV_QUANTITY can only
be compared if they measure the same kind of physical quantity.
DV_ORDINALModels rankings and scores, e.g. pain, Apgar values, etc, where there is a) implied ordering,
b) no implication that the distance between each value is constant, and c) the total number
of values is finite. Note that although the term ordinal' in mathematics means natural
numbers only, here any integer is allowed, since negative and zero values are often used
by medical professionals for values around a neutral point. Examples of sets of ordinal values:
-3, -2, -1, 0, 1, 2, 3 -- reflex response values
0, 1, 2 -- Apgar values

This class is used for recording any clinical datum which is customarily recorded using
symbolic values. Example: the results on a urinalysis strip, e.g. {neg, trace, +, ++, +++} are
used for leucocytes, protein, nitrites etc; for non-haemolysed blood {neg, trace, moderate};
for haemolysed blood small, moderate, large}.
DV_PARAGRAPHA logical composite text value consisting of a series of DV_TEXTs, i.e. plain text
(optionally coded) potentially with simple formatting, to form a larger tract of
prose, which may be interpreted for display purposes as a paragraph.

DV_PARAGRAPH is the standard way for constructing longer text items in summaries,
reports and so on.
DV_PARSABLEEncapsulated data expressed as a parsable String. The internal model of the
data item is not described in the openEHR model in common with other encapsu-
lated types, but in this case, the form of the data is assumed to be plaintext, rather
than compressed or other types of large binary data.
DV_PERIODIC_TIME_SPECIFICATIONSpecifies periodic points in time, linked to the calendar (phase-linked), or a real
world repeating event, such as breakfast (event-linked). Based on the HL7v3
data types PIVL<T> and EIVL<T>.
Used in therapeutic prescriptions, expressed as INSTRUCTIONs in the openEHR
model.
DV_PROPORTIONModels a ratio of values, i.e. where the numerator and denominator are both pure
numbers.
Used for recording titers (e.g. 1:128), concentration ratios, e.g. Na:K (unitary
denominator), albumin:creatinine ratio, and percentages, e.g. red cell distirbution
width (RDW).

Should not be used to represent things like blood pressure which are often written
using a /' character, giving the misleading impression that the item is a ratio,
when in fact it is a structured value. E.g. visual acuity 6/24 is not a ratio.
Should not be used for formulations.
DV_QUANTIFIEDAbstract class defining the concept of true quantified values, i.e. values which
are not only ordered, but which have a precise magnitude.
DV_QUANTITYQuantitified type representing scientific quantities, i.e. quantities expressed as a
magnitude and units. Units were inspired by the Unified Code for Units of Measure
(UCUM), developed by Gunther Schadow and Clement J. McDonald of The Regenstrief
Institute.
Can also be used for time durations, where it is more convenient to treat these as
simply a number of seconds rather than days, months, years.
DV_STATEFor representing state values which obey a defined state machine, such as a variable
representing the states of an instruction or care process.

DV_STATE is expressed as a String but its values are driven by archetype-defined
state machines. This provides a powerful way of capturing stateful complex processes
in simple data.
DV_TEMPORALSpecialised temporal variant of DV_ABSOLUTE_QUANTITY whose diff type is DV_DURATION.
DV_TEXTA text item, which may contain any amount of legal characters arranged as e.g. words,
sentences etc (i.e. one DV_TEXT may be more than one word). Visual formatting and
hyperlinks may be included.

A DV_TEXT can be coded by adding mappings to it.
DV_TIMERepresents an absolute point in time from an origin usually interpreted as
meaning the start of the current day, specified to the second. Semantics
defined by ISO 8601.
Used for recording real world times, rather than scientifically measured fine
amounts of time. The partial form is used for approximate times of events and
substance administrations.
DV_TIME_SPECIFICATIONThis is an abstract class of which all timing specifications are specialisations.
Specifies points in time, possibly linked to the calendar, or a real world repeating
event, such as breakfast .
DV_URIA reference to an object which conforms to the Universal Resource Identifier (URI) standard, as defined by W3C RFC 2936.
See "Universal Resource Identifiers in WWW" by Tim Berners-Lee at http://www.ietf.org/rfc/rfc2396.txt.
This is a World-Wide Web RFC for global identification of resources.
See http://www.w3.org/Addressing for a starting point on URIs.
See http://www.ietf.org/rfc/rfc2806.txt for new URI types like telephone, fax and modem numbers.
EHRThe EHR object is the root object and access point of an EHR for a subject
of care.
EHR_ACCESSEHR-wide access contol object. All access decisions to data in the
EHR must be made in accordance with the policies and rules in this
object.
EHR_STATUSSingle object per EHR giving various EHR-wide information.
ELEMENTThe leaf variant of ITEM, to which a DATA_VALUE instance is attached.
ENTRYThe abstract parent of all ENTRY subtypes. An ENTRY is the root of a logical item
of hard clinical information created in the clinical statement context, within a
clinical session. There can be numerous such contexts in a clinical session.
Observations and other Entry types only ever document information captured/created
in the event documented by the enclosing Composition.
An ENTRY is also the minimal unit of information any query should return, since a
whole ENTRY (including subparts) records spatial structure, timing information,
and contextual information, as well as the subject and generator of the information.
EVALUATIONEntry type for evaluation statements.
Used for all kinds of statements which evaluate other information, such as
interpretations of obvservations, diagnoses, differential diagnoses, hypotheses,
risk assessments, goals and plans.
Should not be used for actionable statements such as medication orders -
these are represented using the INSTRUCTION type.
EVENTDefines the abstract notion of a single event in a series. This class is generic,
allowing types to be generated which are locked to particular spatial types, such
as EVENT<ITEM_LIST>. Subtypes express point or intveral data.
EVENT_CONTEXTDocuments the context information of a healthcare event involving the subject of
care and the health system. The context information recorded here are
independent of the attributes recorded in the version audit, which document the
system interaction context, i.e. the context of a user interacting with the health
record system. Healthcare events include patient contacts, and any other business
activity, such as pathology investigations which take place on behalf of the patient.
EXPR_BINARY_OPERATOR
EXPR_ITEM
EXPR_LEAF
EXPR_OPERATOR
EXPR_UNARY_OPERATOR
EXTERNAL_ENVIRONMENT_ACCESSA mixin class providing access to services in the external environment.
FEEDER_AUDITThe FEEDER_AUDIT class defines the semantics of an audit trail which is constructed to
describe the origin of data that have been transformed into openEHR form and committed to the system.
FEEDER_AUDIT_DETAILSAudit details for any system in a feeder system chain. Audit details here means
the general notion of who/where/when the information item to which the audit is
attached was created. None of the attributes is defined as mandatory, however, in
different scenarios, various combinations of attributes will usually be mandatory.
This can be controlled by specifying feeder audit details in legacy archetypes.
FOLDERThe concept of a named folder.
GENERIC_ENTRYThis class is used to create intermediate representations of data from sources not
otherwise conforming to openEHR classes, such as HL7 messages, relational
databases and so on.
GENERIC_IDGeneric identifier type for identifiers whose format is othterwise unknown to
openEHR. Includes an attribute for naming the identification scheme (which may
well be local).
HashType representing a keyed table of values. T is the value type, and U the type of
the keys.
HIER_OBJECT_IDConcrete type corresponding to hierarchical identifiers of the form defined by
UID_BASED_ID.
HISTORYRoot object of a linear history, i.e. time series structure. For a periodic series
of events, period will be set, and the time of each Event in the History must
correspond; i.e. the EVENT.offset must be a multiple of period for each Event.
Missing events in a period History are however allowed.
IMPORTED_VERSIONVersions whose content is an ORIGINAL_VERSION copied from another location;
this class inherits commit_audit and contribution from VERSION<T>, providing
imported versions with their own audit trail and Contribution, distinct from those
of the imported ORIGINAL_VERSION.
INSTRUCTIONUsed to specify actions in the future. Enables simple and complex specifications
to be expressed, including in a fully-computable workflow form.
Used for any actionable statement such as medication and therapeutic orders,
monitoring, recall and review. Enough details must be provided for the
specification to be directly executed by an actor, either human or machine.
Not to be used for plan items which are only specified in general terms.
INSTRUCTION_DETAILSUsed to record details of the Instruction causing an Action.
INTERNET_IDModel of a reverse internet domain, as used to uniquely identify an internet
domain. In the form of a dot-separated string in the reverse order of a domain
name, specified by IETF RFC 1034
(http://www.ietf.org/rfc/rfc1034.txt).
INTERVAL
IntervalInterval of ordered items.
INTERVAL_EVENTDefines a single interval event in a series.
ISM_TRANSITIONModel of a transition in the Instruction State Machine, caused by a careflow step.
The attributes document the careflow step as well as the ISM transition.
ISO_OIDModel of ISO's Object Identifier (oid) as defined by the standard ISO/IEC 8824 .
Oids are formed from integers separated by dots. Each non-leaf node in an Oid
starting from the left corresponds to an assigning authority, and identifies that
authority's namespace, inside which the remaining part of the identifier is locally
unique.
ITEMThe abstract parent of CLUSTER and ELEMENT representation classes.
ITEM_LISTLogical list data structure, where each item has a value and can be referred
to by a name and a positional index in the list. The list may be empty.
Use Used to represent any data which is logically a list of values, such as
blood pressure, most protocols, many blood tests etc.
Not to be used for time-based lists, which should be represented with the proper
temporal class, i.e. HISTORY.
ITEM_SINGLELogical single value data structure.
Used to represent any data which is logically a single value, such as a person's
height or weight.
ITEM_STRUCTUREAbstract parent class of all spatial data types.
ITEM_TABLELogical relational database style table data structure, in which columns are
named and ordered with respect to each other. Implemented using
Cluster-per-row encoding. Each row Cluster must have an identical number
of Elements, each of which in turn must have identical names and value types
in the corresponding postions in each row.
Some columns may be designated key' columns, containing key data for each
row, in the manner of relational tables. This allows row-naming, where each row
represents a body site, a blood antigen etc. All values in a column have the same
data type.
Used for representing any data which is logically a table of values, such as blood
pressure, most protocols, many blood tests etc.
Not to be used for time-based data, which should be represented with the temporal
class HISTORY.. The table may be empty.
ITEM_TREELogical tree data structure. The tree may be empty.
Used for representing data which are logically a tree such as audiology
results, microbiology results, biochemistry results.
LINKThe LINK type defines a logical relationship between two items, such as two
ENTRYs or an ENTRY and a COMPOSITION. Links can be used across composi-
tions, and across EHRs. Links can potentially be used between interior (i.e. non
archetype root) nodes, although this probably should be prevented in archetypes.
Multiple LINKs can be attached to the root object of any archetyped structure to
give the effect of a 1->N link.

1:1 and 1:N relationships between archetyped content elements (e.g. ENTRYs)
can be expressed by using one, or more than one, respectively, DV_LINKs.
Chains of links can be used to see problem threads or other logical groupings of
items.

Links should be between archetyped structures only, i.e. between objects representing
complete domain concepts because relationships between sub-elements of whole
concepts are not necessarily meaningful, and may be downright confusing. Sensible
links only exist between whole ENTRYs, SECTIONs, COMPOSITIONs and so on.
LOCATABLERoot class of all information model classes that can be archetyped.
Most classes in the openEHR reference model inherit from the LOCATABLE class, which defines the
idea of locatability in an archetyped structure. LOCATABLE defines a runtime name and an
archetype_node_id.
LOCATABLE_REFPurpose Reference to a LOCATABLE instance inside the top-level content structure inside a
VERSION<T>; the path attribute is applied to the object that VERSION.data points
to.
MEASUREMENT_SERVICEDefines an object providing proxy access to a measurement information service.
NON_TERMINAL_STATEDefinition of a non-terminal state in a state machine, i.e. one that has transitions.
OBJECT_IDAncestor class of identifiers of informational objects. Ids may be completely
meaningless, in which case their only job is to refer to something, or may carry
some information to do with the identified object.

Object ids are used inside an object to identify that object. To identify another
object in another service, use an OBJECT_REF, or else use a UID for local objects
identified by UID. If none of the subtypes is suitable, direct instances of this class
may be used.
OBJECT_REFClass describing a reference to another object, which may exist locally or be
maintained outside the current namespace, e.g. in another service. Services are
usually external, e.g. available in a LAN (including on the same host) or the internet
via Corba, SOAP, or some other distributed protocol. However, in small systems
they may be part of the same executable as the data containing the Id.
OBJECT_VERSION_IDGlobally unique identifier for one version of a versioned object; lexical form:
object_id ::' creating_system_id ::' version_tree_id
OBSERVATIONEntry subtype for all clinical data in the past or present, i.e. which (by the
time it is recorded) has already occurred. OBSERVATION data is expressed
using the class HISTORY<T>, which guarantees that it is situated in time.
OBSERVATION is used for all notionally objective (i.e. measured in some way)
observations of phenomena, and patient-reported phenomena, e.g. pain.
Not to be used for recording opinion or future statements of any kind,
including instructions, intentions, plans etc.
OPENEHR_CODE_SET_IDENTIFIERSList of identifiers for code sets in the openEHR terminology.
OPENEHR_DEFINITIONSInheritance class to provide access to constants defined in other packages.
OPENEHR_TERMINOLOGY_GROUP_IDENTIFIERSList of identifiers for groups in the openEHR terminology.
OPERATOR_KINDEnumeration type for operator types in assertion expressions
Ordered
ORIGINAL_VERSIONA Version containing locally created content and optional attestations.
PARTICIPATIONModel 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.
PARTY_IDENTIFIEDProxy data for an identified party other than the subject of the record, minimally
consisting of human-readable identifier(s), such as name, formal (and possibly
computable) identifiers such as NHS number, and an optional link to external
data. There must be at least one of name, identifier or external_ref present.

Used to describe parties where only identifiers may be known, and there is no
entry at all in the demographic system (or even no demographic system).
Typically for health care providers, e.g. name and provider number of an institution.

Should not be used to include patient identifying information.
PARTY_PROXYAbstract concept of a proxy description of a party, including an optional link to
data for this party in a demographic or other identity management system. Sub-
typed into PARTY_IDENTIFIED and PARTY_SELF.
PARTY_REFIdentifier for parties in a demographic or identity service. There are typically a
number of subtypes of the PARTY class, including PERSON, ORGANISATION, etc.
Abstract supertypes are allowed if the referenced object is of a type not known by
the current implementation of this class (in other words, if the demographic model
is changed by the addition of a new PARTY or ACTOR subtypes, valid
PARTY_REFs can still be constructed to them).
PARTY_RELATEDProxy type for identifying a party and its relationship to the subject of the record.
Use where the relationship between the party and the subject of the record must
be known.
PARTY_SELFParty proxy representing the subject of the record.
Used to indicate that the party is the owner of the record.
May or may not have external_ref set.

PATHABLEThe PATHABLE class defines the pathing capabilities used by nearly all classes in the openEHR reference
model, mostly via inheritance of LOCATABLE. The defining characteristics of PATHABLE objects
are that they can locate child objects using paths, and they know their parent object in a compositional
hierarchy. The parent feature is defined as abstract in the model, and may be implemented in
any way convenient.
POINT_EVENTDefines a single point event in a series.
PROPORTION_KINDClass of enumeration constants defining types of proportion for the
DV_PROPORTION class.
REFERENCE_RANGEDefines a named range to be associated with any ORDERED datum. Each
such range is particular to the patient and context, e.g. sex, age, and any other
factor which affects ranges.
May be used to represent normal, therapeutic, dangerous, critical etc ranges.
RESOURCE_DESCRIPTIONDefines the descriptive meta-data of a resource.
RESOURCE_DESCRIPTION_ITEMLanguage-specific detail of resource description. When a resource is translated
for use in another language environment, each RESOURCE_DESCRIPTION_ITEM
needs to be copied and translated into the new language.
REVISION_HISTORYPurpose Defines the notion of a revision history of audit items, each associated with the
version for which that audit was committed. The list is in most-recent-first order.
REVISION_HISTORY_ITEMAn entry in a revision history, corresponding to a version from a versioned container.
Consists of AUDIT_DETAILS instances with revision identifier of the revision to which
the AUDIT_DETAILS intance belongs.
SECTIONRepresents a heading in a heading structure, or section tree .
Created according to archetyped structures for typical headings such as SOAP,
physical examination, but also pathology result heading structures.
Should not be used instead of ENTRY hierarchical structures.
STATEAbstract definition of one state in a state machine.
STATE_MACHINEDefinition of a state machine in terms of states, transition events and outputs, and next states.
T
TEMPLATE_ARCHETYPE_SPEC
TEMPLATE_ATTRIBUTE_NODE_CONSTRAINT_SPEC
TEMPLATE_ATTRIBUTE_SPEC
TEMPLATE_CARDINALITY_SPEC
TEMPLATE_CONSTRAINT_SPEC
TEMPLATE_DEFAULT_VALUE_SPEC
TEMPLATE_EXISTENCE_SPEC
TEMPLATE_IDIdentifier for templates. Lexical form to be determined.
TEMPLATE_NODE_CONSTRAINT_SPEC
TEMPLATE_NODE_SPEC
TEMPLATE_OBJECT_NODE_CONSTRAINT_SPEC
TEMPLATE_OBJECT_SPEC
TEMPLATE_OCCURRENCES_SPEC
TEMPLATE_SLOT_FILLER
TEMPLATE_SLOT_SPEC
TEMPLATE_SPEC
TERM_MAPPINGRepresents a coded term mapped to a DV_TEXT, and the relative match of the tar-
get term with respect to the mapped item. Plain or coded text items may appear in
the EHR for which one or mappings in alternative terminologies are required.
Mappings are only used to enable computer processing, so they can only be
instances of DV_CODED_TEXT.
Used for adding classification terms (e.g. adding ICD classifiers to SNOMED
descriptive terms), or mapping into equivalents in other terminologies (e.g.
across nursing vocabularies).

** BEWARE ** class attribute "purpose" is flagged as type DV_CODED_TEXT, which in turn
requires definition of TERM_MAPPING. This is problematic in C++.
TERMINAL_STATEDefinition of a terminal state in a state machine, i.e. a state with no exit transi-
tions.
TERMINOLOGY_ACCESSinterfaceDefines an object providing proxy access to a terminology.
TERMINOLOGY_IDIdentifier for terminologies such accessed via a terminology query service. In this
class, the value attribute identifies the Terminology in the terminology service,
e.g. SNOMED-CT . A terminology is assumed to be in a particular language,
which must be explicitly specified.
The value if the id attribute is the precise terminology id identifier, including
actual release (i.e. actual version ), local modifications etc; e.g. ICPC2 .
Lexical form: name [ (' version )' ]
TERMINOLOGY_SERVICEDefines an object providing proxy access to a terminology service.
TRANSITIONDefinition of a state machine transition.
TRANSLATION_DETAILSClass providing details of a natural language translation.
UIDAbstract parent of classes representing unique identifiers which identify informa-
tion entities in a durable way. UIDs only ever identify one IE in time or space and
are never re-used.
UID_BASED_IDAbstract model of UID-based identifiers consisting of a root part and an optional
extension; lexical form:
root ::' extension
UUIDModel of the DCE Universal Unique Identifier or UUID which takes the form of
hexadecimal integers separated by hyphens, following the pattern 8-4-4-4-12 as
defined by the Open Group, CDE 1.1 Remote Procedure Call specification,
Appendix A. Also known as a GUID.
VALIDITY_KINDAn enumeration of three values which may commonly occur in constraint models.
Use as the type of any attribute within this model, which expresses constraint on
some attribute in a class in a reference model. For example to indicate validity
of Date/Time fields.
VERSIONAbstract model of one Version within a Version container, containing data,
commit audit trail, and the identifier of its Contribution.
VERSION_TREE_IDVersion tree identifier for one version. Lexical form:
trunk_version [ .' branch_number .' branch_version ]
VERSIONED_COMPOSITIONVersion-controlled composition abstraction, defined by inheriting
VERSIONED_OBJECT<COMPOSITION>.
VERSIONED_EHR__STATUSVersion container for EHR_STATUS instance.
VERSIONED_EHR_ACCESSVersion container for EHR_ACCESS instance.
VERSIONED_FOLDERA version-controlled hierarchy of FOLDERs giving the effect of a directory.
VERSIONED_OBJECTVersion control abstraction, defining semantics for versioning one complex
object.