DMIS: Doctor Information System

A medical association’s doctor-membership system: applications, renewals, invoices, approval sessions and printed records, online.

AL Muraba · 2023 – 2025

Frontend developer · largest contributor

DMIS takes a medical association’s paper membership files online. Doctors apply and renew from a self-service portal; staff at the headquarters and the governorate branches review each request, invoice it with online card payment, approve new members in council sessions, record warnings and print the doctor’s record. At AL Muraba I was the largest contributor to its frontend, from sign-in and invoices to sessions, warnings and printing.


  • A 360 profile per doctor: membership, requests, notes, records and documents
  • Invoices priced per year, with emailed payment links and card payment
  • Approval sessions that give new members permanent registration numbers
  • Warnings that can lock a doctor’s actions, and a revocation unit
  • A printable doctor record with a QR code to a public ID page
  • A seven-tab doctors directory with its filters kept in the URL
  • Vue 3
  • TypeScript
  • Vite
  • Vuetify 3
  • Vuexy
  • Pinia
  • vue-i18n
  • CASL
  • ABP
  • reCAPTCHA v3
  • CKEditor 5
  • face-api.js

How I built it

  • Two apps, staff and doctor, built from one Vue codebase
  • CASL permissions built from ABP policies, scoped by governorate
  • A sign-in popup on session expiry, driven by an activity tracker
  • A static print page in a hidden iframe that reports back via postMessage
  • An invoice status workflow with a permission for each status change
  • A reCAPTCHA-protected public payment page with a card-gateway round trip