Skip to content
Enzo Monzon
All projects

Project 2 of 4:Database Management System

Design ProjectYear 2026

Centralized Hospital Outpatient Services Database

From registration to billing, in one relational model.

A relational database designed to centralize hospital outpatient service information, including patient, doctor, appointment, consultation, laboratory, prescription, and billing-related data.

GitHub — Repository link not added yetLive demo — No live demo yet

Status: A database and system design project. It is not deployed in a hospital.

Simplified entity overview

Entity relationship diagram: 7 entities · 6 relationships.

  • Patient books Appointment (one to many).
  • Doctor attends Appointment (one to many).
  • Appointment results in Consultation (one to one).
  • Consultation orders Laboratory (one to many).
  • Consultation issues Prescription (one to many).
  • Appointment is billed by Billing (one to one).
PatientPKpatient_idDoctorPKdoctor_idAppointmentPKappointment_idFKpatient_idFKdoctor_idConsultationPKconsultation_idFKappointment_idLaboratoryPKlab_record_idFKconsultation_idPrescriptionPKprescription_idFKconsultation_idBillingPKbilling_idFKappointment_id
PatientPKpatient_idDoctorPKdoctor_idAppointmentPKappointment_idFKpatient_idFKdoctor_idConsultationPKconsultation_idFKappointment_idLaboratoryPKlab_record_idFKconsultation_idPrescriptionPKprescription_idFKconsultation_idBillingPKbilling_idFKappointment_id
  1. Patient
    • patient_id, primary key
  2. Doctor
    • doctor_id, primary key
  3. Appointment
    • appointment_id, primary key
    • patient_id, foreign key
    • doctor_id, foreign key
  4. Consultation
    • consultation_id, primary key
    • appointment_id, foreign key
  5. Laboratory
    • lab_record_id, primary key
    • consultation_id, foreign key
  6. Prescription
    • prescription_id, primary key
    • consultation_id, foreign key
  7. Billing
    • billing_id, primary key
    • appointment_id, foreign key
Simplified overview of the core entities and how they relate. The full ERD, relational schema and data dictionary can be added below.

Design documents3 to be added

  • ScreenshotEntity Relationship Diagram

    To be added

  • ScreenshotRelational schema

    To be added

  • ScreenshotData dictionary

    To be added

Problem & solution

Problem
Hospital outpatient information can become fragmented when registration, appointments, consultations, laboratory records, prescriptions, and billing are managed separately.
Solution
Design a centralized relational database that connects the major entities and maintains structured relationships between them. The schema is normalized so each fact is stored once and referenced by key.

Technologies

2 technologies

  • PostgreSQL / MySQLRelational database engine
  • SQL

Architecture

Outpatient data flow

  1. Patient

    Registration

  2. Appointment

    Patient + doctor + schedule

  3. Consultation

    Findings for the visit

  4. Lab · Prescription

    Orders from the consultation

  5. Billing

    Charges for the visit

How a visit moves through the core entities.

Normalization

  1. UNF

    Unnormalized form

    The starting point: repeating groups and multi-valued fields.

  2. 1NF

    First normal form

    Every field holds one atomic value, with no repeating groups.

  3. 2NF

    Second normal form

    Every non-key attribute depends on the whole key.

  4. 3NF

    Third normal form

    No transitive dependencies between non-key attributes.

  • Keys and relationships

    Primary keys identify each record, and foreign keys connect patients, doctors, appointments, consultations and their outcomes.

Key technical concepts

  • Entity Relationship Diagram
  • Relational schema
  • Database normalization
  • 1NF
  • 2NF
  • 3NF
  • Primary keys
  • Foreign keys
  • Relationships
  • Data dictionary
  • SQL

Have a question about this project?

I’m happy to walk through the decisions behind it.

Open to internships & collaborations