Skip to content

How to read the model

This reference describes clinical meaning as if it were a domain object library. It does not prescribe how applications store, transmit, or render these objects.

Each object page answers the same questions.

Section Product question
Meaning What real clinical concept does this object represent?
Identity What makes it the same object over time?
Fields What information is intrinsic to it?
Relationships Which other domain objects does it know?
Behaviours What meaningful actions can it perform?
Rules What must always be true?
Outcomes What facts result from successful behaviour?
Open questions What still requires product verification?

An object whose continuity and identity matter independently of its current fields.

Examples: Study, StudySite, StudyParticipant, SafetyCase, Specimen, Kit.

An immutable clinical meaning defined by its values.

Examples: ClinicalDate, VisitWindow, Measurement, CodedTerm, ConsentScope.

A specification that controls future behaviour and requires explicit versioning.

Examples: ProtocolVersion, EligibilityCriterion, RandomizationDesign, FilingPlan.

An identified assertion that something happened, partially happened, was missed, or was intentionally not performed.

Examples: ActivityOccurrence, MonitoringVisit, SpecimenCollection, Dispensation.

A recorded assertion about a participant, activity, material, or result.

Examples: Datapoint, LabResult, DeviceMeasurement, ImagingRead.

An owned concern requiring evaluation.

Examples: DataQuery, MonitoringFinding, ProtocolDeviation, SafetyIntake.

An attributable conclusion made under declared authority.

Examples: EligibilityDecision, SiteActivationDecision, UnblindingDecision, DatabaseLockDecision.

A field is included because its meaning is intrinsic to the object—not because a table needs a column.

class Measurement {
value: Decimal;
unit: Unit;
precision: MeasurementPrecision;
convertTo(target: CompatibleUnit): Measurement;
isWithin(range: ReferenceRange): boolean;
}

No persistence annotations, serialization decorators, or transport concerns appear here.

Objects are not passive records. Behaviours express permitted domain changes.

participant.enroll({
consent,
eligibility,
protocolAssignment,
enrollmentDate,
});

The behaviour checks clinical rules and either produces an outcome or explains why the action is invalid.

Pages use these review states:

Status Meaning
Proposed Initial ideal-state formulation
Review requested Ready for product/domain review
Verified Meaning and behaviour accepted
Verified with limits Accepted for explicitly named scenarios
Disputed Competing interpretations remain
Deferred Intentionally left for later modelling

The current high-level reference is Proposed.