NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Multiexcerpt

Inside the NIH Firewall (VPN required)

Outside of the NIH Firewall

...

Multiexcerpt

Creating or updating sites in the CTRP often involves organizations and persons that act as Healthcare Facilities and Principal Investigators on a site. CTRP does not manage information about persons and organizations; instead, this is delegated to the Person and Organization Curation Portal, also known as PO. For more information, refer to the NCI CTRP Person and Organization Curation Portal User 's Guide.

Note
You must have a user account with appropriate LDAP membership to access the PO User's Guide.

Before creating or updating a site, ensure that organizations and persons acting on the site exist already in PO. Use person identifiers (PO IDs) and organization identifiers (CTEP IDs) when you register a trial whenever possible. If they do not already exist, request that they be created prior to managing a site, by submitting a request to the CTRO at ncictro@mail.nih.gov.

Tip
titleUse PO Web Services API

We strongly recommend that you exercise the   PO Web Services API separately in order to find persons and organizations of interest prior to creating a site. Once you find a person or organization, you can use their IDs within a site creation packet as shown in API examples below. This helps to minimize duplicates in the CTRP system.

...

HTTP MethodPOST
URL

/trials/{idType}/{trialID}/sites

Parameters

{idType}. Type of identifier you want to use to identify a trial in CTRP. Possible values: pa, nci, ctep.

{trialID}. Trial identifier value itself

Request BodyXML document with
ParticipatingSite
 


MIME Type: application/xml

Response Body

CTRP identifier of the site

MIME Type: text/plain

HTTP Response Code
  • 200. Success
  • 400. Validation error
  • 401. Invalid username/password or insufficient permissions to access the service.
  • 404. Trial not found
  • 500. Internal server error (includes the condition when the caller does not own the trial)
Examples

URL: https://trials-dev.nci.nih.gov/services/trials/nci/NCI-2014-00496/sites

Request (referring to existing Organizations and Persons by ID):

Code Block
languagehtml/xml
collapsetrue
<tns:ParticipatingSite xmlns:tns="gov.nih.nci.pa.webservices.types"
    xmlns:tns1="gov.nih.nci.po.webservices.types.trimmed" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="gov.nih.nci.pa.webservices.types ../../src/resources/ws.xsd ">
    <tns:recruitmentStatus>Administratively Complete</tns:recruitmentStatus>
    <tns:recruitmentStatusDate>2001-05-06</tns:recruitmentStatusDate>
    <tns:localTrialIdentifier>tns:localTrialIdentifier</tns:localTrialIdentifier>
    <tns:programCode>tns:programCode</tns:programCode>
    <tns:openedForAccrual>2001-02-02</tns:openedForAccrual>
    <tns:closedForAccrual>2010-03-04</tns:closedForAccrual>
    <tns:targetAccrualNumber>100000</tns:targetAccrualNumber>
    <tns:investigator>
        <tns:person>
            <tns:existingPerson>
                <tns:poID>1</tns:poID>
            </tns:existingPerson>
        </tns:person>
        <tns:role>Principal Investigator</tns:role>
        <tns:primaryContact>true</tns:primaryContact>
    </tns:investigator>
    <tns:investigator>
        <tns:person>
            <tns:existingPerson>
                <tns:poID>2</tns:poID>
            </tns:existingPerson>
        </tns:person>
        <tns:role>Sub Investigator</tns:role>
        <tns:primaryContact>false</tns:primaryContact>
    </tns:investigator>
    <tns:organization>
        <tns:existingOrganization>
            <tns:poID>1</tns:poID>
        </tns:existingOrganization>
    </tns:organization>
</tns:ParticipatingSite>

 
 

Update Site

