Design system
One look for every screen: Readex Pro, the Raneem brand colors, Phosphor icons in regular weight (filled only for status), 8px spacing. Light theme now; a dark palette is defined in tokens.css and not switched on.
Color
Navy
#1a4fa0 · Primary actions, links
Teal
#0096bb · Icons in card headers
Cyan
#00a7cc · Highlights
Focus ring
#007f9c · Keyboard focus, 4.6:1 on white
Amber
#f5a623 · Brand accent
Payer orange
#c2410c · The payer side, receive only
Approved
#137538 · Success and approved, 5.1:1 on its badge
Warning
#a5560a · Pending, expiring
Error
#b42318 · Errors, denied, locked
Type
Page title
Readex Pro 600, 26pxSection
600, 20pxCard title
600, 16pxBody
400, 14pxLabel600, 13px
Buttons
Status
ApprovedPartialDeniedPendingExpiring soonExpiredLockedDraft
Forms and errors
Pick a facility type to continue.
Or give a start and end date.
Alerts
Eligibility results are valid for the service date you chose.
Authorization approved for 2 weeks.
This authorization expires in 2 days.
Patient share plus payer share must equal the net amount. Off by SAR 15.00.
State switcher
A normal list.
Something is wrong here.
Nothing here yet
Items show up when they arrive.
Icons
Empty, error and loading
Pass kind to empty() to pick one. Existing calls get one from their icon: tray, magnifying glass, scroll, users, lock and buildings.
Terminology (US-36)
| Use | Never | Why |
|---|---|---|
| Prior authorization | Preauth, Pre-Auth, PA | One name in menus, titles and messages (US-36). |
| Advanced authorization | Adv Auth | Spelled out on screens, short only in the menu. |
| Eligibility check | Eligibility request | The person checks; NPHIES receives the request. |
| Approved, Partial, Denied | Eligible, Rejected for an authorization | Payer outcome words. Queued and Error describe processing. Active and Inactive describe coverage. |
| Claim batch | Bulk claims | Matches the portal route. |
| Care team | Practitioners | Same section name in every module. |
| Net amount | Total, Net | One label for the calculated amount (US-01, US-21). |
| Patient share, Payer share | Co-pay, Insurer share | Same words in every form. |
| NPHIES response ID | Internal ID, Bundle ID (as a link target) | Links always use the response ID (US-03). Bundle ID stays only as the name of the NPHIES request ID column, because NPHIES calls it that. |
| Facility type | Org type (per request) | Org type moves to Organization settings (US-24). |
| Queue | Inbox of a role, bucket | A saved worklist view for a role, for example Ready to bill. It is shared inside the role and facility (OP-1). |
| Age, in days | Duration, Overdue | Days since service, submission or rejection. Warn from 7 days, red from 30 (OP-1). |
| Owner, Assign to, Take over | Assignee, Claim, Pick up | Who holds a case. Take over is for a colleague of the same role and facility and is logged (OP-2). |
| Internal note | Comment, Remark | A note that stays inside RaneemHCP and is never sent to NPHIES. Not to be confused with a communication to the payer (OP-3). |
| Facility, Facility switcher | Branch, Site, Hospital | The organization node a record belongs to. The switcher appears only for users with more than one facility (OP-9). |
| Viewer, Auditor | Guest, Read-only user (as a role name) | The two read-only roles. Neither can create, change, delete or run anything (OP-5). |
| Break-glass account | Backup admin, Shared admin | A sealed emergency administrator account. Each sign in raises an alert (OP-10). |
| Export, CSV | Download, Dump | A CSV of a list with the filters you set. Every export is logged (OP-6). |
| Poll, last polled | Refresh, Sync | RaneemHCP asks NPHIES for answers. It runs in the background, and Poll now is the manual fallback (OP-4). |
Data sources glossary
| Term | Meaning |
|---|---|
| Data source | A hospital system RaneemHCP reads from: HIS, EMR, ERP or a billing database. RaneemHCP is not the system of record for this data. |
| Plugin | A way to reach a source: REST or FHIR API, SQL database, HL7 feed, file drop (SFTP or CSV) or a vendor plugin. Installed once, used by many entities. |
| Connector | One configured connection of a plugin, with its address and credentials. It is healthy, degraded or down. |
| Entity | A kind of record a source can supply: Patients, Practitioners, Payers and insurance plans, Facilities and departments, Service and price catalogue, Diagnosis codes, Coverage and members, Medications, Appointments. |
| Import | Copy rows into the portal database on a schedule or on demand. The portal owns the copy. Fast and works offline, but can drift from the source. |
| Use as storage (live reference) | The source is the store. The portal keeps only a reference key and reads the record when needed, so there is no duplicate. Shown with a source badge. |
| Stored here | The portal's own store, with no source. The default before a source is set. |
| Mapping | Source field to portal field, with a sample row and transforms such as trim, date format and code lookup. An unmapped required field blocks activation. |
| Matching key | The field that says two records are the same, for example national ID or iqama for a patient, license number for a practitioner. |
| Quarantine | Rows that failed mapping or matching. They wait to be fixed and replayed, or skipped. Nothing bad enters the portal silently. |
Conventions
| Topic | Rule |
|---|---|
| Dates | 05 Oct 2026, 09:12 in text; YYYY-MM-DD only inside form inputs. |
| Names | Patients without a hyphen (Al Harbi), staff with one (Al-Harbi), payer MedGulf. |
| Sign in landing | The wireframes ask who you are after sign in (Continue as). The real portal opens the home of the role of the account. |
Shared fields (US-21)
| Field label | Appears in | Rule |
|---|---|---|
| Service date | Eligibility, Prior authorization, Claims | Required, or a start and end date (US-05). |
| Marital status | Eligibility, Prior authorization, Claims | Required in none or in all three, never mixed (US-15). |
| Passport country | Claims patient identity | Sits with the identity fields, not contact (US-25). |
| Facility type | Eligibility, Prior authorization, Claims | Required when a facility name is entered (US-08). |
| Diagnosis | Prior authorization, Claims | ICD-10 search list, no free text (US-42). |