Class diagrams of PROTEMPA’s temporal abstraction definitions (A) and data model (B). Three types of classes for abstractions (A) are provided to represent low level, temporal pattern and temporal slice abstractions. Data elements and abstracted intervals (Elements, B) belong to Patients and have one or more Attributes, each of which may have a numerical or textual Value, including floating point (DoubleValue) and inequality numerical (InequalityDoubleValue) values with associated units, categorical values (NominalValue), ordinal values (OrdinalValue) and values represented as codes from standard vocabularies (CodedValue). Time-stamped data (DataElement) are associated with a time point with time units; intervals (IntervalElement) are associated with start and finish times with time units. Atemporal data such as gender and race are represented as ConstantElements.