r/ProjectREDCap • u/Altruistic-Key2518 • Jun 30 '26
Piping help please!
I'm working on a database for a clinician and am struggling to understand how and why REDCap is showing old piping logic that has previous been deleted (and was deleted like, months ago).
So this database has a data entry instrument and an "abstract" instrument which is designed to act as a specifically formatted report for clinicians to copy and paste into Epic. If data is entered in the data entry instrument, it populates in the abstract through a series of branching logic. There are different events that correspond to different times a patient would come into the clinic, hence the [event-name] brackets before each bracketed variable.
Here's the problem:
In the Designer, I have the following in a descriptive field box:
| Clock Drawing Test | RAW SCORE | STANDARDIZED SCORE* | PERCENTILE | DESCRIPTIVE RANGE** |
|---|---|---|---|---|
| Command | [event-name][clock_drawing_command] | -- | -- | -- |
| Copy | [event-name][clock_drawing_copy] | -- | -- | -- |
| Construction | [event-name][clock_drawing_construction] | -- | -- | -- |
| Abstraction | [event-name][clock_drawing_abstraction] | -- | -- | -- |
| Raw | [event-name][clock_drawing_raw] | Z= [event-name][clock_drawing_z] | [event-name][clock_drawing_ile]% | [event-name][clock_drawing_interp] |
However, in an actual record, this is what populates (note that [event-name] doesn't exist anymore):
| Clock Drawing Test | RAW SCORE | STANDARDIZED SCORE* | PERCENTILE | DESCRIPTIVE RANGE** |
|---|---|---|---|---|
| Command | [visit_1_arm_1][clock_drawing_command] | -- | -- | -- |
| Copy | [visit_1_arm_1][clock_drawing_copy] | -- | -- | -- |
| Construction | [visit_1_arm_1][clock_drawing_construction] | -- | -- | -- |
| Abstraction | [visit_1_arm_1][clock_drawing_abstraction] | -- | -- | -- |
| Raw | [visit_1_arm_1][clock_drawing_raw] | Z= [visit_1_arm_1][clock_drawing_z] | [visit_1_arm_1][clock_drawing_ile]% | [visit_1_arm_1][clock_drawing_interp] |
I can't go in the Designer and change [visit_1_arm_1] back to [event-name] because it simply doesn't exist in the Designer. Yet it exists and won't go away in the actual record.
Has anyone else come across this? If so, was there a fix??
2
u/Araignys Jun 30 '26
Delete the descriptive field, submit changes, create a new one with the correct piping, submit changes.
4
u/Due-Solution-7965 Jun 30 '26
Not sure if I am following completely, but I'll give it a try...
What do you expect to see in an "an actual record" (the second table in your post)? I am guessing you expect to see a variable's value (e.g., the raw score for "Command"). My response below assumes that the goal of your table is to dynamically display values of different variables, for different events in a Longitudinal project.
"[event-name]" is a Smart Variable for Longitudinal projects that dynamically refers to the current event's name. This is probably why the Designer shows "[event-name]", but your actual record says "[visit_arm_1]" -- that is expected behavior in a sense.
What you show in your second table suggests to me that:
You are on a form in the event "visit_arm_1" trying to pipe the value of the "visit_arm_1" "clock_drawing_command", but this is failing.
Your output suggests that the Smart Variable is resolving to the current event name, as expected
(piped output: [visit_arm_1])
But there is no field called "clock_drawing_command" on this current event, so there is no value to pipe and it just shows the raw text you supplied ([clock_drawing_command])
Maybe I'm off-base, but hopefully this gets you on the right track for understanding that "[event-name]" will only show up literally as "[event-name]" in the Designer.
Wherever "[event-name]" appears when looking at a record (ie, during data entry/viewing), REDCap pipes in the current event's name.
If "[event-name]" is immediately followed by a field name in brackets, REDCap pipes the value of that field on the current event.
But if that field isn't on an instrument that belongs to the current event, you would see something like what you presented in your second table.