| Time | Patient | File | Service | Type | Cash | Technologist | Radiologist |
|---|
| SERVICE | DEFAULT DL | CURRENT PRICE DL | STATUS |
|---|
| VERSION | DATE | CHANGES |
|---|---|---|
| v1.50.0 | 2026-07-19 | Launch release. A batch of features and hardening ahead of going live: a read-only auditor/accountant login (view-only access to Dashboard, Salary, History & Analytics); a custom organization logo upload that replaces the mark everywhere including printed documents; an Arabic/English interface toggle for the main app chrome; a year-over-year comparison in Analytics; an admin "View as" button to preview any staffer's own portal read-only without logging out; WhatsApp "salary is ready" alerts in the Pay run (with an on/off switch in Settings); a clearer "Payslip (PDF)" download for staff; self-service password change and a working password-reset link for cloud accounts; and reliability polish (cleaner app updates, keyboard focus states). Plus a security pass that closed a gap where a logged-in staffer could read other people's saved pay totals. |
| v1.46.0 | 2026-07-14 | Custom groups now appear in the Dashboard and Excel export — the Dashboard's Revenue Flow diagram and the Excel export's Salaries sheet previously only showed Technologists/Radiologists; a custom group's earnings (e.g. Gynecologists) were invisible in both, even though they already appeared correctly in the printed/Word/PDF salary chart and payslips. Both now include one node/section per active custom group, matching the existing built-in categories' treatment. No visual change if you have no custom groups configured. |
| v1.45.0 | 2026-07-14 | Configurable modality detection — Settings → Payroll calculation → "Modality detection (X-ray / CT)" lets you edit exactly how the file's own modality column gets classified into a category, instead of it being fixed in code. Default behavior reproduces Royal Medical's file exactly (unchanged) — only matters if you ever load a differently-shaped export (e.g. a different hospital's billing system) where the raw modality text isn't "XRAY"/"CT". Each rule is a simple "if the file text contains this → tag this category" row, checked top to bottom. Part of the same ongoing internal rebuild as v1.44.0 — nothing changes for existing setups unless you edit these rules. |
| v1.44.0 | 2026-07-14 | Configurable residual owner — Settings → Payroll calculation gets a new "Residual goes to" option: Investor (unchanged default — an external investor absorbs whatever's left after every category's cut) or Hospital directly, for departments with no investor, where the hospital keeps the whole residual as its own cut. Switching to Hospital removes the Investor line everywhere (charts, payslips, exports) — the underlying split math is unchanged either way, this only re-attributes the already-computed residual. Part of an ongoing internal rebuild making every split rule fully configurable (no more hardcoded categories) — nothing changes for existing setups unless this option is switched. |
| v1.42.2 | 2026-07-09 | Auto-lock, local error log, backup status — Settings → Security & access gets an Auto-lock after inactivity option (off by default; 5/15/30/60 min) that silently re-locks the app after idle time. A new Diagnostics card lets you view (and clear) a local log of unexpected JS errors — captured on-device only, nothing is sent anywhere. Settings → Data & backup now shows how many days since your last local backup, right next to the Backup button. |
| v1.42.1 | 2026-07-09 | Groups & splits — dialog fix, group editing, rates page rollup — the "Remove this group?" confirmation now shows its message text inside the red warning box instead of above it. Every custom group card now has an Edit button to rename the group, change its Arabic label, and recolor its swatch. The Rates & percentages settings page now lists every custom group's split rules (party, fixed/percent value) read-only, right below the built-in Tech/CT/Doctor/Hospital rates, so a new group's configured cut is visible app-wide. Split math (compute) is unchanged. |
| v1.42.0 | 2026-06-29 | Groups & splits — service picker, per-member editor, and remove-bug fix — the Groups & splits page got three upgrades. (1) Tag services to a category right here: each split-rule card now has a dropdown of every known service plus an inline “Add new service” (name + price) so you can attach, say, HSG = 300 to a Gynecology rule without leaving the page; tagged services are listed with an editable price and an untag button, and the live preview uses the first tagged service's real price. (2) Custom-group members now have a full Edit button opening the same rich employee editor (Contact, Portal login, Banking, Scheduling, Tax, Documents, Code, Danger) — so you can store a group member's phone, bank details, portal password and permissions exactly like a technologist. (3) Fixed a bug where removing a split rule, share row, group, or member could throw and appear to “not remove” — every render path is now guarded and all inline handlers are JS-string-safe. Per-party Fixed DL / Percent is selectable for every party including Technologist and Radiologist. Split math (compute) is unchanged. |
| v1.41.0 | 2026-06-29 | Split rules — Technologist & Radiologist as parties + a clearer editor — custom service-category split rules can now pay the built-in Technologist and Radiologist directly, alongside the Hospital and any custom group. Their share flows into the normal technologist/radiologist salary and comes out of the investor's residual — so a custom service like HSG (300) can pay Gynecologist 100 + Hospital 100 + Technologist 25, leaving the Investor 75. The per-category editor was reworked to be self-explanatory: a plain one-line explanation, a friendly party dropdown (Technologist · Radiologist · Hospital · each group), Fixed-DL/Percent value entry, and a live preview that recomputes the investor remainder as you type (with an over-allocated warning). Built-in X-ray/CT/Report math is byte-identical — only custom-category cases are affected. |
| v1.40.0 | 2026-06-29 | Employee portal — tabbed layout + per-employee case entry — the staff portal was one long scroll; it's now a clean tabbed layout (Overview, Pay, Requests, Documents, Profile, Messages) that shows one section at a time, with a horizontally scrollable accent-active tab bar and a default Overview view. Tabs only appear when that employee actually has the relevant content, and the notifications bell + header are unchanged. New per-employee permission "Allow entering case assignments" (admin-controlled, off by default) adds an Enter cases tab so a designated technologist/doctor can fill in the technologist + radiologist for the loaded month right from their portal — it reuses the same assignment table and auto-saves to the same store the admin reads, respects the month-finalized lock, and shows a clean empty state when no month is loaded. The split math is unchanged. |
| v1.39.0 | 2026-06-29 | Manage Staff — premium revamp — the page is now a real staff-management hub. A clean header pairs the title with a global search (by numeric code, English key, Arabic name, or group) and a summary strip of live counts (technologists, radiologists, each custom group, and how many have portal login). The roster is a segmented tab bar — Technologists, Radiologists, one tab per custom group, Groups & splits, and Previous — and every employee is a rich card: a prominent numeric code badge, Arabic name + English key, a colored group tag, status pills (portal login / no-nights / suspended), key contact (phone, email, banking-set indicator), and an Edit button into the full editor. Each group has its own add-employee card. Groups & splits was restyled to match — group cards with color accents, member chips, and the per-category split-rule editor. All existing data, handlers, and the full editor are unchanged; the 🔒 emoji and table layout were replaced with sprite icons and cards. The split math is unchanged. |
| v1.38.0 | 2026-06-29 | Richer dashboard — the hero metric cards now render their two-decimal values tight, with the "DL" unit as a small muted suffix beside the number (no more gap before the decimals, no card overflow). A new Key indicators strip adds genuinely useful numbers: average per case, billed (insurance) vs cash basis, investor margin %, effective hospital rate %, staff paid count, top earner, a case mix breakdown, an amber unpriced-services flag, and a vs last month delta (green up / red down) drawn from saved history. Custom staff groups (v1.37) now also get their own per-group total cards. Percentages and counts are clearly shown without the "DL" unit. The split math is unchanged. |
| v1.37.0 | 2026-06-29 | Custom staff groups & split rules — the admin can now define custom staff groups (e.g. Gynecologists who perform HSG / fallopian-tube contrast studies) beyond the built-in technologists and radiologists, each with their own members and numeric codes. A new configurable split-rules engine (Manage Staff → Groups & splits) lets you assign any custom service-category a multi-party split — a percentage or fixed dinar amount to the hospital and/or any group — with the investor receiving the remainder. Tie a service to a custom category in the price editor and its cases follow that rule. The built-in X-ray / CT / report / anesthesia math is completely unchanged; group members are paid like any other employee and appear on the salary chart, finance table, and employee detail. |
| v1.36.0 | 2026-06-29 | UI polish — three refinements. Money figures now keep the "DL" unit on the same line as the number everywhere (dashboard summary cards, finance KPIs, the advances and breakdown boxes), so the unit no longer wraps below the value after the move to two-decimal amounts. The employee-portal teal table headers (earnings history, schedule) now render crisp high-contrast white text in both light and dark themes. The top-right header controls (theme, staff-messages bell, and Lock) were restyled into a cohesive, theme-aware button set with consistent sizing, hover and focus states. |
| v1.35.0 | 2026-06-29 | Cash flow & aging — a new treasury view under Finance → Cash flow & aging. The aging report buckets every unpaid salary by how long it's been owed (Current 0–30 · 31–60 · 61–90 · 90+ days), with a colored summary bar, a per-month outstanding table, and a per-employee view of who's been waiting longest. The cash-flow statement shows cash in vs. disbursed for the last 12 saved months with totals, plus a current position (total owed, advances, open loans, tax to remit) and a forward look at loan recoveries coming back next month. Print (teal letterhead) and CSV export included; the Finance overview gains a compact owed-by-age strip. |
| v1.34.0 | 2026-06-29 | Cent-accurate money (2 decimals) — the whole app now keeps salaries, shares, deductions, loans, payments and budgets to two decimal places instead of rounding every figure to the nearest whole dinar. The split math reconciles exactly at the cent: technologist, doctor, anesthesia, hospital and investor shares always sum to the grand cash, with the investor absorbing any sub-cent remainder as the residual. Cash prices and every money input (base pay, adjustments, deductions, withholding, bank fees, loan principal, payments, budgets) now accept decimals; case counts and installments stay whole numbers. Old whole-number history and prices keep working unchanged (they simply display as x.00). |
| v1.33.0 | 2026-06-29 | Login-attempt lockout — repeated wrong passwords on the sign-in screen now trigger an escalating cooldown (after 5 failed attempts: 5s, then 10s, 20s, 40s, capped at 60s) with a live countdown, slowing automated brute-force of the offline login. The lock is session-only (in memory) and clears on any successful sign-in or page reload, so a legitimate user is never permanently locked out. |
| v1.32.0 | 2026-06-29 | Leave types & safer document viewing — leave requests now carry a type (Annual, Sick, Maternity, Unpaid, Emergency, Other), shown as a colored tag in the portal and the admin review. Only Annual leave draws down your annual balance; other types are tracked and listed separately under a new Other leave breakdown. Older leave records with no type are treated as Annual. Security: shared documents now open inline only for PDFs and images — every other file type (including SVG/HTML) downloads instead, so an uploaded file can never run script in the app; the upload picker no longer suggests unsafe image types. |
| v1.31.0 | 2026-06-29 | Employee notifications centre — the staff portal now has a bell with an unread count that gathers everything that happened on your account into one place: salary payments received, admin replies to your messages, decisions on your loan / advance and leave requests, approvals or declines of your profile updates, and any new documents shared with you. Clicking the bell opens a panel listing them newest-first with relative times; opening it marks everything read and clears the badge. Read-only — it just aggregates your existing activity, nothing new is stored beyond a single "last seen" timestamp. |
| v1.30.0 | 2026-06-29 | Profile self-update with admin approval — every logged-in employee now has a My profile & details card showing their contact and bank details (phone, email, bank name, account no, IBAN, emergency contact) as editable fields. Submitting a Request update sends only the changed fields to the administration for review — nothing changes until an admin approves. Admins see pending profile changes folded into the header inbox bell (and the login summary); the new Profile change requests review shows a field-by-field diff (old → new) with Approve / Decline. Approving applies each change to the staff record; declining can include a note shown back to the employee. A new Emergency contact field was also added to Manage Staff. Every decision is logged. |
| v1.29.0 | 2026-06-29 | Documents vault — admins can now upload per-employee documents (contracts, IDs, letters) from Manage Staff → employee → Documents, with a 5 MB-per-file limit, an editable display name, and download/delete for each file. Every logged-in employee sees a read-only My documents card in their portal to view or download their own files. Files are stored locally in the browser (IndexedDB) for now — blobs are kept out of the backup bundle (only the small document index is backed up) and will move to Supabase Storage later so employees can view them from any device. Every upload and deletion is logged. |
| v1.28.0 | 2026-06-29 | Leave & time-off self-service — every logged-in employee now has a Leave & time off card in their portal showing their annual-leave balance for the year (entitlement, days used, remaining, with a bar) and a Request leave form (from/to dates + reason). Each request goes to the admin for approval and appears under My leave requests with a live status pill (Pending / Approved / Declined) plus any admin note, alongside their approved upcoming & past leave. Admins review pending requests in Leave & Absence — Approve (which records the dates so the scheduler skips that person) or Decline with a note. The default entitlement (30 days) is set there, with an optional per-employee override in Manage Staff. Pending requests are counted in the header bell badge and the login notice. Every decision is logged. |
| v1.27.0 | 2026-06-29 | Login screen polish + sounds — the sign-in screen now has a subtle animated teal aurora drifting slowly behind the card (pure CSS, reduced-motion-safe) so the space around the card feels intentional in both themes. The ⬡ brand mark gently breathes and glows. A short ascending chime plays on successful login and a soft descending tone on logout (WebAudio — no files; admin, staff and tech logins all chime). Sounds can be muted via a speaker toggle on the login card and in Settings → Appearance; the preference (rad_sound) is remembered and backed up. |
| v1.26.0 | 2026-06-29 | Employee → admin messaging — every logged-in employee now has a Contact administration card in their portal: pick a category (Leave request, Shift swap, Complaint, or General request), write a message, and send it straight to the admin. Below it, My messages lists everything they've sent with a live status pill (New / Seen / Resolved) and any admin reply. Admins get a bell in the header with a count badge of unread messages, plus a "N new messages from staff" notice on login. Clicking the bell opens a Staff messages inbox showing each message with the sender's name and code, category, body and time — admins can Mark read, Resolve, or Reply inline (the reply appears in the employee's portal). Replies and resolutions are recorded in the activity log. |
| v1.25.0 | 2026-06-29 | Portal loan requests & deletion control — employees can now request a loan (repaid over months), not just an advance: the request card has an Advance / Loan type toggle, an installments field, and a custom-amount input for larger loans. The admin's Approve opens the editor pre-set to the right kind. Admins gain full visibility control over requests: a new All requests view lists resolved requests with Hide from employee / Show to employee and Delete entirely actions, and deleting a loan that came from a request now asks whether to keep, hide, or delete the linked request. Hidden requests vanish from the employee's "My requests" list while the admin keeps the record. |
| v1.24.0 | 2026-06-29 | Employee portal — total earned & year filter — each employee's Earnings history now ends with a prominent Total earned row that sums the net pay of the months currently shown, with a subtle "across N months" count. When pay spans multiple years a Year selector appears beside the heading: pick a single year to focus the table (and the total recalculates to that year) or choose All years for the lifetime grand total. Defaults to the most recent year when there is more than one year or more than twelve months; otherwise shows everything. All per-row actions (payslip, statement, cases, acknowledge) and loan-recovery sub-lines work exactly as before. |
| v1.23.0 | 2026-06-29 | Finance control & compliance — months can now be closed/locked from the Finance command center: a closed period rejects every payment, deduction, recovery and transfer-undo until an admin reopens it (a reason is required and logged). A new large-payment approval threshold adds an extra confirmation before recording any payment at or above the set amount (0 = off), for single transfers and the "pay all" run. The activity log now captures every money event — payments, deductions, advances/loans created, forgiven or deleted, recoveries, withholding and budget changes, bank-fee config, request approvals/declines, and period close/reopen. |
| v1.22.0 | 2026-06-29 | Salary pools — custom ratio split — a pool's combined case commission can now be split by a custom ratio instead of always 50/50. In the pool editor each member gets a share box (a relative weight) with a live percentage beside it; leave them all equal for a plain equal split. The split stays exactly sum-preserving (e.g. shares 30/70 on a 10,000 pool give 3,000 / 7,000). The actual ratio (e.g. "ASEEL 30% · SAMEE 70%") now shows on the pools card, the finance pool line, and each payslip. Existing pools are unchanged — no stored weights means equal, exactly as before. |
| v1.21.0 | 2026-06-29 | Payment method & bank-transfer fee — when recording a payment in the Finance hub you now pick Bank transfer or Cash in hand (remembered between payments). The method shows everywhere a transfer appears — the finance list, and each employee's salary log ("Bank transfer" / "Paid in cash"). New Bank transfer fee setting (Finance overview): pass the bank's per-transfer charge to the employee as a flat or percent fee — the pay form then shows "Owed N · Bank fee −F · You transfer N−F" and the employee is still credited as fully paid. A "show fee on employee portal" toggle controls whether staff see the fee line; admins always do. Finance reporting gains a "Bank fees passed to staff" total. Cash payments never carry a fee. |
| v1.20.0 | 2026-06-28 | Employee codes are now first-class & searchable everywhere — each employee's numeric code shows as a prominent teal pill badge (e.g. 001) across Manage Staff, the Employees section, the Finance hub, and the Advances & loans ledger, replacing the old faint gray number. The Manage Staff table gains a dedicated code (#) column, and the add-employee row now captures the numeric code too (pre-filled with the next free code, editable, validated for digits and duplicates). You can now search by number, English code, or Arabic name in Manage Staff, the new Employees-section search box, and the Finance hub — type "008" and jump straight to that person. |
| v1.19.0 | 2026-06-28 | Dark-mode polish & tidier sidebar — fixed several panels that flashed white in dark mode (the advances/loans popup and other recent dialogs now follow the theme correctly in both light and dark). "Advances & loans" now nests under "Finance" in the sidebar as a collapsible sub-item with a caret; clicking Finance opens the screen and expands the group, and the expanded/collapsed state is remembered between sessions. The pending-requests count badge moved onto the nested item. |
| v1.17.0 | 2026-06-28 | Finance command center — the Finance screen now opens with a department-wide overview dashboard that works even before a month is loaded. A six-card KPI strip (cash, payroll, paid, outstanding, tax to remit, advances out) uses the live month, or falls back to the most recent saved month. A "What the department owes right now" card totals unpaid salaries across all saved months, outstanding advances and loans, and tax pending remittance, with a settlement progress bar. A "Needs attention" queue surfaces loan requests awaiting approval, unpaid past months, and advances that can't fully recover this month — each links straight to the relevant screen. A cash-in vs disbursed mini bar chart covers the last six months, and a recent money events feed shows the latest activity-log entries. |
| v1.16.0 | 2026-06-28 | Employees can request an advance — when an admin grants the new "Allow loan/advance requests" privilege (per person, in Manage Staff), that employee sees a Request an advance card in their portal with fixed-amount chips (100 / 200 / 300 / 500 / 1000) and a reason box. Each request shows up in a new Pending requests inbox at the top of the admin Advances & loans screen (with a count badge on the sidebar): Approve opens the advance editor pre-filled and links the request once saved; Decline records an optional note. Employees track their own requests with Pending / Approved / Declined status pills. |
| v1.15.0 | 2026-06-28 | Employee codes & searchable picker — every employee now has a numeric code (e.g. #001), auto-assigned and editable per person in Manage Staff (digits only, no duplicates). Codes appear beside names in the Finance hub and the Advances & loans ledger. A new searchable employee picker lets you find a person by number, English code or Arabic name — used when creating an advance or loan, and the ledger gains a matching search box to filter rows instantly. |
| v1.14.0 | 2026-06-28 | Advances & loans — visibility & reports — employees now see their own advances and loans in the staff portal: a read-only ledger of each loan's principal, remaining balance and repayment history, with each month's salary row explaining any recovery deducted that month. Payslips and statements gain an Advance / loan recovery line; the Finance CSV and printed report add a Recovery figure; and the annual report rolls up advances recovered this year and advances outstanding. The Advances & loans screen is reworked into a clean loan ledger with a summary strip (total outstanding, recovering this month, active counts), status pills and per-loan progress bars. |
| v1.13.0 | 2026-06-28 | Advances & loans — give an employee a salary advance (recovered in one month, with any shortfall carried forward) or set up a multi-installment loan (a fixed amount recovered each month until repaid). Recovery reduces the person's net cash only — it is never a deduction or penalty, is never remitted, and never touches the investor / tech / doctor split. A new Advances & loans screen manages balances and repayment history; the Finance hub shows each person's monthly recovery and an Advances out KPI for the total still owed. |
| v1.12.0 | 2026-06-27 | Tax / withholding tracking — set a standing per-employee tax (flat amount or percent) in Manage Staff; it's withheld from each person's take-home and remitted by the employer, never touching the investor or commission split. The Finance hub gains a Withholding column and a Withholding (to remit) KPI, payslips and statements show a Tax withheld line with the net amount, and the annual report rolls up yearly withholding at current rates. Exports (CSV + print) include it throughout. |
| v1.11.0 | 2026-06-27 | Finance reporting — the History Compare months table now includes payroll take-home, paid, outstanding and deductions side by side with deltas; a new printable/CSV Annual finance report rolls up cash, payroll, paid, deductions and investor for a whole year with per-employee earnings; and the Finance hub gains a Budget vs actual card to set a monthly payroll budget and track variance. |
| v1.10.0 | 2026-06-27 | Finance hub upgrades — a new Finance menu with quick jumps to the hub, salary pools, deductions and receipt formats; export the month's finance ledger to CSV; a clean printable/PDF finance report with teal letterhead; and a reconciliation progress bar showing percent paid vs. outstanding at a glance. |
| v1.9.0 | 2026-06-24 | Receipts are now configurable — add any bank's format in the app (no code), and review/edit the amount, account, date and reference before applying. Works for unknown banks via an editable review step. |
| v1.8.0 | 2026-06-24 | Finance — partial payments (pay someone in several transfers, tracked paid-vs-owed); History shows paid/outstanding at a glance; a deductions summary with this-month and all-time totals; pooled members' portal history now matches their payslip. |
| v1.7.0 | 2026-06-24 | Salary pools — choose two or more employees to pool their case commission and split it equally each month (a standing arrangement); shown transparently on payslips, base pay and the investor split are untouched. |
| v1.6.1 | 2026-06-24 | Receipt reading now handles a third bank format (Jumhouria / LYPAY interbank, English) and tolerates currency prefixes, 3-decimal amounts, and different date and reference styles; shows what it read for confirmation. |
| v1.6.0 | 2026-06-24 | New Finance hub — one page for the month's money: totals (cash, payroll, paid, outstanding), per-employee breakdown (commission, base, deductions, net), salary deductions with reason and one-click undo, plus the disbursement/receipt tools. |
| v1.5.2 | 2026-06-24 | Receipt reading now also matches receipts that show a plain account number (no IBAN), covering both bank-transfer formats. |
| v1.5.1 | 2026-06-24 | Pay run — drop a bank receipt PDF and the app reads the amount, date and reference, matches it to the right employee by account number, and fills the payment automatically (offline, the file isn't stored). |
| v1.5.0 | 2026-06-24 | Salary disbursement — record employee bank details and confirm monthly transfers in a new Pay run screen (auto reference numbers); staff get a bank-statement-style salary log in their portal plus a notification when a payment is recorded. |
| v1.4.4 | 2026-06-24 | Employee portal — staff can now view their own pay statement (cases × cash × % breakdown) and acknowledge their monthly pay; admins see acknowledgement status per month. |
| v1.4.3 | 2026-06-24 | Manage Staff — per-employee controls (login, payslip/cases access, no-night rule, suspend, contact) consolidated into a single Edit dialog; cleaner staff list. |
| v1.4.2 | 2026-06-24 | Reorganized sections — Dashboard is now an at-a-glance overview; dedicated Salary and Employees sections; Leave moved under Shifts; Year-to-Date now lives in History. |
| v1.4.1 | 2026-06-24 | Reorganized navigation — a comprehensive Settings hub (payroll calculation, schedule & shifts, security, data & backup, appearance); schedule settings now reachable from Settings; cleaner File / Edit / View / Tools menus. |
| v1.4.0 | 2026-06-24 | Pre-finalize anomaly checks — flags pay swings >30% vs 3-month average, staff who dropped to zero, total-cash deviations and new unpriced services · Price-list intelligence — persistent unpriced-service banner with one-click fuzzy-match suggestions · Activity log — admin timeline of who changed base pay, adjustments and prices · Year-end rollup — per-person annual earnings & 12-month trends, exportable · Statement — printable per-person breakdown showing cases × cash × % = pay · Conflict-aware monthly Shift Scheduler (day/night/on-call, external-workplace clash detection, auto-fill, leave, employee "my schedule") · Mobile polish — larger tap targets, scrollable tables, Add-to-Home-Screen prompt · App-wide switch to crisp SVG icons · Per-employee "no night shifts" rule — flagged staff trigger a warning on night slots and are skipped by auto-fill |
| v1.3.0 | 2026-06-23 | Per-employee login & personal portal — technologists and radiologists sign in with their code to see their own earnings, payslips and cases · Admin controls each login: enable/disable, set password, per-feature access (payslips/cases) · Suspended staff blocked at login · Edit tracking (admin sees who last edited a month) · Export submenu in the File menu · Month picker shows only reloadable months · Staff roster now included in backups & kept local (login settings persist) |
| v1.2.1 | 2026-06-19 | In-app print preview with orientation/paper & printer picker · Teal-themed salary chart with hexagon letterhead on all reports · Full first+last technologist names · Deductions shown in red on payslips/reports · Live-saving adjustments panel with Save button · Fix: adjustments fields unclickable until window repaint |
| v1.2.0 | 2026-06-18 | Anesthesiologist support (A/B/C calls, assign name, 100% payout, own chart section & payslips) · Cases filter for anesthesia · Permanent-deletion warning · Case archive syncs to Firebase · Checklist shows exact high-uplift cases |
| v1.1.0 | 2026-06-18 | Firebase cloud sync & auth · Desktop .exe (Electron) · History visible at login · Archive viewer exports · Payslip Calibri styling + case count |
| v1.0.0 | Initial | Monthly .xlsx import · Salary split · 209-service price list · Word/PDF/Excel/Payslip exports · Checklist · Adjustments · Analytics · Login gate · Backup/restore |
Fill in the technologist and doctor for each case, then click Save. You can come back and edit at any time.
| # | المريض | الملف | التاريخ | الخدمة | النوع | الفني | الدكتور |
|---|
Your saved monthly earnings history at Royal Medical Hospital.
Replaces the ⬡ mark on the sidebar, sign-in screen, and every printed/exported document. Any image works — auto-resized.
Left = exactly how the name appears in the file. Right = the real person. Edit or add rows; saved for next month.
| Technologists — file → person |
| Radiologists — file → person |
How the file's own modality column gets classified into a category. Default matches Royal Medical's file exactly — edit only if you're loading a differently-shaped export (e.g. a different hospital's system). Each row: if the file's modality text contains the match text, the case is tagged that category. Checked top to bottom; first match wins.
| File text contains… | → Category |
Configure shift rules, staff availability and external-workplace clashes for the monthly scheduler.
Unexpected errors are captured locally on this device only — nothing is sent anywhere.
Link a data file to keep everything on disk and auto-save to it on every change — this survives clearing the browser cache. After a cache wipe or on another PC, click “Load data from a file…” and pick it to restore everything. Prices, name fixes, custom services, base pay & rates live in this browser — back them up.
Adds a WhatsApp button beside each staffer who has a phone number, to send a “your salary is ready” message. Turn off if you don't use WhatsApp for staff.
Official cash prices are built in (210 services). The split is computed on these, not the billed value; insurance/company uplift is shown separately and is not split. Edit any price to override it — overrides are saved and reused every month. Services not in the official list show as "observed" until you set them.
| Service | Cases | Billed range | Most common | Cash price (DL) | Status |
|---|
Commission comes from the revenue split. Add a fixed base pay (saved across months) and any one-off adjustment (advance, deduction, bonus) with a reason. Final pay = commission + base + adjustment. These do not change the investor share.
| Name | Commission | Base | Adjustment | Reason | Final pay |
|---|
| Patient | File | Date & time | Type | Billed | Cash | Technologist | Radiologist | Service |
|---|
Track sick days, annual leave, and unpaid days for this month. Unpaid days are deducted from base salary (base ÷ 30 × unpaid days).
| Employee | Arabic Name | Sick Days | Annual Leave | Unpaid Days | Note | Deduction (DL) |
|---|
Define where staff work outside Royal Medical and the pattern they follow. The monthly schedule uses this to overlay commitments and flag conflicts. Staff come live from Manage staff — add someone there and they appear here automatically.