9. Design Matrix Realization - Cancer Trials Support Unit

tendencyrheumaticInternet και Εφαρμογές Web

12 Νοε 2013 (πριν από 3 χρόνια και 5 μήνες)

144 εμφανίσεις



System Doc



tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
1

of
70

Copyright © Westat,
2008


Document Information
:

Sponsor/Owner

NCI

Protocol/Project

CTSU

Function/System

Oncology Patient Enrollment Network (OPEN)

Document

OPEN Portal
System
Design

Document Revision History:

Version

Date (yyyy
/
mm
/
dd)

Editor

Description

1.0

2008/
0
7
/
02

Kasi Per
umal

Initial Version

1.1

2008/0
9
/
02

Kasi Perumal

Added in technical elaborations with screen shots

1.2

2008/09/11

Kasi Perumal

Updated system requirements






Approvals:




Project Manager / person


Date




Development Manager / person


Date




I
T Director / person


Date


tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
2

of
70

Copyright © Westat,
2008


Table of Contents

1.

R
EFERENCES

................................
................................
................................
.............

5

2.

D
EFINITIONS
,

A
CRONYMS
,

AND
A
BBREVIATIONS

................................
...........................

5

3.

I
NTRODUCTION

................................
................................
................................
...........

6

4.

S
COPE AND
P
URPOSE
................................
................................
................................
.

6

5.

R
EQUIREMENTS

................................
................................
................................
..........

6

6.

D
EVELOPMENT
I
NFORMATION

................................
................................
......................

6

6.1

System Information

................................
................................
................................
..........

6

7.

D
ATA
M
ODEL
................................
................................
................................
..............

7

8.

D
ESIGN AND
D
EVEL
OPMENT

................................
................................
........................

8

8.1

Design Matrix

................................
................................
................................
...................

8

8.2

Design Matrix Details

................................
................................
................................
.......

8

8.3

Assumptions and Outstanding Issues

................................
................................
............

10

9.

D
ESIGN
M
ATRIX
R
EALIZATION

................................
................................
....................
10

9.1

D1.1


System Login

................................
................................
................................
......

10

9.1.1

Domain(s)

................................
................................
........
11

9.1.2

Java Server Page(s)

................................
..........................
11

9.1.3

Process Flow Diagram

................................
.....................
11

9.1.4

Sequence Diagram

................................
...........................
11

9.2

D1.2


Alternate System Login

................................
................................
......................

12

9.2.1

Process Flow Diagram

................................
.....................
13

9.3

D1.3


System Timeout
................................
................................
................................
..

13

9.3.1

Process Flow D
iagram

................................
.....................
14

9.4

D2.1


OPEN Context

................................
................................
................................
....

14

9.4.1

OPEN Context Object Model

................................
..........
16

9.4.2

Java Server Page(s)

................................
..........................
16

9.5

D2.2


User Profile

................................
................................
................................
.........

16

9.5.1

Domain(s)

................................
................................
........
17

9.5.2

Java Server Page(s)

................................
..........................
17

9.5.3

Sequence Diagram

................................
...........................
17

9.6

D2.3


User Roles

................................
................................
................................
..........

17

9.6.1

CSM/RSS U
ser Mappings

................................
...............
18

9.6.2

Sequence Diagram

................................
...........................
19

9.7

D3.1


Create New or Initialize Registration

................................
................................
..

19

9.7.1

Domain(s)

................................
................................
........
21

9.7.2

Java Server Page(
s)

................................
..........................
21

9.7.3

Activity Diagram

................................
.............................
22

9.7.4

Sequence Diagram

................................
...........................
22

9.7.5

Class Diagram

................................
................................
..
23

9.8

D3.2


Create New Next Step Registration

................................
................................
...

24

9.8.1

Domain(s)

................................
................................
........
25

9.8.2

Java Server Page(s)

................................
..........................
25

9.8.3

Activity Diagram

................................
.............................
26

9.8.4

Sequence Diagram

................................
...........................
26

9.9

D3.3


Ed
it Registration/Summary

................................
................................
.................

26

9.9.1

Domain(s)

................................
................................
........
29

9.9.2

Java Server Page(s)

................................
..........................
29

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
3

of
70

Copyright © Westat,
2008


9.9.3

Activity Diagram

................................
.............................
29

9.9.4

Sequence Diagram

................................
...........................
30

9.10

D3.4


Registration Validations/Submissions

................................
................................

31

9.10.1

Domain(s)

................................
................................
........
34

9.10.2

Java Server Page(s)

................................
..........................
34

9.10.3

Process Flow Diagram

................................
.....................
35

9.10.4

Sequence Diagram

................................
...........................
35

9.11

D3.5


Search Registrations

................................
................................
..........................

37

9.11.1

Domain(s)

................................
................................
........
37

9.11.2

Java Server Page(s)

................................
..........................
37

9.11.
3

Activity Diagram

................................
.............................
37

9.11.4

Sequence Diagram

................................
...........................
38

9.12

D3.6


Optimistic Locking

................................
................................
..............................

39

9.12.1

Process Flow Diagram

................................
.....................
39

9.13

D3.7


OPEN Enrol
lment States

................................
................................
....................

39

9.13.1

State Chart Diagram

................................
.........................
40

9.14

D4.1


Form Download/Migration

................................
................................
..................

40

9.14.1

Domain(s)

................................
................................
........
41

9.14.2

Java Server Page(s)

................................
..........................
42

9.14.3

Activity Diagram

................................
.............................
42

9.14.4

Sequence Diagram

................................
...........................
42

9.15

D4.2


Form Copy

................................
................................
................................
..........

43

9.15.1

Domain(s)

................................
................................
........
43

9.15.2

P
rocess Flow Diagram

................................
.....................
44

9.16

D5.1


Form Setup

................................
................................
................................
.........

44

9.16.1

Domain(s)

................................
................................
........
46

9.16.2

Java Server Page(s)

................................
..........................
46

9.16.3

Activity Diagram

................................
.............................
47

9.16.4

Sequence Diagram

................................
...........................
47

9.17

D6.1


Create Edit Checks

................................
................................
............................

48

9.17.1

Domain(s)

................................
................................
........
50

9.17.2

Java Server Page(s)

................................
..........................
50

9.17.
3

Activity Diagram

................................
.............................
50

9.17.4

Sequence Diagram

................................
...........................
50

9.18

D6.2


Test Edit Checks/Audit Capture

................................
................................
.........

51

9.18.1

Domain(s)

................................
................................
........
53

9.18.2

Java Server Pa
ge(s)

................................
..........................
53

9.18.3

Activity Diagram

................................
.............................
53

9.18.4

Sequence Diagram

................................
...........................
54

9.19

D7.1


Override Request

................................
................................
...............................

54

9.19.1

Domain(s)

................................
................................
........
56

9.19.2

Java Server Page(s)

................................
..........................
56

9.19.3

Activity Diagram

................................
.............................
56

9.19.4

Sequence Diagram

................................
...........................
56

9.20

D7.2


Override Response

................................
................................
............................

57

9.20.1

Dom
ain(s)

................................
................................
........
59

9.20.2

Java Server Page(s)

................................
..........................
59

9.20.3

Activity Diagram

................................
.............................
59

9.20.4

Sequence Diagram

................................
...........................
59

9.21

D7.3


Override Code

................................
................................
................................
....

60

9.22

D8.1


Search Persons

................................
................................
................................
..

60

9.22.1

Domain(s)

................................
................................
........
60

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
4

of
70

Copyright © Westat,
2008


9.22.2

Java Server Page(s)

................................
..........................
60

9.22.3

Activity Diagram

................................
.............................
60

9.22.4

Seque
nce Diagram

................................
...........................
61

9.23

D8.2


Search Site Registration

................................
................................
.....................

61

