dar-ul-sehat is an offline-first clinic operations system for a Pakistani clinic. Its defining concern is not clinical record-keeping alone but who may go where, what happened, and what is locked: a secure staff login system, role- and permission-scoped access to clinic sections, administrator control over staff accounts and permissions, accountability through login history and an activity log, and local plus Google Drive backup and restore of the clinic's data.
This document is the System Requirements Document for dar-ul-sehat. It specifies the staff login and permissions capability in full — the secure login surface, the six staff roles, per-staff permission customization, restriction of sensitive information, login history, automatic inactivity logout, administrator account management (create, edit, deactivate, reset password, revoke access), the activity log, and password/sensitive-data protection — together with the offline operating constraint and the local and Google Drive backup and restore capability.
The audience is the clinic's own staff: the Admin/Owner who provisions and governs access, and the Receptionist, Doctor, Pharmacist/Inventory Manager, Accountant, and Staff Member who work inside the sections their roles permit.
dar-ul-sehat runs as an offline clinic system. All staff work is performed against locally held data; the system does not depend on a live network connection to operate. Data durability is provided by explicit backup: a local backup on the device and a backup to the user's Google Drive, with restoration from a backup.
Access is application-owned. Every staff member has a unique username and password. The Admin/Owner provisions staff accounts, assigns one of six roles, and customizes per-staff permissions covering viewing, adding, editing, and deleting records. Staff members sign in through a secure login surface and can reach only the sections and information their assigned role and customized permissions allow. Sensitive information — patient medical records, salaries, and financial transactions — is restricted. Staff cannot change their own permissions or reach administrator-only settings unless explicitly authorized. Inactive users are logged out automatically after a specified period. Login history records the staff member, login time, and account activity where appropriate, and an activity log records important actions such as changes to patient records, medicine stock, and financial transactions.
The current delivery comprises six surfaces: an anonymous Landing surface, the Staff Login and Permissions surface, and four administrator-restricted surfaces — Staff Accounts, Login History, Activity Log, and Backup & Restore.
Removed from scope
dar-ul-sehat is delivered as a first-party application with application-owned identity. The Landing surface is reachable anonymously and explains the offline clinic system and its staff roles before identity is established. The Staff Login and Permissions surface is also reachable anonymously so that a staff member can present credentials; protected clinic state remains unavailable until identity is established. Staff Accounts, Login History, Activity Log, and Backup & Restore are administrator-restricted surfaces and are reachable only by an authenticated Admin/Owner.
The system is offline: clinic operation, sign-in, permission enforcement, logging, and backup creation do not require a live connection. The Google Drive backup destination is an external provider surface owned by Google; dar-ul-sehat initiates the backup to the user's Google Drive and reports its outcome, but the Drive account, storage, and Drive-side file management remain Google's. Restoration is performed inside dar-ul-sehat from a chosen backup.
Everything described in this document is current. No future-horizon capabilities are specified.
FR-1 — Secure staff login. As a staff member, I should sign in to dar-ul-sehat with my unique username and password so that I reach the clinic system under my own identity. (explicit)
FR-2 — Unique username and password per staff member. As the system, I should ensure each staff member has a unique username and a password so that identities are unambiguous. (explicit)
FR-3 — Administrator manages staff accounts. As an Admin/Owner, I should create, edit, deactivate, and manage staff accounts so that the clinic's staff roster reflects reality. (explicit)
FR-4 — Role assignment. As an Admin/Owner, I should assign a role to each staff member based on their responsibilities so that access matches the work they do. (explicit)
FR-5 — Supported roles. As the system, I should support exactly the roles Admin/Owner, Receptionist, Doctor, Pharmacist/Inventory Manager, Accountant, and Staff Member so that responsibilities map to defined scopes. (explicit)
FR-6 — Admin/Owner full access. As an Admin/Owner, I should have full access to all sections, settings, staff accounts, permissions, financial records, and reports so that I can run and govern the clinic. (explicit)
FR-7 — Receptionist access. As a Receptionist, I should have access to patient registration, patient records, and appointment management so that I can handle front-desk work. (explicit)
FR-8 — Doctor access. As a Doctor, I should have access to my assigned patient records, medical history, prescriptions, treatment details, and appointments so that I can document care for my patients. (explicit)
FR-9 — Pharmacist/Inventory Manager access. As a Pharmacist/Inventory Manager, I should have access to medicine inventory, stock management, medicine purchases, and sales so that I can keep stock accurate and record purchases and sales. (explicit)
FR-10 — Accountant access. As an Accountant, I should have access to the finance section, expenses, doctor payments, salaries, and financial reports so that I can record and review financial transactions. (explicit)
FR-11 — Staff Member limited access. As a Staff Member, I should have limited access to my assigned tasks and permitted sections so that I can complete assigned work without exposure to restricted information. (explicit)
FR-12 — Per-staff permission customization. As an Admin/Owner, I should customize permissions for each staff member, including viewing, adding, editing, and deleting records, so that access is tuned to the individual. (explicit)
FR-13 — Restrict sensitive information. As the system, I should restrict access to sensitive information — especially patient medical records, salaries, and financial transactions — so that only authorized staff reach it. (explicit)
FR-14 — Role-scoped access only. As the system, I should ensure staff members can only access the sections and information permitted by their assigned roles so that scope is enforced consistently. (explicit)
FR-15 — Login history. As an Admin/Owner, I should review a login history showing the staff member, login time, and account activity where appropriate so that sign-in activity is accountable. (explicit)
FR-16 — Automatic inactivity logout. As the system, I should automatically log out inactive users after a specified period so that unattended sessions do not remain open. (explicit)
FR-17 — Password reset, access revocation, deactivation. As an Admin/Owner, I should reset passwords, revoke access, and deactivate accounts when staff members leave the clinic so that departing or compromised access ends. (explicit)
FR-18 — Activity log of important actions. As the system, I should record important actions — such as changes to patient records, medicine stock, and financial transactions — in an activity log for accountability. (explicit)
FR-19 — Protect passwords and sensitive information. As the system, I should protect passwords and sensitive information using appropriate security measures so that credentials and restricted data are not exposed. (explicit)
FR-20 — No self-elevation. As the system, I should prevent staff members from changing their own permissions or accessing administrator-only settings unless explicitly authorized so that access control cannot be bypassed. (explicit)
FR-21 — Offline operation. As a staff member, I should use dar-ul-sehat without a live network connection so that clinic work continues when connectivity is unavailable. (explicit)
FR-22 — Local backup. As an Admin/Owner, I should take a backup locally on this device so that the clinic's data can be preserved on site. (explicit)
FR-23 — Google Drive backup. As an Admin/Owner, I should take a backup to my Google Drive so that a copy of the clinic's data exists off the device. (explicit)
FR-24 — Restore from backup. As an Admin/Owner, I should restore data from a backup so that the clinic's data can be recovered. (explicit)
FR-25 — Administrator provisions accounts with roles and permissions. As an Admin/Owner, I should provision staff accounts with unique usernames and passwords and assign roles and permissions so that a staff member can begin work. (required_inference)
FR-26 — Returning staff verification. As a staff member, I should verify my identity on the secure login surface on each return so that my session is bound to me. (required_inference)
FR-27 — Inactivity session termination. As the system, I should end a session after the specified inactivity period so that the staff member must verify identity again. (required_inference)
FR-28 — Role- and permission-based restriction of sections and sensitive records. As the system, I should restrict sections and sensitive records according to role and customized permissions so that scope is enforced at the point of access. (required_inference)
FR-29 — Administrator-only access to governance surfaces. As an Admin/Owner, I should be the only role able to reach Staff Accounts, Login History, Activity Log, and Backup & Restore so that governance and recovery remain controlled. (required_inference)
Muse and headline: Massimo Vignelli — Wayfinding for the clinic: Vignelli-grade access control. Information design as public infrastructure: strict columns, colour-coded categories, Helvetica-grade hierarchy, zero ornament.
Mode: Light mode only.
Colour tokens (flat, never gradient):
| Role | Token | Hex |
|---|---|---|
| Page ground (warm paper, ~70% of page) | --bg | #F7F5F0 |
| Panels (pure white, ~20%) | --surface | #FFFFFF |
| Type | --text | #111111 |
| Admin / restricted | --primary | #D7261E |
| Accent (4px rules, tab underline, status chips only) | --accent | #F2C200 |
| Secondary metadata | --muted | #6B6862 |
| Clinical records | --clinical | #1B4FA0 |
| Pharmacy / inventory | --pharmacy | #F2C200 |
| Finance | --finance | #1E7A4C |
Accent yellow is never used as body text on white. Colour is always flat and coded to a fixed role; it is never decorative.
Typography: Headings and body both Archivo. Headings use two weights only — Archivo 700 for section heads and role names, Archivo 500 for labels set uppercase with 0.08em tracking. Flush-left, ragged-right, never centred. Modular scale 1.25: 12 / 14 / 16 / 20 / 25 / 31 / 39 / 49 / 61px. Hero display clamp(40px, 7vw, 88px); section heads 31–39px; role names 20px; labels 12px uppercase 0.08em; body 16px/1.55. Tabular numerals via font-feature-settings: 'tnum' for counts, timestamps, and IDs.
Shape language: Hard edges — 0px radius on panels, inputs, and buttons; 2px only on status chips. 1px black rules and 4px colour-coded rules are structural elements. Buttons are solid rectangles with a 1px inset border; toggles are square sliders. No shadows, no blurs, no rounded cards.
Layout: A visible 12-column grid with a persistent 240px left rail carrying the coded module map — Patients, Appointments, Pharmacy, Finance, Staff & Access, Activity Log, Backup — each module wearing a 4px coded rule matching the role that owns it. A top bar holds the clinic name, signed-in staff, role chip, and a live inactivity timer. Content is column-locked: permission matrices as tabular rule-separated rows, the activity log as a ruled ledger with monospace timestamps, the backup panel as a two-column local/Google Drive split. Section transitions are horizontal colour-rule wipes, not slides. All grids collapse to a single column at 375px with the rail becoming a horizontal scrollable coded tab strip.
Imagery: No photography, no illustration. Diagrams only — a role-permission matrix as a colour-coded grid, a login-history timeline as ruled ticks, a backup flow diagram (device → local file → Google Drive) in black hairlines with the four coded colours. Role pictograms as 24px geometric glyphs (stethoscope, mortar, ledger, key) in 2px stroke.
Readability constraint: Headlines, wordmarks, labels, numbers, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling to fit; nothing covers any part of them.
The public entry is the Landing surface, composed as a transit map of who can go where rather than a marketing hero.
#F7F5F0 fills the viewport. Flush-left at the top, an Archivo 700 headline at clamp(40px, 7vw, 88px) names dar-ul-sehat as an offline clinic system. Directly beneath it, a 12-column role strip runs edge to edge of the content column: six equal blocks — Admin/Owner in #D7261E, Receptionist in #1B4FA0, Doctor in a darker clinical blue, Pharmacist/Inventory Manager in #F2C200, Accountant in #1E7A4C, Staff Member in #6B6862 — each carrying the role name in 12px uppercase Archivo 500 with 0.08em tracking, separated by 1px black rules.Interaction Model: Static (direction) Motion Tempo: still Hero Dimensionality: flat
Landing Hero Motion Brief

Offline Clinic System · Pakistan
Who can go where, what happened, and what is locked.
Full access to all sections, settings, staff accounts, permissions, financial records and reports
Patient registration, patient records, appointment management
Assigned patient records, medical history, prescriptions, treatment details, appointments
Medicine inventory, stock management, medicine purchases, sales
Finance section, expenses, doctor payments, salaries, financial reports
Limited access to assigned tasks and permitted sections
Colour code = role category

Offline Clinic System · Pakistan
Who can go where, what happened, and what is locked.
Full access to all sections, settings, staff accounts, permissions, financial records and reports
Patient registration, patient records, appointment management
Assigned patient records, medical history, prescriptions, treatment details, appointments
Medicine inventory, stock management, medicine purchases, sales
Finance section, expenses, doctor payments, salaries, financial reports
Limited access to assigned tasks and permitted sections
Colour code = role category
No comments yet. Be the first!