> ## Documentation Index
> Fetch the complete documentation index at: https://www.planmyrounds.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Updating a doctor's profile and preferences

> Keep doctor profiles current so the scheduling engine has accurate departments, seniority, hour limits, and shift preferences to work with.

A doctor profile holds everything the [scheduling engine](/docs/scheduling-engine) needs to know to build a fair, valid roster. Keeping profiles up to date is the single most important thing you can do for clean roster output.

> [!NOTE]
>
> Only admins can edit doctor profiles.

## What you can configure

| Field | What it does |
| - | - |
| **Name** | The display name used on rosters and calendars. |
| **Department** | Used for filtering when building rosters. See [Setting up departments](/docs/team/departments). |
| **Level** | *Senior* or *Junior*. Drives role-based shift requirements and is shown with an asterisk (`*`) on calendars for seniors. On organisations using [Staffing Roles](/docs/team/staffing-roles), this field is replaced by **Staffing Role**. |
| **Date of joining** | Used to apply onboarding rules during the new doctor protection period (if configured). |
| **Pod** | Optional sub-grouping within a department, useful for organising large teams. See [Setting up pods](/docs/team/pods). |
| **Locations** | Optional — the site(s) this doctor can be scheduled at, for example *Town Campus* or *Ranipet Campus*. A doctor can belong to more than one. See [Setting up locations](/docs/team/locations). |
| **Email** | Used for swap notifications and leave confirmation emails. Only editable on profiles that aren't linked to a member account. |
| **Phone** | Optional contact number. |
| **Min and max hours per month** | The lowest and highest number of duty hours the engine will assign to this doctor in a given month. |
| **Excluded shift types** | Shift types this doctor should never be assigned to, regardless of the period. |
| **Status** | *Active* or *Inactive*. Inactive doctors are excluded from new rosters. |

> [!TIP]
>
> Excluded shift types are useful for permanent constraints — for example, a doctor who can never take night shifts. For one-off preferences, use [Shifts to Avoid](/docs/leave/applying-for-leave#mark-shifts-to-avoid) on a leave entry instead.

## Edit a doctor's profile

**1. Open Doctors**

Go to **Doctors** in the sidebar.

**2. Open the profile**

Find the doctor and open their profile.

**3. Edit**

Select **Edit** (the pencil icon).

**4. Save**

Make your changes and select **Save**. Changes take effect on the next roster you generate.

> [!NOTE]
>
> If the profile is linked to a member account, the **email** field is managed by that member's account and can't be changed from the doctor profile.

## Submit leave or preferences on a doctor's behalf

From a doctor's profile page you can also:

* [Submit a leave request](/docs/leave/applying-for-leave#submit-a-request-as-an-admin) for them.
* Add [shifts to avoid](/docs/leave/applying-for-leave#mark-shifts-to-avoid) as soft preferences.
* Review their leave history.

This is the usual flow for doctors who don't have a linked PlanMyRounds account — the admin manages everything for them.

## Link a doctor to a member account

If a doctor has a PlanMyRounds account, link it to their doctor profile. Once linked, they can sign in to see their own shifts, submit leave from **My Leaves**, and start [duty swaps](/docs/swaps/requesting-a-swap).

**1. Open the profile**

Go to **Doctors** and open the doctor.

**2. Start the link**

Select **Link Account** from the action menu.

**3. Find the member**

Search by name or email.

**4. Confirm**

Confirm the link. The doctor can sign in straight away.

> [!NOTE]
>
> Read more at [Link or unlink accounts with doctors profile](/docs/team/link-or-unlink-accounts)\
> \
> The doctor needs to be a [member of your organisation](/docs/team/inviting-a-member) first. Invite them by email if they aren't yet.

## Active vs. inactive

Use **Inactive** to take a doctor out of new roster generation without losing their history:

* They stay on past rosters and their leave history is preserved.
* They won't appear in the doctor pool when you build a new roster.
* Setting their linked member account to **Deactivated** automatically marks the doctor profile as Inactive too. See [Deactivating or removing a member](/docs/team/removing-a-user).

## Next steps

> **[How the scheduler uses these fields](/docs/scheduling-engine#doctor-parameters)**
>
> Deep dive into every doctor parameter the engine reads.

> **[Set up locations](/docs/team/locations)**
>
> Add the sites your organisation runs, then assign doctors to them.

> **[Seniority](/docs/concepts/seniority-and-senior-junior-mix)**
>
> How the Level field feeds coverage, ratios, and assignment order.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.