9.23.1

Domain(s)

................................
................................
........
62

9.23.2

Java Server Page(s)

................................
..........................
62

9.23.3

Activity Diagram

................................
.............................
62

9.23.4

Sequence Diagram

................................
...........................
62

9.24

D9.1


Reports

................................
................................
................................
...............

63

9.24.1

Domain(s)

................................
................................
........
64

9.24.2

Java Server Page(s)

................................
..........................
64

9.24.3

Act
ivity Diagram

................................
.............................
64

9.24.4

Sequence Diagram

................................
...........................
64

9.25

D10.1


Print Versions

................................
................................
................................
...

65

9.25.1

Java Server Page(s)

................................
..........................
66

9.26

D10.2


Partial Search Fie
lds

................................
................................
........................

66

9.27

D10.3


Error Propagations

................................
................................
...........................

66

9.27.1

Java Server Page(s)

................................
..........................
67

9.28

D10.4


Look and Feel

................................
................................
................................
...

67

9.29

D10.5


Member’s Website

................................
................................
............................

68

9.30

D10.6


System Load Balance

................................
................................
......................

68

10.

D
OMAIN TO
T
ABLE
M
APPINGS

................................
................................
.....................
68

10.1

Hibernate Mapping Configurations

................................
................................
................

68

U
NIT
T
ESTING

................................
................................
................................
..................
70

10.2

JUnit Tests

................................
................................
................................
.....................

70

10.3

SPRING Mock Tests

................................
................................
................................
......

70

11.

C
ONFIGURATION
M
ANAGEMENT
I
NFORMATION

................................
............................
70


tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
5

of
70

Copyright © Westat,
2008


1.

References

#

Name

Location

1

Westat SOP Glossary

SOP A
rea

2

OPEN.eap

(Business Analysis and Modeling)

Westat LAN

3

OPEN Portal Development P
lan

Westat LAN

4

OPEN Portal
A
rchitectu
re

Westat LAN

5

OPEN Portal Functional Use C
ases

Westat LAN

6

RandoN
ode Development P
lan

Westat LAN

7

OPEN Portal
Developer G
uide

Westat LAN

8

OPEN Portal Installation G
uide

Westat LAN

9

CSM Configuration G
uide

Westat LAN

10

OPEN Portal Form Setup G
uide

Westat LAN

1
1

OPEN Portal Test C
ases

Westat LAN

12

OPEN Portal System R
equirements

Westat LAN

13

OPEN CDISC Design Document

Westat LAN

14

Deployment Guide

Westat LAN

15

Database backup and Recovery

Westat LAN

16

Business Continuity and Disaster R
ecovery

Westat LAN

1
7

Systems Security Overview

Westat LAN

1
8

Computer Dictionary, 5
th

Edition, Microsoft Press

Library Area

2.

Definitions, Acronyms, and Abbreviations

