Database Systems · MySQL · September 2025

WIPO Mediation Case Management

An academic relational database concept for centralized mediation workflows, case-level access, auditable automation, and treaty-aware settlement compliance.

Role Database Designer & Developer Scope 22 Functional Areas · 8 NFR Categories Stack MySQL · Procedures · Triggers · Views
Neon conceptual entity relationship diagram for the WIPO mediation database
Conceptual ER Model

Replacing fragmented workflows with a controlled case record.

The system centralizes case intake, party participation, mediator and venue assignment, sessions, documents, clauses, settlement outcomes, and audit history.

Its differentiating feature is a reproducible compliance run that checks treaty membership and country-linked rules before recording a green, yellow, or red enforceability indicator for a target jurisdiction.

UsersParties, Mediators, Case Administrators
Core RecordCase-centered relational model
Decision SupportSingapore Convention compliance snapshot
DeliverablesRequirements, ER model, schema, database logic

Project Sources

M1 Report ↗

A case-centered model connecting people, evidence, process, and enforceability.

The conceptual design organizes the system into four connected data domains while preserving case-level traceability.

Full conceptual ER diagram showing users, cases, messages, documents, venues, compliance, treaty membership, outcomes and audit logs
01

Identity & Access

Users specialize into parties and mediators, while case membership controls access to confidential records.

users · party · mediator · users_in_case · permission
02

Case Operations

The case is the hub for messages, documents, clauses, summaries, sessions, venues, and outcomes.

case_file · message · document · clause · summary
03

Mediation Workflow

Assignment, venue suggestions, scheduling, notifications, and lifecycle transitions are modeled as controlled events.

case_mediator · venue · venue_suggestion · session
04

Compliance & Closure

Country and treaty data drive compliance runs, while outcome and arbitration records close the case with an audit trail.

country · treaty_membership · rule · compliance_run · audit_log

The database supports the mediation lifecycle from intake through closure.

01Account & Role

Create authenticated users and assign party or mediator specialization.

02Case Intake

Register two parties, clauses, target jurisdictions, and the initial case state.

03Assignment

Recommend, accept, or reject mediators and venue suggestions.

04Sessions

Schedule meetings, collect attendance decisions, messages, and documents.

05Compliance

Evaluate treaty membership, valid dates, reservations, and linked rules.

06Outcome

Finalize settlement, non-settlement, or arbitration and generate a summary.

Performance

Under 2 seconds

Normal requests target sub-two-second response times, concurrent access, and batch uploads up to 100 MB.

Security

Case-level authorization

Sensitive data is encrypted, passwords are hashed, and access is restricted to authorized case roles.

Scale

5,000 users

A single-server target supports up to 5,000 users and 100,000 notification events per day.

Capability

Cross-border by design

Country lookups, multilingual fields, time zones, storage expansion, and API integrations are included.

Relational structure reinforced with database-side rules.

Relational Foundation

Case membership is explicit.

The composite key in users_in_case prevents duplicate membership and supports confidential case-scoped queries.

schema.sql
CREATE TABLE IF NOT EXISTS `case_file` (
  `case_id` INT NOT NULL AUTO_INCREMENT,
  `case_name` VARCHAR(100) NOT NULL,
  `start_date` DATETIME NOT NULL,
  `end_date` DATETIME NULL,
  `case_status` ENUM('ongoing','settled','arbitration')
    NOT NULL DEFAULT 'ongoing',
  PRIMARY KEY (`case_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `users_in_case` (
  `user_id` INT NOT NULL,
  `case_id` INT NOT NULL,
  PRIMARY KEY (`user_id`,`case_id`),
  CONSTRAINT `fk_uic_user`
    FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`)
    ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_uic_case`
    FOREIGN KEY (`case_id`) REFERENCES `case_file`(`case_id`)
    ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Critical workflow rules stay close to the data they protect.

Procedure

Mediator Assignment

Validates mediator status, links the mediator to the case, adds case membership, creates a notification, and records the assigning user.

Trigger

Message Notifications

After a message is inserted, every case member except the sender receives a notification and the action is written to the audit log.

Procedure

Session Scheduling

Only the assigned mediator may schedule a session; all participants are notified and the scheduling event is audited.

Trigger Pair

Document Ownership

A before-delete guard blocks unauthorized deletion, followed by an after-delete audit record for permitted actions.

Lifecycle Guard

Outcome Synchronization

Settlement and arbitration outcomes automatically update case status and end dates, preventing contradictory records.

Closure Trigger

Settlement Summary

A settled case receives a closing summary when one has not already been created, preserving a complete final record.

Building systems where data, logic, and accountability connect.

hamedemari@gmail.com