We hope you'll join us for our 4/23 webinar on using data tables to apply reference ranges and AE codes in OC4. For more information and to register, visit https://register.gotowebinar.com/register/2882170018956684555


Hi, Still quite an OpenC novice, saw this online....

For recording of adverse events and concomitant medications it is advised not to design the OpenClinica Events as repeating; the event repeats (or Event occurrences) will get a number and it is not clear for the data entry person which AE/con-med belongs to which number. Instead, it is advised to implement repeating item group(s) in the AE/con-med Crf to be able to record multiple AEs/con-meds for one subject and add this Crf to a non-repeating event

I do not have the OC knowledge to critique the veracity of the above, in fact I must admit I do not 100% understand it - please may anyone explain what it means & confirm this is indeed the case for best-practices?

Many thanks in advance for any assistance.


  • lindsay.stevenslindsay.stevens Posts: 404 ✭✭✭
    via Email
    It looks like this is from the ctmm trait guidance.
    The problem is that repeating events are represented in the ui by their
    repeat number. To find out what data is in each event repeat you have to
    browse the CRFs in each one.

    There is currently no mechanism for labeling event repeats, e.g. by
    displaying a particular crf item or items that indicate what the contents
    of the event are. If such a thing existed maybe you'd label adverse event
    repeats by the AE term.

    The alternative design suggested is to use repeating item groups in a crf
    to capture this data, which allows the user to see all AE data at once. The
    drawback is that repeating item groups have a fixed row layout, so if you
    have many items for each AE, the crf is vastly horizontal. They also do not
    have skip functionality.

    Skips are important to AE data because there's often a lot of conditionally
    required data. So to get around the event repeat labeling issue, you'd need
    some way to better communicate which event repeats contain which data. This
    could be achieved using a regularly distributed report, or by using
    JavaScript embedded in a report-like crf which displays data retrieved
    using the REST api.

    I think at the upcoming OC conference there will be some discussion on UI.
    Hopefully something like event repeat labeling from crf data is being
    considered, because this situation is probably quite common and it would be
    preferable to not have to make these compromises.
  • lindsay.stevenslindsay.stevens Posts: 404 ✭✭✭
    via Email
    This is a reply to a PM, copied at the end. Spent a while typing it out so
    posting on the original thread.

    Adverse events (AEs) are medical problems that sometimes happen during a
    study. On certain types of studies, there can be many AEs. Often, a
    participant will have multiple AEs of the same type at different times.

    So imagine you have 10 AEs to record, and each one has about 15 facts you
    need to know, like the diagnosis, start date, end date, severity, etc.

    In OpenClinica, these facts are represented as "items", which may be a text
    field, a date, a list of choices, etc. One or more items are collected
    together into "item groups". In turn, a case report form "CRF" is a
    collection of one or more item groups. Item groups may allow just one value
    for each item per CRF, and if so the item group is "non-repeating". Or, an
    item group may allow up to 50 values for each item, and if so the group is

    When an item group is non-repeating, the items are displayed in the CRF
    vertically down the page. For this kind of item group you may define simple
    conditional displays ("skips"), which show or hide an item based on the
    value of another item in the group. For example, the AE stop date is not
    relevant to show to users if the AE is still ongoing, so you might want to
    only show it if the selected AE status is resolved. If you put the 15 AE
    facts / items in the non repeating group, you'll be limited to one AE per
    copy of the CRF (more on this later).

    When an item group is repeating, the items are displayed horizontally
    across the page, much like a spreadsheet. This feature does not allow
    skips. That's not the end of the world, you just end up relying more on
    other data cleaning strategies like instructions, user training,
    monitoring, programmed rules, statistician review, etc. But it is less
    intuitive for the users, without skips. On the plus side, they can see all
    the data on the one page and it is all in one place. So for the 10 AEs with
    15 facts, there are 15 item group columns with 10 rows of data.

    Now again, one or more CRFs may be in turn collected into an "event". A CRF
    may only be completed once per event. Finally, a "study" is a collection of
    one or more events. Each participant then completes the relevant parts of
    the study. Although, typically it is clinical staff that enters data on
    behalf of the participant.

    Like item groups, events may be repeating or non-repeating. The properties
    of an event that are easily visible in the main interface (the "subject
    matrix"), include the event start and stop dates. If the event is
    repeating, you also see the repeat number, which increments up from 1.

    So say you decide to put the AE items in a non-repeating item group in a
    CRF that is part of a repeating event. Now you can collect data for all 10
    AEs, by creating 10 event repeats and putting one AE per event. Good.

    However, say there is a problem. You forgot to finish entering all the
    details for the headache and vomiting AEs. That's OK because right now you
    know which is which just by the order, you entered the headache 5th and
    vomiting 9th. But say you forgot for two weeks, and in the meantime you've
    been entering AE data for 20 other subjects. Now to find your AEs you have
    to open each event CRF and check the data until you find them.

    Wouldn't it be easier if you could designate the AE term to be shown with
    the other event properties, so you can see which event has the headache
    details inside without having to open each one? This is not currently
    possible, but I think it would be useful.

    Maybe instead, you could export the data every once in a while, so users
    can refer to a report listing the AEs, to help find the right event.

    Or maybe you could make a special CRF that can display data from other
    CRFs. This CRF would act like the export report. The CRF would need a
    little bit of fancy programming to do this though. It is possible to put
    JavaScript in the CRF definition such that when the CRF is viewed, the code
    will be run. In OpenClinica, there is a special interface (REST API) that
    just gives out CRF data, instead of a nicely presented form page.
    JavaScript can request CRF data, and use it to modify the CRF page to
    present the data. In this case, maybe the modification would be to add a
    list of the 10 AE terms with a link to each one.

    If any of this is still unclear then please be specific.

    Reply to PM

    Please may i thank you first of all for taking the time to read and respond
    to my post on the OpenClinica forum - very kind of you.

    With sincere apologies, I wonder if I could ask you if you would be
    agreeable to private mailing me the essence of your explanation in the most
    basic laymen's terms possible.

    At my level of knowledge within OC (not set up or conducted a live study as
    yet) I am afraid some of the terminology was lost on me.

    Please accept once again my apologies for asking this, the fault is
    completely mine, I am sure 99% of the forum contributors would know exactly
    what you mean.

    Thank you in advance and apologies for any inconvenience.

  • HullHull Posts: 4
    Thank you very much for all the time you took in typing out a detailed and more basic explanation - such endeavour really is 'above and beyond......' etc - and I really appreciate it :-)
This discussion has been closed.