Merging Duplicate Jobs

jobs merge admin duplicates patients records

How to combine two duplicate job records — and all their patient data, crews, and media — into a single clean record.

Merging Duplicate Jobs

When the same call gets logged twice, the merge tool lets you combine both records into one — preserving every piece of clinical data, crew information, and media in the process.

Overview

Duplicate jobs happen. A crew creates a job offline and it syncs just as someone at the control desk is logging the same call. The result is two records that should be one. The merge tool gives you a side-by-side comparison of both jobs, lets you choose which values to keep wherever they differ, and combines all the clinical records, crews, and media from both into a single job. The duplicate is archived automatically once the merge is complete.

This is an admin-only action. The merge cannot be undone, so the tool walks you through a review step before anything is changed.

Before You Start

  • You must be a team administrator, an event administrator (for jobs within your event) to use the merge tool.
  • Both jobs must belong to the same team. You cannot merge jobs across teams.
  • If another user is currently editing one of the jobs (shown by an avatar presence indicator on the job row), you can still proceed with the merge, but it's best to coordinate with them first to avoid conflicting changes.
  • Merges are permanent. The secondary (losing) job is soft-deleted and cannot be automatically restored. Double-check you have the right two jobs before you proceed.

Step-by-Step Guide

Step 1: Find the job you want to merge

Open the home page (/web) or navigate to the relevant event page. In the jobs table, find one of the duplicate job rows.

Each row in the jobs table has a small merge icon (two arrows pointing inward) in the far right column. Hover over it to see the Merge tooltip.

Screenshot: A job row in the jobs table with the merge icon button (two inward-pointing arrows) visible in the rightmost column, with the Merge tooltip showing on hover

Click the merge icon to start the process for that job.

Step 2: Select the second job

You are taken to the Merge Job selector page. At the top, a Source Job card shows the key details of the job you selected — type, priority, location, call time, and patient name (if there is one).

Screenshot: The Merge Job selector page showing the page heading "Merge Job #000042", the Source Job card with Type, Priority, Location, Time fields, and patient name below

Use the search field to find the second job. You can search by job ID, location, type, or CAD number. Results appear as you type.

Screenshot: The search field on the Merge Job selector page with "Search for second job..." placeholder text and a magnifying glass icon, with search results appearing in a list below

If both jobs are attached to the same event, a Same event only checkbox appears above the search field. Tick it to limit results to jobs within that event — useful when an event has a large number of jobs.

Each result in the list shows the job ID, type, location, call time, and the patient name if one exists. Click a result to select it - it highlights with a blue ring.

Screenshot: The search results list with one result selected - it has a blue highlighted border and ring around it. The unselected results appear with a plain border

Step 3: Continue to the comparison page

Once you have selected the second job, the Continue to Merge button becomes active. Click it to proceed.

Screenshot: The "Continue to Merge" button at the bottom right of the page, with a right-arrow trailing icon, in its active/enabled state

Step 4: Choose which job is the primary

The comparison page shows both jobs side by side. The job you originally clicked is labelled Job A (shown in blue); the job you searched for and selected is Job B (shown in amber).

At the top right of the page, a Keep as primary toggle lets you choose which job survives the merge. The primary job is the one that will remain open after the merge - the other is archived. The selected primary is highlighted with a Primary badge on its summary card.

Screenshot: The "Keep as primary" toggle at the top right of the Merge Jobs page, showing Job A and Job B buttons side by side. Job A is selected (blue background) and the Job A summary card shows a blue "Primary" badge

By default, Job A is set as the primary. If you want Job B to survive, click Job B on the toggle. The page updates immediately.

Choosing the primary job does not affect what gets merged. All clinical records, crews, and media from both jobs are combined regardless. The primary choice only determines which job record survives and which one is archived.

Step 5: Resolve field conflicts

Below the summary cards, the page shows each field that differs between the two jobs. Fields are grouped into sections:

  • Job Details — call time, type, priority, location, CAD reference, etc.
  • Patient Demographics — patient name, date of birth, address, gender, etc.
  • Any clinical sub-records that both jobs share (e.g. Primary Survey, Cardiac Arrest)

Screenshot: The Job Details section showing a three-column comparison layout. The first column shows the field name with a red "Conflict" badge; the second and third columns show the values from Job A and Job B respectively, as clickable buttons

Fields that differ between the two jobs are flagged with a red Conflict badge. You must resolve every conflict before the merge can proceed.

To resolve a conflict, click the value you want to keep. The chosen value becomes highlighted - Job A values highlight blue, Job B values highlight amber. Click the other value to switch your choice at any time.

Screenshot: Two conflict rows in the Job Details section. In the first row, the Job A value is selected (highlighted with a blue ring and blue background). In the second row, neither value is selected yet - both buttons appear in their default state

Fields where only one job has a value are resolved automatically - you do not need to do anything for those.

Fields where both jobs have the same value are not shown, since there is nothing to choose.

Step 6: Review combined clinical records

For clinical records that can have multiple entries (observations, drugs, interventions, injuries, and similar), both sets of records are shown together as a combined list. Records from Job A are labelled with a blue A badge; records from Job B carry an amber B badge.

All records are included by default. Untick any records you do not want to carry into the merged job.

Screenshot: The Observations section showing a combined list of observation records. Each row has a checkbox, a coloured A or B badge, and the observation time and type. All checkboxes are ticked by default

