Branches
Configure patient branches, central labs, teams, transfer receiving rules, schedules, storage support, and routing overrides.
What a branch represents
A branch is a real operating location in the lab company. It can be a patient branch where orders are received, or a central lab where samples are processed. Branches affect users, orders, samples, inventory warehouses, instruments, sample transfers, home visit service areas, and reporting.
Kashef is tenant-aware, so the active branch controls much of what staff see. Setting branches correctly is one of the first admin tasks for a multi-location lab.
Create first, activate when ready
New branches are saved inactive. Registering a branch or editing its basic profile cannot bypass this safeguard. Open Admin → Branches, review the branch, and use Activate after setup only after the operational checklist is complete.
Activation is one atomic operation. Kashef rechecks the subscription branch quota, manager permission, report identity, timezone, accession identity, storage capability, inventory choice, and cashier choice before making the branch operational. If any requirement fails, the branch remains inactive and no warehouse, cashbox, or opening balance is partially created.
Branch details
The branch details section contains name, branch type, branch color, address, city, country, latitude, longitude, service radius, and active status. The branch type is either Patient Branch or Central Lab. A patient branch is usually a reception or collection point. A central lab is usually a processing site where samples are routed for testing.
Branch color is the small square shown beside the branch name in the branch switcher. The switcher is in the desktop topbar and the mobile navigation drawer. Use distinct colors for branches that staff switch between often, especially sites with similar names or locations.
Latitude, longitude, and service radius support geographic workflows such as home visits and service coverage. Even when exact coordinates are not used daily, keeping location data clean helps future routing and dispatch decisions.
Only active branches count toward the subscription branch quota. When the limit is full, administrators may prepare an inactive branch record, deactivate a retired branch, or upgrade the plan before activating the new location. Deactivation preserves historical orders, samples, stock, and audit records.
Operational activation checklist
Before activation, set the branch's IANA timezone and a unique 2–4 character accession prefix. Kashef permanently adds a collision-resistant branch namespace, local year/month, and locked sequence number. New orders then receive identifiers such as CAI-A2B3-2607-0001; existing identifiers never change.
Enter the English report branch name, phone, and email. Interactive clinical result entry, review, and approval follow the selected SaaS interface language; Arabic uses right-to-left layout while canonical laboratory test names remain English in small left-to-right areas. Standalone released reports remain English and left-to-right. An optional active report template can be selected for the branch; otherwise normal company template matching applies.
The branch explicitly inherits the lab company's currency and catalog pricing. Currency is not duplicated or independently changed at branch level.
Choose one inventory starting point:
- Create a default empty warehouse: name it, assign a unique code and primary storage condition, and confirm that opening inventory is zero. Add real opening stock later through audited receipts or adjustments.
- No local inventory: use this for a location that does not hold stock.
Choose one cashier starting point:
- Create a zero-balance cashier drawer: name it, assign a unique code, and confirm zero opening cash. The first cashier must open a counted shift.
- Cashless: use this only when the branch does not accept local cash.
Kashef never invents opening stock or cash during setup. The manager who activates the branch is assigned to it, and the setup decision is recorded in the activity log.
Team assignment
Team members can be assigned to a branch from the branch form. These assignments allow staff to work in multiple branches without changing their primary branch. This is important for operations supervisors, carriers, shared technicians, or staff covering shifts between locations.
If a user cannot see expected work in a branch, check whether they are assigned to that branch and whether their access roles allow the page or action.
Sample receiving and transfers
The Sample Receiving & Transfers section controls how the branch participates in sample movement. Can Receive Transfers determines whether the branch can receive transfers. Available storage conditions record whether the branch can handle room-temperature, refrigerated, or frozen samples.
Receiving schedules define one window per weekday with start time, end time, and enabled status. Times use 24-hour HH:MM format and the end must be later than the start. Transfer cutoff times define when outgoing transfer work should stop or require special handling. These settings help operations staff avoid sending samples to a branch that cannot receive them in time.
Route overrides
Outgoing transfer route overrides let administrators define branch-to-branch rules. A rule can set destination branch, active state, distance, estimated minutes, pickup interval, maximum allowed sample age, supported storage conditions, and whether whole samples or aliquots can be transferred.
The origin and destination must be different branches in the active lab company, and each branch pair can have only one override. An active override must support at least one transport temperature and at least one sample form: whole sample, aliquot, or both.
Estimated minutes is travel time from dispatch to receipt. When it is empty, planning estimates travel from branch coordinates at a conservative road speed, with a 30-minute minimum; when coordinates are unavailable, it uses 60 minutes. Pickup interval is the maximum normal wait for the next pickup and is added to travel time. It is never used as a replacement for travel time.
During planning, a test marked Requires Aliquot can use only a route that permits aliquots. Other tests use the original sample container and require whole-sample transport. Temperature flags and maximum sample age are checked before a remote instrument is accepted as a processing candidate.
Use overrides when the general routing logic is not enough. For example, two branches may be close geographically but one route may not support frozen samples. Another route may permit separated aliquots but not the original sample container.
Disable an override to preserve its configuration and return immediately to normal route estimation. Delete it only when the route-specific history is no longer useful. The transfer-routes list supports origin, destination, and active-state filters; its edit and delete actions apply only to records in the active lab company.
Table and filters
The branches table shows name, color, type, city, country, team member count, transfer receiving flag, active status, and creation time. Filters allow review by branch type, active status, and whether a branch receives transfers.
Use the table before onboarding a new location, auditing branch coverage, or troubleshooting sample routing. A disabled receiving flag or missing storage condition can explain why samples do not route as expected.
Branches are not hard-deleted from the Lab Panel because they may own historical users, orders, samples, warehouses, instruments, and finance records. Turn off Active when a location closes or should no longer receive new work.
Checklist
- Every physical operating location has a branch record.
- Branch type matches how the location is used.
- Branch color is distinct enough for staff to recognize it in the desktop or mobile switcher.
- Address, city, country, and service radius are current.
- Timezone, accession prefix, English report identity, and inherited company currency are verified.
- Inventory and cashier starting points reflect the real location, with zero stock/cash confirmed before later audited entry.
- Team assignments include shared staff and carriers who work there.
- Receiving schedules and cutoff times match real operating hours.
- Storage conditions reflect what the branch can safely handle.
- Route overrides use distinct company branches and include at least one temperature and sample form when active.
- Estimated travel time and pickup wait reflect the real dispatch process.
- Route overrides are reviewed after process changes; obsolete rules are disabled before deletion.