How to combine two duplicate job records — and all their patient data, crews, and media — into a single clean record.
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.
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.
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.
![]()
Click the merge icon to start the process for that 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).

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.

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.

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

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.

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.
Below the summary cards, the page shows each field that differs between the two jobs. Fields are grouped into sections:

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.

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.
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.

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.
The Crews section lists all crews from both jobs:

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.

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.

Click Confirm Merge to open the confirmation modal.
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.

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.
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 |
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.
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.