Upload
anne-bell
View
213
Download
0
Embed Size (px)
Citation preview
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/RandoNode.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 MappingODM 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 MappingODM 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</GroupRandoNodePackage>
• </Application>
• </Applications>
9/17/08 RandoNode IT Conference 29
Example Code To Read Application.xmlKAppConfig 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
– [email protected]– (301) 294-2045
• Lucille Patrichuk – Transition Manager– [email protected]– (240) 314-2572
• Jerry Wernimont – CTSU Associate Director - IT– [email protected]– (240) 314-2396
• Steve Riordan – CTSU Project Director– [email protected]– (301) 517-4045