Workflow Model

Backbone Elements
Experiments and Steps
Context
Workflows, Campaigns, Projects
Handovers
- Flow: Create, send, receive, in/p, completed, approved, published
- Payload
- Multiple handovers going into one experiment
- One handover going into multiple experiments
- Manual and automatic status management
##Payload for Sample Analysis Requests
For handovers with type SampleAnalysisRequest, the payload must contain JSON similar to this, with information about samples and requested analyses:
{
Analyses: [
{ Alias: ‘Binding’, ID: ‘M0728’, Comment: ‘End user comment about the analysis’ }
],
Samples: [
{ Name: ‘SmpName’, Type: ‘Supernatant’, Analyses: ‘Binding,Concentration’ },
{ Name: ‘SmpName2’, Type: ‘Supernatant’, Analyses: ‘Binding,Concentration’ }
]
}
If the samples are delivered in plates, this must be specified in the JSON, as well.
For samples, either ID or Name must be specified. The ID must be a valid sample ID for the Scifeon instance. If a Name is specified, a new sample will be created with the specified name. Additional sample and plate info can be specified, in the same format used for the generic Insert operations.
The EXAMPLE DATASET contains JSON payload examples with different types of sample/plate configuration.
Lab Steps, Calculation Steps, Approval Steps
Lab steps take samples or other lab artifacts as input and produce either new samples or results. They correspond to activities going on in the lab.
Calculation steps take results as input and produce new derived results.
Approval steps for QA or scientist approval, e.g. before publishing results. They change the status of result sets.
Custom Workflow Logic
Server side
Initially in C#, later maybe in JS (see Edge.JS)
Workflow Related Status Management
Status cascades: Rules applied when workflow entities change status
- Experiment => Step
- Step => Origin Entities
- ?? Workflow => Experiment ??
- ?? Campaign => Experiment ??