Skip to content

Open CIS

A minimal Clinical Information System built on openEHR/EHRBase for learning and experimentation.


Open CIS is an open-source project that demonstrates how to build a modern clinical application on top of the openEHR standard. It pairs a Vue 3 frontend with a FastAPI backend that stores clinical data in EHRBase, an open-source openEHR Clinical Data Repository.

The project was built in public as a learning exercise, documented through a six-part blog series on Medium, and ultimately led to the creation of oehrpy, a standalone Python SDK for openEHR.

Key Features

  • Dual-database architecture -- clinical data in EHRBase (openEHR), app data in PostgreSQL via Prisma
  • Vital signs recording with blood pressure and pulse, stored as openEHR compositions
  • Patient management with MRN-to-EHR linking
  • openEHR transparency -- inspect the underlying archetype data from the UI
  • One-click deployment on Railway

Tech Stack

Layer Technology
Frontend Vue 3 + TypeScript + Vite + shadcn-vue + Tailwind + Pinia
Backend FastAPI + Python 3.11+ + Pydantic
Clinical Data EHRBase (openEHR repository)
App Database PostgreSQL via Prisma (prisma-client-py)
Infrastructure Docker Compose
Deployment Railway

Live Demo

Staging environment: open-cis-web-staging.up.railway.app

Deploy Your Own

Deploy on Railway

Deploy your own instance with one click using the Railway template. Railway provisions the full stack including PostgreSQL databases and automatic deployments from Git.

Source Code