The reader is referred to the System Glossary (reference #1) for general and study specific terminology. The
reader is referred to the Microsoft Press Computer Dictionary (reference #2) for computer specific termin
ology.

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
6

of
70

Copyright © Westat,
2008


3.

Introduction

OPEN (Oncology Patient Enrollment Network) Portal is the web
-
based registration system for patient enrollments
onto NCI
-
sponsored Cooperative Group clinical trials. The system is integrated with the CTSU Enterprise System
for regulator
y and roster data, and with each of the Cooperative Groups' registration/randomization systems for
patient registration/ randomization. OPEN provides the ability to enroll patients on a 24/7 basis.

In order to enroll patients via OPEN, you must be affiliat
ed with at least one institution and carry the role of
"registrar" at the institution(s).

4.

Scope and Purpose

The scope of this document is to provide
elaborate

system
design
/traceability matrix

document for all the
OPEN
Portal requirements as gathered in th
e OPEN Portal Requirements document.

The purpose of this document is to facilitate development and support a documentation of the overall design.

Please refer to the OPEN Portal architecture
guide

and technical specifications for further information
which

can
be found under the reference sections #4 above.

5.

Requirements

Please refer to the OPEN Portal
requirements documents
(reference #12)
for the full listing of the requirements
gathered during the initial KA (Knowledge Acquisition) sessions
.

6.

Development I
nformation

6.1

System Information

Software

Version

Java

JDK 1.5

MVC Framework

Spring MVC 2.0

View Framework

JSP, JSP tag libraries, AJAX
, Scriptaculous
,
JMESA

library

ORM

Hibernate 3.1.5

Transactions, Inversion of Control

Spring 2.0

Application Server

JB
oss 4.0.5

Database

Oracle 10g

Development Tools

JDeveloper 10.1.3, Eclipse, Enterprise Architect

Build

JDeveloper / Ant

Source Control

VSS


tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
7

of
70

Copyright © Westat,
2008


7.

Data Model

cd OPEN Portal Data Model (Draft)
QUE_CDES
col umn
*PK
QDE_ID: NUMBER(10)
*FK
QUE_ID: NUMBER(10)

DE_ID: VARCHAR2(255)

PUBLIC_ID: VARCHAR2(255)

VERSION: VARCHAR2(255)

PREFERRED_NAME: VARCHAR2(255)

DATA_TYPE: VARCHAR2(255)

FORMAT: VARCHAR2(255)

HIGH_VALUE: VARCHAR2(255)

LOW_VALUE: VARCHAR2(255)

MIN_LENGTH: NUMBER(10)

MAX_LENGTH: NUMBER(10)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
FORMS
col umn
*PK
FRM_ID: NUMBER(10)
*FK
EVN_ID: NUMBER(10)

PIO_PROTOCOL_NUMBER: VARCHAR2(35)

LONG_NAME: VARCHAR2(255)

DEFINITION: VARCHAR2(1000)

CONTEXT: VARCHAR2(255)

TYPE: VARCHAR2(255)

PROTOCOL: VARCHAR2(255)

INSTRUCTION: VARCHAR2(1000)

CATEGORY: VARCHAR2(255)

PUBLIC_ID: VARCHAR2(255)

VERSION: VARCHAR2(255)

LATEST_VERSION: VARCHAR2(10)

OWNER: VARCHAR2(50)

STEP: VARCHAR2(5) = '1'

ESYS_STATUS: VARCHAR2(32)

ESYS_STATUS_DATE: DATE

ESYS_STATUS_TEXT: VARCHAR2(500)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
FORM_RESPONSES
col umn
*PK
RES_ID: NUMBER(10)
FK
RFM_ID: NUMBER(10)
FK
MOD_ID: NUMBER(10)
FK
QUE_ID: NUMBER(10)
FK
VAL_ID: NUMBER(10)

REPEAT_SN: NUMBER(3)

VALUE_TEXT: VARCHAR2(2000)

FAILURE_MESSAGE: VARCHAR2(500)

REPEAT_LINK_ID: NUMBER(10) = 1

ESYS_STATUS: VARCHAR2(32)

ESYS_STATUS_DATE: DATE

ESYS_STATUS_TEXT: VARCHAR2(500)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
FORM_VERSIONS
col umn
*PK
FVN_ID: NUMBER(10)
*FK
FRM_ID: NUMBER(10)
*
VERSION_ID: VARCHAR2(32)

VERSION_DATE: VARCHAR2(32)
*
FORM_TEMPLATE: CLOB

META_DATA_XML: CLOB

HTML_WIDGET_LIST: CLOB

ESYS_STATUS: VARCHAR2(32)

ESYS_STATUS_DATE: DATE

ESYS_STATUS_TEXT: VARCHAR2(500)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
MODULES
col umn
*PK
MOD_ID: NUMBER(10)
*FK
FRM_ID: NUMBER(10)

LONG_NAME: VARCHAR2(255)

DISPLAY_ORDER: NUMBER(10)

INSTRUCTION: VARCHAR2(1000)

MAX_REPEAT: NUMBER(10)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
REG_ASSOCIATES
col umn
*PK
RAS_ID: NUMBER(10)
FK
REG_ID: NUMBER(10)
*
ASSOCIATE_TYPE: VARCHAR2(32)
*FK
PER_ID: NUMBER(10)

PRIMARY_YN: VARCHAR2(3) = 'NO'

ESYS_STATUS: VARCHAR2(32)

ESYS_STATUS_DATE: DATE

ESYS_STATUS_TEXT: VARCHAR2(500)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
REG_OVERRIDES
col umn
*PK
OVR_ID: NUMBER(10)
FK
REG_ID: NUMBER(10)
FK
RFM_ID: NUMBER(10)
FK
RES_ID: NUMBER(10)
FK
FEC_ID: NUMBER(10)
*
REQUEST_USER: VARCHAR2(30)
*
REQUEST_DATE: DATE = SYSDATE

REQUEST_REASON: VARCHAR2(1000)

REVIEW_USER: VARCHAR2(30)

REVIEW_DATE: DATE

REVIEW_COMMENTS: VARCHAR2(1000)

OVERRIDE_NUMBER: VARCHAR2(50)

ESYS_STATUS: VARCHAR2(32)

ESYS_STATUS_DATE: DATE

ESYS_STATUS_TEXT: VARCHAR2(500)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
QUESTIONS
col umn
*PK
QUE_ID: NUMBER(10)
*FK
MOD_ID: NUMBER(10)

LONG_NAME: VARCHAR2(255)

DISPLAY_ORDER: NUMBER(10)

INSTRUCTION: VARCHAR2(1000)

PUBLIC_ID: VARCHAR2(255)

VERSION: VARCHAR2(255)

DEFAULT_VALUE: VARCHAR2(255)

IS_EDITABLE: VARCHAR2(255)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
QUE_RENDER_PARAMS
col umn
*PK
QRP_ID: NUMBER(10)
*FK
QUE_ID: NUMBER(10)
*
WIDGET_TYPE: VARCHAR2(32) = 'EDIT_BOX'
*
ROW_ORDER: NUMBER(10) = 0
*
COLUMN_ORDER: NUMBER(10) = 0
*
CELL_ORDER: NUMBER(10) = 0
*
IS_MANDATORY_YN: CHAR(1) = 'N'
*
HIDE_YN: CHAR(1) = 'N'
*
IS_EDITABLE_YN: CHAR(1) = 'Y'

IS_UPPERCASE_YN: CHAR(1) = 'N'

WIDTH: VARCHAR2(16)

HEIGHT: VARCHAR2(16)

NOTES: VARCHAR2(2000)

NOTES_LOCATION: VARCHAR2(15)

TOOLTIP: VARCHAR2(250)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
RECEIVED_FORMS
col umn
*PK
RFM_ID: NUMBER(10)
*FK
REG_ID: NUMBER(10)
*FK
FRM_ID: NUMBER(10)
FK
EVN_ID: NUMBER(15)

PATIENT_ID: VARCHAR2(20)

PRT_ID: NUMBER(10)

STUDY: VARCHAR2(35)

CLINICAL_DATA_XML: CLOB

GROUP_RESPONSE_XML: CLOB

ESYS_STATUS: VARCHAR2(32)

ESYS_STATUS_DATE: DATE

ESYS_STATUS_TEXT: VARCHAR2(500)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
STUDY_EVENTS
col umn
*PK
EVN_ID: NUMBER(10)
*
STUDY: VARCHAR2(35)
*
EVENT_ORDER: NUMBER(10)
*
EVENT_NAME: VARCHAR2(50)

MANDATORY_YN: VARCHAR2(5)

ESYS_STATUS: VARCHAR2(32)

ESYS_STATUS_DATE: DATE

ESYS_STATUS_TEXT: VARCHAR2(500)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
REGISTRATIONS
col umn
*PK
REG_ID: NUMBER(10)
FK
PRT_ID: NUMBER(10)
FK
OGN_ID: NUMBER(10)

SR_ID: NUMBER(10)

PATIENT_ID: VARCHAR2(20)

STEP: VARCHAR2(5)

REGISTRAR_PER_ID: NUMBER(10)

CREDIT_RECIPIENT: VARCHAR2(7)
*
RANDOMIZED_DATE: DATE = SYSDATE

ELIGIBILITY: VARCHAR2(32)

TREATMENT_ASSIGNMENT: VARCHAR2(10)

INELIGIBILITY_REASON: VARCHAR2(4000)

STRATIFICATION: VARCHAR2(15)
*
CCOP_ACCRUAL: VARCHAR2(5)

OTHER_PMT_GROUP: VARCHAR2(7)

PREV_REG_ID: NUMBER(10)
*FK
CREDIT_INV_PER_ID: NUMBER(10)

LAST_UPDATE_TS: DATE

LOCKED_USER: VARCHAR2(30)

PEC_LOAD_STATUS: VARCHAR2(32) = 'NEW'

SITE_INSTRUCTIONS: CLOB

GRP_RESP_STATUS: VARCHAR2(32)

GRP_RESP_STATUS_TEXT: VARCHAR2(500)

GRP_RESP_STATUS_DETAIL_TEXT: CLOB

ESYS_STATUS: VARCHAR2(32)

ESYS_STATUS_DATE: DATE

ESYS_STATUS_TEXT: VARCHAR2(500)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
TRIGGER_ACTIONS
col umn
*PK
TAC_ID: NUMBER(10)
FK
FRM_ID: NUMBER(10)
FK
MOD_ID: NUMBER(10)
FK
QUE_ID: NUMBER(10)
FK
VAL_ID: NUMBER(10)

INSTRUCTION: VARCHAR2(1000)

SOURCE: VARCHAR2(255)

TARGET: VARCHAR2(255)

RELATIONSHIP: VARCHAR2(1000)

CRITERIA: VARCHAR2(1000)

ACTION: VARCHAR2(1000)

FORCED_VALUE: VARCHAR2(255)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
VALID_VALUES
col umn
*PK
VAL_ID: NUMBER(10)
*FK
QUE_ID: NUMBER(10)

LONG_NAME: VARCHAR2(255)

DISPLAY_ORDER: NUMBER(10)

VALUE_MEANING: VARCHAR2(255)

VALUE_DESCRIPTION: VARCHAR2(1000)

INSTRUCTION: VARCHAR2(1000)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
Name:
OPEN Portal Data Model (Draft)
Author:
Westat
Versi on:
0.9.4
Created:
10/10/2006 12:00:00 AM
Updated:
8/28/2008 2:49:12 PM
Green = caDSR Data
Yel l ow = Meta Data
Maroon = Cl i ni cal Data
Bl ue = RSS Data
Gray = Audi t Data
FORM_EDIT_CHECKS
col umn
*PK
FEC_ID: NUMBER(10)
*FK
FRM_ID: NUMBER(10)

CHECK_TYPE: VARCHAR2(50)
*
DESCRIPTION: VARCHAR2(500)
*
FAILURE_TYPE: VARCHAR2(15) = 'ERROR'
*
FAILURE_MESSAGE: VARCHAR2(500)

EXPRESSION: VARCHAR2(2000)

ALLOW_OVERRIDE_YN: VARCHAR2(3) = 'NO'
*
TEST_ORDER: NUMBER(3)

GROUP_EDIT_CHECK: VARCHAR2(10) = 'NO'
*
OWNER: VARCHAR2(50) = 'CTSU'
*
ESYS_STATUS: VARCHAR2(32)
*
ESYS_STATUS_DATE: DATE = SYSDATE

ESYS_STATUS_TEXT: VARCHAR2(500)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
EDIT_CHECK_QUESTIONS
col umn
*PK
ECQ_ID: NUMBER(10)
FK
FEC_ID: NUMBER(10)
*
MOD_ID: NUMBER(10)
*
QUE_ID: NUMBER(10)
*
ALIAS: VARCHAR2(10)
*
ESYS_STATUS: VARCHAR2(32) = 'ACTIVE'
*
ESYS_STATUS_DATE: DATE = SYSDATE

ESYS_STATUS_TEXT: VARCHAR2(500)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
CTSUESYS.ORGANIZATIONS_CTSU
CTSUESYS.
PERSONS_CTSU
CTSUESYS.
PROTOCOL_CTSU
OPEN_RESPONSES
col umn
*PK
ORP_ID: NUMBER(10)
*FK
REG_ID: NUMBER(10)
*
TX_GUID: VARCHAR2(32)
*
TARGET_GROUP: VARCHAR2(20)

TX_TYPE: VARCHAR2(20)

TX_SOURCE: VARCHAR2(32)
*
TX_DATE: DATE = SYSDATE
*
ISTEST_YN: CHAR(1) = 'N'

OPERATION: VARCHAR2(32)
*
RESPONSE_DATE: DATE = SYSDATE

RESPONSE_CODE: VARCHAR2(32)

RESPONSE_TEXT: VARCHAR2(500)

RESPONSE_DETAIL_TEXT: CLOB

RESPONSE_DATA: CLOB
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
EDIT_CHECK_AUDITS
col umn
*PK
ECA_ID: NUMBER(10)
*FK
ECQ_ID: NUMBER(10)

REG_ID: NUMBER(10)

AUDIT_ID: VARCHAR2(240)
*
VALUE_TEXT: VARCHAR2(2000)

AUDIT_RESULT: VARCHAR2(1000)

COMMENTS: VARCHAR2(4000)
*
ESYS_STATUS: VARCHAR2(32) = 'ACTIVE'
*
ESYS_STATUS_DATE: DATE = SYSDATE

ESYS_STATUS_TEXT: VARCHAR2(500)
*
CREATED_USER: VARCHAR2(30) = USER
*
CREATED_DATE: DATE = SYSDATE

MODIFIED_USER: VARCHAR2(30)

MODIFIED_DATE: DATE
+RAS_REG_FK
0..*
(REG_ID = REG_ID)
+REG_PK
1
0..*
(QUE_ID = QUE_ID)
1
0..*
(FRM_ID = FRM_ID)
1
0..*
(MOD_ID = MOD_ID)
1
0..*
(VAL_ID = VAL_ID)
1
+REG_OGN_FK
0..*
(OGN_ID = ID)
«FK»
+OGNC_PK
1
+REG_PRT_FK
0..*
(PRT_ID = PRT_ID)
«FK»
+PROT_CTSU_PK
1
+RFM_EVN_FK
0..*
(EVN_ID = EVN_ID)
+EVN_PK
1
+RFM_REG_FK
1
(REG_ID = REG_ID)
+REG_PK
1
+RFM_FRM_FK
0..*
(FRM_ID = FRM_ID)
1
1
(QUE_ID = QUE_ID)
1
0..*
(MOD_ID = MOD_ID)
1
+OVR_FEC_FK
0..*
(FEC_ID = FEC_ID)
«FK»
+FEC_PK
1
+OVR_RES_FK
0..*
(RES_ID = RES_ID)
«FK»
+RES_PK
1
0..*
(QUE_ID = QUE_ID)
1
+RES_MOD_FK
0..*
(MOD_ID = MOD_ID)
1
+OGNC_POGNC_FK 0..*
(PARENT_OGN_ID = ID)
+OGNC_PK 1
+OGNC_NOGNC_FK 0..*
(NEW_OGN_ID = ID)
+OGNC_PK 1
+ECQ_FEC_FK
0..*
(FEC_ID = FEC_ID)
«FK»
+FEC_PK
1
+FEC_FRM_FK
0..*
(FRM_ID = FRM_ID)
«FK»
+FRM_PK
1
1
(QUE_ID = QUE_ID)
1
+OVR_REG_FK
0..*
(REG_ID = REG_ID)
«FK»
+REG_PK
1
+RES_VAL_FK
0..*
(VAL_ID = VAL_ID)
«FK»
+VAL_PK
1
+OVR_RFM_FK
0..*
(RFM_ID = RFM_ID)
«FK»
+RFM_PK
1
+RES_QUE_FK
0..*
(QUE_ID = QUE_ID)
1
+RES_RFM_FK
0..*
(RFM_ID = RFM_ID)
+RFM_PK
1
1
(FRM_ID = FRM_ID)
1
0..*
(FRM_ID = FRM_ID)
1
+RAS_PER_FK
0..*
(PER_ID = ID)
«FK»
+PERC_PK
1
+OPR_REG_RK
0..*
(REG_ID = REG_ID)
«FK»
+REG_PK
1
+FRM_EVN_FK
0..*
(EVN_ID = EVN_ID)
«FK»
+EVN_PK
1
+ECA_ECQ_FK
0..*
(ECQ_ID = ECQ_ID)
«FK»
+ECQ_PK
1
+REG_PER_FK
0..*
(CREDIT_INV_PER_ID = ID)
«FK»
+PERC_PK
1

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
8

of
70

Copyright © Westat,
2008


8.

Design and Development

OPEN Portal’s
main database schema is RANDOHUB (yes, still the old name is
in use!)

and the parent RSS
schema is CTSUESYS. All registration information captured through OPEN Portal will reside in the
RANDOHUB

schema and all the master metadata information displayed in OPEN Portal will come from
CTSUESYS

schema.

OPEN Portal uses Z
DK framework which is an extension of the S
PRING

framework.
Please refer to the OPEN
Portal developer’s guide
(reference #7)

for further information on how to implement these classes.

The following section describes the design and development of the system
. These design and development
items describe how the components, functions, procedures, modules or other programming constructs of the
system. They also describe development the development environment as needed.

8.1

Design
Matrix


Design ID

Module/Area

Pu
rpose

D1

OPEN LOGIN

Allows user supplying a valid password to logon

D2

USER SETTINGS/ROLES

Profile and user configurations as per the roles

D3

REGISTRATION

Initial screen that starts the OPEN process…create a new /next
s瑥p⁲egis瑲ttionⰠedi琬⁶alidate
and save⁲ gis瑲a瑩ons



䙏cj⁄ t乌佁a

䑯anload⁡ew⁦o牭⁦牯m⁣a䑓a



䙏cj⁓ q啐

卥瑵p⁴heewly⁤ownloaded⁦o牭⁡s⁰e爠rhe⁰ape爠rorm⁡nd
ac瑩vate⁩t



䕄䥔⁃䡅 䭓

䍲敡瑥ew⁥di琠checks⁢asedn⁴he⁳tudy⁳peci晩ca瑩ons⁡nd
associa瑥⁴hem⁴o⁴he
s瑵dy



l噅剒䥄䔠
j䅎䅇bj䕎q

卣牥en⁴o⁡llowve牲rdes⁦or⁣e牴rin⁥di琠checks



剓o

卥a牣h⁦o爠rll pe牳ons⁡nd⁳i瑥⽲Lgis瑲ttion combina瑩ons⁩n⁒卓



剅偏oqp

dene牡瑥⁲epo牴s⁷i瑨in⁏ 䕎⁐b牴rl

䐱a

d䕎䕒䅌

jiscellaneous⁡c瑩vities⁷hich a牥⁣ommon

ac牯ss⁳c牥ens


8.2

Design Matrix
Detail
s

The following section describes the above requirements in greater detail.

Design ID

Detail #

Section

Detail Description

Requirement #

or Test Case#

D1

D1.1

9.
1

System Login

RH
-
REQ
-
0019, RH
-
REQ
-
0032,
RH
-
REQ
-
0033, RH
-
REQ
-
0034

RH
-
REQ
-
0035,

RH
-
REQ
-
0031,

D1.2

9.
2

Alternate System Login

RH
-
REQ
-
0019, RH
-
REQ
-
0032,
RH
-
REQ
-
0033, RH
-
REQ
-
0034,
RH
-
REQ
-
0006
, RH
-
REQ
-
00
88
,

D1.3

9.
3

System Timeout

RH
-
REQ
-
0036





D2

D2.1

9.
4

OPEN Context

RH
-
REQ
-
0039,

D2.2

9.
5

User Profile

N
/A

D2.3

9.
6

User Roles

RH
-
REQ
-
0032, RH
-
REQ
-
0034,





tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
9

of
70

Copyright © Westat,
2008


Design ID

Detail #

Section

Detail Description

Requirement #

or Test Case#

D3

D3.1

9.
7

Create New
R
egistration

RH
-
REQ
-
0019, RH
-
REQ
-
0023,
RH
-
REQ
-
0024, RH
-
REQ
-
0028,
RH
-
REQ
-
0029
, RH
-
REQ
-
0024,

RH
-
REQ
-
0062,

RH
-
REQ
-
0079,

RH
-
REQ
-
0084, RH
-
REQ
-
0085,

RH
-
REQ
-
0086, RH
-
REQ
-
0087,

D3.
2

9.
8

Create New Next Step R
egistration

RH
-
REQ
-
0019, RH
-
REQ
-
0024,

RH
-
REQ
-
0062,

RH
-
REQ
-
0078,
RH
-
REQ
-
0079,

D3.3

9.
9

Edit Registration
/Summary

RH
-
REQ
-
0024,

RH
-
REQ
-
0030,

RH
-
REQ
-
0074,

D3.4

9.
10

Registration
Validations/Submissions

RH
-
REQ
-
0002, RH
-
REQ
-
0005,

RH
-
REQ
-
0008,

RH
-
REQ
-
0023,

RH
-
REQ
-
0048, RH
-
REQ
-
0049,

RH
-
REQ
-
0050, RH
-
REQ
-
0051,
RH
-
REQ
-
0052,

RH
-
REQ
-
0061,

RH
-
REQ
-
0063,

RH
-
REQ
-
0064,
RH
-
REQ
-
0065,

RH
-
REQ
-
0066,

RH
-
REQ
-
0070,

RH
-
REQ
-
0072,

RH
-
REQ
-
0076,

RH
-
REQ
-
0004,

RH
-
REQ
-
0011, RH
-
REQ
-
0012,

RH
-
REQ
-
0013,

RH
-
REQ
-
0
021,

RH
-
REQ
-
0031,

D3.5

9.
11

Search Registrations

RH
-
REQ
-
0046, RH
-
REQ
-
0047,

D3.
6

9.
12

Optimistic Locking

RH
-
REQ
-
0080,

D3.7

9.
13

OPEN Enrollment States

RH
-
REQ
-
0089,

D3.
8

N/A

Duplicate Registration Check

RH
-
REQ
-
0081,





D4

D4.1

9.
14

caDSR Form Dow
nload/Migration

RH
-
REQ
-
0001,

D4.2

9.
15

Form Copy

RH
-
REQ
-
0001,





D5

D5.1

9.
16

Form Setup

RH
-
REQ
-
0009, RH
-
REQ
-
0014,

RH
-
REQ
-
0043, RH
-
REQ
-
0044,

RH
-
REQ
-
0056,

RH
-
REQ
-
0075,






D6

D6.1

9.
17

Create Edit Checks

RH
-
REQ
-
0007,

RH
-
REQ
-
0058,
RH
-
REQ
-
0059, RH
-
R
EQ
-
0060,

D6.2

9.
18

Test Edit Checks
/Audit capture

RH
-
REQ
-
0090





D7

D
7.
1

9.
19

Override Request

RH
-
REQ
-
0053, RH
-
REQ
-
0054,

RH
-
REQ
-
0057,

D7.2

9.
20

Override Response

RH
-
REQ
-
0053, RH
-
REQ
-
0054,

RH
-
REQ
-
0055,

RH
-
REQ
-
0057,

D7.3

N/A

Override Code

RH
-
REQ
-
00
82,






D8

D8.1

9.
22

Search Person

N/A

D8.2

9.
23

Search Site Registrations

N/A





D9

D9.1

9.
24

Reports

RH
-
REQ
-
0003,

RH
-
REQ
-
0027,

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
10

of
70

Copyright © Westat,
2008


Design ID

Detail #

Section

Detail Description

Requirement #

or Test Case#





D10

D10.1

9.
25

Print Versions

RH
-
REQ
-
0028, RH
-
REQ
-
0029,

D10.2

9.
26

Partial Search Fields

RH
-
REQ
-
0037
-
01/02,

D10.3

9.
27

Error Propagations

RH
-
REQ
-
0045,

D10.4

9.
28

Look and Feel

RH
-
REQ
-
0037, RH
-
REQ
-
0038,
RH
-
REQ
-
0040,

RH
-
REQ
-
0042,

D10.5

9.
29

Member’s Website

RH
-
REQ
-
0041,

D10.6

9.30

System
Load Balanc
e

RH
-
REQ
-
0018,





8.3

Assumptions and Outstanding Issues

T
he following section describes assumptions and outstanding issues relevant to the requirements and later
stages of development.



Every OPEN Portal user has CTEP account and role defined in RSS.



The user is connected to the Internet continuously during a ses
sion.



For all workflows, the user is able to maintain their session until the workflow is complete in order for the
final business rules to be executed.


Please refer to the OPEN requirement document

(reference #12)

for further information relating to pend
ing
issues.

9.

Design
Matrix
Realization

9.1

D1
.1



System

Login

This requirement deals with a
uthenticat
ing the
CTEP user to login to OPEN Portal.
This will be a direct login
where users will have to enter their CTEP username and password.

The logic used behind
the authentication is
that the system will try to authenticate the user against the CSM schema which it should fail. Upon failure it will
validate the same username and password against the CTEP IAM system. If successful, it will check against RSS
to see i
f the user has any site affiliations and roles against that site. If so would finally let the user in. If no roles
found, then the login would fail as shown in figure 1.1a


Figure 1.1a

If username and password authentication fails at both levels, that is
against the CSM as well as at the CTEP IAM
level, appropriate message would be displayed by the system as show in figure 1.1b

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
11

of
70

Copyright © Westat,
2008



Figure

1.1b

9.1.1

Domain(s)



Person



UserSession

9.1.2

Java Server Page(s)



login.jsp



main.jsp

9.1.3

Process Flow

Diagram

Validate
username
/
password against
CSM
Get CSM
username
/
RSS
Role for that CTEP
user from RSS
Wrap CTEP user
around CSM user
and expose only
the CTEP user
!
Validate the same
username
/
password against
CTEP
Authentication
passed
?
Authentication
failed
?
User exists in
CSM
?
Yes
No
Show OPEN
portal w
/
basic
limited access
Show OPEN
Portal
Yes
Yes
Display “No
roles found”
error
No
Display “Invalid
credentials”
error
No

9.1.4

Sequence Diagram

Logon controller uses ZController which is an extension of
SPRING

controller. Initializes the OPEN context object,
checks the user against CTEP and populates the context object.

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
12

of
70

Copyright © Westat,
2008


sd Logon
OPEN User
ZControl l er
OPENContext
web::LogonControl l er
Authenti cati onServi ce
dao::ZDAO
setCommandCl ass
i ni tal i ze
Model AndVi ew:= doActi on
bool ean:= val i date
bool ean:= val i dateCSMUser
popul ateUserSessi on
setOPENContext


9.2

D1.
2



Alternate System Login

Registrars will be able t
o login to OPEN directly from the CTSU members’ website without having to re
-
enter their
login credentials. This is achieved by creating and validating a token especially for this purpose and invalidating
the token once the target is reached.

There are fut
ure plans to enable the same using CEWs
(CTSU Enterprise
Web Service)
for authenticating when trying to access OPEN Portal APIs.

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
13

of
70

Copyright © Westat,
2008


9.2.1

Process Flow Diagram

CTSU Member Site
/
Web Service Technical Interface w
/
OPEN Portal
(
User Authentication
)
Web Service
(
WS
)
Web Service
(
WS
)
OPEN Portal
(
OPEN
)
OPEN Portal
(
OPEN
)
CTSU Members Site
(
CMS
)
CTSU Members Site
(
CMS
)
Create Random
Authentication
Token
CTSUESYS
ACCESS
_
LOG
TABLE
Launch OPEN
Portal in a new
browser
Authentication
Request Valid
?
Token Used
/
Expired
?
Show Login
Page
User initiates
OPEN Portal
Access
Get Roles
for that
User
Create new OPEN
Session
Show Home
Page
Yes
Yes
No
No
Expire Token


9.3

D1.3


System Timeout

OPEN Portal system will automatically time out the us
er session if inactive for 30 minutes. Alert will be prompted
5 minutes prior to the session timeout

as show in figure 1.3a
. If no action is taken, the system will log the user out
on the 30
th

minute;

else will reset the timeout timer.


tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
14

of
70

Copyright © Westat,
2008



Figure

1.3
a

9.3.1

Proce
ss Flow Diagram

Start timer once
logged in
Idle for
25
minutes
?
No
Clock minutes
User renewed
session
?
Alert user
Yes
Reset timer to
0
Yes
Idle for
30
minutes
?
Clock minutes
No
No
Forcefully
terminate session
Yes


9.4

D2.1


OPEN Context

OPEN context within OPEN Portal is the main object which carries all the information about the logged in user. It
holds all their site affiliations, their corresponding roles for each site,

CTSU Person information, the current
registration object, their session ID and to which database they are even connected to.

Figure 2.1a shows the default selections that the system enforces upon logging in. Users will have the ability to
change to the co
rresponding site/role combination that they want to.


Figure

2
.1a

Below in figure 2.1
b

is a screen shot of the all the site affiliations for the logged in user

and figure 2.1c shows all
the roles
for that selected affiliation. For any given site the user
can have multiple roles as defined in the RSS
roster. For each role selected the system behaves differently as per that role authorization settings. Please refer
to the User Roles section below for further information.

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
15

of
70

Copyright © Westat,
2008



Figure

2
.1
b


Figure

2
.1
c


OPEN Con
text keeps track of 2 registration objects, viz. one is the new or enroll registration object that gets

attached once user initializes a new registration

(figure 2.1
e
)

or starts editing an existing registration.
The other is
the history registration object

as show in figure 2.1
f
.
Once particular sites are selected, those settings get
attached to the OPEN Context object.

Figure 2.1d show a registration context before any registration has been
selected.


Figure

2
.1
d



Figure

2
.1
e



Figure

2
.1
f


Please

refe
r to the D3


User Roles section to see which controller does the reset of the OPEN Context object.

The OPEN Context also holds all the profile information related to the logged in user. Please refer to the Profile
section

(D2.2)

below for more information
.

OPEN Context also restricts the protocol visibility of the user. It will only show that protocols that the user has
access right to. This information is fetched from RSS as maintained in the RSS Protocol setup and RSS Person
Roster screens. For example,
a SWOG person can see only SWOG protocols (such as S0777) which are open
for enrollment through OPEN Portal.

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
16

of
70

Copyright © Westat,
2008


9.4.1

OPEN Context Object Model

cd Component Model
OPENContext
#
protocol s: Li st<Protocol >
#
si tes: HashMap
#
userRol es: Li st<PersonSi teRol e>
#
si teRol es: Li st
#
ctepAccountName: Stri ng
#
csmAccountName: Stri ng
#
person: Person
#
regi strati on: Regi strati on
#
sessi onId: Stri ng
#
database: Stri ng
#
motd: Stri ng
#
currentRol e: Stri ng
#
currentSi teCode: Stri ng
#
currentSi teName: Stri ng
#
currentStudy: Stri ng
#
authenti cated: bool ean
#
regExpi ry: i nt
#
pwdExpi ry: i nt
#
msg: Stri ng
User rol e l i st i s popul ated from RSS by cal l i ng
ctsuesys.person.get_rol e_person(:ctepUserName)
Si te map i s popul ated from RSS by cal l i ng
ctsuesys.person.get_al l _org_affi l (:ctepUserName)
Protocol l i st i s popul ated from RSS by cal l i ng
ctsuesys.person.get_open_protocol s(:ctepUserName)

9.4.2

Java Server Page(s)



contextBar.jsp

9.5

D2.
2



User Profile

Displays detailed information about the logged in user. Shows
us
er’s

CTEP password

expiry and
registration
expiry days
along with
their certification information if available from RSS
.

Figure 2.2a shows the information as
captured by the OPEN Context object upon logging into the system.

Click on the

button
will displ
ay all the site
affiliations and statues of that user in a new browser window as RSS would show.


tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
17

of
70

Copyright © Westat,
2008


Figure 2.2a

9.5.1

Domain(s)



Person



OPENContext

9.5.2

Java Server Page(s)



userProfile.jsp

9.5.3

Sequence Diagram

Profile

controller uses Z
MultiAction
Controller
which is an exte
nsion of
SPRING

Mu
l
t
iAction
C
ontroller.
Retrieves
the OPEN context from the transaction object and displays the user profile. The same controller but different
method is used for switching to a different site if available. Once a site is changed, all corres
ponding roles for that
site for the logged in user is displayed on the role dropdown. The user has the option to switch to a different role
within that site if needed. Once role is switched, only visible access for that role is visible to the logged in use
r.

sd User Profile
OPEN User
ZMul ti Acti onControl l er
web::Profi l eControl l er
method::setProfi l eVi ew
PersonServi ce
dao::ZDAO
setMethod
OPENContext:= getOpenContext
Person:= getPerson
Model AndVi ew
ZEnti ty:= getById

9.6

D2.
3



User Roles

RSS has 15 roles for OPEN Portal users. Each user might have multiple roles based on the privileges that he has
with respect the affiliated site or to the lead that the user belongs to.

The 15 available roles
and their possible mappi
ngs are as follows. Please refer to the OPEN Portal CSM guide for
further information.

The RSS roles are pretty much mapped to the tabs that OPEN Portal has. All tabs are divided into 2 categories
viz. VIEW mode where users will only be able to retrieve an
d view records. The other mode is the MOD mode
where users will be able to perform CRUD operations.

Below are the various screen shots on how the system behaves based on a particular role section. All these role
configurations happen on the fly and are ca
ptured and set within the OPEN Context object which gets attached to
the transaction object
and also in the session
with the
OPEN Portal’s ZDK

framework.


tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
18

of
70

Copyright © Westat,
2008









9.6.1

CSM/RSS User Mappings

#

CSM user (OPEN RSS role)

A
D
M

I

N

B
A
S
I
C

E
D
I
T
C
H
E
C
K
_
M
O
D

E
D
I

T
C
H
E
C
K
_
V

I

E
W

F
O
R
M
S
E
T
U
P
_
M
O
D

F
O
R
M
S
E
T
U
P
_
V
I
E
W

O
V
E
R
R
I
D
E
_
M
O
D

O
V
E
R
R
I
D
E
_
V

I

E
W

P
R
O
X
Y

R
E
G
I

S
T
E
R
_
M
O
D

R
E
G
I

S
T
E
R
_
V

I

E
W

R
E
P
O
R
T
S

R
S
S

1

CTEP_STAFF


















2

CTSU_DM


















3

CTSU_REG




















4

CTSU_REG_ADMIN



























5

CTSU_STAFF


















6

GROUP_DM


















7

GROUP_REG





















8

GROUP_REG_ADMIN


























tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
19

of
70

Copyright © Westat,
2008


9

GROUP_STAFF


















10

SITE_STAFF


















11

HELP_DESK


















12

SITE_INV


















13

SITE_REG




















14

SITE_ADMIN




















15

SYS_ADMIN



























16

r
hsuperadmin

*















17

uptadmin *















* CSM
users

will not have access to OPEN Portal

9.6.2

Sequence Diagram

OPEN Context shows all the site affiliations that the user has in RSS. Once the user changes his site, all
corresponding roles for that site are displaye
d on the role dropdown on the context. The user has the option to
switch to a different role within that site if needed. Once role is switched, only visible access for that role is visible
to the logged in user.

sd OPEN User Context
OPEN User
ZMul ti Acti onControl l er
web::Profi l eControl l er
method::setProfi l eVi ew
method::setSi te
method::setSi teRol e
OPENContext
setMethod
setOpenContext
OPENContext:= getOpenContext
confi gureUserSetti ngs
resetOpenContext

9.7

D
3.
1



Create New

or Initialize

Registrati
on

This deals with the manual creation of a registration through OPEN Portal by selecting a site, study and
associated persons.

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
20

of
70

Copyright © Westat,
2008


Once a study has been set as an OPEN study, OPEN Portal picks it up immediately from the CTSU site status
view and displays the
study as an option for the affiliated site during initial creation. Site Status List is provided on
the “Create New” page to list all the site/study combinations which are open through OPEN.





Figure 3.1a


RSS controls which all protocols can be enr
olled through OPEN. They will need to be specified in the Protocol
Maintenance Screen
. All steps/events that the study is allowed to enroll is also retrieved that maintenance screen.
For further information, please refer to the RSS Protocol Maintenance Scr
een.

All drop downs

are dependent on the previous drop downs and will auto
-
populate once the first drop down value
is selected. Individual refresh buttons are given for all fields in case the drop down fails to populate from some
technical reasons.

Shippin
g address would be that of the drug shipment address if found or of that of the treating investigator. The
person types list is derived from the specifications set at the protocol level in RSS. A person type can be
mandated along with the option of either
allowing multiple instances of it or not.

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
21

of
70

Copyright © Westat,
2008


The enrollment is validated against RSS system to make sure all accrual validations, site/protocol combinations
are right. OPEN Portal also has the
ability to contact the group’s RandoN
ode and invoke the doCredenti
al
()

method if configured to do so.

Please refer to the RandoNode interface document for further information on the
statuses that can be returned back by the RandoNode. The RandoNode has the complete ability to stop an
enrollment if it finds it not fit.

Th
e tracking number will always be empty during the new enrollment. Once the initialization is complete, a
tracking number along with the form for the selected protocol will be displayed in the confirmation page as show in
figure 3.1b

The below screen shot i
s the landing page for the registration initialization as described in the Registration View
class diagram below.

The confirmation page completes the initialization on the enrollment process which is the first step in successfully
registering the patient.

The next process would be to fill in the checklist form and submit for randomization with
the lead group.


Figure 3.1b


9.7.1

Domain
(s)



Registration



Associate



FormResponse

9.7.2

Java Server Page(s)



upsertRegistration.jsp



confirmRegistration.jsp


tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
22

of
70

Copyright © Westat,
2008


9.7.3

Activity Diagram

ad Initialize Registration
start
Select Site
Select Study
Select Step (Event)
Associate Persons
Select Credit Group
Complete Worksheet
Confirm Worksheet
Submit Registration
Group
RandoNode
Response
Group
RandoNode
Request
stop
i sMul ti Step
i sMul ti Step
Success
Success
NO
YES
NO
YES

9.7.4

Sequence Diagram

“Create New” registration utilizes ZAbstractWizardFormController which is an extension of
SPRING
s
AbstractWizardFormController.
This controller allows you to carry the same command object through an entire
flow of Web pages, thus allowing
you to break up the presentation into multiple stages that act on the same
model.

Javascript validations and
SPRING

command object validation occurs.

The view saves individually elements of the Registration domain within each page of the work flow dynamica
lly
and on the last page all the associations like Associate, Organization and Person also get saved using
Hibernate’s template.

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
23

of
70

Copyright © Westat,
2008


sd Initialize New Registration
OPEN User
ZAbstractWi zardFormControl l er
«ZEnti ty»
domai n::Regi strati on
web::NewRegi strati onControl l er
dao::ZDAO
i mpl::Regi strati onServi ce
setCommandCl ass
popul ate
handl eRequestInternal
Obj ect:= formBacki ngObj ect(request)
i ni tBi nder
val i datePage
referenceData
postProcessPage
zProcessFi ni sh
saveActi on(Regi strati on)
saveZObj ect(ZEnti ty)
Stri ng:= getTracki ngNumber

9.7.5

Class Diagram

The below class diagram applies to sections below such as the Edit Registration, New Step Registration
controll
ers. The main Registration controller holds all the critical methods used by all the other sub controllers and
extends the zdk framework’s ZAbstractWizardController. The sub controllers namely, NewRegistrationController,
EditRegistrationController and the
StepRegistrationController
extend

the main RegistrationController. By using
this object oriented approach we minimize duplicate codes and any changes to just the registration controller will
trigger down to the sub controllers. The same approach is used by

the front end JSP where we use the
upsertRegistration.jsp which is a common page which is used by all these controllers as their starting page.

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
24

of
70

Copyright © Westat,
2008


cd Registration View
EditRegistrationController
NewRegistrationController
StepRegistrationController
ZAbstractWizardFormController
RegistrationController
upsertRegistration.j sp
Ini ti al Page Control
confirmRegistration.j sp
Landi ng Page Control
«extends»
«extends»
«extends»
«extends»
«use»
«use»
«use»


9.8

D
3.2



Create
New
Next Step Registration

Once the first registration step for a study is complete, OPEN Port
al provides the mechanism to copy over the first
registration step’s administrative data for creating the next available step. In the summary page of the registered
enrollment, there will be a next step button as shown in figure 3.2a if next step is availa
ble for the selected study.


Figure 3.2a

Upon clicking the [Create Step X] button, following alert (figure 3.2b) will be provided for initializing the next step


Figure 3.2
b

Doing so will pre
-
fill all the values with previous step information as the “Cre
ate New” section

(Figure 3.2c)
. User
has the ability to change the associated persons, crediting group as well as the crediting investigator if different
from the previous step.

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
25

of
70

Copyright © Westat,
2008



Figure 3.2c

9.8.1

Domain
(s)



Registration



Associate



FormResponse

9.8.2

Java Server Page(s
)



upsertRegistration.jsp



confirmRegistration.jsp


tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
26

of
70

Copyright © Westat,
2008


9.8.3

Activity Diagram

ad Next Step Registration
start
Search Registration
Select Registration
Show Summary
i sMul ti Step
i sMul ti Step
Select Study
Select Step (Event)
Associate Persons
Select Credit Group
Complete Worksheet
Confirm Worksheet
Submit Registration
Group
RandoNode
Response
Group
RandoNode
Request
stop
Success
Success
stop
NO
YES
NO

9.8.4

Sequence Diagram

Next step registrations also use the same controller as the initial step creation except that it checks for validity of
the first step and sees if it is a multi
-
step regi
stration.


sd Next Step Registration
OPEN User
Val i date Mul ti -
Steps
ref
Initialize New Registration(previousRegistration):nextRegistration
val i dateMul ti Step
i sMul ti Step(study)
i ni ti al StepCompl ete
doNewStepRegi strati on
Stri ng:= getTracki ngNumber

9.9

D3
.3



Edit Registration
/Summary

This use case deals with updating an existing registration once the user search for a registration. The user can
view the complete summary of the registration including the associated persons, shipping address
, site details
and the protocol details.

If the registration can still be edited an [Edit Registration] button will be visible in the summary page. Click on that
tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
27

of
70

Copyright © Westat,
2008


button would bring back the registration in its edit mode where the user can edit all data exc
ept the site/study/step
combination as show in figure 3.3a. If those data need to be modified then a new registration should be created.



Figure 3.3a


Summary page is divided into many sections. First is the registration administrative data that was ente
red while
initializing the registration (Figure 3.3
b
).

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
28

of
70

Copyright © Westat,
2008



Figure 3.3
b

Next is the randomization detail that was returned by the group’s RandoNode (Figure 3.3
c
)


Figure 3.3
c

Next
is the check list form detail

on what type of form it is and the form’s curre
nt status and such (Figure 3.3
d
)


Figure 3.3
d

Overrides if any requested for that registration will be shown as in figure 3.3
e

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
29

of
70

Copyright © Westat,
2008



Figure 3.3
e

A
nd finally
the work flow details
of the registration. It will list all the statuses and value changes that it wen
t
through its life cycle. A
captured
sample workflow is shown in figure 3.3
f
. This work flow is scheduled to undergo
finer tuning as the system matures.


Figure 3.3
f

9.9.1

Domain
(s)



Registration



Associate



FormResponse

9.9.2

Java Server Page(s)



upsertRegistration.jsp



confirmRegistration.jsp

9.9.3

Activity Diagram

The user is provided an “In Progress” screen where the user can search for a particular registration. Then view
the details and edit the summary or the checklist whichever is necessary.

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
30

of
70

Copyright © Westat,
2008


ad Edit Registration
start
Search Registration
Select Registration
Show Summary
Edit Summary
Edit Checklist
Submit Registration
Group
RandoNode
Response
Group
RandoNode
Request
Perform Next Step
(if applicable)
stop

9.9.4

Sequence Diagram

Edit regis
tration utilizes the same controller as the
“create new”
which is the ZAbstractWizardFormController
which is an extension of SPRING
s AbstractWizardFormController.
This controller allows you to carry the same
command object through an entire flow of Web pag
es, thus allowing you to break up the presentation into multiple
stages that act on the same model.

Javascript validations and
SPRING

command object validation occurs.

The view saves individually elements of the Registration domain within each page of the
work flow dynamically
and on the last page all the associations like Associate, Organization and Person also get saved using
Hibernate’s template.

The main difference is that the entire registration object inclusive of all its dependents is loaded in the
f
ormBackingObject which allows the user to edit the object if necessary.


tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
31

of
7
0

Copyright © Westat,
2008


sd Edit Registration
OPEN User
ZAbstractWi zardFormControl l er
«ZEnti ty»
domai n::Regi strati on
web::Edi tRegi strati onControl l er
dao::ZDAO
i mpl::Regi strati onServi ce
setCommandCl ass
popul ate
handl eInternal Request
Obj ect:= formBacki ngObj ect(request)
Obj ect:= getById(ZEnti ty)
i ni tBi nder
val i datePage
referenceData
postProcessPage
saveActi on(Regi strati on)
saveZObj ect(ZEnti ty)


9.10

D3.4


Registration Validations
/Submissions

Existing registrations can be edited at any time. Partial or incomplete data can be saved with or without
performing validation checks.
When registrations are submitted, all validations will be performed even if not
requested. First RSS will be called to see if all site/protocol/person combinations exists, then
mandatory checks
and level 0 validations will be performed, and then
local edit

checks will be performed on the form questions.
Finally form will be submitted to the group for randomization.

All data communications from and to the OPEN
Portal and Group RandoNodes’ use XML files which are constructed and validated using CDISC ODM 1.2
DTD.
Please refer to the OPEN CDISC design document (reference #13) for more information on how that is achieved.

All OPEN messages go in the form of objects to the Group’s RandoNode for processing. Those objects are as
follows:

Object Name

Description

Op
enRegistration

Contains registration related information

OdmData

Contains the clinical data and the meta data

OpenTxHeader

Contains the transaction related information which identify the message

OpenRequest

Contains the request level information

OpenRe
sponse

Contains the Group responses related to the request

RegistrationResponse

Contains the OPEN registration and response as a whole

Please refer to the RandoNode Group Interface Implementation document for more information.


The checklist form has 3 b
uttons which are described as below:

Status

Description

Save Only

Save the partial or full checklist without validating it

Save & Validate

Save and validate either the full or partial checklist and display the validation error found

tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
32

of
70

Copyright © Westat,
2008


Status

Description

Submit

Does the work

of the previous 2 buttons which saves, validates the checklist form. If no errors
found, opens up a review page where the checklist can be reviewed before being submitted
to the group for eligibility.



Figure 3.4a


Clicking on [Save & Validate] would s
ave and validate the form responses. There are 3 types of validation
messages that OPEN Portal display

as described below:

Status

Description

ALERT

Just a warning to inform the user about something. Registration can continue with alerts

ERROR

Validation
failures from edit checks. These need to be corrected in order for the registration to
continue

MAND

The mandatory questions have not been answered. These need to be filled in for the
registration to
continue



Figure 3.4b


If all validations are correc
ted, OPEN Portal would display success message as shown in figure 3.4c. This would
be displayed only when [Save & Validate] is clicked. If [Submit] is clicked and no validation errors are present it
would jump to the review tab as shown in figure 3.4d and
corresponding alerts (Figure 3.4e) would be displayed
upon clicking the submit button in the review tab.



tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
33

of
70

Copyright © Westat,
2008


Figure 3.4c



Figure 3.4
d



Figure 3.4e


Click [OK] would try to invoke the group randonode’s doRegister method as provided in the API. The group
should then run through their business logic to determine the patient’s eligibility. Submission will always be sent
to the lead group of the study for randomization. Submission results can be one of the following:


Status

Description

ELIGIBLE

Group has a
pproved the patient enrollment (terminal status)

INELIGIBLE

Group has denied the patient enrollment (terminal status)

INCOMPLETE

Non terminal state where the group has the option of letting the registrar double check the
enrollment for errors. OPEN Porta
l will allow the registrar to resubmit the form to the lead
group


Please refer to the OPEN RandoNode Request Processing Interface guide for more information.

Figure 3.4f is an example of a failure message when the group randonode does not come back with
the correct
status as expected by OPEN Portal. All these registration failures would be set as SUBMITTED and OPEN Portal
will automatically try to re
-
submit it as configured.

Figure 3.4g shows the result page once the randonode successfully registers the p
atient with OPEN Portal. The
registration is set to REGISTERED status and will be automatically moved to the history tab as the registration
has reached its final terminal status.


tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
34

of
70

Copyright © Westat,
2008



Figure 3.4f



Figure
3.4g


9.10.1

Domain(s)



Registration



Associate



ReceivedForm



FormResponse

9.10.2

Java Server Page(s)



editForm
.jsp



submitForm
.jsp



groupResponse.jsp



tendencyrheumatic_2ae0d949
-
2e7b
-
45ee
-
b765
-
5b0f4230709b.doc


Page
35

of
70

Copyright © Westat,
2008



9.10.3

Process Flow Diagram

start
Save EC
Submit EC
Save and
Validate EC
Perform RSS
Validations
Perform level
0
and mandatory
validations
Fire Editchecks
Accrual failure
?
Stop
Level
0
cleared
?
Editchecks
cleared
?
Override
Request
?
Approved
?
Yes
Yes
Yes
No
Yes
Yes
Yes
No
Yes