RandoNode IT Conference

judgedrunkshipΔιακομιστές

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

119 εμφανίσεις


RandoNode IT Conference






Sept 17, 2008



9/17/08

RandoNode IT Conference

2

Development Environment Setup


System Environment Windows OS


JAVA_HOME
-

where the SUN jdk(development and runtime is
installed).


9/17/08

RandoNode IT Conference

3

Cont


CTSU_HOME


where the
meta data files are installed.


9/17/08

RandoNode IT Conference

4

CTSU Provided Classes


The interface classes


The framework classes


The ODM classes that represent meta data and clinical
data


The domain classes and xml files for persisting using
hibernate


The hibernate persist classes


The web service classes

9/17/08

RandoNode IT Conference

5

Group Implementation Classes


A main class that inherits from RanodeNodeApp. This
class is called from the CTSU provided web service
class to obtain a object to handle the OPEN requests.


Class(es) that inherit(s) from RegistrationCore which
contains the business logic for the web services provided
by the groups’ RandoNode.

9/17/08

RandoNode IT Conference

6

Install RandoNode Starter Kit


Unzip the files


Create project from Eclipse


Build


Deploy

9/17/08

RandoNode IT Conference

7

Install Project to Eclipse Workspace

9/17/08

RandoNode IT Conference

8

Create Project Using build.xml

9/17/08

RandoNode IT Conference

9

Cont

9/17/08

RandoNode IT Conference

10

Build Project Using build.xml

9/17/08

RandoNode IT Conference

11

Deploy RandoNode War


The war from the build file is created in deploy directory
C:/SandBox/EclipseWorkspace3.3/RandoNode/deploy/R
andoNode.war


Copy RandoNode.war to your server deployment
directory.


Using Jboss as an example, the war is copied to
C:
\
Servers
\
jboss
-
4.0.5.GA
\
server
\
default
\
deploy where
c:
\
Servers/jboss
-
4.0.5.GA is the jboss home directory.


Using tomcat as an example, the war is copied to
C:
\
Servers
\
apache
-
tomcat
-
5.5.20
\
webapps where
c:
\
Servers
\
apache
-
tomcat
-
5.5.20 is the tomcat home
directory.

9/17/08

RandoNode IT Conference

12

isAvailable Interface


Input


OpenRequest


Output


OpenResponse


OpenResponse.responseCode


READY


NOT_READY


OpenResponse.responseText : please fill in the reason if
RandoNode is not NOT_READY to accept request

9/17/08

RandoNode IT Conference

13

Example to call isAvailable


Modify the IsAvailable.java located in
c:/SandBox/EclipseWorkspace3.3/RandoNode/src/com/
westat/ctsu/open/node/example


Change to your IP address at line 74


Modify the return value in
c:/SandBox/EclipseWorkspace3.3/RandoNode/src/com/
westat/ctsu/open/node/RandoNode.java.


Change OpenResponse.setResponseCode between READY
and NOT_READY


Build


Deploy


Test

9/17/08

RandoNode IT Conference

14

RandoNode Logging


The log files are located in
CTSU_HOME/RandoNode/logs

9/17/08

RandoNode IT Conference

15

CDISC ODM..


Standard for interchange of data collected during the
course of clinical trials.


Handles


study meta data.


study administrative data


study clinical data.


9/17/08

RandoNode IT Conference

16

ODM XSD Metadata Diagram

9/17/08

RandoNode IT Conference

17

ODM XSD Clinical Data Diagram

9/17/08

RandoNode IT Conference

18

ODM XSD/Study Metadata Mapping

ODM Metadata Element

Study

Study

Protocol Number

GlobalVariables.StudyName

Protocol Number

GlobalVariables.StudyDescription

Protocol Title

MetaDataVersion.StudyEventDef

Study Event

MetaDataVersion.FormDef

Form

MetaDataVersion.ItemGroupDef

Module

MetaDataVersion.ItemDef

Question

MetaDataVersion.CodeList

Question’s valid values

9/17/08

RandoNode IT Conference

19

Study Form E1505

9/17/08

RandoNode IT Conference

20

Study Form Translated Into ODM Metadata

9/17/08

RandoNode IT Conference

21

ODM XSD/Study Data Mapping

ODM Clinical Element

Study Data

AdminData.User

Administrative user for this study
event.

AdminData.Location

Location of the user or the sites
associated with this study event.

ClinicalData.SubjectData

Key information for a subject data
(patient).

ClinicalData.FormData

Study Form data

ClinicalData.ItemGroupData

Modules data

ClinicalData.ItemData

Question data.

9/17/08

RandoNode IT Conference

22

Fill In Study Using OPEN

9/17/08

RandoNode IT Conference

23

Study Data Translated Into ODM

9/17/08

RandoNode IT Conference

24

RandoNode Metadata Diagram

9/17/08

RandoNode IT Conference

25

RandoNode ClinicalData Diagram

9/17/08

RandoNode IT Conference

26

RandoNode Configuration


Setup system environment variable CTSU_HOME


Create repository for meta data file under
CTSU_HOME/RandoNode/meta


Install Application.xml under
CTSU_HOME/RandoNode/config

9/17/08

RandoNode IT Conference

27

