Versions Compared

Key

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

POST openspecimen/rest/ng/distributionprotocolsdistribution-protocols

Use this resource to create new distribution protocol in the openSpecimen OpenSpecimen application. Use HTTP POST method to call this API by passing the below details in JSON format.

Below are the attributes which need to be sent in the request body:

Name of investigator
Parameter
Details
principalInvestigator
titleTitle of distribution protocol
shortTitleShort title of distribution protocol
principalInvestigator

Principal Investigator user details. This is the JSON format object with following details:

idIdentifier of the user.
loginName[optional]Login name of the user.
 instituteNameReceiving institute for which the distribution protocol will be used.
 defReceivingSiteName [optional]  Default receiving site name under receiving institute.
irbId [optional]IRB ID of of distribution protocol
startDate [optional]
Starting date of distribution protocol
anticipatedSpecimenCountTotal count of specimen
descriptionUrl [optional]

URL of distribution protocol description

activityStatusendDate [optional]End date of distribution protocol.
 report [optional]This is the JSON format object for order report query. The required field for report is id (identifier) of query.
 distributingSites

This is the JSON object of distributing site details the object format is institute name : array of siteName.

Example:

"{"institute1": ["Site1", "Site2"], "institute2": []}"

The empty array for site names represent "All current & future sites".

activityStatus [optional]

Defines the status of a distribution protocol record

{active, closed, pending, disabled}. The default value will be "Active".

 

POST http[s]:<host>:<port>/openspecimen/rest/ng/distributionprotocolsdistribution-protocols

Use this URL to add distribution protocol in openSpecimen OpenSpecimen application.

Result:

The response of this request will contains the details of the created distribution protocol.

Below is the example of the create distribution protocol:

 

URLhttp://<host>:<port>/openspecimen/rest/ng/distributionprotocolsdistribution-protocols
MethodPOST
Requestapplication/json
json

{

"principalInvestigatortitle" : {"loginName"DP Protocol",

"shortTitle" : "admin@admin.comDP Pro", "domainName
"principalInvestigator" : {"id": "catissue2"},

"titleinstituteName": "DP ProtocolInstitute1",

"shortTitle defReceivingSiteName": "DP ProSite1",

"irbId" : "IRB555571",

"startDate" : "2014-06-13",

"descriptionUrlendDate": "www.simplepr.com2015-10-01",

"anticipatedSpecimenCountdistributingSites": 20,{"activityStatusInstitute2": ["Active"Site4", "Site5"]}
}

Response

{
  "id":

 20principalInvestigator
{
loginName

5,
  "title": "DP Protocol",
  "shortTitle": "DP Pro",
  "principalInvestigator": {
    "id": 3,
    "firstName": "admin",
    "lastName": "admin",
    "loginName": "admin@admin.com",
    "domain": "openspecimen",
    "emailAddress": "admin@admin.com",

domainName"catissue"
}
title"DP Protocol"
shortTitle"DP Pro"
irbId"IRB555571"
startDate1402617600000
anticipatedSpecimenCount20
descriptionUrl"www.simplepr.com"
activityStatus"Active"

    "admin": false,
    "cpCount": 0,
    "creationDate": 1442946600000
  },
  "startDate": 1401580800000,
  "endDate": 1444435200000,
  "distributedSpecimensCount": 0,
  "instituteName": "Institute1",
  "defReceivingSiteName": "Site1",
  "irbId": "IRB555571",
  "activityStatus": "Active",
  "report": null,
  "distributingSites": {
    "Institute2": [
      "Site4",

      "Site5"
    ]
  }
}

 

Error Cases :

code
Applies to
Status Message
200All resourcesDistribution protocol has been created successfully
400All requestsInvalid parameters, e.g  duplicate protocol Name, blank protocol name etc
401All requestsAuthorization failed, user doesn't have Authority
500All requestsInternal server error, Encountered server error while performing operations