Procedure
Bulk loads
Describes how a hospital loads its model, staff, reference data and remittances in bulk, with templates, validation and a result file for every run.
Pensieve loads a hospital's structure, staff, catalogue, prices and payer remittances in bulk, through Nexus Manager, Forge and Vault, with each uploaded file arriving through Westron. This page lists what each load creates, walks through an import in Nexus Manager, and sets out who may run each load and how a failed row is reported.
What can be loaded
| Load | Tool | Source format | What it creates |
|---|---|---|---|
| Units, locations and services | Nexus Manager | The template's CSV, one row per entry | The site's structure, from its units down to rooms and beds, and the services each unit provides |
| Asset types and assets | Nexus Manager | The template's CSV | The kinds of equipment the site books or tracks, and each item with its home location |
| Role definitions and staff invitations | Nexus Manager | The template's CSV | The roles staff hold at the site, and an invitation for each person naming the role they will hold |
| Catalogue lists | Forge | A CSV in the prescribed structure, uploaded through Westron, or one of Pensieve's own lists | Orderables for medicines, investigations and procedures, inactive until reviewed, with their charge master entries |
| Rate cards | Vault | A CSV dataset in Westron, read at a pinned version | The prices a payer or scheme has agreed for charge master items |
| Remittances | Vault | A payer's remittance advice, as a FHIR R4 PaymentReconciliation | A settlement posting against each claim the advice names |
Every CSV the hospital uploads for these loads arrives through Westron, which parses the file into rows and records the upload in the upload trail. The upload trail is one of the integration records listed in governance of integrated data. Westron holds a reference dataset, such as a rate card file, as a fixed version of up to 50,000 rows, so a load names the exact version it reads.
Clinical history stays outside bulk loads. Running beside an existing system, Pensieve takes that system's patient and visit messages through a connection from the day it goes live, as integration models describes.
Importing into Nexus Manager
Nexus Manager imports seven kinds of entry: units, locations, services, asset types, assets, role definitions and staff invitations. Each import reads a file of entries of a single kind, through the steps below.
Entries that other rows name are loaded first: units, then locations, then services. Asset types and locations come before assets, since each asset names its type and its home location, and role definitions come before the invitations that carry them.
- 1
Download the template
Choose the kind of entry and download its template. The template holds the header row, an example row and a note on each column: whether it is required, the type it takes and what it accepts.
- 2
Fill the file and upload it
Fill one row per entry. A row names related entries by their codes, such as a location's parent or an invitation's role, including an entry that an earlier row of the same file creates. Upload the file through Westron, which returns its headers and a sample of its rows.
- 3
Map the columns
Match each column in the file to a column of the template. Pensieve suggests matches from the header names. A mapping profile, a saved match of columns, reapplies a mapping used before, or keeps this one for the next file of the same kind. Validation waits until every required column is mapped.
- 4
Validate the rows
Run validation and preview the mapped rows. Each row is checked against the rules an entry made by hand must meet, its codes are resolved, and the hospital model is left untouched. A row comes back valid or with its reason, and a change to the mapping clears the result, so the check always matches the mapping that will run.
- 5
Run the import
Run the import to create the valid rows. Each row goes through the same action as an entry made by hand, with its own permission check and its own transaction, so a refused row is marked and the rows after it continue.
- 6
Read the result file
Download the result file. It holds a line for each row with its outcome, the reason for any failure and the identifier of the entry it created.
An import creates the same entries the hospital model screens create one at a time, as in set up a ward. Each invited person still claims their own place, as inviting staff describes.
Catalogue lists
Forge builds the formulary, the investigations and the surgical procedures from a list. The list is a CSV in the prescribed structure, uploaded through Westron, or one of Pensieve's own lists for a site that keeps none.
Each built item starts inactive until an administrator reviews and activates it. A row missing a site-specific detail, such as its category, is built and flagged for review. The same action seeds each new item's charge master entry in Vault.
Each row is matched on its code to any item the catalogue already holds, so loading a list again never duplicates an item. A single item is added by hand as add an orderable describes.
Finance loads
Vault loads rate cards from a dataset in Westron, read at the version the load pins. It validates every row before it writes, commits the whole file or none of it, and treats a second load of the same version as already done. How a rate card prices an item is set out in tariffs and rate cards.
A remittance arrives as the payer's remittance advice, a FHIR R4 PaymentReconciliation. Vault matches each line to its claim and posts the settlement, and the import is keyed on the remittance identifier, so the same advice imported twice posts once.
Permissions and failed rows
| Load | Who may run it | What happens to a failed row |
|---|---|---|
| Nexus Manager import | A holder of the bulk-import permission in Nexus Manager, with Westron's permission to upload the file; each row is also checked against the permission to create that kind of entry | It is marked in the result file with its reason, and the other rows are created |
| Forge catalogue list | A holder of Forge's permission to build the catalogue from a list | It is reported with its reason and left unwritten, and the rest of the list is built |
| Vault rate card | A holder of Vault's permission to import rate cards | It holds back the whole file, and a row-level report names each row to correct |
| Vault remittance | A holder of Vault's remittance import permission | A malformed amount refuses the whole advice, and a line that matches no claim stays on the import run for reconciliation |
Each permission is granted through roles in Cirith Manager. Because a Nexus Manager row is checked like an entry made by hand, an import reaches only the kinds of entry its runner may create.
Common confusions
Can an import run again after the file is corrected?
Yes. Coded entries such as units and locations keep the codes they were created with, so a second run reports those rows as duplicate codes and creates the rest. An invitation row carries no code, so remove the people already invited before running an invitation file again. A corrected rate card file is loaded as a new dataset version.
Why does a rate card fail as a whole when a Nexus Manager import does not?
Vault commits a rate card file in one transaction, so one bad row holds back the file and the report names it. Nexus Manager commits each row in a transaction of its own, so its rows succeed or fail one by one.
Read which load files to prepare before go-live in readiness checklist, and how a payer's settlement reaches its claim in insurers and claims.