Updates a participating site on a trial.

 
Request (Referring to Generic Contacts for RSS Sites):
Code Block
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
<tns:ParticipatingSite xmlns:tns="gov.nih.nci.pa.webservices.types"
	xmlns:tns1="gov.nih.nci.po.webservices.types.trimmed" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="gov.nih.nci.pa.webservices.types ../../src/resources/ws.xsd ">
	<tns:recruitmentStatus>Administratively Complete</tns:recruitmentStatus>
	<tns:recruitmentStatusDate>2001-05-06</tns:recruitmentStatusDate>
	<tns:localTrialIdentifier>tns:localTrialIdentifier</tns:localTrialIdentifier>
	<tns:programCode>tns:programCode</tns:programCode>
	<tns:openedForAccrual>2001-02-02</tns:openedForAccrual>
	<tns:closedForAccrual>2010-03-04</tns:closedForAccrual>
	<tns:targetAccrualNumber>100000</tns:targetAccrualNumber>
	<tns:investigator>
		<tns:person>
			<tns:existingPerson>
				<tns:poID>1</tns:poID>
			</tns:existingPerson>
		</tns:person>
		<tns:role>Principal Investigator</tns:role>
		<tns:primaryContact>true</tns:primaryContact>
	</tns:investigator>
	<tns:investigator>
		<tns:person>
			<tns:existingPerson>
				<tns:poID>1</tns:poID>
			</tns:existingPerson>
		</tns:person>
		<tns:role>Principal Investigator</tns:role>
		<tns:primaryContact>false</tns:primaryContact>
	</tns:investigator>
	<tns:primaryContact>
		<tns:person>
			<tns:existingPerson>
				<tns:poID>1</tns:poID>
			</tns:existingPerson>
		</tns:person>
		<tns:contactDetails>
			<tns:email>richardroe@example.com</tns:email>
			<tns:phone>555-555-5555</tns:phone>
		</tns:contactDetails>
	</tns:primaryContact>
	<tns:organization>
		<tns:existingOrganization>
			<tns:poID>2</tns:poID>
		</tns:existingOrganization>
	</tns:organization>
</tns:ParticipatingSite>


Request (Referring to Generic Contacts for RSS Sites):
Code Block
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
<tns:ParticipatingSite xmlns:tns="gov.nih.nci.pa.webservices.types"
                       xmlns:tns1="gov.nih.nci.po.webservices.types.trimmed" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                       xsi:schemaLocation="gov.nih.nci.pa.webservices.types ../../src/resources/ws.xsd ">
    <tns:recruitmentStatus>Administratively Complete</tns:recruitmentStatus>
    <tns:recruitmentStatusDate>2001-05-06</tns:recruitmentStatusDate>
    <tns:localTrialIdentifier>tns:localTrialIdentifier</tns:localTrialIdentifier>
    <tns:programCode>tns:programCode</tns:programCode>
    <tns:openedForAccrual>2001-02-02</tns:openedForAccrual>
    <tns:closedForAccrual>2010-03-04</tns:closedForAccrual>
    <tns:targetAccrualNumber>100000</tns:targetAccrualNumber>
    <tns:investigator>
        <tns:person>
            <tns:existingPerson>
                <tns:poID>1</tns:poID>
            </tns:existingPerson>
        </tns:person>
        <tns:role>Principal Investigator</tns:role>
        <tns:primaryContact>false</tns:primaryContact>
    </tns:investigator>
   <tns:genericContact>
       <tns:title>GenericContactTitle</tns:title>
       <tns:contactDetails>
           <tns:email>gc@example.com</tns:email>
           <tns:phone>111-111-1111</tns:phone>
       </tns:contactDetails>
   </tns:genericContact>
    <tns:organization>
        <tns:existingOrganization>
            <tns:poID>2</tns:poID>
        </tns:existingOrganization>
    </tns:organization>
</tns:ParticipatingSite>

Update Site

Updates a participating site on a trial.

HTTP MethodPUT
URL

/sites/{id}

Parameters

{id}. CTRP identifier of the site

/trials/{idType}/{trialID}/sites/po/{id}

Parameters

{idType}. Type of identifier used to identify a trial in CTRP. Possible values: pa, nci, ctep.

{trialID}. Trial identifier value itself

{id}. PO identifier of the organization that is the site on the trial

/trials/{idType}/{trialID}/sites/ctep/{id}

Parameters

{idType}. Type of identifier used to identify a trial in CTRP. Possible values: pa, nci, ctep.

