This section provides instructions for adding and updating participating sites via the NCI CTRP Participating Site REST Service.
Introduction
Participating Site REST Service is a CTRP Web Service that provides the following operations in a REST-like fashion:
- Add a participating site to a trial
- Update an existing participating site on a trial
- Obtain a list of participating sites on a trial
The service uses XML for data exchange.
Program Codes
The program codes feature (not to be confused with NCI Division and Program Values) has been enhanced for the 4.4 release. The system ignores program codes unless the trial is one of the following:
- Complete trial with a lead organization as a member of your cancer center family of organizations.
- Abbreviated trial where such a member is a participant.
The system validates program code values against those listed on the Manage Program Codes Master List page for your affiliated cancer center. For details, refer to Managing Program Codes.
Service Endpoints
Inside the NIH Firewall (VPN required)
Outside of the NIH Firewall
Access Requirements
To use the service, you must have a valid NCI CTRP account. For instructions, refer to Creating New NCI CTRP User Accounts. All service endpoints require Okta token authentication with your NCI CTRP Client ID and Client Secret. Contact CTRP_support@nih.gov to have a NCI CTRP Client ID and Client secret generated for your CTRP REST account.
See the following document for generating an Okta access token using your CTRP Client ID and Client Secret: NCI CTRP API Authentication Guide
XML Schema
The service uses XML for data exchange. All XML elements going in or out of the service are defined and validated against the following XML schemas:
XML schemas are well-annotated with inline documentation that explains the purpose and meaning of various elements, types, and attributes. Specific elements required for service operations are explained in the sections below.
Persons and Organizations - Requirements and Recommendations
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 User 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.
Use 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.
API Specification
Add Site
Adds a participating site to a trial.
HTTP Method | POST |
---|---|
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 Body | XML document withParticipatingSite MIME Type: |
Response Body | CTRP identifier of the site MIME Type: |
HTTP Response Code |
|
Examples | URL: https://trials-dev.nci.nih.gov/services/trials/nci/NCI-2014-00496/sites Request (referring to existing Organizations and Persons by ID): |
Update Site
Updates a participating site on a trial.
HTTP Method | PUT |
---|---|
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 Body | XML document withParticipatingSiteUpdate MIME Type: |
Response Body | CTRP identifier of the site. MIME Type: |
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): Request (Referring to Generic Contacts for RSS Sites): |
Get Sites
Retrieves a list of participating sites on a trial
HTTP Method | GET |
---|---|
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 Body | NONE |
Response Body | XML document withsites MIME Type: |
HTTP Response Code | 200. Success 401. Invalid username/password or insufficient permissions to access the service. 404. Trial not found 500. Internal server error |
Examples |