We are currently working on the forum. For the short-term, all forum content will be in read-only format. We apologize for the interruption and look forward to collaborating with you shortly. All the best in your research!

Show/hide or lock CRFs based on values of a different crf

Hello everyone,

I have a question regarding the handling of case report forms.

Is it feasible in OC 3.2 to show/hide or to lock a crf based on the value of an item from another crf?

I only found these two posts in the forum:

The second post suggests to use a DiscrepancyNoteAction rule.
I was wondering if anyone can give an example of how to achieve this?

My workaround so far is a rule with an insertaction that transfers a calculated value from crf1 to crf2 (=unscheduled events). Based on this value a simple_conditional_display shows or hides the items on crf2. The problem, though, is that one has to save the crf2 first and after re-opening crf2 the "filter" is applied so that only the necessary items are shown (based on the calculated value) and a "correct" (=i.e. not all items) data entry is then possible.
It would be better to have crf2a and crf2b and based on the calculated value of crf1 either crf2a or crf2b is shown.

Has anyone achieved this procedere and can give some information/example on how to do this?
Or why do I have to save the crf2 first before the "filter" of the items is applied?

I hope that someone can help.

Many thanks in advance!


  • jmacminn1jmacminn1 Posts: 18
    Hi Philipp,

    Unfortunately, it is not currently possible show/hide or lock an entire CRF based on an Item in a CRF. There may, however, be a few useful workarounds for you.

    The approach you described above, using an InsertAction Rule and then Simple Conditional Displays, does sound like a feasible approach. You mentioned that you must click save and exit the form before the "filter" will be applied. I am assuming this is due to a calculated field, which will not calculate until the user clicks save. Is this correct? If so, you may want to try using multiple sections. If the fields are moved to the next Section of the CRF, then you may be able to prevent the form from exiting entirely.

    To build upon that, would it be possible to instead hide all items in CRF 2 except one leading question? This would eliminate the need for the InsertAction Rule and having to click save. This question could then be the trigger (whether you decide to use Simple Conditional Displays or ShowAction Rules) for all other items in the CRF. If one option is selected, Group A questions are visible. If the other option is selected, Group B questions are visible.

    Trial Data Solutions has some great links for using Simple Conditional Displays and ShowAction Rules:

    I hope this helps!

  • GerbenRienkGerbenRienk Posts: 838 ✭✭✭
    Hi Philipp,
    Further to Jessica's answer: say your CRF has three sections: one with leading question, say Visitdate. Then a second one with the items for Treatment, which are all member of Non_repeating  Group TR, which has a default status of hidden. The third section is for Group2, the Non-treatment, which has all items member of Non_repeating Group NonTR, also with default status hidden.
    Now you can use the attached Rule-file, where based on the answer to the Visitdate and the answer from Group CRF, which can be in a different Event, either Group TR or Group NonTR is shown. You want this to happen all the time, so you check for VisitDate is empty or not empty, which equals to always.
    Hope this helps,
    Gerben Rienk

This discussion has been closed.