{trialID}. Trial identifier value itself

{id}. CTEP identifier of the organization that is the site on the trial

Request BodyXML document with
ParticipatingSiteUpdate


MIME Type: application/xml

Response Body

CTRP identifier of the site.

MIME Type: text/plain.

HTTP Response Code

200. Success

400. Validation error

401. Invalid username/password or insufficient permissions to access the service.

404. Site not found

500. Internal server error (includes the condition when the caller does not own the trial)

Examples

URL: https://trials-dev.nci.nih.gov/services/trials/nci/NCI-2014-00496/sites/po/34758686

Request (referring to existing Organizations and Persons by ID):

Code Block
languagehtml/xml
collapsetrue
<tns:ParticipatingSiteUpdate xmlns:tns="gov.nih.nci.pa.webservices.types"
    xmlns:tns1="gov.nih.nci.po.webservices.types.trimmed" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="gov.nih.nci.pa.webservices.types ../../src/resources/ws.xsd ">
    <tns:recruitmentStatus>Administratively Complete</tns:recruitmentStatus>
    <tns:recruitmentStatusDate>2001-05-06</tns:recruitmentStatusDate>
    <tns:localTrialIdentifier>tns:localTrialIdentifier</tns:localTrialIdentifier>
    <tns:programCode>tns:programCode</tns:programCode>
    <tns:openedForAccrual>2001-02-02</tns:openedForAccrual>
    <tns:closedForAccrual>2010-03-04</tns:closedForAccrual>
    <tns:targetAccrualNumber>100000</tns:targetAccrualNumber>
    <tns:investigator>
        <tns:person>
            <tns:existingPerson>
                <tns:poID>1</tns:poID>
            </tns:existingPerson>
        </tns:person>
        <tns:role>Principal Investigator</tns:role>
        <tns:primaryContact>true</tns:primaryContact>
    </tns:investigator>
    <tns:investigator>
        <tns:person>
            <tns:existingPerson>
                <tns:poID>2</tns:poID>
            </tns:existingPerson>
        </tns:person>
        <tns:role>Principal Investigator</tns:role>
        <tns:primaryContact>false</tns:primaryContact>
    </tns:investigator>
	<tns:primaryContact>
		<tns:person>
            <tns:existingPerson>
                <tns:poID>1</tns:poID>
            </tns:existingPerson>
		</tns:person>
		<tns:contactDetails>
			<tns:email>sample@sample.com</tns:email>
			<tns:phone>555-555-5555ext99</tns:phone>
		</tns:contactDetails>
	</tns:primaryContact>
</tns:ParticipatingSiteUpdate>

Request (Referring to Generic Contacts for RSS Sites):


Code Block
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
<tns:ParticipatingSiteUpdate xmlns:tns="gov.nih.nci.pa.webservices.types"
	xmlns:tns1="gov.nih.nci.po.webservices.types.trimmed" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="gov.nih.nci.pa.webservices.types ../../src/resources/ws.xsd ">
	<tns:recruitmentStatus>Administratively Complete</tns:recruitmentStatus>
	<tns:recruitmentStatusDate>2001-05-06</tns:recruitmentStatusDate>
	<tns:localTrialIdentifier>tns:localTrialIdentifier</tns:localTrialIdentifier>
	<tns:programCode>tns:programCode</tns:programCode>
	<tns:openedForAccrual>2001-02-02</tns:openedForAccrual>
	<tns:closedForAccrual>2010-03-04</tns:closedForAccrual>
	<tns:targetAccrualNumber>100000</tns:targetAccrualNumber>
	<tns:investigator>
		<tns:person>
			<tns:existingPerson>
				<tns:poID>1</tns:poID>
			</tns:existingPerson>
		</tns:person>
		<tns:role>Principal Investigator</tns:role>
		<tns:primaryContact>true</tns:primaryContact>
	</tns:investigator>
	<tns:investigator>
		<tns:person>
			<tns:existingPerson>
				<tns:poID>1</tns:poID>
			</tns:existingPerson>
		</tns:person>
		<tns:role>Principal Investigator</tns:role>
		<tns:primaryContact>false</tns:primaryContact>
	</tns:investigator>
	<tns:primaryContact>
		<tns:person>
			<tns:existingPerson>
				<tns:poID>1</tns:poID>
			</tns:existingPerson>
		</tns:person>
		<tns:contactDetails>
			<tns:email>richardroe@example.com</tns:email>
			<tns:phone>555-555-5555</tns:phone>
		</tns:contactDetails>
	</tns:primaryContact>