Setup CTSU_HOME on Windows

9/17/08

RandoNode IT Conference

28

Application.xml Example


<Applications>



<!
--

add in for RandoNode web service project
--
>



<Application Name="RandoNode"
Package="com.westat.ctsu.open.node">



<!
--

Name of the group's RandoNode called by the web method.
--
>



<GroupRandoNodeApp>RandoNodeECOG</GroupRandoNodeApp
>



<!
--

the package of the group's RandoNode
--
>


<GroupRandoNodePackage>com.ECOG.ctsu.open.node</GroupRa
ndoNodePackage>



</Application>


</Applications>

9/17/08

RandoNode IT Conference

29

Example Code To Read Application.xml

KAppConfig kAppConfig =
KAppConfig.
getInstance
("RandoNode");


String groupRandoClass =
kAppConfig.get("GroupRandoNodeApp",


"RandoNodeECOG");


String groupRandoPackage =
kAppConfig.get("GroupRandoNodePackage",
"com.ECOG.ctsu.open.node");

9/17/08

RandoNode IT Conference

30

Extract Metadata Options


Get all the questions within a form


MetaDataUtil.itemMap


Get question based on question’s CDE public


MetaDataUtil.getItem(String cdePublicId)


Get all modules within a form


MetaDataUtil.itemGroupMap


Get question’s valid value


Item.codeListMap


Get all the valid values within a form


MetaDataUtil. codeListMap


9/17/08

RandoNode IT Conference

31

Example To Extract Metadata


Run MetadataExtract.java within Eclipse


Console output the extraction result with different
options.


Modify MetadataExtract.java (Exercise time

)

9/17/08

RandoNode IT Conference

32

Extract Clinical Data Options


Get administrative users


ClinicalDataUtil.userMap


ClinicalDataUtil.getUser(String userCtepId)


Get administrative locations


ClinicalDataUtil.locationMap


ClinicalDataUtil.getLocation(String locationCtepId)


Get all the form response data


ClinicalDataUtil.itemDataMap


Get response data based on question’s cde public id


ClinicalDataUtil.getItemData(String cdePublicId)


Get response data based on question’s long name


ClinicalDataUtil.getItemDataByName(String longName)


Get the override approval list


ClinicalDataUtil.overrideApprovalList

9/17/08

RandoNode IT Conference

33

Example To Extract Clinical Data


Run ClinicaldataExtract.java


Extraction output with different options.


Modify ClinicalDataExtract.java.

9/17/08

RandoNode IT Conference

34

doCredential


Call


Credit group is the protocol lead group


AND


When the protocol lead group does not maintain person roster
and/or site roster within RSS


AND


Lead group requests the call from OPEN before the registrar fills
in the EC form



9/17/08

RandoNode IT Conference

35

doCredential Interface


Input


OpenRequest


OpenRegistration


Output


RegistrationResponse


OpenResponse.responseCode


PROCESSED


EXCEPTION


OpenResponse.responseText : optional, but highly recommended


OpenRegistration.status


SUCCESS


FAILURE

9/17/08

RandoNode IT Conference

36

doValidate


Ravi please fill in.

9/17/08

RandoNode IT Conference

37

doRegister


Call


EC is filled and response passed the validation check


9/17/08

RandoNode IT Conference

38

doRegister Interface


Input


OpenRequest


OpenRegistration


OdmData


Output


RegistrationResponse


OpenRegistration.status


OpenRegistration.eligibility


OpenRegistration.treatmentAssignment


OpenRegistration. ineligibilityReason



What about the groupRegistration

9/17/08

RandoNode IT Conference

39

Metadata Update


Assumption: an active protocol form is modified to add in
a new question


The form is updated with a new version date


The form’s meta data is generated and saved to OPEN DB


RandoNode requests the meta data from CEWS when a
registration request is sent using the new form.


RandoNode starter kit software is not affected.


May need to update your business logic.

9/17/08

RandoNode IT Conference

40

WSDL changes


Install the new RandoNode.jar to your lib directory.


Jar is versioned with MANIFEST.MF


Example:


Add an attribute(associate) to OpenRegistration class


The wsdl is updated with a new version number.


To use the added attribute, OpenRegistration.associate to get
the value of this attribute.


How to check the jar version


Read manifest.mf within the jar


Deploy the war with the new RandoNode.jar, read manifest.mf
under DEPLOY/RandoNode/WEB
-
INF/classes


9/17/08

RandoNode IT Conference

41

WSDL Migration Exercise


Replace your RandoNode.jar with the updated
RandoNode.jar. Note: the jar version is different.


Rebuild the RandoNode project


Run DoRegister with previously WSDL data file and
current WSDL data file.


9/17/08

RandoNode IT Conference

42

Questions?

9/17/08

RandoNode IT Conference

43

Contacts


Ravi Rajaram


OPEN Development Manager


RaviRajaram@westat.com


(301) 294
-
2045


Lucille Patrichuk


Transition Manager


LucillePatrichuk@westat.com


(240) 314
-
2572


Jerry Wernimont


CTSU Associate Director
-

IT


JeromeWernimont@westat.com


(240) 314
-
2396


Steve Riordan


CTSU Project Director


SteveRiordan@westat.com


(301) 517
-
4045