---
title: "IPD Bed Transfer"
description: "How to change a patient's bed during an IPD stay — the bed allotment page, how transfer works, and how it records in the encounter."
date: 2026-07-19
lastModified: 2026-07-26
category: "ipd"
author: "Dr. Umesh Bilagi"
beta: false
---

## Overview

Changing a patient's bed during an IPD stay is done through the same bed allotment page used for initial bed assignment. There is no separate "transfer" feature — you simply allot a new bed, and the old bed is released automatically.

Bed status uses two operational states: **Unoccupied** and **Occupied**. There are no intermediate states like "Cleaning" or "Reserved."

## Access

**Patient Dashboard → Patient Details → Allot Bed**

This opens `/admin/patient/bed/0?patientid={patientId}`.

The same roles that can allot beds can transfer beds: admin, director, accountant, nurse, receptionist_accountant, receptionist, insurance_lead, insurance_executive.

## The Bed Selection Page

The page has two panels:

### Left Panel: Bed Selection

1. **Choose Ward** — dropdown of active wards in the organization. Select a ward and click **Get** to load its beds.
2. **Bed table** — lists all beds in the selected ward with these columns:

| Column | Description |
|--------|-------------|
| **Id** | Bed name (clickable link to the allotment URL) |
| **Operational Status** | Unoccupied or Occupied |
| **Allout Bed** | Button to allot this bed to the patient |
| **Release Bed** | Button to free this bed (no new bed assigned) |

### Right Panel: Encounter Location History

Shows every bed the patient has occupied during this encounter:

| Column | Description |
|--------|-------------|
| **Location** | Ward name and bed name, e.g., "General Ward-Bed 3" |
| **Start** | When the bed was allotted |
| **End** | When the bed was released (empty for the current bed) |

## How Transfer Works

When you click **Allout Bed** on a new bed:

1. The API checks the new bed is **Unoccupied**. If occupied, it returns an error.
2. All existing bed locations in the encounter are marked **completed** with an end timestamp.
3. The old beds are set to **Unoccupied**.
4. The new bed is set to **Occupied** and added to the encounter as an active location.
5. The encounter's location entry records the bed as `{WardName}-{BedName}`.

The transfer is immediate — there is no date picker or reason field. The timestamp of the transfer is recorded automatically as the end date of the old bed and the start date of the new bed.

## Releasing a Bed Without Transfer

The **Release Bed** button frees a bed without assigning a new one. This sets the bed's operational status to **Unoccupied**. Use this when a patient no longer needs a bed (e.g., at discharge, or if the bed was allotted in error).

Release does not remove the bed from the encounter history — the location entry remains with an end date.

## FAQ

**Q: How do I transfer a patient to a different bed?**
A: Go to Patient Dashboard → Patient Details → **Allot Bed**, select the target ward, and click **Allout Bed** on the new bed. The old bed is released automatically.

**Q: Can I transfer to an occupied bed?**
A: No. The API checks that the bed is Unoccupied before proceeding. If occupied, it returns: "One of the bed Chosen is not Unoccupied."

**Q: How is the transfer recorded?**
A: The encounter's location array tracks all beds with start and end timestamps. The old bed gets an end date; the new bed is added with the current timestamp as the start date.

**Q: Is there a transfer history?**
A: Yes. The right panel of the bed selection page shows all beds occupied during the encounter, with their start and end dates.

**Q: Does billing change when I transfer beds?**
A: Bed transfer itself does not affect billing. Room charges, if applicable, are managed separately through the billing module. See [Bill Transaction](/docs/bill-transaction).
