[Deprecated]: V2.0
/ec-datahub-svc/rest/v2.0/tenant/{tenantId}/studies/{studyId}/kitsAndRandomizations
Deprecated: Use latest version instead.
Retrieves the study-permissioned Kits and Randomization Design dataset for a single study.
The dataset exposes versioned randomization and supply design configuration, including study-event linkage, randomization definitions, treatment arms, titration and allocation settings, kit types, calculated dose configuration, and design audit columns.
Supports select, filter, sort, limit, and offset query patterns.
The dataset returns rows for randomization and kit design entities configured for the study versions available in the selected mode.
This version additionally includes the following data points: CURRENT_STUDY_ROLE_ID, CURRENT_STUDY_ROLE_WID, and CURRENT_STUDY_ROLE_NAME.
Required permission: KitsAndRandomizationDatasetPost.
Recommended order columns: The backend query always orders results by DH_TIMESTAMP and VERSION_START in ascending order first. If orderColumns is empty, only these two columns are used. If orderColumns is provided, the specified columns are appended after DH_TIMESTAMP and VERSION_START. For stable, deterministic pagination, use STUDY_ID, STUDY_VERSION, STUDYEVENT_ID, RAND_ID, ARM_ID, KIT_ID, and TITRATION in the orderColumns field of the request payload.
Request
-
studyId(required): string(uuid)
Unique study identifier supplied in the
studyIdpath parameter.Use the uppercase hexadecimal UUID value for the study.
Example:
0C7CBA3F70034C47947E2FAB086BFBF5. -
tenantId(required): string(uuid)
Unique tenant identifier supplied in the
tenantIdpath parameter.Use the uppercase hexadecimal UUID value for the tenant.
Example:
EC942244BB30163BE053BEC44C64CF34.
-
limit: integer(int32)
Minimum Value:
0Page size for the result set.
0disables pagination and returns the maximum result set allowed by the dataset endpoint.- Positive values enable pagination.
- Negative values return HTTP 400.
-
offset: integer(int32)
Minimum Value:
0Zero-based row offset.
- Counts rows, not pages.
- To fetch the next page, repeat the same request body and set
offset = previous offset + previous count. - When
limit = 0, this value is ignored and the response echoesoffset = 0. - When
limit > 0, an offset beyond the available rows returns HTTP 200 with an empty page. - Negative values return HTTP 400.
- application/json
objectSubmit a structured query for a Data Hub dataset.
selectColumnsis required and must contain one or more valid column names exposed by the target dataset version.whereColumnsis optional and provides structured filter predicates. Supported operators are=,!=,<>,>,>=,<,<=,LIKE,NOT LIKE,IN,NOT IN,BETWEEN,NOT BETWEEN,IS, andIS NOT.Default behavior: Data is filtered based on the
STUDY_WIDcolumn.orderColumnsis optional and controls sort order. For stable multi-page retrieval, keep the sameorderColumnsacross page requests.
-
orderColumns: array
orderColumns
Optional sort instructions to apply to the result set.
Duplicate order-by columns are rejected.
-
selectColumns: array
selectColumns
Required non-empty list of dataset column names to return.
Column validation is case-insensitive, and the response echoes canonical uppercase dataset column names in the same order.
-
whereColumns: array
whereColumns
Optional structured filter predicates.
This is the request-body equivalent of a
WHEREclause.All predicate values are supplied as strings and are parsed according to the underlying dataset column type.
arrayOptional sort instructions to apply to the result set.
Duplicate order-by columns are rejected.
-
Array of:
object QueryOrder
Sort instruction specifying a dataset column and optional order direction.
[
{
"columnName":"VERSION_START",
"sortOrder":"ASC"
}
]arrayRequired non-empty list of dataset column names to return.
Column validation is case-insensitive, and the response echoes canonical uppercase dataset column names in the same order.
-
Array of:
string
Required non-empty list of dataset column names to return.
Column validation is case-insensitive, and the response echoes canonical uppercase dataset column names in the same order.
Example:["STUDY_VERSION","STUDY_ID"]
[
"STUDY_VERSION",
"STUDY_ID"
]arrayOptional structured filter predicates.
This is the request-body equivalent of a WHERE clause.
All predicate values are supplied as strings and are parsed according to the underlying dataset column type.
-
Array of:
object QueryPredicate
Structured filter predicate used to constrain dataset results by column, operator, and value
[
{
"columnName":"STUDY_ID",
"operator":"=",
"value":[
"A86F2D0BB610404DB62D37AFA9C20B50"
]
}
]objectSort instruction specifying a dataset column and optional order direction.
-
columnName: string
Required dataset column name to sort by.
Column-name validation is case-insensitive.
Example:VERSION_START -
sortOrder: string
Allowed Values:
[ "ASC", "DESC" ]Optional sort direction.
If omitted, SQL default ascending order is used for that column. Allowed values are ASC and DESC.
Example:ASC
[
{
"columnName":"VERSION_START",
"sortOrder":"ASC"
}
]object-
columnName: string
Required dataset column name to filter on. Column-name validation is case-insensitive.Example:
STUDY_ID -
operator: string
Allowed Values:
[ ">", "<", "=", ">=", "<=", "<>", "!=", "IN", "NOT IN", "BETWEEN", "NOT BETWEEN", "LIKE", "NOT LIKE", "IS", "IS NOT" ]Required comparison operator. Use one value for =, !=, <>, >, >=, <, <="," like, and not like; one or more values for in in; exactly two between between; value equal to null is not.< div>Example:,>= -
value: array
value
Filter values as strings. Value cardinality depends on the operator: one for most operators, one or more for IN/NOT IN, exactly two for BETWEEN/NOT BETWEEN, and exactly one value equal to NULL for IS/IS NOT.
[
{
"columnName":"STUDY_ID",
"operator":"=",
"value":[
"A86F2D0BB610404DB62D37AFA9C20B50"
]
}
]array-
Array of:
string
Filter values as strings. Value cardinality depends on the operator: one for most operators, one or more for IN/NOT IN, exactly two for BETWEEN/NOT BETWEEN, and exactly one value equal to NULL for IS/IS NOT.Example:
["A86F2D0BB610404DB62D37AFA9C20B50"]
[
"A86F2D0BB610404DB62D37AFA9C20B50"
]Response
- application/json
- text/plain
200 Response
Response behavior
- The response is tabular.
columnsdefines the selected output order, and each row indatafollows that same order. - Every value in
datais returned as a JSON string ornull, including logical numbers and date/time values. hasMore = "true"means more matching rows exist after the current page.- If filters match no rows, or
offsetis beyond the last row, the API returns HTTP 200 withdata = [],count = 0, andhasMore = "false".
Section index
Study context | Randomization context | Event context | Kit context | Calculated dose context | Audit context | Reference and system identifiers
Study context
Study-level identifiers, version metadata, and protocol attributes associated with the dataset row.
| Column Name | Data Type | Description |
|---|---|---|
STUDY_TITLE | VARCHAR2(4000 CHAR) | The When you include multiple study versions in your dataset, and each has a different title, the
|
STUDY_ID_NAME | VARCHAR2(64 CHAR) | A study ID as specified by the study manager when they created the study, such as a protocol acronym and protocol number. |
STUDY_REFNAME | VARCHAR2(64 CHAR) | Indicates the study's reference name used by the system. This value is composed by STUDY_ID_NAME converted to uppercase with blank spaces removed. Once created, this value never changes, even if STUDY_ID_NAME is changed. |
STUDY_VERSION | VARCHAR2(32 CHAR) | Indicates the study version number of the referencing data in a custom report. |
STUDY_DESIGN_STATUS | VARCHAR2(16 CHAR) | Indicates the study design version status associated with the dataset row. Possible values include DRAFT, TESTING, APPROVED, ARCHIVED, or OLDDRAFT. |
STUDY_PHASE | VARCHAR2(64 CHAR) | A study's phase as indicated by the study manager when they created the study. Possible values include I, I/II, II, II/III, III, IV, or Other. |
BLINDING_TYPE | VARCHAR2(64 CHAR) | Indicates whether the study is an open-label type of study or a blinded study, as specified by the study manager when they created the study. Possible values include OpenLabel, Blinded, OpenLabelBlinded, or Observational. |
THERAPEUTIC_AREA | VARCHAR2(64 CHAR) | Indicates the therapeutic area as specified by the study manager when they created the study. Possible values include CardiologyVascularDiseases, DentalOralHealth, Dermatology, Endocrinology, FamilyMedicine, Gastroenterology, GeneticDisease, HealthyVolunteers, Hematology, Hepatology, Immunology, InfectionsInfectiousDisease, Musculoskeletal, Nephrology, Neurology, NutritionWeightLoss, ObstetricsGynecology, Oncology, Ophthalmology, Otolaryngology, PediatricsNeonatology, PlasticSurgery, PharmacologyToxicology, Podiatry, PsychiatryPsychology, PulmonaryRespiratoryDiseases, Rheumatology, Sleep, Trauma, Urology, or Vaccines. |
Parent topic: Section index
Randomization context
Randomization, cohort, treatment-arm, and allocation settings associated with the dataset row.
| Column Name | Data Type | Description |
|---|---|---|
RANDOMIZATION_TITLE | VARCHAR2(64 CHAR) | Indicates the title of a randomization strategy, as specified by a study designer when they design the randomization in Study Design mode. |
RANDOMIZATION_DESCRIPTION | VARCHAR2(4000 CHAR) | Indicates the description a study designer provides in the Description field, on the Create Randomization dialog. Creating a randomization is done in Study Design mode. |
RANDOMIZATION_TYPE | VARCHAR2(32 CHAR) | Indicates the type of randomization, as specified by a study designer when creating a randomization. Possible values include Blinded or Unblinded. |
COHORT_NAME | VARCHAR2(32767 CHAR) | Indicates the cohort name, as specified by a study designer. |
COHORTTYPE | VARCHAR2(32 CHAR) | Indicates the type of cohort selected by a study designer when creating a randomization design: None, Adaptive, or Demography. Possible values include NoCohort, Adaptive, or Demography. |
TREATMENT_ARM_TITLE | VARCHAR2(64 CHAR) | The title of the treatment arm, as specified by the study designer when creating the arm. |
TREATMENT_ARM_DESCRIPTION | VARCHAR2(4000 CHAR) | The description of the treatment arm, as specified by the study designer when creating the arm. |
TREATMENT_ARM_ID | VARCHAR2(64 CHAR) | The ID of the treatment arm, as specified by the study designer when creating the arm. |
RERANDOMIZATION | NUMBER | Indicates whether the study designer chose to use the current randomization design for a second or later randomization event in the study. Values can be 1 or 0. |
RESTRICT_RANDOMIZATION_TO_AVAILABLE_KIT_TYPES | NUMBER | Indicates the option that a study designer chose (
|
ASSIGNED_SKIPPED_RANDOMIZATION_NUMBERS | NUMBER | Indicates the option that a study designer chose (
|
RANDOMIZATION_VERSION_START | TIMESTAMP(6) | Indicates the date and time of when the randomization data was entered. |
RANDOMIZATION_VERSION_END | TIMESTAMP(6) | Indicates the date and time of when randomization data was changed, if the data is not current. |
Parent topic: Section index
Event context
Event metadata, scheduling rules, and visit-window attributes associated with the dataset row.
| Column Name | Data Type | Description |
|---|---|---|
EVENT_TITLE | VARCHAR2(64 CHAR) | The event's title, defined by the user when an event is created. |
EVENT_ID_NAME | VARCHAR2(16 CHAR) | The event's id as in Clinical One Cloud Service. |
EVENT_REFNAME | VARCHAR2(64 CHAR) | A visit's reference name used in the system. This value is composed by EVENT_TITLE converted to uppercase with blank spaces removed and once created it doesn't update. |
EVENT_TYPE | VARCHAR2(32) | The event type of the visit. |
VISIT_TYPE | VARCHAR2(32 CHAR) | Indicates the event type as specified by the study designer when they created the event. Possible values include ScreeningVisit, ScheduleAbleVisit, SubjectWithdrawalVisit, SubjectCompletionVisit, UnScheduleAbleVisit, Event, AdverseEvent, ScreenFailureVisit, or ReScreeningEvent. |
VISIT_HOUR_SEQ_ORDER | NUMBER | The order in which subject visits occur, as configured in the study design. |
VISIT_IS_REQUIRED | CHAR(1) | Indicates if a visit is required. Possible values include Y or N. |
IS_SCHEDULED_VISIT | CHAR(1) | Indicates if the visit is scheduled. Possible values include Y or N. |
SCHEDULED_FROM_EVENT_NAME | VARCHAR2(64 CHAR) | Displays the EVENT_TITLE (visit title) of the Scheduled From visit as defined in the Visit Schedule. |
DELAY_DAYS | NUMBER | The number of days between the prior scheduled visit. |
DELAY_HOURS | NUMBER | The number of hours between the prior scheduled visit (in addition to the DELAY_DAYS field). |
VISIT_WINDOW_BEFORE_DAYS | NUMBER | Indicates the number of days before the event or activity should happen. |
VISIT_WINDOW_BEFORE_HOURS | NUMBER | Indicates the number of hours before the event or activity should happen. |
VISIT_WINDOW_AFTER_DAYS | NUMBER | Indicates the number of days after the event or activity should happen. |
VISIT_WINDOW_AFTER_HOURS | NUMBER | Indicates the number of hours after the event or activity should happen. |
Parent topic: Section index
Kit context
Kit design, supply configuration, and kit-type attributes associated with the study setup.
| Column Name | Data Type | Description |
|---|---|---|
KIT_TYPE | VARCHAR2(23) | A kit's type, as specified by the study designer when they created the kit. The following values can be displayed:
|
KIT_TYPE_ID | VARCHAR2(64 CHAR) | Indicates the unique identifier for a kit type. |
KIT_MEASUREMENT | NUMBER(20,2) | Indicates the total numeric value for the product in the kit, as specified by the study designer. |
SUBJECT_MEASUREMENT | NUMBER(20,2) | Indicates the value that, along with the answer for the subject and the value of a single unit, determines the dose, as specified by the study designer. |
TYPE | VARCHAR2(16 CHAR) | Indicates the supply type of the kit, as specified by the study designer. Possible values include Blister Pack, Bottle, Device, Syringe, Topical Ointment, Vial, Inhaler, Infusion, Box, or Other. |
TITRATION | NUMBER | Indicates if a kit type is part of a kit type titration. Values can be 1 or 0. |
MINIMUM_KITS_TO_SHIP | NUMBER | Indicates the minim number of kits to include in each shipment to meet packaging requirements, as specified by the study designer when they created the kit type. |
UNITS_PER_KIT | NUMBER | Indicates the number of units in the kit, such as the number of pills in a bottle, as specified by the study designer. |
SINGLE_UNIT_DOSE_VALUE | NUMBER(20,2) | Indicates how one unit in the kit is measured, specifically its specified value. |
SINGLE_UNIT_DOSE_UNITS | VARCHAR2(16 CHAR) | Indicates how one unit in the kit is measured. |
CALCULATING_DOSES | NUMBER | Indicates whether the study designer specified that the kit type should have calculations defined based on subjects' answers to one or more questions. |
DEVICE_TYPE | VARCHAR2(255) | Indicates the type of device, as specified by the study designer when they created the device kit type. Possible values include Activity Watch, Blood Pressure Monitor, Glucose Monitor, Weight Scale, ECG Reader, Spirometer, Mobile App, Smart Pill Bottle, Pulse Oximeter, Wearable Patch, or Other. |
DEVICE_CONNECTION | VARCHAR2(255) | Indicates the type of device connection, as specified by the study designer when they created the device kit type. The following values can be displayed:
|
DISTRIBUTION_SETTINGS | VARCHAR2(16 CHAR) | Indicates the type of distribution a kit has, as specified by the study designer. Possible values include Blinded, Unblinded, or Unblinded Pharmacist. |
KIT_VERSION_START | TIMESTAMP(6) | Indicates the date and time of when the kit data was entered. |
KIT_VERSION_END | TIMESTAMP(6) | Indicates the date and time of when kit data was changed, if the data is not current. |
Parent topic: Section index
Calculated dose context
Calculated-dose definitions and dosing rules configured for kit supply design.
| Column Name | Data Type | Description |
|---|---|---|
CALCULATED_DOSE_TITLE | VARCHAR2(64 CHAR) | Indicates the title of the kit type containing calculated doses, as specified by the study designer. |
FORM_QUESTION_FOR_CALCULATED_DOSE | VARCHAR2(64 CHAR) | Indicates the question that is selected by the study designer to be used in calculating the appropriate dose. |
VISIT_WHERE_FORM_IS_COLLECTED | VARCHAR2(64 CHAR) | Indicates the visit in which the question that is used to calculate the appropriate dose is asked, as specified by the study designer. |
DOSING_FREQUENCY | VARCHAR2(21 CHAR) | Indicates how many doses the subject must consume, as specified by the study designer. |
PERCISION_FOR_EACH_DOSE | NUMBER | Indicates the number of places after the decimal point that each dose should be calculated in, as specified by the study designer. For example, if the precision for each dose is 0.0001, this value displays the number 4. |
ROUND_UP_FOR | NUMBER | Indicates how the rounding is performed to reach the dose precision, as specified by the study designer. |
USE_LEFTOVER_UNITS_IN_NEXT_DOSE | NUMBER | Indicates whether leftover units from a previous dose can be used in a next dose, during the study conduct period, as specified by the study designer. |
Parent topic: Section index
Audit context
Audit-trail metadata captured with the dataset row.
| Column Name | Data Type | Description |
|---|---|---|
VERSION_START | TIMESTAMP(6) | Audit trail timestamp when this version of the dataset row became effective. Together with VERSION_END, it defines the validity window for the row version. |
VERSION_END | TIMESTAMP(6) | Indicates the date and time of when data was changed, if the data is not current. |
CURRENT_STUDY_ROLE_NAME | VARCHAR2(100 CHAR) | Current study role name of the user who updated the dataset row. If the user's study role changes later, this field shows the user's current study role. |
MODIFIED_BY | VARCHAR2(255 CHAR) | The user who last modify the study. |
Parent topic: Section index
Reference and system identifiers
System identifiers, numeric reference keys, and technical linkage fields carried with the dataset row.
| Column Name | Data Type | Description |
|---|---|---|
STUDY_ID | RAW(16 BYTE) | GUID of the study. |
STUDY_WID | NUMBER(10) | A number that represents the unique identifier of the study. |
MODIFIED_BY_ID | RAW(16 BYTE) | GUID of the user who modified the study. |
MODIFIED_BY_WID | NUMBER(10) | A number that represents the unique identifier of the user who modified the study. |
RAND_ID | RAW(16 BYTE) | GUID of the randomization design. |
RAND_WID | NUMBER | A number that represents the unique identifier of the randomization design. |
ARM_ID | RAW(16 BYTE) | GUID of the treatment arm. |
ARM_WID | NUMBER | A number that represents the unique identifier of the treatment arm. |
CURRENT_STUDY_ROLE_ID | RAW(16 BYTE) | The ID associated with the study role assigned to the user who updated the given record. If the user study role changes, this field will show the current study role ID of the given user. |
CURRENT_STUDY_ROLE_WID | NUMBER(10) | Numeric identifier of the role of the user who updated the given record. If the user study role changes, this field will show the current study role of the given user. |
COHORT_ID | VARCHAR2(32767) | Identifier of the cohort selected in the randomization design. |
COHORT_WID | VARCHAR2(32767) | A number that represents the unique identifier of the cohort. |
STUDYEVENT_ID | RAW(16 BYTE) | GUID of the study event. |
STUDYEVENT_WID | NUMBER(10) | A number that represents the unique identifier of the study event. |
KIT_ID | RAW(16 BYTE) | GUID of the kit. |
KIT_WID | NUMBER(10) | A number that represents the unique identifier of the kit. |
DH_TIMESTAMP | TIMESTAMP(6) | A timestamp that indicates when the data became available in the dataset. |
Parent topic: Section index
objectTabular dataset response for a dynamic Data Hub query.
columns defines the selected output order, and each row in data aligns positionally to that list.
-
columns: array
columns
Ordered dataset column names selected by the client.
Each row in
datauses this exact order. -
count: integer
(int32)
Number of rows returned in the current page.
Example:2 -
data: array
data
Row data aligned positionally with
columns.Each cell is serialized as a JSON string or
null, even for logical numbers and timestamps. -
hasMore: string
String pagination flag (
"true"or"false") indicating whether more matching rows exist after the current page.Returned as a string for backward compatibility.
Example:false -
limit: integer
(int32)
Requested page size.
Dataset endpoints commonly use
0to mean unpaginated or all rows.Example:100 -
offset: integer
(int32)
Zero-based row offset applied to the result set.
Dataset endpoints that disable pagination with
limit = 0typically echooffset = 0in the response.Example:0 -
totalResults: integer
(int32)
Total number of matching rows across all pages after filters are applied.
This can be non-zero even when the current page is empty because the requested offset is beyond the last row.
Example:2
arrayOrdered dataset column names selected by the client.
Each row in data uses this exact order.
-
Array of:
string
Ordered dataset column names selected by the client.
Each row in
datauses this exact order.Example:["STUDY_ID","RECORD_ID","STATUS"]
[
"STUDY_ID",
"RECORD_ID",
"STATUS"
]arrayRow data aligned positionally with columns.
Each cell is serialized as a JSON string or null, even for logical numbers and timestamps.
-
Array of:
array items
Row data aligned positionally with
columns.Each cell is serialized as a JSON string or
null, even for logical numbers and timestamps.
[
[
"A86F2D0BB610404DB62D37AFA9C20B50",
"REC001",
"Active"
],
[
"A86F2D0BB610404DB62D37AFA9C20B50",
"REC002",
"Inactive"
]
]arrayRow data aligned positionally with columns.
Each cell is serialized as a JSON string or null, even for logical numbers and timestamps.
-
Array of:
string
Row data aligned positionally with
columns.Each cell is serialized as a JSON string or
null, even for logical numbers and timestamps.Example:[["A86F2D0BB610404DB62D37AFA9C20B50","REC001","Active"],["A86F2D0BB610404DB62D37AFA9C20B50","REC002","Inactive"]]
[
[
"A86F2D0BB610404DB62D37AFA9C20B50",
"REC001",
"Active"
],
[
"A86F2D0BB610404DB62D37AFA9C20B50",
"REC002",
"Inactive"
]
]400 Response
Returned when the request is invalid.
- Causes include invalid
tenantIdorstudyId, negativelimitoroffset, emptyselectColumns, invalid dataset columns, invalidwhereColumnsoperator/value combinations, duplicateorderColumns, invalidsortOrder, and malformed typed filter values. - Error payload format:
{"status":"failed","result":null,"errorData":{"errorCode":"...","errorMessage":"...","details":{...}},"version":1}.
objectStandard Data Hub response envelope.
Successful responses return status as "success" and populate result. Failed responses return status as "failed" and populate errorData.
-
errorData: object
errorData
Machine-readable error payload when
statusis "failed".This field is null when
statusis "success". -
result: object
result
Payload returned by the API when
statusis "success".This field is null when
statusis "failed". -
status: string
Overall request processing status.
Allowed values are "success" and "failed".
Example:success -
version: integer
(int32)
Envelope version number.Example:
1
objectMachine-readable error payload when status is "failed".
This field is null when status is "success".
{
"errorCode":"VALIDATION_ERROR",
"errorMessage":"Invalid column name specified in the select columns: SITE_ID1",
"details":{
"field":"selectColumns"
}
}objectPayload returned by the API when status is "success".
This field is null when status is "failed".
{
"message":"Operation succeeded"
}401 Response
Returned when the request cannot be authenticated.
The response body is empty.
403 Response
Returned when the request is authenticated but the caller is not authorized to access the requested resource.
The response body contains a plain-text authorization message.
Possible response bodies:
Either the resource does not exist, or the user cannot access the resource.The entity is in maintenance mode, or the user cannot access the resource.
string500 Response
Returned when an unexpected server-side error occurs while processing the request.
The response body contains the platform error payload with the error code and description.