Implementation/Design Specification

for

Product CTOMViewer Version 0.5

Last Updated: February 21, 2007

Author: Harsh Marwaha

Email: marwahah@mail.nih.gov

National Cancer Institute Center for BioInformatics

6116 Executive Blvd.

Rockville, MD 20852

![](media/image1.png){width="1.5729166666666667in"
height="1.0291666666666666in"}

[**1** **Document Purpose 4**](#document-purpose)

[2 Implementation Overview 5](#implementation-overview)

[2.1 Description 5](#description)

[2.2 Scope 5](#scope)

[2.3 Architecture 5](#architecture)

[2.4 Assumptions 5](#assumptions)

[2.5 Dependencies 5](#dependencies)

[2.6 Issues 5](#issues)

[2.7 Third Party Tools 5](#third-party-tools)

[3 Implementation Contents 7](#implementation-contents)

[3.1 Server 7](#server)

[3.1.1 Error Handling 7](#error-handling)

[3.2 Client 7](#__RefHeading___Toc154569058)

[3.2.1 JSP/HTML 7](#jsphtml)

[3.2.2 Error Handling 8](#error-handling-1)

[3.3 Security Issues 8](#security-issues)

[4 CTOM Viewer Screens 9](#ctom-viewer-screens)

[4.1 Login Screen 9](#login-screen)

[4.2 Welcome Screen 10](#welcome-screen)

[4.3 Select Protocol Report 11](#select-protocol-report)

[4.4 Participant Accrual 12](#participant-accrual)

[4.5 Participant Retention 13](#participant-retention)

[4.6 Eligibility Details 14](#eligibility-details)

[4.7 Off Study Details 15](#off-study-details)

[4.8 Protocol Progress Report 16](#protocol-progress-report)

[4.9 Disposition Details 17](#disposition-details)

[4.10 Participant Response Details 18](#participant-response-details)

[4.11 Select Adverse Event Report 19](#select-adverse-event-report)

[4.12 Adverse Event Detailed 20](#adverse-event-detailed)

[4.13 Adverse Events Summary by Grade
21](#adverse-events-summary-by-grade)

[4.14 Select Treatment/Response Report
22](#select-treatmentresponse-report)

[4.15 Best Response Report 23](#best-response-report)

[4.16 Off Study Adverse Events 24](#off-study-adverse-events)

[4.17 Select End Point Report 25](#select-end-point-report)

[4.18 Patient Survival Report 26](#patient-survival-report)

[4.19 Disease Progression Report 27](#disease-progression-report)

[4.20 Participant Data 28](#participant-data)

# Document Purpose

This document specifies the implementation details of the CTOM Viewer
application.

# Implementation Overview

## Description

CTOM Viewer application provides a secured web-based view to the CTOM
data. It uses the CTOM-API for access to the CTOM database. This
application implements use cases defined in the CTOM Viewer potential
use case document. J2EE technology will be used to implement this
application. CTMS 3.12 data transfer specification manual was used as a
source for coded data descriptions.

## Scope

This document is limited to providing a specification for the CTOM
Viewer application.

## Architecture

The following diagram shows the various high level components used in
the CTOM Viewer application:

![](media/image2.jpeg){width="6.496527777777778in"
height="4.909027777777778in"}

## Assumptions

-   Coded data descriptions will be hard coded into the CTOM Viewer
    application for the current release, since descriptions are not
    currently available in the CTOM database. CTMS 3.12 Data transfer
    specifications manual is used to define the code descriptions.

-   CTOM API URL will be included in the war file. So changing the
    application data source between CTOM and Janus will require
    redeploying the application.

## Dependencies

-   Mapping from the CTOM model to the Janus database. This mapping is
    required for the CTOM Viewer application to use the CTOM API to
    access the Janus database.

-   Common Security Module implementation of the security requirements
    for the CTOM Viewer application.

## Issues

## Third Party Tools

-   Ant 1.6.5

-   Hibernate 3.1

-   Struts Framework Version 1.2.9.

-   Spring framework version 1.2.7.

-   Castor framework version 1.0.2.

-   Junit version 3.8.1

-   Log4j version 1.2.13

# Implementation Contents

## Server

The viewer application will use the CTOM API to retrieve data. An ant
build script will be provided to build a war file for the application.
The url for the CTOM API will be a parameter to the build file. Changing
the application to point to a different database will required creating
a new war file.

CTOM API hql (hibernate query language) will be used to retrieve
summarized data using CTOM API's hql interface. A sample hql query for
returning summarized data:

Select ae.ctcCategoryCode,ae.ctcGradeCode, count(ae

from AdverseEvent ae

where ae in

(select ass

from Assessment ass

join ass.observationCollection as o

join o.activity as act

join act.studyParticipantAssignment as spa

join spa.studySite as ss

join ss.protocol as p

where ass.subtypeCode=\'ADVERSE_EVENT\')

group by ae.ctcCategoryCode, ae.ctcGradeCode

Castor XML data binding framework will be used to generate XML from the
data.

### Error Handling

Log4J will be used for logging errors on the server. This can be
configurred on the server to be redirected to a particular log. The main
package of the application is gov.nih.nci.ctom. All log4j Loggers will
be created under this package. All application exception conditions will
be logged.

## Client

### JSP/HTML 

The following jsp pages will be created as the first version of this
application. The names are hyperlinked to the actual images of the pages
included at the end of the document.

-   [Login](#login-screen)

-   [Welcome](#welcome-screen)

-   [Select Protocol Report](#select-protocol-report).

-   [Protocol -\>Participant Accrual Report](#participant-accrual).

-   [Protocol -\>Participant Retention Report.](#participant-retention)

-   [Eligiblity Details](#eligibility-details)

-   [Off Study Details](#off-study-details)

-   [Protocol -\>Progress Report](#protocol-progress-report).

-   [Select Adverse Event Report.](#select-adverse-event-report)

-   [Adverse Event -\>Detailed Report](#adverse-event-detailed)

-   [Adverse Event -\> Summary by
    Grade.](#adverse-events-summary-by-grade)

-   [Adverse Event -\> Summary by
    Attribution](#adverse-events-summary-by-grade).

-   [Select Treatment/Response
    Report](#_Select_Treatment/Response_Report)

-   [Best Response Report](#best-response-report)

-   [Off Study Adverse Events](#off-study-adverse-events)

-   [Select End Point Report](#select-end-point-report)

-   [Participant Survival](#patient-survival-report)

-   [Disease Progression](#disease-progression-report)

-   [Participant Data](#participant-data)

### Error Handling

Users will receive a message explaining all user errors on the screen
they are currently working on.

Application errors will be logged and an error page will be presented to
the user. Users can navigate back to the application from the error
page.

## Security Issues

Common Security Module CSM will be used to implement security along with
the user-provisioning tool. The viewer application will use the CSM API
to restrict access to the application. CSM API will be used for
authentication at the ctom viewer level. Authorization will be delegated
to the CTOM api which will be integrated with CSM API to secure access
to the data. Please refer to the CSM implementation for CTOM document
for details.

# CTOM Viewer Screens

## Login Screen

![](media/image3.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Welcome Screen

![](media/image4.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Select Protocol Report

![](media/image5.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Participant Accrual

![](media/image6.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Participant Retention

![](media/image7.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Eligibility Details

![](media/image8.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Off Study Details

![](media/image9.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Protocol Progress Report

![](media/image10.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Disposition Details

![](media/image11.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Participant Response Details

![](media/image12.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Select Adverse Event Report

![](media/image13.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Adverse Event Detailed

![](media/image14.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Adverse Events Summary by Grade

![](media/image14.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Select Treatment/Response Report

![](media/image15.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Best Response Report

![](media/image16.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Off Study Adverse Events

![](media/image17.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Select End Point Report

![](media/image18.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Patient Survival Report

![](media/image19.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Disease Progression Report

![](media/image20.png){width="6.495833333333334in"
height="4.490972222222222in"}

## Participant Data

![](media/image21.png){width="6.495833333333334in"
height="4.490972222222222in"}

  -----------------------------------------------------------------------
  END OF DOCUMENT

  -----------------------------------------------------------------------