Professional Documents
Culture Documents
Web Services
Library 2.0 Guide
Revision A
© 2009 Thermo Fisher Scientific Inc. All rights reserved.
Thermo Fisher Scientific Inc. provides this document to its customers with a product purchase to use in the
product operation. This document is copyright protected and any reproduction of the whole or any part of this
document is strictly prohibited, except with the written authorization of Thermo Fisher Scientific Inc.
The contents of this document are subject to change without notice. All technical information in this
document is for reference purposes only. System configurations and specifications in this document supersede
all previous information received by the purchaser.
Thermo Fisher Scientific Inc. makes no representations that this document is complete, accurate or error-
free and assumes no responsibility and will not be liable for any errors, omissions, damage or loss that might
result from any use of this document, even if the information in the document is followed properly.
This document is not part of any sales contract between Thermo Fisher Scientific Inc. and a purchaser. This
document shall in no way govern or modify any Terms and Conditions of Sale, which Terms and Conditions of
Sale shall govern all conflicting information between the two documents.
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .v
Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Safety and Special Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Contacting Us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Chapter 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
Overview of Watson Web Services Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Watson Web Services Library (WWSL) 2.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Installation Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Pre-Install: Software Requirements for Hosting the Web Service . . . . . . . . . 3
NET 3.5 Framework Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Installing Internet Information Services (IIS). . . . . . . . . . . . . . . . . . . . . . . . . 12
Windows 2008 Server - Convert to Application . . . . . . . . . . . . . . . . . . . . . . . . 14
Watson SQL Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Confirming WWSL is Installed and Operating Correctly . . . . . . . . . . . . . . . . . 16
If Using a Secure Socket Layer (SSL) Certificate . . . . . . . . . . . . . . . . . . . . . . 18
Installation Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Preface
The Watson Web Services Libarary 2.0 contains information on installing and using the
Watson Web Services Library version 2.0.
Related Documentation
Please reference:
• Watson LIMS 7.4 System Manager’s Guide
• Watson LIMS 7.4 Installation Guide
• Watson LIMS 7.4 User Manual
Contacting Us
There are several ways to contact Thermo Fisher Scientific for the information you need.
Web www.thermo.com/informaticscontacts
E-mail support.informatics@thermofisher.com
Introduction
This chapter contains:
Contents
• Overview of Watson Web Services Library
• Watson Web Services Library (WWSL) 2.0
The WWSL functionality also allows an external application to create (or supplement) a
Watson study design. Examples of external applications are:
• A clinical data system, which is now able to create study samples inside Watson.
• A custom built application.
There are additional methods to get project and study details. WWSL 2.0 also provides
methods to get or update subject, treatment, and sample data using different web service calls.
Also, methods to validate user name and check permissions are provided.
Installation
This chapter contains:
Contents
• Installation Instructions
• NET 3.5 Framework Setup
• Windows 2008 Server - Convert to Application
• Watson SQL Scripts
• Confirming WWSL is Installed and Operating Correctly
• Installation Issues
Installation Instructions
The installation of the Watson Web Services Library 2.0 (WWSL) is a multi-step process. It
has been broken into a number of milestones. Each milestone has detailed written instructions
describing the operation to be carried out on the host operating system (excluding those
milestones involving rote Oracle configuration and testing tasks).
The Watson Web Services Library 2.0 has been developed and tested with IIS 5.1 and 7.0,
ADO.NET 3.5, and ASP.NET 2.0 running on the Windows XP, 2003, or 2008 operating
system. The development environment was provided by Visual Studio 2008.
The following sections provide the installation instructions for Watson Web Services Library
2.0. The Microsoft .NET 3.5 Framework installation package is included with this
installation package and launches automatially during the installation process if InstallShield
detects that it is not already installed.
2. When Setup has been prepared, the Watson Web Services Library 2.0 - InstallShield
Wizard Welcome screen appears.
3. Click Next. The Watson Web Services Library 2.0 - InstallShield Wizard: License
Agreement appears.
Figure 2-3. Watson Web Services Library 2.0 License Agreement
\
4. Click I accept the terms of this license agreement. To print the terms for review, click
Print.
5. Click Next to continue. The Select IIS Root Folder screen appears.
Figure 2-4. Select IIS Root Folder
6. Click Browse to select a location for the IIS Root Folder. Click Next to continue.
7. The Watson Web Services Library 2.0 - InstallShield Wizard window shows that it is
ready to begin the installation.
8. Click Install. The Setup Status window appears, displaying the status of the installation.
Note At this point in the installation, you will receive an error message if the correect
version of Internet Information Server 5.1 (IIS) is not installed on your system. It is
required for the installation of WWSL 2.0 to continue. If IIS must be installed, exit the
WWSL 2.0 installation and install IIS and then resume the WWSL 2.0 installation.
9. Select I have read and ACCEPT the terms of this License Agreement then click Install.
10. The .NET 3.5 installer window alerts you of the progress of the download and
installation.
Figure 2-8. .Microsoft .NET Framework 3.5 Setup Download and Install Progress
11. When Setup is complete, a window appears alerting you that Microsoft .NET 3.5
Framework has installed correctly.
In the example below, the operating system is Windows XP. The version of IIS is 5.1. It is
recommended that 5.1 be used.
❖ To install IIS
1. Load the Installation CD.
2. The Windows XP Welcome Screen appears.
3. Click the arrow to the left of the Install optional Windows components option to select
it.
4. The Windows Components window appears. Scroll down to Internet Information
Services (IIS), and click the checkbox to the left of it to select it then click Next.
Figure 2-12. Windows Components
5. The Windows Components Wizard alerts you when it has completed the installation.
Click Finish to load an Installation Report.
Figure 2-13. Completing the Windows Components Wizard
1. Go to the IIS Manager and expand the Default Web Site category.
2. Right-click the ThermoWebAccess folder icon.
Figure 2-14. Convert to Application
3. Click OK to confirm.
4. If the conversion was successful, the ThermoWebAccess folder icon changes to the
following:
Figure 2-15. Icon Change
2. Ensure the ASP.NET version is 2.0 on the ASP.NET tab of Web Service properties on IIS.
3. If you are still unable to browse the web service, select Properties by right-clicking the
web service in the IIS Admin dialog.
Installation Issues
Please be sure to include or have available the following information with the support request:
• The TNSNAMES file for the Oracle Client installed on the Host Server for the Web
Service.
Possible Issue: Has Oracle been configured correctly on the client?
• The name of the server the Watson Web Service has been installed on.
Possible Issue: Corroborate that the Web.config file has been configured correctly.
• A screen capture of the permissions on the folder the Web Service was installed on.
Possible Issue: Has "Authenticated Users" been added to the permission list with Read &
Execute permission?
• A screen capture of the folder the Web Service was installed on with all of the
subfolders expanded and the contents of the folders displayed in the right hand pane.
Possible Issue: Is the folder where the web service was unzipped to the virtual folder setup
in IIS?
• A screen capture of the permissions on the root folder that the Oracle Client was
installed on.
Possible Issue: Has "Authenticated Users" been added to the permission list with Read &
Execute permission?
• A screen capture of the Certificate Installed on the Web Service Host Server.
Possible Issue: Has the Certificate been correctly installed on the server and the client?
This information will make it easier for the support staff to troubleshoot your issue.
WWSL 2.0
This chapter contains:
Contents
• Import Study Protocol
• WWSL 2.0
WWSL 2.0 allows an external application to create (or supplement) a Watson study design.
Examples of external applications are:
• A clinical data system, which is now able to create study samples inside Watson.
• A custom built application.
WWSL 2.0
The Watson Web Services Library 2.0 has the following features and benefits.
Features
Features include:
• Create a project in Watson
• Get list of projects from Watson
• Get list of studies from Watson
• Get study details and study status
• Update study details
• Get subject details
• Update subject details
• Get treatment details
• Update treatment details
• ImportProtocol
• Get sample details
• Add sample details
• Update sample details
• ValidateProject
• Check permissions
• GetProtocolServiceSchema
• ValidateUserNamePassword
• Single report of any import problems
Benefits
Benefits include:
• An application-independent way to perform Import Study Protocol
• Automation of Watson LIMS
• Automated study and sample creation
• Secure and automated data transfers
• Productivity improvements
• Use of standard transport protocols
• Maintenance and control by IT and System Administrators, allowing more time for the
research and development personnel to focus on other priorities.
Compatibility
All web service calls except Import Study can be used with older versions of Watson.
Procedure Calls
There are currently sixteen WWSL procedure calls available. See “Appendix: Service
Parameter Definitions.” for details.
To complete these functions successfully, there are certain requirements that must be met.
Most importantly, the WWSL 2.0 user must have the "Import Study Protocol" Watson
Security Privilege assigned to them (see the Watson System Manager’s Manual for information
on assigning security privileges). In conjunction with the creation and/or update process, the
system also makes it possible to enter an electronic signature for both Study Creation and
Import Study Protocol function.
To create a new study in Watson using WWSL, the following information must be supplied:
• Project ID (Must be a pre-existing project Id)
• Security Workgroup (Must be a pre-existing security workgroup)
• Study ID
• User Name
• User Password
To create new sample records within a newly created study using WWSL, the following
information must be supplied:
• Study ID
• Subject
• Treatment ID
• Biological Matrix
• Day Nominal
• Hour Nominal
• Minute Nominal
New samples can also be created for existing studies within Watson. In addition to creating
and updating samples, WWSL 2.0 also makes it possible to automatically accept newly
created samples within Watson.
Note It must not be possible for an external user (a user outside of Watson) to use WWSL
without an appropriate Watson WWSL security privilege, username, and password. A user
is defined as either a living person or a computer system.
Date Styles
WWSL 2.0 will support the date formats currently supported by XML standards which are
defined in ISO 8601.
Date:
CCYY-MM-DD
DateTime:
CCYY-MM-DDThh:mm:ss
Supported Data
The following data is supported by the Import Study Protocol function of the Watson web
service.
Field Definition Data Tyoe Required Data Requirement
PROJECT ID Unique text String (30) Yes Must be an
identifier for a existing project
project
STUDY ID Unique text String (50) Yes
identifier for a
study
STUDY TITLE Title of study String (255)
STUDY Description of String (4000)
DESCRIPTION study
STUDY Director of study String (50)
DIRECTOR
STUDY USER User defined String (50) Must be defined
STATUS status of study in Watson
Libraries
(BIOANALYTICA
L MONITOR)
STUDY TYPE Type of study String (50) Must be defined
in Watson
Libraries
ANALYTICAL Analytical String (50)
COORDINATOR coordinator for
study
STUDY START Start date of study Date
DATE
• BIOLOGICAL MATRIX
• SPLIT (If used)
If any of the following contain a value for any sample, the samples will be considered active
and will be assigned the current date as the SAMPLE RECIEPT DATE unless one is supplied:
• VOLUME
• IDENTIFICATION STATUS
• ACTUAL SAMPLING DATE/TIME
• SAMPLE RECIEPT DATE
• ISOTOPE 1
• ISOTOPE 2
• INFECTIOUS
• INFECTIOUS AGENT
• OTHER CONDITION
• FROZEN CONDITION
• TUBE CONDITION
• RADIOLABELED
• INACTIVATION TEMP
• INACTIVATION TIME IN
Assumption
Not all Web Service calls create audit records.
Contents
• Compatibility Matrix
• Procedure Definitions
• XSDs
Compatibility Matrix
Procedure Definitions
Note For the following calls, a valid Watson userId and password are always required
whether permission is required or not.
All parameters are mandatory for the service calls except for where explicitly mentioned.
The user needs appropriate permissions for all the web service calls except for
checkPermissions(), ValidateProject(), GetProtocolServiceSchema(), GetProjectList(), and
GetProjectStudyList.
Example:
userIdentityXml =
<?xml version="1.0" encoding="utf-16"?>
<UserIdentity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" UserName="system"
Password="secret" />
Version = “1.0.0.0 “
Note The above parameters are repeated for all the WWSL calls. Replace the UserName
and Password with the appropriate text for your system.
Procedure
GetProjectList
Purpose
Gets all projects from the database
Syntax
string GetProjectList(string userIdentityXml, string version)
Parameters
Parameter Type Comments
userIdentityXml string • Mandatory
• XML serialized string of
userIdentity object
represents user credential
Version string • Mandatory
• Version of method call
Return value
Type Comments
Example
projectListXml =
<?xml version="1.0" encoding="utf-16"?>
<ProjectList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ProjectAttrib projectId="238" projectIdText="test project"
projectName="test projectName" eSigned="true"
projectTitle="projectTitle" />
<ProjectAttrib projectId="241" projectIdText="NN9112"
projectName="MC4 alpha MSH" eSigned="false" projectTitle="" />
</ProjectList>
Procedure
GetProjectDetail
Purpose
Gets project detail data
Syntax
string GetProjectDetail(int projectId, string userIdentityXml, string
version)
Parameters
Parameter Type Comments
ProjectID • Mandatory
• Project Id
userIdentityXml • Mandatory
• XML serialized string of
userIdentity object
• Represents user
credential
Version string • Mandatory
• Version of method call
Return value
Type Comments
Example
projectAttribXml =
<?xml version="1.0" encoding="utf-16"?>
<ProjectAttrib xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" projectId="10"
projectIdText="Validate" projectName="Validate ProjNamekjhkjh"
eSigned="false" projectTitle="Project Description" />
Procedure
CreateProject
Purpose
Creates a project record in the database
Syntax
string CreateProject(string projectAttribXml, string userIdentityXml,
string version)
Parameters
Parameter Type Comments
ProjectAttrib string • Mandatory
• XML serialized object of
type ProjectAttrib
• ProjectId Text is
mandatory, remaining
fields are optional
userIdentityXml string • Mandatory.
• XML serialized string of
userIdentity object
• Represents user
credential
Version string • Mandatory
• Version of method call
Return value
Type Comments
string XML serialized object of type method
Return
Example
methodReturnXml =
<?xml version="1.0" encoding="utf-16"?>
<MethodReturn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" IsSuccessful="true"
xmlns="http://thermofisher.com/wgx/schemas/MethodReturn.xsd">
<ErrorCollection />
</MethodReturn>
projectAttribXml =
<?xml version="1.0" encoding="utf-16"?>
<ProjectAttrib xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" projectId="10"
projectIdText="Validate" projectName="Validate ProjNamekjhkjh"
eSigned="false" projectTitle="Project Description" />
Procedure
GetProjectStudyList
Purpose
Gets list of studies for a given project from the database
Syntax
string GetProjectStudyList(string StudySelectionCriteriaXml, string
userIdentityXml, string version)
Parameters
Parameter Type Comments
studySelectionCriteria string • Mandatory
• ProjectId (Mandatory),
remaining fields are
optional
userIdentityXml string • Mandatory
• XML serialized string of
userIdentity object
• Represents user
credential
Version string • Mandatory
• Version of method call
Return value
Type Comments
string XML serialized object of type studyList
Example
StudySelectionCriteriaXml =
<?xml version="1.0" encoding="utf-16"?>
<StudySelectionCriteria
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" ProjectId="10"
ShowOnlyAssigned="false" />
studyListXml =
<?xml version="1.0" encoding="utf-16"?>
<StudyList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<StudyAttrib StudyId="1362" StudyDirector="" PKDirector=""
StartDate="0001-01-01T00:00:00" ProjectId="10" StudyStatus="New"
StudyType="" StudyCompletionDate="0001-01-01T00:00:00" StudyTitle=""
/>
<StudyAttrib StudyId="1361" StudyDirector="" PKDirector=""
StartDate="0001-01-01T00:00:00" ProjectId="10" StudyStatus="New"
StudyType="" StudyCompletionDate="0001-01-01T00:00:00" StudyTitle=""
/>
</StudyList>
Procedure
GetStudyDetail
Purpose
Gets details for a given study from database
Syntax
string GetStudyDetail(int studyID, string userIdentityXml, string
version)
Parameters
Parameter Type Comments
studyId int • Mandatory
• Study Id
userIdentityXml string • Mandatory
• XML serialized string of
userIdentity object
• Represents user
credential
Version string • Mandatory
• Version of method call
Return value
Type Comments
string XML serialized object of type studyAttrib
Example
studyattribXml =
<?xml version="1.0" encoding="utf-16"?>
<StudyAttrib xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" StudyId="895"
StudyDirector="John Smith" PKDirector=""
StartDate="0001-01-01T00:00:00" ProjectId="10" StudyStatus="New"
StudyType="" StudyCompletionDate="0001-01-01T00:00:00" StudyTitle=""
/>
Procedure
UpdateStudy
Purpose
Update study data in database
Syntax
string UpdateStudy(string studyAttribXml, string userIdentityXml, string
version)
Parameters
Parameter Type Comments
studyAttribXml string • Mandatory
• ProjectId and studyId
are Mandatory,
remaining fields are
optional
• XML serialized string of
StudyAttrib object
userIdentityXml string • Mandatory
• XML serialized string of
userIdentity object
• Represents user
credential
Version string • Mandatory
• Version of method call
Return value
Type Comments
string XML serialized object of type methodReturn
Example
methodReturnXml =
<?xml version="1.0" encoding="utf-16"?>
<MethodReturn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" IsSuccessful="true"
xmlns="http://thermofisher.com/wgx/schemas/MethodReturn.xsd">
<ErrorCollection />
</MethodReturn>
studyAttribXml =
<?xml version="1.0" encoding="utf-16"?>
<StudyAttrib xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" StudyId="1362"
StudyDirector="" PKDirector=""
StartDate="2009-08-10T11:30:54.6459203-04:00" ProjectId="10"
StudyStatus="" StudyType=""
StudyCompletionDate="2009-08-10T11:30:54.6459203-04:00" StudyTitle=""
/>
Procedure
GetStudySubjectList
Purpose
Gets a list of subjects for a given study from the database
Syntax
string GetStudySubjectList(int studyID, string userIdentityXml, string
version)
Parameters
Parameter Type Comments
studyid int • Mandatory
• Study Id
userIdentityXml string • Mandatory
• XML serialized string of
userIdentity object
• Represents user
credential
Version string • Mandatory
• Version of method call
Return value
Type Comments
string XML serialized object of type
DesignSubjectList
Example
DesignSubjectListXml =
<?xml version="1.0" encoding="utf-16"?>
<DesignSubjectList
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<DesignSubjectAttrib StudyId="1362" DesignsubjectId="1"
DesignSubjectTag="1001" GenderId="NotSpecified = -1" Age="-1"
Weight="-1" Height="-1" />
Procedure
UpdateSubject
Purpose
Updates subject data in the database
Syntax
string UpdateSubject(string subjectDetailXml, string userIdentityXml,
string version)
Parameters
Parameter Type Comments
subjectDetailXml - string • StudyId and SubjectId
are mandatory,
remaining properties are
optional
• XML serialized Design
subjectAttrib object
userIdentityXml string • Mandatory
• XML serialized string of
userIdentity object
• Represents user
credential
Version string • Mandatory
• Version of method call
Return value
Type Comments
string XML serialized object of type methodReturn
Example
subjectAttribXml =
<?xml version="1.0" encoding="utf-16"?>
<DesignSubjectAttrib
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" StudyId="1362"
DesignsubjectId="1" DesignSubjectTag="1001" GenderId="Male = 1"
Age="32" Weight="75" Height="180" />
methodReturnXml =
<?xml version="1.0" encoding="utf-16"?>
<MethodReturn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" IsSuccessful="true"
xmlns="http://thermofisher.com/wgx/schemas/MethodReturn.xsd">
<ErrorCollection />
</MethodReturn>
Procedure
GetStudyTreatmentList
Purpose
Gets list of treatments for a given study from the database
Syntax
string GetStudyTreatmentList(int studyID, string userIdentityXml, string
version)
Parameters
Parameter Type Comments
studyId int • Mandatory
userIdentityXml string • Mandatory
• XML serialized string of
userIdentity object
• represents user credential
Version string • Mandatory
• Version of method call
Return value
Type Comments
string XML serialized object of type
DesignTreatmentList
Example
treatmentListXml =
<?xml version="1.0" encoding="utf-16"?>
<DesignTreatmentList
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<DesignTreatmentAttrib StudyId="1362" TreatmentKey="1"
TreatmentDesc="A" DoseAmmount="-1">
<DesignTreatmentSite SiteId="8" SiteDescription="UAT Site 1" />
<DesignTreatmentSite SiteId="111" SiteDescription="0003" />
<DesignTreatmentSite SiteId="11" SiteDescription="0021" />
<DesignTreatmentSite SiteId="24" SiteDescription="0002" />
<DesignTreatmentSite SiteId="17" SiteDescription="Theravance" />
<DesignTreatmentSite SiteId="3" SiteDescription="ALZ Clinical
test" />
<DesignTreatmentSite SiteId="2" SiteDescription="PSS, Inc." />
<DesignTreatmentSite SiteId="7" SiteDescription="AstraZeneca
R&D Charnwood" />
<DesignTreatmentSite SiteId="42" SiteDescription="Lilly Clinic" />
<DesignTreatmentSite SiteId="211" SiteDescription="7803" />
<DesignTreatmentSite SiteId="248" SiteDescription="8201" />
</DesignTreatmentAttrib>
</DesignTreatmentList>
Procedure
GetTreatmentDetail
Purpose
Gets detail data for treatment from database
Syntax
string GetTreatmentDetail(string treatmentIdentifierXml, string
userIdentityXml, string version)
Parameters
Parameter Type Comments
treatmentIdentifierXml string • Mandatory
• XML serialized object of
type DesignTreatment
Identifier
userIdentityXml string • Mandatory
• XML serialized string of
userIdentity object
• Represents user
credentials
Version string • Mandatory
• Version of method call
Return value
Type Comments
string XML serialized object of type
treatmentAttrib
Example
designTreatmentIdentifierXml =
<?xml version="1.0" encoding="utf-16"?>
<DesignTreatmentIdentifier
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" StudyId="1362"
TreatmentKey="1" />
treatmentAttribXml =
<?xml version="1.0" encoding="utf-16"?>
<ArrayOfDesignTreatmentAttrib
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<DesignTreatmentAttrib StudyId="1362" TreatmentKey="1"
TreatmentDesc="A" DoseAmmount="-1">
<DesignTreatmentSite SiteId="8" SiteDescription="UAT Site 1" />
<DesignTreatmentSite SiteId="111" SiteDescription="0003" />
<DesignTreatmentSite SiteId="11" SiteDescription="0021" />
<DesignTreatmentSite SiteId="24" SiteDescription="0002" />
<DesignTreatmentSite SiteId="17" SiteDescription="Theravance" />
<DesignTreatmentSite SiteId="3" SiteDescription="ALZ Clinical
test" />
<DesignTreatmentSite SiteId="2" SiteDescription="PSS, Inc." />
<DesignTreatmentSite SiteId="7" SiteDescription="AstraZeneca
R&D Charnwood" />
<DesignTreatmentSite SiteId="42" SiteDescription="Lilly Clinic" />
<DesignTreatmentSite SiteId="211" SiteDescription="7803" />
<DesignTreatmentSite SiteId="248" SiteDescription="8201" />
</DesignTreatmentAttrib>
</ArrayOfDesignTreatmentAttrib>
Procedure
UpdateTreatment
Purpose
Updates treatment data in database
Syntax
string UpdateTreatment(string treatmentDetailXml,string userIdentityXml,
string version)
Parameters
Parameter Type Comments
treatmentAttribXml string • Mandatory
• StudyId and
TreatmentId are
mandatory, remaining
properties are optional
• XML serialized object of
type DesignTreatment
Attrib
userIdentityXml string • Mandatory
• XML serialized string of
userIdentity object
• Represents user
credentials
Version string • Mandatory
• Version of method call
Return value
Type Comments
string XML serialized object of type
MethodReturn
Example
methodReturnXml =
<?xml version="1.0" encoding="utf-16"?>
<MethodReturn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" IsSuccessful="true"
xmlns="http://thermofisher.com/wgx/schemas/MethodReturn.xsd">
<ErrorCollection />
</MethodReturn>
treatmentAttribXml =
<?xml version="1.0" encoding="utf-16"?>
<DesignTreatmentAttrib
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" StudyId="2"
TreatmentKey="1" TreatmentDesc="test" DoseAmmount="-1" DoseUnits="µg
eq/g = 1">
<DesignTreatmentSite SiteId="2" SiteDescription="" />
<DesignTreatmentSite SiteId="3" SiteDescription="" />
<DesignTreatmentSite SiteId="4" SiteDescription="" />
</DesignTreatmentAttrib>
Procedure
GetStudySampleList
Purpose
Gets list of samples for a given study and treatment from the database
Syntax
string GetStudySampleList(int studyID, string userIdentityXml, string
version)
Parameters
Parameter Type Comments
studyId int Mandatory
Return value
Type Comments
string XML serialized object of type
DesignSampleList
Example
sampleListXml =
<?xml version="1.0" encoding="utf-16"?>
<DesignSampleList
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<DesignSampleAttrib StudyId="2" DesignSampleId="3131001"
SamplingDateTime="1997-02-04T15:45:00" SampleType="Plasma"
DesignSubjectTreatmentKey="1" NominalSamplingTime=" " />
<DesignSampleAttrib StudyId="2" DesignSampleId="3131002"
SamplingDateTime="1997-02-04T16:45:00" SampleType="Plasma"
DesignSubjectTreatmentKey="1" NominalSamplingTime=" " />
</DesignSampleList>
Procedure
GetStudyTreatmentSampleList
Purpose
Gets list of samples for a given study and treatment from the database
Syntax
string GetStudyTreatmentSampleList(string treatmentIdentifierXml, string
userIdentityXml, string Version)
Parameters
Parameter Type Comments
treatmentIdentifierXml string • Mandatory
• XML serialized object of
type DesignTreatment
Identifier
userIdentityXml string • Mandatory.
• XML serialized string of
userIdentity object
• Represents user
credential
Version string • Mandatory
• Version of method call
Return value
Type Comments
Example
designTreatmentIdentifierXml =
<?xml version="1.0" encoding="utf-16"?>
<DesignTreatmentIdentifier
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" StudyId="1362"
TreatmentKey="1" />
DesignsampleListXml =
<?xml version="1.0" encoding="utf-16"?>
<DesignSampleList
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<DesignSampleAttrib StudyId="2" DesignSampleId="3131001"
SamplingDateTime="1997-02-04T15:45:00" SampleType="Plasma"
DesignSubjectTreatmentKey="1" NominalSamplingTime=" " />
<DesignSampleAttrib StudyId="2" DesignSampleId="3131002"
SamplingDateTime="1997-02-04T16:45:00" SampleType="Plasma"
DesignSubjectTreatmentKey="1" NominalSamplingTime=" " />
</DesignSampleList>
Procedure
GetSampleDetail
Purpose
Gets list of samples for a given study and treatment from the database
Syntax
string GetSampleDetail(string sampleIdentifierXml, string
userIdentityXml, string Version)
Parameters
Parameter Type Comments
SampleIdentifierXml string Mandatory.
Return value
Type Comments
string XML serialized object of type
DesignSampleList
Example
DesignSampleIdentifier =
<?xml version="1.0" encoding="utf-16" ?>
<DesignSampleIdentifier
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" StudyId="952"
DesignSample-Id="3131001" />
DesignSampleAttrib =
<?xml version="1.0" encoding="utf-16" ?><DesignSampleAttrib
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" StudyId="952"
DesignSampleId="3131001" SamplingDateTime="1997-02-04T15:45:00"
SampleType="Plasma" DesignSubjectTreatmentKey="1"
NominalSamplingTime="" />
Procedure
ImportProtocol
Purpose
Imports a protocol for creating a study along with treatment and sample data
Syntax
string ImportProtocol(string protocolXML, string userIdentityXml, string
version)
Parameters
Parameter Type Comments
ProtocolXml string • Mandatory
• XML serialized Protocol
object
userIdentityXml string • Mandatory
• XML serialized string of
userIdentity object
• Represents user
credential
Version string • Mandatory
• Version of method call
Return value
Type Comments
string XML serialized object of type Response
Procedure
GetProtocolServiceSchema
Purpose
Syntax
string GetProtocolServiceSchema(string typeSchema, string
userIdentityXml, string version)
Parameters
Parameter Type Comments
typeSchema string Hard-coded "PROTOCOL"
value needs to be sent
Return value
Type Comments
string Protocol XSD as string object
Procedure
ValidateProject
Purpose
Syntax
string ValidateProject(string projectId, string userIdentityXml, string
version)
Parameters
Parameter Type Comments
projectId string • Mandatory
• Project Id
userIdentityXml string • Mandatory
• XML serialized string of
userIdentity object
• Represent user
credential.
Version string • Mandatory
• Version of method call
Return value
Type Comments
string Returns True or False as string
Procedure
CheckPermission
Purpose
Checks permission
Syntax
string CheckPermission(string userIdentityXml, int securityArea, int?
securityObjId, int permissionId, string version)
Parameters
Parameter Type Comments
securityArea Enum • Mandatory
• Enum value of type
securityArea
securityObjId int • Optional
• StudyId if study level
permission check
userIdentityXml string • Mandatory
• XML serialized string of
userIdentity object
represents user
credential.
Version string • Mandatory
• Version of method call
permissionId - Enum • Mandatory
• Enum value of type
SecurityPermission
Return value
Type Comments
string Returns True or False as string
Procedure
ValidateUsernamePassword
Purpose
Validates a project for the XML format
Syntax
string ValidateUserNamePassword(string userIdentityXml, string version)
Parameters
Parameter Type Comments
userIdentityXml string • Mandatory
• XML serialized string of
userIdentity object
• Represents user
credential
Version string • Mandatory
• Version of method call
permissionId enum Value of type
SecurityPermission
Return value
Type Comments
string Returns True or False as string
XSDs
ProjectList:
</xs:schema>
ProjectAttrib:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="ProjectAttrib">
<xs:complexType>
<xs:attribute name="projectId" type="xs:int" />
<xs:attribute name="projectIdText">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="projectName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="80" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="eSigned">
<xs:simpleType>
<xs:restriction base="xs:boolean" />
</xs:simpleType>
</xs:attribute>
<xs:attribute name="projectTitle">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4000" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>
DesignSampleAttrib:
</xs:schema>
DesignSampleIdentifier:
</xs:schema>
DesignSampleList:
</xs:schema>
DesignSubjectAttrib:
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Age" type="xs:int" />
<xs:attribute name="Weight" type="xs:int" />
<xs:attribute name="Height" type="xs:int" />
</xs:complexType>
</xs:element>
</xs:schema>
DesignSubjectList:
</xs:schema>
DesignSubjectTreatment:
</xs:attribute>
<xs:attribute name="Status" type="xs:int" />
<xs:attribute name="RevisionNumber" type="xs:int" />
<xs:attribute name="VisitText">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="UserId" type="xs:int" />
<xs:attribute name="RecordTimeStamp" type="xs:dateTime" />
<xs:attribute name="DoseDateHasNoTime">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="CommentMemo">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4000" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>
DesignSubjectTreatmentList:
</xs:schema>
DesignTreatmentAttrib:
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DoseAmmount" type="xs:int" />
<xs:attribute name="DoseUnits">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>
StudySelectionCriteria:
</xs:schema>
StudyList:
</xs:schema>
StudyAttrib:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="StudyAttrib">
<xs:complexType>
<xs:attribute name="StudyId" type="xs:int" />
<xs:attribute name="StudyDirector">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="PKDirector">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="StartDate" type="xs:dateTime" />
<xs:attribute name="ProjectId" type="xs:int" />
<xs:attribute name="StudyStatus" type="xs:string" />
<xs:attribute name="StudyType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="StudyCompletionDate" type="xs:dateTime" />
<xs:attribute name="StudyTitle">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>
DesignTreatmentSite:
</xs:schema>
DesignTreatmentList:
</xs:schema>
DesignTreatmentIdentifier:
</xs:schema>
UserIdentity:
</xs:schema>>
SecurityPermission:
enum SecurityPermission
{
//System level
FileCreateProject,
AssignSecurity,
//Study level
EditStudy,
EditSubject,
TreatmentMenuItem,
EditTreatment,
ViewStudyDesign,
StudyAssignSecurity,
ProtocolImportFunction
SecurityArea: