Dental Clinic - Structural Topology & Domain Modeling
Physical practice topology, Aggregate Roots, Entities, Value Objects, and hierarchical relationships governing the Dental Clinic domain.
Structural Topology & Domain Modeling
The Dental Clinic domain organizes its tactical architecture around two interconnected foundations: the physical and operational practice topology (branches, operatories, chairs, and clinical staff) and the tactical Domain-Driven Design (DDD) aggregate hierarchy governing clinical care, treatment plans, lab orders, and infection control.
1. Practice & Operatory Physical Topology
The practice topology models the physical infrastructure of a multi-location dental practice or dental hospital:
Dental Practice / Health Network
└── Practice Branch / Clinic Facility
├── Operatory Room (Dental Chair Station)
│ ├── Dental Patient Chair (Hydraulic/Electric)
│ ├── Doctor & Assistant Delivery Units
│ ├── High-Volume Evacuation (HVE) & Saliva Ejector
│ ├── Intraoral X-Ray Generator & Digital Sensor
│ ├── LED Polymerization Curing Light
│ └── Assigned Sterile Cassette Staging Cart
├── Central Sterilization Facility (Decontamination & Autoclaves)
│ ├── Ultrasonic Cleaner / Thermal Washer Disinfector
│ ├── Autoclave Steam Sterilizers (Class B / Vacuum)
│ └── Sterile Cassette Storage Vault
└── Clinical Staff Resource Pool
├── Attending Dentists / Dental Specialists
├── Registered Dental Hygienists
└── Certified Dental Assistants
Topology Levels Explained
| Level | Description | Key Attributes |
|---|---|---|
| Practice Branch | The physical facility or clinical building. | Branch code, legal entity name, operating license, address, operating hours. |
| Operatory (Chair) | The sovereign clinical treatment room where procedures are executed. | Operatory ID, room number, clinical capabilities (e.g., General, Surgical, Orthodontic), default turnover buffer minutes. |
| Delivery Hardware | The mechanical and electronic instruments mounted at the chair. | Air/water lines, handpiece couplers, ultrasonic scaler, curing light intensity rating. |
| Sterilization Suite | The central clean room where contaminated instruments are processed. | Autoclave unit serials, incubator unit for spore test culture, biological indicator inventory. |
2. Aggregate Roots & Tactical Hierarchy
The tactical domain model partitions clinical responsibilities into six sovereign Aggregate Roots, ensuring transactional consistency, boundary protection, and invariant enforcement:
flowchart TD
subgraph ClinicalPatientDomain["Patient Dental Charting Boundary"]
PDR["PatientDentalRecord (Aggregate Root)"]
ODO["Odontogram (Entity)"]
TR["ToothRecord (Entity, 1..32)"]
SR["SurfaceRecord (Value Object, M-D-O-B-L)"]
PC["PeriodontalChart (Entity)"]
PSP["PeriodontalSiteProbing (Value Object, 6 sites/tooth)"]
PDR --> ODO
ODO --> TR
TR --> SR
PDR --> PC
PC --> PSP
end
subgraph PlanningBoundary["Treatment Planning Boundary"]
TP["TreatmentPlan (Aggregate Root)"]
PH["TreatmentPhase (Entity)"]
PPI["PlannedProcedureItem (Entity)"]
CR["InformedConsentRecord (Value Object)"]
TP --> PH
PH --> PPI
PPI --> CR
end
subgraph EncounterBoundary["Operatory Encounter Boundary"]
ENC["OperatoryEncounter (Aggregate Root)"]
MAC["MedicalAlertClearance (Value Object)"]
PER["ProcedureExecutionRecord (Entity)"]
AA["AdministeredAnesthetic (Value Object)"]
CML["ConsumedMaterialLot (Value Object)"]
SCV["SterileCassetteVerification (Value Object)"]
ENC --> MAC
ENC --> PER
PER --> AA
PER --> CML
ENC --> SCV
end
subgraph LabBoundary["Dental Laboratory Boundary"]
DLO["DentalLabOrder (Aggregate Root)"]
PS["ProstheticSpecification (Value Object)"]
SRec["ShadeRecipe (Value Object)"]
LME["LabMilestoneEntry (Entity)"]
DLO --> PS
DLO --> SRec
DLO --> LME
end
subgraph SterilizationBoundary["Infection Control Boundary"]
SCB["SterilizationCycleBatch (Aggregate Root)"]
ACP["AutoclaveCycleParameters (Value Object)"]
BIR["BiologicalIndicatorResult (Value Object)"]
SCP["SterileCassettePack (Entity)"]
SCB --> ACP
SCB --> BIR
SCB --> SCP
end
subgraph SchedulingBoundary["Operatory Logistics Boundary"]
OSB["OperatoryScheduleBlock (Aggregate Root)"]
TDB["TurnoverDisinfectionBuffer (Value Object)"]
OSB --> TDB
end
TP -.->|References Procedures| ENC
DLO -.->|Supplies Prosthesis for Seating| ENC
SCP -.->|Verifies Barcode at Chairside| ENC
3. Detailed Aggregate Specifications
Aggregate Root 1: PatientDentalRecord
- Role: Sovereign custodian of the patient’s oral anatomical reality over time.
- Root Entity:
PatientDentalRecord(Identified byPatientDentalRecordId). - Internal Entities:
Odontogram: Manages tooth presence, spatial arrangement, and developmental dentition type (Deciduous, Mixed, Permanent).ToothRecord: Represents an individual tooth identified by its standardized numbering notation (e.g., FDI Two-Digit11to48or deciduous51to85). Tracks overall status:Present,CongenitallyMissing,Impacted,Extracted,Implanted, orPonticAbutment.PeriodontalChart: Encapsulates full-mouth periodontal probing sessions conducted over the patient’s lifecycle.
- Value Objects:
SurfaceRecord: Immutable mapping of tooth surfaces (Mesial,Distal,Occlusal/Incisal,Buccal/Facial,Lingual/Palatal) to specific conditions (e.g.,EnamelCaries,CompositeRestoration,AmalgamRestoration,PorcelainVeneer).PeriodontalSiteProbing: Immutable 6-site probing recording (Mesiobuccal,Midbuccal,Distobuccal,Mesiolingual,Midlingual,Distolingual) with depth in millimeters,BleedingOnProbing(boolean),Suppuration(boolean), andGingivalMarginRecessionin millimeters.
Aggregate Root 2: TreatmentPlan
- Role: Coordinates the clinical strategy, financial estimates, and legal consent governing proposed dental interventions.
- Root Entity:
TreatmentPlan(Identified byTreatmentPlanId, referencesPatientIdandDiagnosingClinicianId). - Internal Entities:
TreatmentPhase: Represents a sequenced clinical stage (e.g.,Phase 1: Emergency & Pain Control,Phase 2: Periodontal Stabilization,Phase 3: Restorative & Endodontics,Phase 4: Prosthodontics & Surgery,Phase 5: Maintenance).PlannedProcedureItem: An individual clinical procedure line item identified byPlannedProcedureItemId. References a standardCdtCode(e.g.,D2740for Porcelain/Ceramic Crown), targetToothNumber, optional targetSurfaces, priority sequence, and status (Proposed,Accepted,Scheduled,InExecution,Completed,Abandoned).
- Value Objects:
ProcedureFeeEstimate: Immutable financial breakdown containingGrossFee,EstimatedInsuranceBenefit, and calculatedPatientCopaymentShare.InformedConsentRecord: Cryptographically signed token capturingConsentDocumentHash,PatientOrGuardianSignature,SignatureTimestamp, andClinicianWitnessId.
Aggregate Root 3: OperatoryEncounter
- Role: Transaction boundary for a live chairside clinical appointment session.
- Root Entity:
OperatoryEncounter(Identified byOperatoryEncounterId). - Internal Entities:
ProcedureExecutionRecord: Captures the actual clinical intervention performed during this session, linking back to thePlannedProcedureItemId.
- Value Objects:
MedicalAlertClearance: Mandatory sign-off verifying that patient health alerts (allergies, anticoagulants, antibiotic prophylaxis compliance, blood pressure) have been reviewed and cleared by the licensed dentist prior to treatment.AdministeredAnesthetic: Immutable record of local anesthesia delivered, includingAnestheticAgent(e.g., Articaine 4%, Mepivacaine 3%),VasoconstrictorRatio(e.g., 1:100,000 Epinephrine),CarpuleCount, injection technique (Infiltration,InferiorAlveolarNerveBlock), and administration timestamp.ConsumedMaterialLot: Mandatory lot tracking record capturingMaterialType(e.g., Dental Implant, Bone Graft Particulate, Collagen Resorbable Membrane),Manufacturer,LotNumber,SerialNumber, and expiration date for post-market medical device traceability.SterileCassetteVerification: The unique barcode identifier of the sterilized instrument cassette scanned at chairside, verifying clean infection control linkage.
Aggregate Root 4: DentalLabOrder
- Role: Governs the commercial and fabrication lifecycle of indirect dental prostheses.
- Root Entity:
DentalLabOrder(Identified byDentalLabOrderId, referencesOperatoryEncounterIdandExternalLabProviderId). - Internal Entities:
LabMilestoneEntry: An audit trail entry capturing laboratory progress (e.g.,PrescriptionDispatched,ScanMeshValidated,FrameworkMilled,BiscuitTryInDelivered,FinalRestorationAccepted).
- Value Objects:
ProstheticSpecification: Defines the anatomical target tooth, restoration category (SingleCrown,ThreeUnitBridge,CompleteDenture,ImplantCustomAbutment), and structural substrate (MonolithicZirconia,LithiumDisilicateEmax,PorcelainFusedToMetal).ShadeRecipe: Colorimetric prescription detailing body shade (e.g., VITA ClassicalA2), stump shade (e.g.,ND2), incisal translucency degree, and surface characterization instructions.DigitalScanAsset: Immutable URI reference and SHA-256 cryptographic hash of the 3D intraoral optical scan mesh (STL or PLY format).
Aggregate Root 5: SterilizationCycleBatch
- Role: Enforces infection control governance, autoclave telemetry recording, and instrument cassette safety.
- Root Entity:
SterilizationCycleBatch(Identified bySterilizationBatchId). - Internal Entities:
SterileCassettePack: An individual cassette package identified by a uniqueCassetteBarcode. Contains cassette type (e.g.,RestorativeCassette,SurgicalCassette), packing timestamp, and packaging technician ID.
- Value Objects:
AutoclaveCycleParameters: Telemetry verifyingAutoclaveUnitId, sequentialCycleNumber, peak sterilizationTemperatureCelsius($\ge 134^\circ\text{C}$),ChamberPressureBar($\ge 2.1\text{ bar}$), and sustainedExposureDurationMinutes($\ge 4.0\text{ min}$).BiologicalIndicatorResult: Verification record of bacterial spore test (Geobacillus stearothermophilus), including test incubation start/end timestamps, reader serial, and final binary outcome (Pass/Fail).
Aggregate Root 6: OperatoryScheduleBlock
- Role: Manages physical operatory chair reservations, multi-resource assignments, and mandatory sanitization windows.
- Root Entity:
OperatoryScheduleBlock(Identified byScheduleBlockId). - Value Objects:
ResourceAllocationSet: The synchronized group of enterprise resources assigned to the block (OperatoryId,AttendingClinicianId,AssistingDentalAssistantId,PatientId).TurnoverDisinfectionBuffer: Immutable time duration appended immediately after clinical procedure completion dedicated exclusively to aerosol evacuation, surface wipe-down with hospital-grade disinfectant, and instrument restocking.