wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Building a Simple Doctor Appointment System in Common Lisp

profile
Shubham Giri
Jul 16, 2025
0 Likes
0 Discussions
6 Reads

🧠 Introduction

When learning a new language, building real-world applications—no matter how simple—is a powerful way to understand its core features. In this post, we will implement a console-based doctor appointment scheduling system in Common Lisp. It will allow users to book, cancel, and view appointments using a clean menu-driven interface.


🛠️ Features Overview

View Available Time Slots


Book an Appointment


Cancel an Appointment


View All Booked Appointments


Exit the System


📦 The Core Components

Let’s walk through how each part of the code contributes to the functionality:


1. 📅 Defining Time Slots


(defparameter *time-slots*

'("9:00 AM" "10:00 AM" "11:00 AM" "12:00 PM"

"2:00 PM" "3:00 PM" "4:00 PM" "5:00 PM"))

These are our fixed time slots. The user can choose from these to book an appointment.


2. 📂 Creating the Appointments Table


(defparameter *appointments* (make-hash-table :test 'equal))

A hash table is used to store appointments, mapping each slot to a user's name.


3. 🔍 Viewing Available Slots


(defun view-available-slots ()

(format t "~%Available Slots:~%")

(dolist (slot *time-slots*)

(unless (gethash slot *appointments*)

(format t "~A~%" slot))))

This function filters out already booked slots and shows only the available ones.


4. 📥 Booking an Appointment


(defun book-appointment ()

;; code continues...

)

The user enters their name and picks a slot. The function validates the input and checks availability before booking.


5. ❌ Cancelling an Appointment


(defun cancel-appointment ()

;; code continues...

)

Users can cancel their appointments by providing their name. It searches the hash table and removes matching entries.


6. 📋 Viewing All Appointments


(defun view-appointments ()

;; code continues...

)

Prints a list of all booked slots along with the names of users who booked them.


7. 📱 User Interface - The Main Menu

(defun main-menu ()

;; loop with case options

)

A looping text interface that allows the user to interact with the system repeatedly until they choose to exit.




Comments ()


Sign in

Read Next

c

Blog banner

Building a Better You: Fitness Tips and Inspiration.

Blog banner

Procedure For Corporate High-Tech Investigations

Blog banner

Mumbai

Blog banner

The Future of Cybersecurity: Trends, Challenges, and Strategies

Blog banner

Fudgy Tahini Date Chocolate Bars

Blog banner

Threads in OS

Blog banner

LIMITED EDITION

Blog banner

The Power of Pretend Play: What Role-Playing Teaches Preschoolers

Blog banner

IT Service as as Value Creation

Blog banner

Vaping vs. Chewing Gum: The Hidden ‘Stress Fix’ Destroying Sydney’s Teeth

Blog banner

What's Better : Supervised or Unsupervised Learning

Blog banner

Multiprocessor and Multicore Organization

Blog banner

PROCESS CONTROL BLOCK IN OS

Blog banner

How to use open SSL for web server - browser communication

Blog banner

Deadlock and starvation in operating system

Blog banner

Multicore and multithreading 171

Blog banner

Gaming Disorder: When Gaming Affects Mental Health

Blog banner

AI and Technology- Related Anxiety: Understanding the Psychological Impact of Living in an AI-Driven World

Blog banner

Deadlock in operating system

Blog banner

Amazon

Blog banner

S-Tool : Steganography

Blog banner

Memory Management - operating system

Blog banner

Getting started with Android Studio

Blog banner

A buffer overflow

Blog banner

Rapido

Blog banner

How to Grow Your Brand on YouTube Without a Big Budget

Blog banner

Social Media Marketing Trends 2022

Blog banner

Service design process in ITSM

Blog banner

How College Events Build Real-world Skills You Can’t Learn From Textbooks

Blog banner

Race Condition

Blog banner

Data carving - using hex editor

Blog banner

Charcoal, Lemon, and DIY Kits: Which “Viral” Dental Trends Are Actually Dangerous?

Blog banner

Palm Vein Biometric Technology; Contactless vein authentication

Blog banner

Social Engineering Deceptions and Defenses

Blog banner

SWEET SHREDDED MANGO CHUNDA (MANGO CHUNDA)

Blog banner

Virtual Memory

Blog banner

It's all about our Brain.- The Brain Metaphor

Blog banner

Dove’s Real Beauty Campaign- Case Study

Blog banner

Gamer life

Blog banner

Odoo

Blog banner

Place to visit in pune

Blog banner