see also: Swagger/OpenAPI definition
ORSCF-StudyWorkflowDefinition Schema Specification
Info | |
---|---|
author: | ORSCF ("Open Research Study Communication Formats") / T.Korn |
license: | Apache-2 |
version: | 1.5.0 |
timestamp: | 2021-09-11 12:40 |
Contents
- . ResearchStudyDefinition
- ........\ Arm
- ........\ DataRecordingTaskDefinition
- ........\ DrugApplymentTaskDefinition
- ........\ ProcedureDefinition
- ........\ ProcedureSchedule
- ................\ InducedProcedure
- ................\ InducedSubProcedureSchedule
- ................\ ProcedureCycleDefinition
- ........\ StudyEvent
- ........\ SubStudy
- ........\ TaskSchedule
- ................\ InducedDataRecordingTask
- ................\ InducedDrugApplymentTask
- ................\ InducedSubTaskSchedule
- ................\ InducedTreatmentTask
- ................\ TaskCycleDefinition
- ........\ TreatmentTaskDefinition
Model:
ResearchStudyDefinition
Fields
Name | Type | Required | Fix |
---|---|---|---|
StudyWorkflowName (PK) | string (100) | YES | no |
StudyWorkflowVersion (PK) | string (20) | YES | no |
OfficialLabel | string | YES | no |
DefinitionOwner | string | YES | no |
DocumentationUrl | string | YES | no |
LogoImage | string | no | no |
Description | string | YES | no |
VersionIdentity | string | YES | no |
LastChangeUtc | datetime | YES | no |
DraftState | int32 | YES | no |
BillingCurrency | string | no | no |
BillablePriceForGeneralPreparation | decimal | no | no |
StudyDocumentationUrl | string | no | no |
CaseReportFormUrl | string | no | no |
Unique Keys
- StudyWorkflowName + StudyWorkflowVersion (primary)
ResearchStudyDefinition.StudyWorkflowName (Field)
the official invariant name of the study as given by the sponsor
- this field represents the identity (PK) of the record
- the maximum length of the content within this field is 100 characters.
ResearchStudyDefinition.StudyWorkflowVersion (Field)
This value follows the rules of 'Semantic Versioning' (https://semver.org) and needs to be updated exactly and only on transition to DraftState.Released! If the previously DraftState was 'DraftNewFix', then the 3. number must be increased at this time! If the previously DraftState was 'DraftNewMinor', then the 2. number must be increased, and the 3. number must be set to 0 at this time! If the previously DraftState was 'DraftNewMajor', then the 1. number must be increased, and the 2.+3. number must be set to 0 at this time!
- this field represents the identity (PK) of the record
- the maximum length of the content within this field is 20 characters.
ResearchStudyDefinition.LogoImage (Field)
Logo in base64
- this field is optional, so that 'null' values are supported
ResearchStudyDefinition.VersionIdentity (Field)
IT MUST NOT be updated on every change during Draft! Format: the Author, which is starting the new Draft (Alphanumeric, in PascalCase without blanks or other Symbols) + the current UTC-Time when setting the value (in ISO8601 format) separated by a Pipe "|" Sample: "MaxMustermann|2020-06-15T13:45:30.0000000Z".
ResearchStudyDefinition.DraftState (Field)
0=Released / 1=DraftNewFix / 2=DraftNewMinor / 3=DraftNewMajor
ResearchStudyDefinition.BillingCurrency (Field)
- this field is optional, so that 'null' values are supported
ResearchStudyDefinition.BillablePriceForGeneralPreparation (Field)
- this field is optional, so that 'null' values are supported
ResearchStudyDefinition.StudyDocumentationUrl (Field)
- this field is optional, so that 'null' values are supported
ResearchStudyDefinition.CaseReportFormUrl (Field)
- this field is optional, so that 'null' values are supported
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
Arms | Childs | Arm | * (multiple) |
DataRecordingTasks | Childs | DataRecordingTaskDefinition | * (multiple) |
DrugApplymentTasks | Childs | DrugApplymentTaskDefinition | * (multiple) |
ProcedureDefinitions | Childs | ProcedureDefinition | * (multiple) |
ProcedureSchedules | Childs | ProcedureSchedule | * (multiple) |
TreatmentTasks | Childs | TreatmentTaskDefinition | * (multiple) |
TaskSchedules | Childs | TaskSchedule | * (multiple) |
Events | Childs | StudyEvent | * (multiple) |
SubStudies | Childs | SubStudy | * (multiple) |
Arms (childs of this ResearchStudyDefinition)
Target: Arm
DataRecordingTasks (childs of this ResearchStudyDefinition)
Target: DataRecordingTaskDefinition
DrugApplymentTasks (childs of this ResearchStudyDefinition)
Target: DrugApplymentTaskDefinition
ProcedureDefinitions (childs of this ResearchStudyDefinition)
Target: ProcedureDefinition
ProcedureSchedules (childs of this ResearchStudyDefinition)
Target: ProcedureSchedule
TreatmentTasks (childs of this ResearchStudyDefinition)
Target: TreatmentTaskDefinition
TaskSchedules (childs of this ResearchStudyDefinition)
Target: TaskSchedule
Events (childs of this ResearchStudyDefinition)
Target: StudyEvent
SubStudies (childs of this ResearchStudyDefinition)
Target: SubStudy
Arm
Fields
Name | Type | Required | Fix |
---|---|---|---|
StudyArmName (PK) | string (50) | YES | no |
StudyWorkflowName (PK) (FK) | string (100) | YES | no |
StudyWorkflowVersion (PK) (FK) | string (20) | YES | no |
RootProcedureScheduleId (FK) | guid | no | no |
BillablePriceOnFailedInclusion | decimal | no | no |
BillablePriceOnSuccessfullInclusion | decimal | no | no |
BillablePriceOnAbortedParticipation | decimal | no | no |
BillablePriceOnCompletedParticipation | decimal | no | no |
ArmSpecificDocumentationUrl | string | no | no |
InclusionCriteria | string | no | no |
AllowedSubstudies | string | no | no |
Unique Keys
- StudyArmName + StudyWorkflowName + StudyWorkflowVersion (primary)
Arm.StudyArmName (Field)
Name of the Arm - INVARIANT! because it is used to generate Identifers for induced executions!
- this field represents the identity (PK) of the record
- the maximum length of the content within this field is 50 characters.
Arm.StudyWorkflowName (Field)
- this field represents the identity (PK) of the record
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 100 characters.
Arm.StudyWorkflowVersion (Field)
- this field represents the identity (PK) of the record
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 20 characters.
Arm.RootProcedureScheduleId (Field)
the ProcedureSchedule which is representing the primary-/entry-workflow (estimated visits) for participants of this arm
- this field is optional, so that 'null' values are supported
- this field is used as foreign key to address the related 'RootProcedureSchedule'
Arm.BillablePriceOnFailedInclusion (Field)
- this field is optional, so that 'null' values are supported
Arm.BillablePriceOnSuccessfullInclusion (Field)
- this field is optional, so that 'null' values are supported
Arm.BillablePriceOnAbortedParticipation (Field)
- this field is optional, so that 'null' values are supported
Arm.BillablePriceOnCompletedParticipation (Field)
- this field is optional, so that 'null' values are supported
Arm.ArmSpecificDocumentationUrl (Field)
- this field is optional, so that 'null' values are supported
Arm.InclusionCriteria (Field)
- this field is optional, so that 'null' values are supported
Arm.AllowedSubstudies (Field)
comma sparated list of Sub-Study names which are allowed to be executed for this arm
- this field is optional, so that 'null' values are supported
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
ResearchStudy | Parent | ResearchStudyDefinition | 0/1 (optional) |
RootProcedureSchedule | Lookup | ProcedureSchedule | 1 (required) |
ResearchStudy (parent of this Arm)
Target Type: ResearchStudyDefinition Addressed by: StudyWorkflowName + StudyWorkflowVersion.
RootProcedureSchedule (lookup from this Arm)
Target Type: ProcedureSchedule Addressed by: RootProcedureScheduleId.
the ProcedureSchedule which is representing the primary-/entry-workflow (estimated visits) for participants of this arm
DataRecordingTaskDefinition
Fields
Name | Type | Required | Fix |
---|---|---|---|
TaskDefinitionName (PK) | string (50) | YES | no |
StudyWorkflowName (FK) | string (100) | YES | no |
StudyWorkflowVersion (FK) | string (20) | YES | no |
BillablePriceOnCompletedExecution | decimal | no | no |
ShortDescription | string | YES | no |
TaskSpecificDocumentationUrl | string | no | no |
ImportantNotices | string | no | no |
DataSchemaUrl | string | YES | no |
DefaultData | string | no | no |
Unique Keys
- TaskDefinitionName (primary)
DataRecordingTaskDefinition.TaskDefinitionName (Field)
Name of the Definition - INVARIANT! because it is used to generate Identifers for induced executions!
- this field represents the identity (PK) of the record
- the maximum length of the content within this field is 50 characters.
DataRecordingTaskDefinition.StudyWorkflowName (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 100 characters.
DataRecordingTaskDefinition.StudyWorkflowVersion (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 20 characters.
DataRecordingTaskDefinition.BillablePriceOnCompletedExecution (Field)
- this field is optional, so that 'null' values are supported
DataRecordingTaskDefinition.TaskSpecificDocumentationUrl (Field)
- this field is optional, so that 'null' values are supported
DataRecordingTaskDefinition.ImportantNotices (Field)
- this field is optional, so that 'null' values are supported
DataRecordingTaskDefinition.DataSchemaUrl (Field)
schema-url of the data which have to be recorded
DataRecordingTaskDefinition.DefaultData (Field)
RAW data, in the schema as defined at the 'DataSchemaUrl'
- this field is optional, so that 'null' values are supported
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
Inducements | Referers | InducedDataRecordingTask | * (multiple) |
ResearchStudy | Parent | ResearchStudyDefinition | 0/1 (optional) |
Inducements (refering to this DataRecordingTaskDefinition)
Target: InducedDataRecordingTask
ResearchStudy (parent of this DataRecordingTaskDefinition)
Target Type: ResearchStudyDefinition Addressed by: StudyWorkflowName + StudyWorkflowVersion.
DrugApplymentTaskDefinition
Fields
Name | Type | Required | Fix |
---|---|---|---|
TaskDefinitionName (PK) | string (50) | YES | no |
StudyWorkflowName (FK) | string (100) | YES | no |
StudyWorkflowVersion (FK) | string (20) | YES | no |
BillablePriceOnCompletedExecution | decimal | no | no |
ShortDescription | string | YES | no |
TaskSpecificDocumentationUrl | string | no | no |
DrugName | string | YES | no |
DrugDoseMgPerUnitMg | decimal | YES | no |
UnitsToApply | decimal | YES | no |
ApplymentRoute | string | YES | no |
ImportantNotices | string | no | no |
Unique Keys
- TaskDefinitionName (primary)
DrugApplymentTaskDefinition.TaskDefinitionName (Field)
Name of the Definition - INVARIANT! because it is used to generate Identifers for induced executions!
- this field represents the identity (PK) of the record
- the maximum length of the content within this field is 50 characters.
DrugApplymentTaskDefinition.StudyWorkflowName (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 100 characters.
DrugApplymentTaskDefinition.StudyWorkflowVersion (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 20 characters.
DrugApplymentTaskDefinition.BillablePriceOnCompletedExecution (Field)
- this field is optional, so that 'null' values are supported
DrugApplymentTaskDefinition.TaskSpecificDocumentationUrl (Field)
- this field is optional, so that 'null' values are supported
DrugApplymentTaskDefinition.ImportantNotices (Field)
- this field is optional, so that 'null' values are supported
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
Inducements | Referers | InducedDrugApplymentTask | * (multiple) |
ResearchStudy | Parent | ResearchStudyDefinition | 0/1 (optional) |
Inducements (refering to this DrugApplymentTaskDefinition)
Target: InducedDrugApplymentTask
ResearchStudy (parent of this DrugApplymentTaskDefinition)
Target Type: ResearchStudyDefinition Addressed by: StudyWorkflowName + StudyWorkflowVersion.
ProcedureDefinition
Fields
Name | Type | Required | Fix |
---|---|---|---|
ProdecureDefinitionName (PK) | string (50) | YES | no |
StudyWorkflowName (FK) | string (100) | YES | no |
StudyWorkflowVersion (FK) | string (20) | YES | no |
RootTaskScheduleId (FK) | guid | no | no |
BillablePriceOnAbortedExecution | decimal | no | no |
BillablePriceOnCompletedExecution | decimal | no | no |
VisitSpecificDocumentationUrl | string | no | no |
Unique Keys
- ProdecureDefinitionName (primary)
ProcedureDefinition.ProdecureDefinitionName (Field)
Name of the Definition - INVARIANT! because it is used to generate Identifers for induced executions!
- this field represents the identity (PK) of the record
- the maximum length of the content within this field is 50 characters.
ProcedureDefinition.StudyWorkflowName (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 100 characters.
ProcedureDefinition.StudyWorkflowVersion (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 20 characters.
ProcedureDefinition.RootTaskScheduleId (Field)
the TaskSchedule which is representing the primary-/entry-workflow (estimated tasks) when executing this visit
- this field is optional, so that 'null' values are supported
- this field is used as foreign key to address the related 'RootTaskSchedule'
ProcedureDefinition.BillablePriceOnAbortedExecution (Field)
- this field is optional, so that 'null' values are supported
ProcedureDefinition.BillablePriceOnCompletedExecution (Field)
- this field is optional, so that 'null' values are supported
ProcedureDefinition.VisitSpecificDocumentationUrl (Field)
- this field is optional, so that 'null' values are supported
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
Inducements | Referers | InducedProcedure | * (multiple) |
ResearchStudy | Parent | ResearchStudyDefinition | 0/1 (optional) |
RootTaskSchedule | Lookup | TaskSchedule | 1 (required) |
Inducements (refering to this ProcedureDefinition)
Target: InducedProcedure
ResearchStudy (parent of this ProcedureDefinition)
Target Type: ResearchStudyDefinition Addressed by: StudyWorkflowName + StudyWorkflowVersion.
RootTaskSchedule (lookup from this ProcedureDefinition)
Target Type: TaskSchedule Addressed by: RootTaskScheduleId.
the TaskSchedule which is representing the primary-/entry-workflow (estimated tasks) when executing this visit
ProcedureSchedule
Fields
Name | Type | Required | Fix |
---|---|---|---|
ProcedureScheduleId (PK) | guid | YES | no |
StudyWorkflowName (FK) | string (100) | YES | no |
StudyWorkflowVersion (FK) | string (20) | YES | no |
ScheduleWorkflowName | string | YES | no |
MaxSkipsBeforeLost | string | YES | no |
MaxSubsequentSkipsBeforeLost | string | YES | no |
MaxLostsBeforeLtfuAbort | string | YES | no |
MaxSubsequentLostsBeforeLtfuAbort | string | YES | no |
EventOnLtfuAbort | string | YES | no |
EventOnCycleEnded | string | YES | no |
EventOnAllCyclesEnded | string | YES | no |
InducingEvents | string | YES | no |
AbortCausingEvents | string | YES | no |
Unique Keys
- ProcedureScheduleId (primary)
ProcedureSchedule.ProcedureScheduleId (Field)
- this field represents the identity (PK) of the record
ProcedureSchedule.StudyWorkflowName (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 100 characters.
ProcedureSchedule.StudyWorkflowVersion (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 20 characters.
ProcedureSchedule.ScheduleWorkflowName (Field)
Name of the Workflow which is represented by this schedule - INVARIANT! because it is used to generate Identifers for induced executions!
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
EntryArms | Referers | Arm | * (multiple) |
InducedProcedures | Childs | InducedProcedure | * (multiple) |
InducedSubProcedureSchedules | Childs | InducedSubProcedureSchedule | * (multiple) |
InducingSubProcedureSchedules | Referers | InducedSubProcedureSchedule | * (multiple) |
CycleDefinition | Child | ProcedureCycleDefinition | 0/1 (single) |
ResearchStudy | Parent | ResearchStudyDefinition | 0/1 (optional) |
EntryArms (refering to this ProcedureSchedule)
Target: Arm
InducedProcedures (childs of this ProcedureSchedule)
Target: InducedProcedure
InducedSubProcedureSchedules (childs of this ProcedureSchedule)
Target: InducedSubProcedureSchedule
InducingSubProcedureSchedules (refering to this ProcedureSchedule)
Target: InducedSubProcedureSchedule
CycleDefinition (child of this ProcedureSchedule)
Target: ProcedureCycleDefinition
ResearchStudy (parent of this ProcedureSchedule)
Target Type: ResearchStudyDefinition Addressed by: StudyWorkflowName + StudyWorkflowVersion.
InducedProcedure
Fields
Name | Type | Required | Fix |
---|---|---|---|
Id (PK) | guid | YES | no |
ProcedureScheduleId (FK) | guid | YES | no |
SchedulingOffset | int32 | YES | no |
SchedulingOffsetUnit | string | YES | no |
SchedulingVariabilityBefore | int32 | YES | no |
SchedulingVariabilityAfter | int32 | YES | no |
SchedulingVariabilityUnit | string | YES | no |
ProdecureDefinitionName (FK) | string (50) | YES | no |
UniqueExecutionName | string | YES | no |
Skipable | boolean | YES | no |
EventOnSkip | string | YES | no |
EventOnLost | string | YES | no |
Position | int32 | YES | no |
SchedulingOffsetFixpoint | int32 | YES | no |
SchedulingByEstimate | boolean | YES | no |
DedicatedToSubstudy | string | no | no |
VisitNumber | int32 | YES | no |
Unique Keys
- Id (primary)
InducedProcedure.Id (Field)
- this field represents the identity (PK) of the record
InducedProcedure.ProcedureScheduleId (Field)
- this field is used as foreign key to address the related 'ProcedureSchedule'
InducedProcedure.SchedulingOffset (Field)
estimated scheduling date relative to the scheduling date of the parent ProcedureSchedule
InducedProcedure.SchedulingOffsetUnit (Field)
'M'=Months / 'W'=Weeks / 'D'=Days
InducedProcedure.SchedulingVariabilityBefore (Field)
defines an additional variability RELATIVE to the estimated scheduling date (which is calculated from the offset), in this case the EARLIEST possible date.
InducedProcedure.SchedulingVariabilityAfter (Field)
defines an additional variability RELATIVE to the estimated scheduling date (which is calculated from the offset), in this case the LATEST possible date.
InducedProcedure.SchedulingVariabilityUnit (Field)
'M'=Months / 'W'=Weeks / 'D'=Days
InducedProcedure.ProdecureDefinitionName (Field)
- this field is used as foreign key to address the related 'InducedVisitProdecure'
- the maximum length of the content within this field is 50 characters.
InducedProcedure.UniqueExecutionName (Field)
the name for the induced execution (=VISIT), like 'V0', which is usually defined by the study protocol. if multiple inducements are possible (for example when using cycles), the title should to contain a placeholder (example: 'C{cy}-V0') to prevent from duplicate execution names.
InducedProcedure.Skipable (Field)
defines, if the study protocol tolerates this execution to be 'skipped' (if not, a missed execution is treated as 'lost' and can cause the exclusion of the participant)
InducedProcedure.Position (Field)
The Position (1..x) of this inducement within the parent schedule. This value is relevant for addressing predecessors as fixpoint for the offest-calculation. Within one schedule there can only be one inducement for each position! The 0 is reserved for addressing the parent schedule itself and must not be used as well as negative values!
InducedProcedure.SchedulingOffsetFixpoint (Field)
0=InducementOfScheduleOrCycle: when the start of the parent Schedule (for the current cycle) was induced / -1=InducementOfPredessessor: when the direct predecessor procedure or subschedule (based on the 'Position') within the current schedule was induced / 1..x: when the predecessor at the Position within the current schedule, ADRESSED by the given value, was induced items of sub-schedules are not relevant - when addressing a sub-schedule as predecessor, then only its entry will be used this behaviour can be concretized via 'SchedulingByEstimate'
InducedProcedure.SchedulingByEstimate (Field)
If set to true, the offset calculation will be based on the ESTIMATED completion of the predecessor (see 'Fixpoint'). Otherwise, when set to false, the offset calculation will be based on the REAL completion (if recorded execution data is available during calculation) of the predecessor. *this will not evaluated, when the 'Fixpoint' is set to 0!
InducedProcedure.DedicatedToSubstudy (Field)
The name of a Sub-Study for which this procedure should be induced or empty when its part of the current Arms regular workflow
- this field is optional, so that 'null' values are supported
InducedProcedure.VisitNumber (Field)
Number, which can be used via Placeholder {#} within the UniqueExecutionName and which will automatically increase when using cycles or sub-schedules
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
ProcedureSchedule | Parent | ProcedureSchedule | 0/1 (optional) |
InducedVisitProdecure | Lookup | ProcedureDefinition | 0/1 (optional) |
ProcedureSchedule (parent of this InducedProcedure)
Target Type: ProcedureSchedule Addressed by: ProcedureScheduleId.
InducedVisitProdecure (lookup from this InducedProcedure)
Target Type: ProcedureDefinition Addressed by: ProdecureDefinitionName.
InducedSubProcedureSchedule
Fields
Name | Type | Required | Fix |
---|---|---|---|
Id (PK) | guid | YES | no |
ParentProcedureScheduleId (FK) | guid | YES | no |
InducedProcedureScheduleId (FK) | guid | YES | no |
SchedulingOffset | int32 | YES | no |
SchedulingOffsetUnit | string | YES | no |
SharedSkipCounters | boolean | YES | no |
SharedLostCounters | boolean | YES | no |
Position | int32 | YES | no |
SchedulingOffsetFixpoint | int32 | YES | no |
SchedulingByEstimate | boolean | YES | no |
DedicatedToSubstudy | string | no | no |
IncreaseVisitNumberBase | int32 | YES | no |
InheritVisitNumberBase | boolean | YES | no |
Unique Keys
- Id (primary)
InducedSubProcedureSchedule.Id (Field)
- this field represents the identity (PK) of the record
InducedSubProcedureSchedule.ParentProcedureScheduleId (Field)
- this field is used as foreign key to address the related 'ParentProcedureSchedule'
InducedSubProcedureSchedule.InducedProcedureScheduleId (Field)
- this field is used as foreign key to address the related 'InducedProcedureSchedule'
InducedSubProcedureSchedule.SchedulingOffset (Field)
estimated scheduling date relative to the scheduling date of the parent ProcedureSchedule
InducedSubProcedureSchedule.SchedulingOffsetUnit (Field)
'M'=Months / 'W'=Weeks / 'D'=Days
InducedSubProcedureSchedule.Position (Field)
The Position (1..x) of this inducement within the parent schedule. This value is relevant for addressing predecessors as fixpoint for the offest-calculation. Within one schedule there can only be one inducement for each position! The 0 is reserved for addressing the parent schedule itself and must not be used as well as negative values!
InducedSubProcedureSchedule.SchedulingOffsetFixpoint (Field)
0=InducementOfScheduleOrCycle: when the start of the parent Schedule (for the current cycle) was induced / -1=InducementOfPredessessor: when the direct predecessor procedure or subschedule (based on the 'Position') within the current schedule was induced / 1..x: when the predecessor at the Position within the current schedule, ADRESSED by the given value, was induced items of sub-schedules are not relevant - when addressing a sub-schedule as predecessor, then only its entry will be used this behaviour can be concretized via 'SchedulingByEstimate'
InducedSubProcedureSchedule.SchedulingByEstimate (Field)
If set to true, the offset calculation will be based on the ESTIMATED completion of the predecessor (see 'Fixpoint'). Otherwise, when set to false, the offset calculation will be based on the REAL completion (if recorded execution data is available during calculation) of the predecessor. *this will not evaluated, when the 'Fixpoint' is set to 0!
InducedSubProcedureSchedule.DedicatedToSubstudy (Field)
The name of a Sub-Study for which this schedule should be induced or empty when its part of the current Arms regular workflow
- this field is optional, so that 'null' values are supported
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
ParentProcedureSchedule | Parent | ProcedureSchedule | 0/1 (optional) |
InducedProcedureSchedule | Lookup | ProcedureSchedule | 0/1 (optional) |
ParentProcedureSchedule (parent of this InducedSubProcedureSchedule)
Target Type: ProcedureSchedule Addressed by: ParentProcedureScheduleId.
InducedProcedureSchedule (lookup from this InducedSubProcedureSchedule)
Target Type: ProcedureSchedule Addressed by: InducedProcedureScheduleId.
ProcedureCycleDefinition
Fields
Name | Type | Required | Fix |
---|---|---|---|
ProcedureScheduleId (PK) (FK) | guid | YES | no |
ReschedulingOffsetFixpoint | int32 | YES | no |
ReschedulingOffset | int32 | YES | no |
ReschedulingOffsetUnit | string | YES | no |
CycleLimit | int32 | no | no |
SharedSkipCounters | boolean | YES | no |
SharedLostCounters | boolean | YES | no |
ReschedulingByEstimate | boolean | YES | no |
IncreaseVisitNumberBasePerCycle | int32 | YES | no |
Unique Keys
- ProcedureScheduleId (primary)
ProcedureCycleDefinition.ProcedureScheduleId (Field)
- this field represents the identity (PK) of the record
- this field is used as foreign key to address the related 'ProcedureSchedule'
ProcedureCycleDefinition.ReschedulingOffsetFixpoint (Field)
0=InducementOfScheduleOrCycle: when the start of the last cycle was induced / -1=InducementOfPredessessor: when the last procedure or subschedule (based on the 'Position') of the previous cycle was induced. items of sub-schedules are not relevant - when addressing a sub-schedule as predecessor, then only its entry will be used this behaviour can be concretized via 'ReschedulingByEstimate'
ProcedureCycleDefinition.ReschedulingOffset (Field)
estimated scheduling date relative to the ReschedulingBase
ProcedureCycleDefinition.ReschedulingOffsetUnit (Field)
'M'=Months / 'W'=Weeks / 'D'=Days
ProcedureCycleDefinition.CycleLimit (Field)
number of cycles (of null for a infinite number of cycles)
- this field is optional, so that 'null' values are supported
ProcedureCycleDefinition.ReschedulingByEstimate (Field)
If set to true, the offset calculation will be based on the ESTIMATED completion of the predecessor (see 'Fixpoint'). Otherwise, when set to false, the offset calculation will be based on the REAL completion (if recorded execution data is available during calculation) of the predecessor. *this will not evaluated, when the 'Fixpoint' is set to 0!
ProcedureCycleDefinition.IncreaseVisitNumberBasePerCycle (Field)
-1: automatic, based on the usage of visit numbers within the schedule
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
ProcedureSchedule | Parent | ProcedureSchedule | 0/1 (optional) |
ProcedureSchedule (parent of this ProcedureCycleDefinition)
Target Type: ProcedureSchedule Addressed by: ProcedureScheduleId.
StudyEvent
Fields
Name | Type | Required | Fix |
---|---|---|---|
StudyEventName (PK) | string (50) | YES | no |
StudyWorkflowName (FK) | string (100) | YES | no |
StudyWorkflowVersion (FK) | string (20) | YES | no |
MaxOccourrencesBeforeExclusion | int32 | no | no |
AllowManualTrigger | boolean | YES | no |
Description | string | YES | no |
EvenSpecificDocumentationUrl | string | no | no |
Unique Keys
- StudyEventName (primary)
StudyEvent.StudyEventName (Field)
- this field represents the identity (PK) of the record
- the maximum length of the content within this field is 50 characters.
StudyEvent.StudyWorkflowName (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 100 characters.
StudyEvent.StudyWorkflowVersion (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 20 characters.
StudyEvent.MaxOccourrencesBeforeExclusion (Field)
- this field is optional, so that 'null' values are supported
StudyEvent.EvenSpecificDocumentationUrl (Field)
- this field is optional, so that 'null' values are supported
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
ResearchStudy | Parent | ResearchStudyDefinition | 0/1 (optional) |
ResearchStudy (parent of this StudyEvent)
Target Type: ResearchStudyDefinition Addressed by: StudyWorkflowName + StudyWorkflowVersion.
SubStudy
Fields
Name | Type | Required | Fix |
---|---|---|---|
SubStudyName (PK) | string (50) | YES | no |
StudyWorkflowName (FK) | string (100) | YES | no |
StudyWorkflowVersion (FK) | string (20) | YES | no |
Unique Keys
- SubStudyName (primary)
SubStudy.SubStudyName (Field)
- this field represents the identity (PK) of the record
- the maximum length of the content within this field is 50 characters.
SubStudy.StudyWorkflowName (Field)
- this field is used as foreign key to address the related 'ResearchStudyDefinition'
- the maximum length of the content within this field is 100 characters.
SubStudy.StudyWorkflowVersion (Field)
- this field is used as foreign key to address the related 'ResearchStudyDefinition'
- the maximum length of the content within this field is 20 characters.
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
ResearchStudyDefinition | Parent | ResearchStudyDefinition | 0/1 (optional) |
ResearchStudyDefinition (parent of this SubStudy)
Target Type: ResearchStudyDefinition Addressed by: StudyWorkflowName + StudyWorkflowVersion.
TaskSchedule
Fields
Name | Type | Required | Fix |
---|---|---|---|
TaskScheduleId (PK) | guid | YES | no |
StudyWorkflowName (FK) | string (100) | YES | no |
StudyWorkflowVersion (FK) | string (20) | YES | no |
ScheduleWorkflowName | string | YES | no |
MaxSkipsBeforeLost | string | YES | no |
MaxSubsequentSkipsBeforeLost | string | YES | no |
MaxLostsBeforeLtfuAbort | string | YES | no |
MaxSubsequentLostsBeforeLtfuAbort | string | YES | no |
EventOnLtfuAbort | string | YES | no |
EventOnCycleEnded | string | YES | no |
EventOnAllCyclesEnded | string | YES | no |
InducingEvents | string | YES | no |
AbortCausingEvents | string | YES | no |
Unique Keys
- TaskScheduleId (primary)
TaskSchedule.TaskScheduleId (Field)
- this field represents the identity (PK) of the record
TaskSchedule.StudyWorkflowName (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 100 characters.
TaskSchedule.StudyWorkflowVersion (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 20 characters.
TaskSchedule.ScheduleWorkflowName (Field)
Name of the Workflow which is represented by this schedule - INVARIANT! because it is used to generate Identifers for induced executions!
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
InducedDataRecordingTasks | Childs | InducedDataRecordingTask | * (multiple) |
InducedDrugApplymentTasks | Childs | InducedDrugApplymentTask | * (multiple) |
InducedSubTaskSchedules | Childs | InducedSubTaskSchedule | * (multiple) |
InducingTaskSchedules | Referers | InducedSubTaskSchedule | * (multiple) |
InducedTreatmentTasks | Childs | InducedTreatmentTask | * (multiple) |
EntryProdecureDefinitions | Referers | ProcedureDefinition | * (multiple) |
ResearchStudy | Parent | ResearchStudyDefinition | 0/1 (optional) |
CycleDefinition | Child | TaskCycleDefinition | 0/1 (single) |
InducedDataRecordingTasks (childs of this TaskSchedule)
Target: InducedDataRecordingTask
InducedDrugApplymentTasks (childs of this TaskSchedule)
Target: InducedDrugApplymentTask
InducedSubTaskSchedules (childs of this TaskSchedule)
Target: InducedSubTaskSchedule
InducingTaskSchedules (refering to this TaskSchedule)
Target: InducedSubTaskSchedule
InducedTreatmentTasks (childs of this TaskSchedule)
Target: InducedTreatmentTask
EntryProdecureDefinitions (refering to this TaskSchedule)
Target: ProcedureDefinition
ResearchStudy (parent of this TaskSchedule)
Target Type: ResearchStudyDefinition Addressed by: StudyWorkflowName + StudyWorkflowVersion.
CycleDefinition (child of this TaskSchedule)
Target: TaskCycleDefinition
InducedDataRecordingTask
Fields
Name | Type | Required | Fix |
---|---|---|---|
Id (PK) | guid | YES | no |
TaskScheduleId (FK) | guid | YES | no |
TaskDefinitionName (FK) | string (50) | YES | no |
SchedulingOffset | int32 | YES | no |
SchedulingOffsetUnit | string | YES | no |
SchedulingVariabilityBefore | string | YES | no |
SchedulingVariabilityAfter | string | YES | no |
SchedulingVariabilityUnit | string | YES | no |
UniqueExecutionName | string | YES | no |
Skipable | boolean | YES | no |
EventOnSkip | string | YES | no |
EventOnLost | string | YES | no |
Position | int32 | YES | no |
SchedulingOffsetFixpoint | int32 | YES | no |
SchedulingByEstimate | boolean | YES | no |
DedicatedToSubstudy | string | no | no |
TaskNumber | int32 | YES | no |
Unique Keys
- Id (primary)
InducedDataRecordingTask.Id (Field)
- this field represents the identity (PK) of the record
InducedDataRecordingTask.TaskScheduleId (Field)
- this field is used as foreign key to address the related 'TaskSchedule'
InducedDataRecordingTask.TaskDefinitionName (Field)
- this field is used as foreign key to address the related 'InducedTask'
- the maximum length of the content within this field is 50 characters.
InducedDataRecordingTask.SchedulingOffset (Field)
estimated scheduling time relative to the scheduling date of the parent TaskSchedule
InducedDataRecordingTask.SchedulingOffsetUnit (Field)
'h'=Hours / 'm'=Minutes / 's'=Seconds
InducedDataRecordingTask.SchedulingVariabilityBefore (Field)
defines an additional variability RELATIVE to the estimated scheduling time (which is calculated from the offset), in this case the EARLIEST possible time.
InducedDataRecordingTask.SchedulingVariabilityAfter (Field)
defines an additional variability RELATIVE to the estimated scheduling time (which is calculated from the offset), in this case the LATEST possible time.
InducedDataRecordingTask.SchedulingVariabilityUnit (Field)
'h'=Hours / 'm'=Minutes / 's'=Seconds
InducedDataRecordingTask.UniqueExecutionName (Field)
the name for the induced execution, like 'Measurement X', which is usually defined by the study protocol. if multiple inducements are possible (for example when using cycles), the title should to contain a placeholder (example: '{vt} - Measurement X') to prevent from duplicate execution names.
InducedDataRecordingTask.Skipable (Field)
defines, if the study protocol tolerates this execution to be 'skipped' (if not, a missed execution is treated as 'lost' and can cause the exclusion of the participant)
InducedDataRecordingTask.Position (Field)
The Position (1..x) of this inducement within the parent schedule. This value is relevant for addressing predecessors as fixpoint for the offest-calculation. Within one schedule there can only be one inducement for each position! The 0 is reserved for addressing the parent schedule itself and must not be used as well as negative values!
InducedDataRecordingTask.SchedulingOffsetFixpoint (Field)
0=InducementOfScheduleOrCycle: when the start of the parent Schedule (for the current cycle) was induced / -1=InducementOfPredessessor: when the direct predecessor task or subschedule (based on the 'Position') within the current schedule was induced / 1..x: when the predecessor at the Position within the current schedule, ADRESSED by the given value, was induced items of sub-schedules are not relevant - when addressing a sub-schedule as predecessor, then only its entry will be used this behaviour can be concretized via 'SchedulingByEstimate'
InducedDataRecordingTask.SchedulingByEstimate (Field)
If set to true, the offset calculation will be based on the ESTIMATED completion of the predecessor (see 'Fixpoint'). Otherwise, when set to false, the offset calculation will be based on the REAL completion (if recorded execution data is available during calculation) of the predecessor. *this will not evaluated, when the 'Fixpoint' is set to 0!
InducedDataRecordingTask.DedicatedToSubstudy (Field)
The name of a Sub-Study for which this Task should be induced or empty when its part of the current Arms regular workflow
- this field is optional, so that 'null' values are supported
InducedDataRecordingTask.TaskNumber (Field)
Number, which can be used via Placeholder {#} within the UniqueExecutionName and which will automatically increase when using cycles or sub-schedules
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
InducedTask | Lookup | DataRecordingTaskDefinition | 0/1 (optional) |
TaskSchedule | Parent | TaskSchedule | 0/1 (optional) |
InducedTask (lookup from this InducedDataRecordingTask)
Target Type: DataRecordingTaskDefinition Addressed by: TaskDefinitionName.
TaskSchedule (parent of this InducedDataRecordingTask)
Target Type: TaskSchedule Addressed by: TaskScheduleId.
InducedDrugApplymentTask
Fields
Name | Type | Required | Fix |
---|---|---|---|
Id (PK) | guid | YES | no |
TaskScheduleId (FK) | guid | YES | no |
TaskDefinitionName (FK) | string (50) | YES | no |
SchedulingOffset | int32 | YES | no |
SchedulingOffsetUnit | string | YES | no |
SchedulingVariabilityBefore | int32 | YES | no |
SchedulingVariabilityAfter | int32 | YES | no |
SchedulingVariabilityUnit | string | YES | no |
UniqueExecutionName | string | YES | no |
Skipable | boolean | YES | no |
EventOnSkip | string | YES | no |
EventOnLost | string | YES | no |
Position | int32 | YES | no |
SchedulingOffsetFixpoint | int32 | YES | no |
SchedulingByEstimate | boolean | YES | no |
DedicatedToSubstudy | string | no | no |
TaskNumber | int32 | YES | no |
Unique Keys
- Id (primary)
InducedDrugApplymentTask.Id (Field)
- this field represents the identity (PK) of the record
InducedDrugApplymentTask.TaskScheduleId (Field)
- this field is used as foreign key to address the related 'TaskSchedule'
InducedDrugApplymentTask.TaskDefinitionName (Field)
- this field is used as foreign key to address the related 'InducedTask'
- the maximum length of the content within this field is 50 characters.
InducedDrugApplymentTask.SchedulingOffset (Field)
estimated scheduling time relative to the scheduling date of the parent TaskSchedule
InducedDrugApplymentTask.SchedulingOffsetUnit (Field)
'h'=Hours / 'm'=Minutes / 's'=Seconds
InducedDrugApplymentTask.SchedulingVariabilityBefore (Field)
defines an additional variability RELATIVE to the estimated scheduling time (which is calculated from the offset), in this case the EARLIEST possible time.
InducedDrugApplymentTask.SchedulingVariabilityAfter (Field)
defines an additional variability RELATIVE to the estimated scheduling time (which is calculated from the offset), in this case the LATEST possible time.
InducedDrugApplymentTask.SchedulingVariabilityUnit (Field)
'h'=Hours / 'm'=Minutes / 's'=Seconds
InducedDrugApplymentTask.UniqueExecutionName (Field)
the name for the induced execution, like 'Measurement X', which is usually defined by the study protocol. if multiple inducements are possible (for example when using cycles), the title should to contain a placeholder (example: '{vt} - Measurement X') to prevent from duplicate execution names.
InducedDrugApplymentTask.Skipable (Field)
defines, if the study protocol tolerates this execution to be 'skipped' (if not, a missed execution is treated as 'lost' and can cause the exclusion of the participant)
InducedDrugApplymentTask.Position (Field)
The Position (1..x) of this inducement within the parent schedule. This value is relevant for addressing predecessors as fixpoint for the offest-calculation. Within one schedule there can only be one inducement for each position! The 0 is reserved for addressing the parent schedule itself and must not be used as well as negative values!
InducedDrugApplymentTask.SchedulingOffsetFixpoint (Field)
0=InducementOfScheduleOrCycle: when the start of the parent Schedule (for the current cycle) was induced / -1=InducementOfPredessessor: when the direct predecessor task or subschedule (based on the 'Position') within the current schedule was induced / 1..x: when the predecessor at the Position within the current schedule, ADRESSED by the given value, was induced items of sub-schedules are not relevant - when addressing a sub-schedule as predecessor, then only its entry will be used this behaviour can be concretized via 'SchedulingByEstimate'
InducedDrugApplymentTask.SchedulingByEstimate (Field)
If set to true, the offset calculation will be based on the ESTIMATED completion of the predecessor (see 'Fixpoint'). Otherwise, when set to false, the offset calculation will be based on the REAL completion (if recorded execution data is available during calculation) of the predecessor. *this will not evaluated, when the 'Fixpoint' is set to 0!
InducedDrugApplymentTask.DedicatedToSubstudy (Field)
The name of a Sub-Study for which this Task should be induced or empty when its part of the current Arms regular workflow
- this field is optional, so that 'null' values are supported
InducedDrugApplymentTask.TaskNumber (Field)
Number, which can be used via Placeholder {#} within the UniqueExecutionName and which will automatically increase when using cycles or sub-schedules
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
InducedTask | Lookup | DrugApplymentTaskDefinition | 0/1 (optional) |
TaskSchedule | Parent | TaskSchedule | 0/1 (optional) |
InducedTask (lookup from this InducedDrugApplymentTask)
Target Type: DrugApplymentTaskDefinition Addressed by: TaskDefinitionName.
TaskSchedule (parent of this InducedDrugApplymentTask)
Target Type: TaskSchedule Addressed by: TaskScheduleId.
InducedSubTaskSchedule
Fields
Name | Type | Required | Fix |
---|---|---|---|
Id (PK) | guid | YES | no |
ParentTaskScheduleId (FK) | guid | YES | no |
InducedTaskScheduleId (FK) | guid | YES | no |
SchedulingOffset | int32 | YES | no |
SchedulingOffsetUnit | string | YES | no |
SharedSkipCounters | boolean | YES | no |
SharedLostCounters | boolean | YES | no |
Position | int32 | YES | no |
SchedulingOffsetFixpoint | int32 | YES | no |
SchedulingByEstimate | boolean | YES | no |
DedicatedToSubstudy | string | no | no |
IncreaseVisitNumberBase | int32 | YES | no |
InheritVisitNumberBase | boolean | YES | no |
Unique Keys
- Id (primary)
InducedSubTaskSchedule.Id (Field)
- this field represents the identity (PK) of the record
InducedSubTaskSchedule.ParentTaskScheduleId (Field)
- this field is used as foreign key to address the related 'ParentTaskSchedule'
InducedSubTaskSchedule.InducedTaskScheduleId (Field)
- this field is used as foreign key to address the related 'InducedTaskSchedule'
InducedSubTaskSchedule.SchedulingOffset (Field)
estimated scheduling time relative to the scheduling date of the parent ProcedureSchedule
InducedSubTaskSchedule.SchedulingOffsetUnit (Field)
'h'=Hours / 'm'=Minutes / 's'=Seconds
InducedSubTaskSchedule.Position (Field)
The Position (1..x) of this inducement within the parent schedule. This value is relevant for addressing predecessors as fixpoint for the offest-calculation. Within one schedule there can only be one inducement for each position! The 0 is reserved for addressing the parent schedule itself and must not be used as well as negative values!
InducedSubTaskSchedule.SchedulingOffsetFixpoint (Field)
0=InducementOfScheduleOrCycle: when the start of the parent Schedule (for the current cycle) was induced / -1=InducementOfPredessessor: when the direct predecessor task or subschedule (based on the 'Position') within the current schedule was induced / 1..x: when the predecessor at the Position within the current schedule, ADRESSED by the given value, was induced items of sub-schedules are not relevant - when addressing a sub-schedule as predecessor, then only its entry will be used this behaviour can be concretized via 'SchedulingByEstimate'
InducedSubTaskSchedule.SchedulingByEstimate (Field)
If set to true, the offset calculation will be based on the ESTIMATED completion of the predecessor (see 'Fixpoint'). Otherwise, when set to false, the offset calculation will be based on the REAL completion (if recorded execution data is available during calculation) of the predecessor. *this will not evaluated, when the 'Fixpoint' is set to 0!
InducedSubTaskSchedule.DedicatedToSubstudy (Field)
The name of a Sub-Study for which this schedule should be induced or empty when its part of the current Arms regular workflow
- this field is optional, so that 'null' values are supported
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
ParentTaskSchedule | Parent | TaskSchedule | 0/1 (optional) |
InducedTaskSchedule | Lookup | TaskSchedule | 0/1 (optional) |
ParentTaskSchedule (parent of this InducedSubTaskSchedule)
Target Type: TaskSchedule Addressed by: ParentTaskScheduleId.
InducedTaskSchedule (lookup from this InducedSubTaskSchedule)
Target Type: TaskSchedule Addressed by: InducedTaskScheduleId.
InducedTreatmentTask
Fields
Name | Type | Required | Fix |
---|---|---|---|
Id (PK) | guid | YES | no |
TaskScheduleId (FK) | guid | YES | no |
TaskDefinitionName (FK) | string (50) | YES | no |
SchedulingOffset | int32 | YES | no |
SchedulingOffsetUnit | string | YES | no |
SchedulingVariabilityBefore | string | YES | no |
SchedulingVariabilityAfter | string | YES | no |
SchedulingVariabilityUnit | string | YES | no |
UniqueExecutionName | string | YES | no |
Skipable | boolean | YES | no |
EventOnSkip | string | YES | no |
EventOnLost | string | YES | no |
Position | int32 | YES | no |
SchedulingOffsetFixpoint | int32 | YES | no |
SchedulingByEstimate | boolean | YES | no |
DedicatedToSubstudy | string | no | no |
TaskNumber | int32 | YES | no |
Unique Keys
- Id (primary)
InducedTreatmentTask.Id (Field)
- this field represents the identity (PK) of the record
InducedTreatmentTask.TaskScheduleId (Field)
- this field is used as foreign key to address the related 'TaskSchedule'
InducedTreatmentTask.TaskDefinitionName (Field)
- this field is used as foreign key to address the related 'InducedTask'
- the maximum length of the content within this field is 50 characters.
InducedTreatmentTask.SchedulingOffset (Field)
estimated scheduling time relative to the scheduling date of the parent TaskSchedule
InducedTreatmentTask.SchedulingOffsetUnit (Field)
'h'=Hours / 'm'=Minutes / 's'=Seconds
InducedTreatmentTask.SchedulingVariabilityBefore (Field)
defines an additional variability RELATIVE to the estimated scheduling time (which is calculated from the offset), in this case the EARLIEST possible time.
InducedTreatmentTask.SchedulingVariabilityAfter (Field)
defines an additional variability RELATIVE to the estimated scheduling time (which is calculated from the offset), in this case the LATEST possible time.
InducedTreatmentTask.SchedulingVariabilityUnit (Field)
'h'=Hours / 'm'=Minutes / 's'=Seconds
InducedTreatmentTask.UniqueExecutionName (Field)
the name for the induced execution, like 'Measurement X', which is usually defined by the study protocol. if multiple inducements are possible (for example when using cycles), the title should to contain a placeholder (example: '{vt} - Measurement X') to prevent from duplicate execution names.
InducedTreatmentTask.Skipable (Field)
defines, if the study protocol tolerates this execution to be 'skipped' (if not, a missed execution is treated as 'lost' and can cause the exclusion of the participant)
InducedTreatmentTask.Position (Field)
The Position (1..x) of this inducement within the parent schedule. This value is relevant for addressing predecessors as fixpoint for the offest-calculation. Within one schedule there can only be one inducement for each position! The 0 is reserved for addressing the parent schedule itself and must not be used as well as negative values!
InducedTreatmentTask.SchedulingOffsetFixpoint (Field)
0=InducementOfScheduleOrCycle: when the start of the parent Schedule (for the current cycle) was induced / -1=InducementOfPredessessor: when the direct predecessor task or subschedule (based on the 'Position') within the current schedule was induced / 1..x: when the predecessor at the Position within the current schedule, ADRESSED by the given value, was induced items of sub-schedules are not relevant - when addressing a sub-schedule as predecessor, then only its entry will be used this behaviour can be concretized via 'SchedulingByEstimate'
InducedTreatmentTask.SchedulingByEstimate (Field)
If set to true, the offset calculation will be based on the ESTIMATED completion of the predecessor (see 'Fixpoint'). Otherwise, when set to false, the offset calculation will be based on the REAL completion (if recorded execution data is available during calculation) of the predecessor. *this will not evaluated, when the 'Fixpoint' is set to 0!
InducedTreatmentTask.DedicatedToSubstudy (Field)
The name of a Sub-Study for which this Task should be induced or empty when its part of the current Arms regular workflow
- this field is optional, so that 'null' values are supported
InducedTreatmentTask.TaskNumber (Field)
Number, which can be used via Placeholder {#} within the UniqueExecutionName and which will automatically increase when using cycles or sub-schedules
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
TaskSchedule | Parent | TaskSchedule | 0/1 (optional) |
InducedTask | Lookup | TreatmentTaskDefinition | 0/1 (optional) |
TaskSchedule (parent of this InducedTreatmentTask)
Target Type: TaskSchedule Addressed by: TaskScheduleId.
InducedTask (lookup from this InducedTreatmentTask)
Target Type: TreatmentTaskDefinition Addressed by: TaskDefinitionName.
TaskCycleDefinition
Fields
Name | Type | Required | Fix |
---|---|---|---|
TaskScheduleId (PK) (FK) | guid | YES | no |
ReschedulingOffsetFixpoint | int32 | YES | no |
ReschedulingOffset | int32 | YES | no |
ReschedulingOffsetUnit | string | YES | no |
CycleLimit | int32 | no | no |
SharedSkipCounters | boolean | YES | no |
SharedLostCounters | boolean | YES | no |
ReschedulingByEstimate | boolean | YES | no |
IncreaseTaskNumberBasePerCycle | int32 | YES | no |
Unique Keys
- TaskScheduleId (primary)
TaskCycleDefinition.TaskScheduleId (Field)
- this field represents the identity (PK) of the record
- this field is used as foreign key to address the related 'TaskSchedule'
TaskCycleDefinition.ReschedulingOffsetFixpoint (Field)
0=InducementOfScheduleOrCycle: when the start of the last cycle was induced / -1=InducementOfPredessessor: when the last task or subschedule (based on the 'Position') of the previous cycle was induced. items of sub-schedules are not relevant - when addressing a sub-schedule as predecessor, then only its entry will be used this behaviour can be concretized via 'ReschedulingByEstimate'
TaskCycleDefinition.ReschedulingOffset (Field)
estimated scheduling time relative to the ReschedulingBase
TaskCycleDefinition.ReschedulingOffsetUnit (Field)
'h'=Hours / 'm'=Minutes / 's'=Seconds
TaskCycleDefinition.CycleLimit (Field)
number of cycles (of null for a infinite number of cycles)
- this field is optional, so that 'null' values are supported
TaskCycleDefinition.ReschedulingByEstimate (Field)
If set to true, the offset calculation will be based on the ESTIMATED completion of the predecessor (see 'Fixpoint'). Otherwise, when set to false, the offset calculation will be based on the REAL completion (if recorded execution data is available during calculation) of the predecessor. *this will not evaluated, when the 'Fixpoint' is set to 0!
TaskCycleDefinition.IncreaseTaskNumberBasePerCycle (Field)
-1: automatic, based on the usage of task numbers within the schedule
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
TaskSchedule | Parent | TaskSchedule | 0/1 (optional) |
TaskSchedule (parent of this TaskCycleDefinition)
Target Type: TaskSchedule Addressed by: TaskScheduleId.
TreatmentTaskDefinition
Fields
Name | Type | Required | Fix |
---|---|---|---|
TaskDefinitionName (PK) | string (50) | YES | no |
StudyWorkflowName (FK) | string (100) | YES | no |
StudyWorkflowVersion (FK) | string (20) | YES | no |
BillablePriceOnCompletedExecution | decimal | no | no |
ShortDescription | string | YES | no |
TaskSpecificDocumentationUrl | string | no | no |
TreatmentDescription | string | YES | no |
ImportantNotices | string | no | no |
Unique Keys
- TaskDefinitionName (primary)
TreatmentTaskDefinition.TaskDefinitionName (Field)
Name of the Definition - INVARIANT! because it is used to generate Identifers for induced executions!
- this field represents the identity (PK) of the record
- the maximum length of the content within this field is 50 characters.
TreatmentTaskDefinition.StudyWorkflowName (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 100 characters.
TreatmentTaskDefinition.StudyWorkflowVersion (Field)
- this field is used as foreign key to address the related 'ResearchStudy'
- the maximum length of the content within this field is 20 characters.
TreatmentTaskDefinition.BillablePriceOnCompletedExecution (Field)
- this field is optional, so that 'null' values are supported
TreatmentTaskDefinition.TaskSpecificDocumentationUrl (Field)
- this field is optional, so that 'null' values are supported
TreatmentTaskDefinition.ImportantNotices (Field)
- this field is optional, so that 'null' values are supported
Relations
Navigation-Name | Role | Target-Type | Target-Multiplicity |
---|---|---|---|
Inducements | Referers | InducedTreatmentTask | * (multiple) |
ResearchStudy | Parent | ResearchStudyDefinition | 0/1 (optional) |
Inducements (refering to this TreatmentTaskDefinition)
Target: InducedTreatmentTask
ResearchStudy (parent of this TreatmentTaskDefinition)
Target Type: ResearchStudyDefinition Addressed by: StudyWorkflowName + StudyWorkflowVersion.