How to read the model
Model before implementation
Section titled “Model before implementation”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? |
Object categories
Section titled “Object categories”Entity
Section titled “Entity”An object whose continuity and identity matter independently of its current fields.
Examples: Study, StudySite, StudyParticipant, SafetyCase, Specimen, Kit.
Value object
Section titled “Value object”An immutable clinical meaning defined by its values.
Examples: ClinicalDate, VisitWindow, Measurement, CodedTerm, ConsentScope.
Governed definition
Section titled “Governed definition”A specification that controls future behaviour and requires explicit versioning.
Examples: ProtocolVersion, EligibilityCriterion, RandomizationDesign, FilingPlan.
Occurrence
Section titled “Occurrence”An identified assertion that something happened, partially happened, was missed, or was intentionally not performed.
Examples: ActivityOccurrence, MonitoringVisit, SpecimenCollection, Dispensation.
Observation
Section titled “Observation”A recorded assertion about a participant, activity, material, or result.
Examples: Datapoint, LabResult, DeviceMeasurement, ImagingRead.
Finding
Section titled “Finding”An owned concern requiring evaluation.
Examples: DataQuery, MonitoringFinding, ProtocolDeviation, SafetyIntake.
Decision
Section titled “Decision”An attributable conclusion made under declared authority.
Examples: EligibilityDecision, SiteActivationDecision, UnblindingDecision,
DatabaseLockDecision.
Fields are domain fields
Section titled “Fields are domain fields”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.
Behaviours protect rules
Section titled “Behaviours protect rules”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.
Review language
Section titled “Review language”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.