URL Query Parameters
Most users navigate inside SliceVault through the normal interface, so they do not need to construct URLs manually. For technical users, however, it is possible to build direct links to specific patients, visits, image viewers, and forms.
Direct links do not bypass permissions. They only work for users who already have access to the relevant patient, visit, and functionality.
Direct Links
To link a user directly to the visit dashboard, use this format:
https://<your-project-domain>.slicevault.com/Repository?patientkey={PatientKey}&visitname={VisitNameKey}
Example:
https://us.slicevault.com/Repository?patientkey=1000&visitname=visit_a
To link a user directly to the image viewer, use one of these formats.
With form visible:
https://<your-project-domain>.slicevault.com/Repository/ViewCase/{PatientKey}?set={VisitKey}
Without form visible:
https://<your-project-domain>.slicevault.com/Repository/ViewCaseHideLesson/{PatientKey}?set={VisitKey}
Example:
https://us.slicevault.com/Repository/ViewCaseHideLesson/1000?set=22500
In normal front-end navigation, SliceVault applies the HideLesson logic automatically so forms are only shown when they are relevant.
Prefill
If a form is visible in the viewer, form fields can also be prefilled by adding a prefill query parameter to the URL.
The prefill value is a hex-encoded UTF-8 JSON object:
&prefill=<hex-encoded-json>
The JSON keys are the field IDs in the form, and the JSON values are the values to insert.
Example JSON:
{"100":12345}
Hex value:
7b22313030223a31323334357d
URL example:
https://us.slicevault.com/Repository/ViewCaseHideLesson/1000?set=22500&prefill=7b22313030223a31323334357d
The easiest way to generate the prefill string is to convert the JSON to UTF-8 bytes and then convert those bytes to hexadecimal. In JavaScript, that can be done like this:
const data = { 1000: 123 };
const prefill = Array.from(new TextEncoder().encode(JSON.stringify(data)))
.map((byte) => byte.toString(16).padStart(2, '0'))
.join('');
Field Value Format
The value format must match the field type:
| Field type | Value format | Example |
|---|---|---|
| Number | number | {"1000":123} |
| Text | string | {"1001":"abc"} |
| Date | string in yyyy-mm-dd format | {"1002":"2000-01-01"} |
| Textarea | string | {"1003":"The quick brown fox"} |
| Multi / dropdown | option value / option ID, not the visible option text | {"1004":2500} |
| Checkbox | JSON boolean | {"1005":true} |
For multi fields, use the stored option value, not the label shown to the user. For example, if the dropdown shows Cohort A but its option value is 2500, the prefill value must be 2500.
For checkboxes, use true to check the box and false to leave it unchecked.
Prefill follows these rules:
- empty fields are populated from the
prefillparameter - locked forms ignore prefill values and keep their saved values
- the
prefillparameter is most useful for technical testing or integrations, not routine user navigation