For clinical records that can only have one instance (such as Primary Survey or Cardiac Arrest), the comparison shows the fields from both jobs side by side - the same conflict resolution approach as Job Details. If only one job has that record, a note tells you it will be adopted automatically.

Step 7: Review crews

The Crews section lists all crews from both jobs:

  • Crews from Job A only — shown with a blue A badge and a checkbox. Ticked by default. Untick a crew to exclude it from the merged job.
  • Crews already on the target — shown with an amber B badge and labelled "already on target". These are already attached to the primary job and require no action.
  • Shared crews (attached to both jobs) — shown with a Shared badge. Where the pivot data for a shared crew differs between the two jobs (e.g. different dispatch times), you can choose which job's values to keep using the same click-to-select approach as field conflicts.

Screenshot: The Crews section showing one Job A-only crew with a ticked checkbox and blue A badge, one already-on-target crew with an amber B badge and "already on target" label, and one shared crew row with pivot field comparisons below it

Step 8: Review media

If either job has photos, ECGs, or PDFs attached, the Media section displays thumbnails for all files from both jobs. All files are included by default with a checkbox against each one. Untick any files you do not want to carry across.

Screenshot: The Media section showing a grid of image thumbnails and document icons. Each item has a checkbox below it and a coloured A or B badge indicating which job it came from. All checkboxes are ticked

Step 9: Confirm the merge

The footer at the bottom of the page shows a running count of how many conflicts are still unresolved. Once every conflict has been addressed, this changes to a green All conflicts resolved message and the Confirm Merge button becomes active.

Screenshot: The sticky footer at the bottom of the page showing "All conflicts resolved" in green text on the left, and the active "Confirm Merge" button with the merge arrows icon on the right

Click Confirm Merge to open the confirmation modal.

Step 10: Execute the merge

The confirmation modal gives you a final summary showing which job is being kept (green panel) and which is being deleted (red panel), along with a warning that the action cannot be undone.

Screenshot: The "Confirm Merge" modal showing a two-column layout with a green "Keeping" panel on the left (showing the primary job number and location) and a red "Deleting" panel on the right (showing the secondary job), with a danger callout below and the Execute Merge and Cancel buttons at the bottom

If you want to go back and make changes, click Cancel to close the modal without doing anything.

When you are happy, click Execute Merge. The button changes to Merging... while the process runs. Once complete, you are automatically redirected to the winning job.


What Gets Merged

Here is a summary of what happens to each type of data during a merge:

Data type What happens
Job Details fields The value you selected during conflict resolution is applied to the primary job
Patient Demographics The values you selected are applied to the primary patient record
Observations, Drugs, Interventions, Injuries (and other multi-record clinical data) All ticked records from both patients are transferred to the primary patient
Primary Survey, Cardiac Arrest (and other single clinical records) Both records are merged field by field. If only one patient has the record, it is adopted wholesale
Crews Ticked Job A-only crews are transferred to the primary job. Shared crew pivot data is resolved per your selections
Photos, ECGs, PDFs All ticked media files are transferred to the primary patient
Audit trail A full before/after snapshot of both jobs is saved. An audit log entry is added to the winning job
Secondary job Soft-deleted (archived). The data is retained for audit purposes but the job no longer appears in normal views

PWA Users

If your team uses the app in offline (PWA) mode, merged records are picked up automatically on the next sync. PWA users do not need to take any action — the updated job will appear in their device's job list the next time they connect.


Tips & Best Practices

  • Identify the better-quality record before you start. The job with the more complete patient demographics or clinical notes is usually a good candidate for primary.
  • The primary choice is separate from field choices. You can set Job B as primary but still choose to keep individual field values from Job A. The two decisions are independent.
  • Unresolved conflicts block the merge. The Confirm Merge button stays disabled until every red Conflict badge has been resolved. If you are stuck, scroll up to find any remaining conflicts.
  • You can deselect clinical records you do not want. If the same observation appears in both jobs and you only want one copy, untick the duplicate before confirming.
  • The merge creates a full audit trail. Everything that was on both jobs before the merge is captured in a MergeLog record. If questions arise later, this record contains the complete before/after snapshot.

Troubleshooting

The merge icon is not visible on the job row. The merge icon is only shown to team administrators and event administrators. If you are a team member without admin rights, you will not see the icon. Ask a team admin to perform the merge for you.

Clicking the merge icon takes me to an error page. Try refreshing the page and attempting the merge again. If the problem persists, check that both jobs still exist and haven't already been merged or deleted.

The "Continue to Merge" button is not becoming active after I select a job. The button requires a job to be selected - click one of the results in the search list so it shows the blue highlight ring, then the button will activate.

The search is not returning the job I expect. Try different search terms - the search covers job ID, location, type, and CAD number. If the Same event only checkbox is ticked, try unticking it to search across all your team's jobs.

The "Confirm Merge" button is disabled even though I have reviewed everything. There is at least one unresolved conflict remaining. Scroll back up through the page and look for any field with a red Conflict badge where neither value is highlighted. Click your preferred value to resolve it.

I merged the wrong jobs. Merges cannot be automatically reversed. Contact your team owner or system administrator. The full data from both jobs before the merge is retained in the audit log, so nothing is lost permanently.


Related Features