Semantic Clinical Notes Application
A modern, responsive full-stack CSP application for managing clinical patient data, episodes, and doctor notes — built with InterSystems IRIS, ObjectScript, Bootstrap 5, Tabulator, and vector search capabilities.

Features
- Patient Management — CRUD operations (create, read, update, delete)
- Episode Tracking — episodes linked to patients with type, dates, and reason
- Clinical Notes — doctor notes attached to episodes
- Top 5 matching notes panel showing semantically similar notes against the selected note
- Semantic Vector Search — search notes by meaning (not just keywords) using IRIS native vector search + sentence-transformers embeddings
- Searchable dropdowns for linked entities (Patient → Episode, Episode → Note) using Tom Select
- Responsive Design — works great on desktop and mobile
- Professional UI — Bootstrap 5 + clean sidebar navigation
Tech Stack
Backend
- InterSystems IRIS (database, REST API, vector search)
- ObjectScript (classes, dispatch logic)
- IRIS Embedded Python (sentence-transformers for embeddings)
Frontend
- HTML5 / CSS3 / JavaScript
- Bootstrap 5 (responsive layout, modals, toasts)
- Tabulator.js (interactive data grids)
- Tom Select (searchable patient dropdown)
- Fetch API (REST communication)
Screenshots
- Login screen
- Main dashboard with sidebar & patient grid

3. Patient Notes Data Entry

4. Vector search interface with results
Prerequisites
Make sure you have git and Docker desktop installed.
Installation
Clone/git pull the repo into any local directory
$ git clone https://github.com/mwaseem75/iris-CliniNote.git
To build and start the container run:
$ docker compose up -d && docker compose logs -f
ZPM
Open IRIS for Health installation with ZPM client installed.
zpm install iris-CliniNote
Navigate to the URL below to access the application (credentials: admin/admin).
http://localhost:42773/csp/Clininote/login.html