Import
How import works in TrialStack when teams need to bring external material into the governed product model.
Why it matters
flowchart LR
External[External material] --> Import[Import]
Import --> Workflow[Governed workflow]
Import explains how outside material enters TrialStack and becomes part of a governed workflow instead of remaining a disconnected upload event.
How it works
flowchart LR
File[File or content] --> Request[Import request]
Request --> Record[Relevant record model]
Imports bring external content or files into shared request flows that can be tracked, reviewed, and connected back to the relevant record model.
USDM study-definition imports
USDM import is a reconciliation workflow, not a replacement operation. The request targets an existing governed trial and retains the exact JSON source, its byte-level SHA-256 checksum, producer metadata, original USDM version, source object inventory, and unknown extensions. TrialStack normalizes supported 4.0 and 4.0.0 version discriminators for comparison while keeping the original value unchanged in the source artifact.
The completed import contains a canonical draft, explicit conflicts, and a machine-readable round-trip report. It never creates an identifier or relationship that is absent from the source. Supported summary values can be proposed for the governed trial; unsupported design collections remain losslessly available as source evidence and are marked for a dedicated reconciliation surface.
Every conflict carries a deterministic content hash. A reviewer must submit one current decision for every conflict, and a changed conflict hash or trial version rejects the apply request. Accepted changes create a new governed trial version between immutable before-and-after snapshots and open a draft amendment containing the derived comparison and impacts. The import record retains the resulting version, snapshot, amendment, and decision identities.
The API flow is:
POST /api/importswithentityType: "trial",source: "inline-json", an existingtargetEntityId, and the exact USDM JSON inpayload.rawSource.- Poll
GET /api/imports/{id}and inspectresult.conflictsplusresult.roundTripReport. POST /api/imports/{id}/reconcilewith the reviewed conflict IDs, content hashes, decisions, expected trial version, and draft-amendment configuration.
When to use it
flowchart TD
BringIn[Need to bring in material] --> Import[Import]
AlreadyThere[Already governed] --> Skip[No import]
This concept matters when the team needs to bring source material, uploaded content, or reprocessed records into the workspace in a controlled way.
What to watch for
flowchart LR
Import[Import] --> Owner[Owning workflow]
Owner --> Review[Review path]
Import is not just file transfer. The important question is what workflow owns the result after the handoff. For USDM, a completed import proves preservation and analysis only; governed persistence happens only after explicit reconciliation and amendment evidence have been created.