Reviewing an import
Reviewing an import shows what a delivered import is about to do to the dossier, before anything is written. You see per kind of record how many rows are staged, which of them are new and which are merged onto an existing record, and you then approve or reject the delivery. The screen is intended for the organization administrator migrating a practice to Scrivio.
Overview
| Route | /organization/imports/:runId |
| Audience | Organization administrator |
| Required permissions | imports.zpm, imports.agenda or imports.epd (view the delivery), imports.agenda.commit or imports.epd (approve or reject) |
You reach the screen through the import that created the delivery; it belongs to a single import run, identified by the run id in the URL. Viewing and deciding are deliberately separate permissions: seeing what an import would do is no more privileged than starting one, deciding is.
How it works
A delivered import is staged first: Scrivio reads the delivery, matches each row to an existing record or marks it as new, and stores that result separately. At that point nothing in the dossier has changed — no client, no care trajectory, no appointment. This screen is the moment you review those staged rows and can still stop the import.
The state of the run
The state of the run sits at the top of the screen. It determines what you can do here.
| State | Meaning |
|---|---|
| Archief uitpakken (unpacking) | The delivery is still being unpacked. The counts are not complete yet; come back once it finishes. |
| Wacht op goedkeuring (awaiting approval) | Everything is staged. This is the only state in which you can approve or reject. |
| Afgewezen (rejected) | The delivery was rejected and will never be processed. |
| In wachtrij / Bezig (queued / in progress) | The import was approved and is being processed in the background. |
| Voltooid / Voltooid met fouten (completed / completed with errors) | Processing has finished; "with errors" means not every row succeeded. |
| Wordt teruggedraaid / Teruggedraaid (reverting / reverted) | The import is being, or has been, undone. |
Errors block, warnings do not
Every finding carries one of two severities, and the difference decides whether you can continue.
| Severity | Meaning | Effect |
|---|---|---|
| Error (blocking) | Scrivio cannot process the row the way it is meant. | Blocks the whole import. As long as one blocking finding is open, you cannot approve. |
| Warning | The row is processed exactly as the delivery describes it; the warning is about the surroundings it lands in. | Blocks nothing. You can approve with open warnings. |
The two totals at the top are those of the whole run, not the sum of the cards below them: a finding about the delivery as a whole — a missing file, a record that could not be staged at all — belongs to no kind of record and is counted only there.
New versus existing is what the decision is about
Each kind of record shows a split rather than a single number: how many rows create a new record and how many are merged onto an existing one. That distinction is the heart of the review — on an existing record a value that was corrected in Scrivio can be overwritten by the delivery, and you only see that if you know the row lands on an existing record. What happens per field is one click away, on the row itself.
A kind of record the delivery holds nothing for is greyed out rather than omitted, so an empty category cannot be mistaken for one you missed.
Viewing the delivery
The top of the screen names the delivery, when it was delivered and the state of the run, with the number of blocking findings and the number of warnings below it.
Below that sits Wat deze import gaat doen (what this import will do): one card per kind of record (clients, care trajectories, appointments, dossier notes, documents), each showing:
| Item | Meaning |
|---|---|
| Total | The number of staged rows of this kind. |
| New | Rows that create a new record. |
| Existing | Rows that are merged onto an existing record. |
| Errors / warnings | The findings for this kind of record. |
Click a card to inspect its rows below. The screen opens the first kind of record that actually has staged rows by itself.
Working through the rows
Below the cards sits the row table for the selected kind of record, showing per row its source reference (where it came from in the delivery), what the row will do, its status, whether it is new or existing, and the number of findings.
Sorting is available on source and status. Three filters are available:
| Filter | Choices |
|---|---|
| Status | All, or one of the row statuses (staged, queued, applied, failed, withdrawn, …). |
| New or existing | All, existing only, new only. |
| Findings | All, with errors only, without errors only. |
Filtering, sorting and paging happen on the server, so they apply to the whole delivery rather than to the page you have open. Start with with errors only: that is the list that has to be resolved before you can approve.
Inspecting the merge
Expand a row to see exactly what will happen to it. The detail shows the findings for that row, and for a row landing on an existing record also what happens to the stored data: per field the value currently in Scrivio, the value from the delivery, and the outcome.
| Outcome | Meaning |
|---|---|
| Filled | The field is empty today and is filled from the delivery. |
| Identical | Both values are the same; nothing changes. |
| Kept | The value in Scrivio stays; the delivery differs but does not win. |
| Replaced | The value in Scrivio is replaced by the one from the delivery. |
Pay particular attention to replaced: it is the only outcome where existing dossier data disappears. For a row that creates a new record the detail states that nothing is merged.
Approving an import
Approving is only possible in the awaiting approval state and requires the imports.agenda.commit or imports.epd permission. Without it you can still inspect the delivery in full, but the decision block states that you may not approve or reject this import.
A hint above the buttons always states where you stand:
| Situation | Hint |
|---|---|
| Everything clean | The number of rows staged, to be processed as soon as you approve. |
| Warnings only | The same number, plus the number of warnings to review before continuing. |
| Blocking findings | The number of blocking findings to resolve first; approval is not possible. |
Click Goedkeuren en importeren (approve and import). A confirmation dialog follows, because this stages real data in the organization's dossier and that cannot be undone in one step. Choose Nu goedkeuren to continue or Annuleren to return to the overview.
Rejecting an import
Click Afwijzen (reject) to stop the delivery for good. This is confirmed as well: rejecting cannot be undone and the delivery cannot be approved afterwards.
The staged rows are kept, so you can still see later what the delivery would have done. The screen stays reachable and states that the import was rejected.
Following progress
After approval the screen turns from a decision into a running job. The rows are processed over the following minutes; closing the screen does not interrupt that.
While the run is going, a progress bar shows the total, the number of applied rows and the number of failed ones. For a run whose counts cannot (yet) be retrieved, the state at the top stays with a note that the import is being processed in the background — no progress is shown that is not actually known.
Failed rows are found through the status filter in the row table: filter on failed to see which rows were not processed and why.