National Cancer Institute   U.S. National Institutes of Health www.cancer.gov
caBIG® Knowledge Center: A part of the Enterprise Support Network

CCTS Hotlink Architecture

From CTMS_WIKI

Jump to: navigation, search

Contents

Introduction

Background

The caBIG Clinical Trials Suite (CCTS) is an enterprise clinical trials system being designed primarily for use in trial sites. The suite is comprised of a collection of interoperable modules covering a broad range of key areas in cancer clinical trials management. These include patient registration via C3PR, patient scheduling via PSC, adverse events reporting via caAERS, lab analysis via LabViewer, and clinical data management via C3D. Integration between these applications is centered around five key scenarios: Study Creation, Register Subject, Load Labs in CDMS, Lab-driven AE Creation, and AE-Triggered Schedule Change. The implementation is based upon the caGrid infrastructure with caXchange as the Enterprise Service Bus for reliable message routing and GAARDS providing robust security.

Scope

One of the primary interoperability requirements of the caBIG Clinical Trials Suite (CCTS) is to be able to link from one application to another. The link must take the user to a particular page in the target application based upon the context of where the user was in the source application. For example, if the user is looking at a subject on a study in the source application, the inter-application link should take the user to the same subject on the same study in the target application. This is known in the larger technical community as deep linking. In CCTS, it is termed hot-linking because the link may contain other contextual information, such as security information.

In addition, users have different requirements for how windows should behave when linking between applications. There are a handful of common approaches:

  1. Links act as regular hyperlinks and replace the current application with the linked application
  2. Links always open into new windows
  3. Links to specific applications always open in the same window, e.g. a link to app C from app A and app B both would appear in the same window outside of the app A and app B window

This document is a work in progress used strictly for planning for the CCTS 2.0 release. Up until that release, it could be altered in any way.

Related Documentation

End User Technical CCTS Architecture Guide
Analysis Planning

Requirements

Req. ID Requirement Description
CCTS-HOTLINK-001 Applications must be able to link between each other (known as hot-links)
CCTS-HOTLINK-002 Hot-links must be able to maintain context between applications, e.g. hot-linking from a subject in one application should bring the user to the same subject in the other application
CCTS-HOTLINK-003 Hot-links should be plain HTML links
CCTS-HOTLINK-004 Hot-links should be maintained across versions of an application
CCTS-HOTLINK-101 It must be possible to customize whether a hot-link replaces the current window or opens a new window
CCTS-HOTLINK-102 When hot-links open a new window, it must be possible to customize the hot-link such that hot-links to one application always open in that window
CCTS-HOTLINK-103 When hot-links open a new window, the new window should gain focus in the browser

Architecture

Hot-links

Inter-application links accept a well-defined set of parameters for the HTTP request such that particular parts of the application can be linked into. The format is:

BASE_URL/RESOURCE?PARAMS

The parts of this link are:

  • BASE_URL: the URL that the web application can be found on (e.g. https://someserver:8080/caaerswebapp
  • RESOURCE: each application will support any number of published resources as extra parts appended to the BASE_URL (e.g. /study/subject, /study/template, etc.). These will be guaranteed to be maintained from version to version of the application. Changes will have to be approved by CCB.
  • PARAMS: the set of parameters used by the application to render the resource appropriately. These have standard names for shared concepts, including:
    • studySubjectGridId: the grid identifier for the study subject

Published Links

Application Resource Parameters
C3PR NONE
PSC /pages/cal/schedule assignment (required)
caAERS /pages/ae/list studySubjectGridId (required, from LabViewer)
caAERS /pages/ae/list assignment(required, from C3PR)
LabViewer /studysubject studySubjectGridId (required)
C3D NONE

Extensions

In the future, an architecture where there is a centralized hot-link router will be investigated.

Windowing

CCTS provides for a customizable hot-link windowing approach. Administrators can not only configure the URL of hotlinks, but also the window name. The following options are available for each type of hotlink:

  • _blank: always opens into a new window
  • _self: always replaces the current window
  • NAME: opens into a specific window, replacing the contents

The following window NAMES corresponding to the applications are used as defaults:

  • caaers
  • c3pr
  • psc
  • labviewer
  • c3d

By leveraging JavaScript, the window of NAME not only opens in the same window (which should be handled by the browser), but also gains focus and comes to the front of the other windows.

In addition, detailed window titles are provided for users to be immediately oriented to what is contained in each tab or window. Each application implements the following window title convention:

  • APP - DETAILS

where APP is the acronym of your application (e.g. caAERS, C3PR, Labviewer, PSC) and DETAILS describes the current page a user has open. The following DETAILS are provided:

  • FIRSTNAME LASTNAME (MRN) - SHORTTITLE (COORDINATING STUDY ID)
  • SHORTTITLE (COORDINATING STUDY ID)
KC Projects