Placeholders & Counters
Placeholder | Description | Usable for Title of ProcedureSchdeule = PSE bzw. PPSE | Usable for ExecutionTitle of Vists =PE** | TaskSchedule | TaskExecution =TE |
---|---|---|---|---|---|
{D} / {d} | Total days since the StudyParticipation (=root Schedule) has been started Always based on estimated begin of the cusomer - nerver on a recorded!!!! Sample usage: "Visit [Y{Y}-]X" will render "Visit X", "Visit Y2-X", … | ||||
{FW} / {fw} | Full weeks since the StudyParticipation (=root Schedule) has been started (will increment in a 7-day interval relative to entry date) Always based on estimated begin of the cusomer - nerver on a recorded!!!! | ||||
{W} / {w} | WeekNumber (will increment on each Sunnday) Always based on estimated begin of the cusomer - nerver on a recorded!!!! | ||||
{M} / {m} | Month-number since the StudyParticipation (=root Schedule) has been started (monath-changes are in sync with the regular month = relative to the 1. of every monath) Always based on estimated begin of the cusomer - nerver on a recorded!!!! | yes | yes | ||
{Y} / {y} | Year-number since the StudyParticipation (=root Schedule) has been started (year-changes are in sync with the regluar motnhs = relative to the 1. of every monath) Always based on estimated begin of the cusomer - nerver on a recorded!!!! | yes | yes | ||
{SBD} | Begin of study (only date) | ||||
{#X} / {#x} | CUSTOM "on demand" on usage!!!!!!!!! Can be scoped using @ : {#x@SEN+CY} will count each use scoped to schedule execution & cycle | yes | yes | ||
{ARM} | ArmName | yes | yes | ||
{SUB} | Sub-Study Name (if the current Execution Tree is running under context of a sub-study) | ||||
{EN} | Name of the Event which induced the current Execution (if it was triggered by an event) | ||||
{ET} | Date and Time of the Event which induced the current Execution (if it was triggered by an event) | ||||
{PPSE} | Parent PrcedureSchedule uniqueExecutionName (if exists) | yes | yes | no | |
{PPSW} | parent PrcedureScheduleDefinitionUid (if exists) | yes | Yes | yes | yes |
{PPSC} / {ppsc} | The current cycle of the parentschedule (not inheritd) | yes | |||
{PSE} | PrcedureSchedule uniqueExecutionName | <<< DEFINES | |||
{PSW} | PrcedureSchedule workflowname | Yes | |||
{PSC} / {psc} | The current cycle of the current schedule (not inheritd) | yes | |||
PSED | Prcedureschedulebegindate (always estemeted - recoding ignored) | ||||
PSCD | Procedureschedule clycle begn date (always estimated!!! - recoding ignored) | ||||
{#} | VisitNumber!!!! Based on the Counter-model within the workflow | ||||
{V} / {v} =v@s | Schulude-übergreifend (=alle sisits eines participants) | Yes | |||
{V@pSD} / {vsd} | Innerhalb einen schedule definition (abarbeitungs und cycle-übergeifned) | Yes | |||
{v@pse} | "Visits-@Current-ProcedureScheduleExecution" Innerhalb einer einzigen schdeule abarbeitung (aber cycle übergreifend) | Yes | |||
{v@psc} {VSC} | Innerhalb einers einzigen clycles einer konkreten schdeule abarbeitung | Yes | |||
v@M | Viisits innerhalb eines monats (sieh m) | ||||
v@Y | Viisits innerhalb eines jahres (siehe Y) | ||||
{v@pd} | Viisits ein und des selbsen prcedure-definition | Yes | |||
{PD} | VisitProcedure -> InvariantDefinitionName | Yes | |||
{PED} | Visit procedure execution date ESTIMATED!!!! | ||||
{PEDR} | Visit procedure execution REAL date can change when data is recorded! *NOT RECCOKMENDED | ||||
{PE} | VisitProcedure -> UniqueExecutionName | <<< DEFINES | |||
{PTSE} | Parent PrcedureSchedule uniqueExecutionName (if exists) | ||||
{PTSW} | parent PrcedureScheduleDefinitionUid (if exists) | ||||
{PTSC} | The current cycle of the parentschedule (not inheritd) | ||||
{TSE} | TaskSchedule uniqueExecutionName | - | <<< DEFINES | ||
{TSW} | TaskScheduleDefinition workflowname | ||||
{TSC} | The current cycle of the current schedule (not inheritd) | ||||
TSET | Schedule executionbegintime (always estemeted - recoding ignored) | ||||
TSCT | clycle begn time (always estimated!!! - recoding ignored) | ||||
{!} | TaskNumber | ||||
{T@S} / {t@s} | Task of Study (scoped to the current substudyORarm) (komplett übergreifen für alle vists des patienten | yes | |||
{T} / {t} =t@P | Schedule-übergreifend (=alle tasks eines procedurte ausführung) | yes | |||
{t@tsd} | Innerhalb einen schedule definition (abarbeitungs und cycle-übergeifned) | ||||
{t@tse} | Innerhalb einer einzigen schedule abarbeitung (aber cycle übergreifend) | ||||
{t@tsc} | Innerhalb einers einzigen clycles einer konkreten schdeule abarbeitung | ||||
{t@td} | Tasks ein und des selbsen task-definitioon | ||||
{TD} | taskdefinitionname | ||||
{TET} | Task executionbegintime (and date) ESTIMATED!!!!!!! | ||||
{TE} | taskexectuonname | <<< DEFINES |
When cycling is enabled then the UniqueExecutionNamePattern needs to contain the {cy} or {CY}! If not, an automatic fall back will append "@{CY}" before resolving!!!!
Formatting Numeric Placeholders:
Zero based counters vs starting at 1
Sample | Results |
---|---|
{psc} | Counter name in lower casing indicates start at 0: (0, 1, 2, 3, …) |
{PSC} / {Psc}* | Counter name in upper casing indicates start at 1: (1, 2, 3, 4, …) |
*For a Counter name in mixed casing there will only the casing first Letter be evaluated!
Important: the casing is just something like formatting, which means that we have only one counter instead of two!
Ignoring the fact, that ist wont make much sense to use the lower case placeholders {vp} in combination with the upper case placeholders, the counter will increase synchronously!
Formatting: leading zeros
Can be applied by specifying the minimum count of digits
Sample | Results |
---|---|
{D} | 1, 2, 3, … |
{d} | 0, 1, 2, … , 10, 11, … |
{d:2} | 00, 01, 02, … , 99, 100, 101, … |
{d:3} | 000, 001, 002, … , 999, 1000, 1001, … |
Formatting: to be Alphanumeric
0="";
Sample | Results |
---|---|
{t:a} | "", a, b, … ("House-Number" style) |
{t:A} | "", A, B, … |
{T:a} | a, b, c, … |
{T:A} | A, B, C, … |
Overflow "like Excel": A,B,…,X,Y,Z,AA,AB,AC,…,AY,AZ,BA,BB,BC,…
Formatting: Date/Time Placeholders
As usual
Details for Date-based variables yyyy-MM-dd
Default for time-based variables (on task-level) is HH:mm:ss (without a date information)
IS DEFAULT, if there is no date part
Optional Blocks based on Placeholders
Using [ ] around a placeholder defines, that the placeholder should only be inserted from the second value of a counter.
This means, that only the first occurrence will not contain a value for this placeholder. In addition to that, a custom sequence of characters can be applied between the outer and inner brackets which also be suppressed when the placeholder is suppressed. Block can also be used for other placeholders which have in a DEFAULT value, .
For numeric values (as counters/cycles) is it the First Number is the "DEFAULT"
For text-based placeholders is it the empty string "" - for example the current sub study name "{SUB}"
For special datetime values which can be null (for example the time of a trigger-event "{ET}"), the null is used as "DEFAULT"
Sample | Results |
---|---|
[{V}] | "", "2", "3", … |
[{v}] | "", "1", "2", … |
TaskX[-{T:a}] | "TaskX", "TaskX-b", "TaskX-c", … |
TaskX[-{t:a}] | "TaskX", "TaskX-a", "TaskX-b", … |
V0[-{v}] | "V0", "V0-1", "V0-2" |
[C.{PSC:2}-]Screening | "Screening", "C.02-Screening", "C.03-Screening" |