</tns:ParticipatingSiteUpdate>

Request (Referring to Generic Contacts for RSS Sites):
Code Block
collapsetrue
 
<?xml version="1.0" encoding="UTF-8"?>
HTTP MethodPUT
URL

/sites/{id}

Parameters

{id}. CTRP identifier of the site

/trials/{idType}/{trialID}/sites/po/{id}

Parameters

{idType}. Type of identifier used to identify a trial in CTRP. Possible values: pa, nci, ctep.

{trialID}. Trial identifier value itself

{id}. PO identifier of the organization that is the site on the trial

/trials/{idType}/{trialID}/sites/ctep/{id}

Parameters

{idType}. Type of identifier used to identify a trial in CTRP. Possible values: pa, nci, ctep.

{trialID}. Trial identifier value itself

{id}. CTEP identifier of the organization that is the site on the trial

Request BodyXML document with
ParticipatingSiteUpdate

 

MIME Type: application/xml

Response Body

CTRP identifier of the site.

MIME Type: text/plain.

HTTP Response Code

200. Success

400. Validation error

401. Invalid username/password or insufficient permissions to access the service.

404. Site not found

500. Internal server error (includes the condition when the caller does not own the trial)

Examples

URL: https://trials-dev.nci.nih.gov/services/trials/nci/NCI-2014-00496/sites/po/34758686

Request (referring to existing Organizations and Persons by ID):

Code Block
languagehtml/xml
collapsetrue
<tns:ParticipatingSiteUpdate xmlns:tns="gov.nih.nci.pa.webservices.types"
     xmlns:tns1="gov.nih.nci.po.webservices.types.trimmed" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="gov.nih.nci.pa.webservices.types ../../src/resources/ws.xsd ">
    <tns:recruitmentStatus>Administratively Complete</tns:recruitmentStatus>
    <tns:recruitmentStatusDate>2001-05-06</tns:recruitmentStatusDate>
    <tns:localTrialIdentifier>tns:localTrialIdentifier</tns:localTrialIdentifier>
    <tns:programCode>tns:programCode</tns:programCode>
    <tns:openedForAccrual>2001-02-02</tns:openedForAccrual>
    <tns:closedForAccrual>2010-03-04</tns:closedForAccrual>
    <tns:targetAccrualNumber>100000</tns:targetAccrualNumber>
    <tns:investigator>
        <tns:person>
            <tns:existingPerson>
                <tns:poID>1</tns:poID>
            </tns:existingPerson>
        </tns:person>
        <tns:role>Principal Investigator</tns:role>
        <tns:
primaryContact>true<
primaryContact>false</tns:primaryContact>
    </tns:investigator>
    <tns:investigator>
        <tns:person>
            <tns:existingPerson>
                <tns:
poID>2<
poID>1</tns:poID>
            </tns:existingPerson>
        </tns:person>
        <tns:role>Principal Investigator</tns:role>
        <tns:primaryContact>false</tns:primaryContact>
    </tns:investigator>
    <tns:
primaryContact> <tns:person>
genericContact>
        <tns:title>GenericContactTitle</tns:title>
     
<tns:existingPerson>
   <tns:contactDetails>
            
<tns:
poID>1<
email>gc@example.com</tns:
poID>
email>
            
</tns:existingPerson> </tns:person> <tns:contactDetails> <tns:email>sample@sample.com</tns:email> <tns:phone>555-555-5555ext99<
<tns:phone>111-111-1111</tns:phone>
        </tns:contactDetails>
    </tns:
primaryContact>
genericContact>
</tns:ParticipatingSiteUpdate>




Get Sites

Retrieves a list of participating sites on a trial

...