[Deprecated]: V1.0
/ec-datahub-svc/rest/v1.0/tenant/{tenantId}/studies/{studyId}/{mode}/subjects/unblindedVisits
Deprecated: Use latest version instead.
Retrieves the study-permissioned Unblinded Subject Event dataset for a single study and mode.
The dataset exposes unblinded subject visit history, including visit scheduling and status, study/site/subject context, treatment and randomization details, dispensation details, form completion counts, and audit columns.
Supports select, filter, sort, limit, and offset query patterns.
The dataset returns versioned subject-visit rows for subjects associated with the study and mode.
Required permission: UnblindedSubjectEventDatasetPost.
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, SUBJECT_ID, EVENT_ID, EVENT_INSTANCE_NUM, and KIT_NUMBER in the orderColumns field of the request payload.
Request
-
mode(required): string
Execution
modefor the study.Allowed values:
test,active,training.Example:
test. -
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 | Site context | Subject context | Event context | Kit context | Aggregation 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_NAME | VARCHAR2(64 CHAR) | Study identifier associated with the dataset row. |
STUDY_VERSION | VARCHAR2(100 CHAR) | Indicates the study version number of the referencing data in a custom report. |
Parent topic: Section index
Site context
Site profile, operational settings, and site-maintained contact details associated with the dataset row.
| Column Name | Data Type | Description |
|---|---|---|
SITE_NAME | VARCHAR2(500 CHAR) | Indicates the site's name as entered by a site manager when they created or last modified a site. |
FROM_SITE_NAME | VARCHAR2(500 CHAR) | If a subject is transferred, this field is populated with the site the subject was transferred from. |
TO_SITE_NAME | VARCHAR2(500 CHAR) | If a subject is transferred, this field is populated with the site to which the subject was transferred. |
INVESTIGATOR | VARCHAR2(2048 CHAR) | A Principal Investigator's Full Name as listed when the site manager created the site. |
ADDRESS_STREET_1 | VARCHAR2(150 CHAR) | A site's first address as entered by the site manager when they created or last modified the site. |
ADDRESS_STREET_2 | VARCHAR2(150 CHAR) | A site's second address as entered by the site manager when they created or last modified the site. |
ADDRESS_CITY | VARCHAR2(100 CHAR) | A site's city as entered by the site manager when they created or last modified the site. |
ADDRESS_STATE_OR_PROV_OR_CNTY | VARCHAR2(100 CHAR) | A site's state, province, or county as entered by the site manager when they created or last modified the site. |
ADDRESS_POSTALCODE | VARCHAR2(20 CHAR) | The Zip Postal Code associated with a site's address. |
ADDRESS_COUNTRY | VARCHAR2(4000 CHAR) | A site's country as entered by the site manager when they created or last modified the site. The field display the country ISO code. |
Parent topic: Section index
Subject context
Subject identity, status, enrollment, and transfer attributes associated with the record.
| Column Name | Data Type | Description |
|---|---|---|
SUBJECT_NAME | VARCHAR2(500 CHAR) | Name of the subject associated with the dataset row. |
SUBJECT_NUMBER | VARCHAR2(500 CHAR) | The number currently assigned to the subject in the system as identifier. Note: |
OLD_SUBJECT_NUMBER | VARCHAR2(500 CHAR) | A subject previously assigned number in the system for a transferred subject. |
NEW_SUBJECT_NUMBER | VARCHAR2(500 CHAR) | A subject newly assigned number in the system after the subject was transferred. |
Parent topic: Section index
Event context
Event metadata, visit scheduling, and visit-status attributes associated with the dataset row.
| Column Name | Data Type | Description |
|---|---|---|
EVENT_NAME | VARCHAR2(64 CHAR) | The event's title, defined by the user when an event is created. |
EVENT_TYPE | VARCHAR2(100) | Displays the type of event that impacts a visit's status. Upon selecting this data element, only events that occurred in your study are displayed. For example, you may see some of the following events: Visit_Complete; Visit_Date_Changed; VisitDateCleared; VisitDateEntered; Visit_Not_Started; Visit_Skip_Undone; Visit_Skipped; Visit_Started; Visit_Inserted: this option refers to new visits inserted into the study's schedule as an Advanced Study Versioning change. Possible values include Visit Started, Visit Completed, Visit Not Done, or Visit Missed. |
VISIT_TYPE | VARCHAR2(100 CHAR) | Displays the type of visit: Screening; Randomization; Dispensation; Non-Dispensation; Optional; Withdrawal; Study Completion Possible values include ScreeningVisit, ScheduleAbleVisit, SubjectWithdrawalVisit, SubjectCompletionVisit, UnScheduleAbleVisit, Event, AdverseEvent, ScreenFailureVisit, or ReScreeningEvent. |
VISIT_STATUS | VARCHAR2(32 CHAR) | Indicates a visit's status in the system. Can have one of the following values:
|
EVENT_INSTANCE_NUM | NUMBER | Indicates the unscheduled visit instance number as designed by the study designer. |
IS_REQUIRED | CHAR(1) | Indicates if the visit is required. Possible values include 0 or 1. |
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 Note: If a visit is not scheduled or it is the first visit in the schedule, then this element is populated with the visit's own title. For example, Screening Visit is displayed for the Screening Visit, if it is the first visit in the schedule. |
VISIT_START_DATE | DATE | Date stamp of a visit's start date. |
PROJECTED_VISIT_START_DATE | TIMESTAMP(6) | Date when the next scheduled visit should start in the study, based on the configured visit schedule. |
PROJECTED_VISIT_END_DATE | TIMESTAMP(6) | Date when the next scheduled visit should end in the study, based on the configured visit schedule. |
PROJECTED_VISIT_DATE | TIMESTAMP(6) | Date when the next scheduled visit should take place in the study, based on the configured 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 how many days before the scheduled date and time the visit can occur, as entered by a study designer. |
VISIT_WINDOW_BEFORE_HOURS | NUMBER | Indicates how many hours before the scheduled date and time the visit can occur, as entered by a study designer. |
VISIT_WINDOW_AFTER_DAYS | NUMBER | Indicates how many days after the scheduled date and time the visit can occur. |
VISIT_WINDOW_AFTER_HOURS | NUMBER | Indicates how many hours after the scheduled date and time the visit can occur. |
FREEZE | VARCHAR2(16 CHAR) | Indicates if a visit is frozen by a data manager or CRA. Possible values include Y or N. |
VERIFIED | VARCHAR2(16 CHAR) | Indicates the visit's verification status. Data element can be populated with the following values:
|
SIGNED | VARCHAR2(16 CHAR) | Indicates if a valid casebook signature is applied to the event. Possible values include Y or N. |
Parent topic: Section index
Kit context
Kit-design, inventory, randomization, dispensation, and treatment details associated with the dataset row.
| Column Name | Data Type | Description |
|---|---|---|
KIT_NUMBER | NUMBER | Indicates a kit's number, as assigned in the system. |
BAR_CODE | VARCHAR2(1000 CHAR) | If included in a study, this indicates a kit's bar code as generated by the system. |
TREATMENT_NAME | VARCHAR2(64 CHAR) | This data element is obsolete, use TREATMENT_ARM_TITLE instead. Indicates the title of the treatment arm from the protocol, as specified by the study designer in Clinical One Cloud Service. Displays the title for every treatment arm created in the study. |
COHORT_NAME | VARCHAR2(64 CHAR) | Indicates the name of the cohort as defined by the study designer when creating a randomization design. |
RAND_NUMBER | NUMBER | Indicates the randomization number assigned to each randomized subject in a study. Note: If the Blind Randomization Number option in your study's settings is set to Yes, data for this field displays as Blinded. For more information, see Specify study, enrollment, and visits settings. |
RND_STATUS | VARCHAR2(64 CHAR) | Indicates the randomization status for the subject's randomization number. Can have one of the following values:
|
RANDOMIZATION_DATE | TIMESTAMP(6) | Indicates the date on which a subject has been randomized in the study. |
INVENTORY_STATUS | VARCHAR2(64 CHAR) | Indicates a kit's status in the study's inventory. For more information on what a kit's status may be, see What statuses can kits have? |
INSTANCE_NUMBER | NUMBER | Indicates the repeat instance number of the visit. |
DOSAGE | NUMBER | Indicates the dosage for the dispensed kit, when the kit contains calculated doses. |
FREQUENCY | VARCHAR2(64 CHAR) | Indicates the dosing frequency as defined by a study designer. |
MEASUREMENT | VARCHAR2(1000 CHAR) | Indicates the total numeric value for the product in a kit with calculated doses, as defined by a study designer. |
RETURNED_UNITS | NUMBER | Number of units remaining in the kit as indicated by the site user or Clinical Research Associate (CRA) |
MISSING_UNITS | NUMBER | Number of lost or damaged units in the kit as indicated by the site user. |
CONSERVED | VARCHAR2(16 CHAR) | Indicates whether a kit was conserved by a site user. Possible values include Y or N. |
DISPENSATION_DATE | TIMESTAMP(6) | Indicates a kit's dispensation date, as entered by a site user when they dispensed the kit to a subject. |
DISPENSATION_CONFIRMED | VARCHAR2(64 CHAR) | Indicates whether a kit's dispensation was confirmed by a site user. Possible values include 0 or 1. |
Parent topic: Section index
Aggregation context
Pre-aggregated counts and summary measures returned with the dataset row.
| Column Name | Data Type | Description |
|---|---|---|
FORM_TOTAL_COUNT | NUMBER(10) | Count of all forms created as part of the study design. |
FORM_COMPLETED_COUNT | NUMBER(10) | Count of completed forms. Repeating instances are only counted once, meaning that repeating rows are not counted as an additional completed form. |
Parent topic: Section index
Audit context
Audit-trail metadata describing row versioning, acting users, and reason-for-change details.
| 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. |
OPERATION_TYPE | VARCHAR2(16 CHAR) | Audit trail field that indicates how the dataset row version was produced.
|
USER_NAME | VARCHAR2(255 CHAR) | Audit trail field that represents the user who performed the action. The value for this column may represent a user's actual username or a user's email address, depending on how the user login was defined in Oracle Life Sciences IAMS. |
OBJECT_VERSION_NUMBER | NUMBER | Audit trail field that represents the version number of the data. |
REASON | VARCHAR2(255 CHAR) | Audit trail reason recorded for the dataset row change. Populated when a reason for change is provided for the row update. |
COMMENT | VARCHAR2(2048 CHAR) | A number that represents the unique identifier of the subject event instance. |
IS_CURRENT | CHAR(1) | Audit trail flag that indicates whether the dataset row version is the current version (Y) or a historical version (N). |
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 |
|---|---|---|
USER_ID | RAW(16 BYTE) | GUID of the user. |
USER_WID | NUMBER(10) | Indicates a user's numeric identifier. |
SUBJECT_ID | RAW(16 BYTE) | Indicates the study version associated with the dataset row. |
SUBJECT_WID | NUMBER(10) | A number that represents the unique identifier of the subject. |
EVENT_ID | RAW(16 BYTE) | GUID of the visit/event; mirrors the numeric EVENT_WID from the Reference folder. |
EVENT_WID | NUMBER(10) | A number that represents the unique identifier of the event. |
SITE_ID | RAW(16 BYTE) | GUID of the site. |
SITE_WID | NUMBER(10) | A number that represents the unique identifier of a site. |
STUDY_ID | RAW(16 BYTE) | GUID of the study. |
STUDY_WID | NUMBER(10) | A number that represents the unique identifier of the study. |
SCHEDULED_FROM_EVENT_ID | RAW(16 BYTE) | GUID of the previously scheduled event. |
SCHEDULED_FROM_EVENT_WID | NUMBER(10) | A number that represents the unique identifier of the parent visit from which the associated visit was scheduled. |
SUBJECT_TRANSFER_ID | RAW(16 BYTE) | GUID of the subject transfer record. |
SUBJECT_TRANSFER_WID | NUMBER(10) | Indicates the numeric identifier of the subject transfer record. |
FROM_SITE_ID | RAW(16 BYTE) | GUID of the site from which the subject was transferred. |
FROM_SITE_WID | NUMBER(10) | Indicates the site numeric identifier from which the subject was transferred. |
TO_SITE_ID | RAW(16 BYTE) | GUID of the site to which the subject was transferred. |
TO_SITE_WID | NUMBER(10) | Indicates the site numeric identifier to which the subject was transferred. |
TREATMENT_ID | RAW(16 BYTE) | GUID of the treatment arm, paired with TREATMENT_WID to identify the therapy. |
TREATMENT_WID | NUMBER(10) | Numeric identifier that represents the treatment arm. |
COHORT_ID | RAW(16 BYTE) | Indicates whether a subject has been randomized in the study. |
COHORT_WID | NUMBER(10) | A number that represents the unique identifier of the cohort. |
ID | RAW(16 BYTE) | Row-level GUID that uniquely identifies this Unblinded Subject Event dataset record. |
SUBJECT_EVENT_INST_WID | NUMBER(10) | A number that represents the unique identifier of the subject event instance. |
SUBJECT_TRANSFER_VERSION_START | TIMESTAMP(6) | Date and time when the subject transfer version became effective. |
SUBJECT_TRANSFER_VERSION_END | TIMESTAMP(6) | Date and time when the subject transfer version stopped being current. |
INVENTORY_ID | RAW(16 BYTE) | A number that represents the unique identifier of the cohort. |
KIT_TYPE_SRC_ID | RAW(16 BYTE) | Indicates the kit number associated with the dispensed inventory item. |
INVENTORY_STATUS_ID | NUMBER | Numeric identifier that maps to the kit inventory status. |
MHEALTH_DEVICE_ID | RAW(16 BYTE) | Indicates a kit's status in the study's inventory. |
RND_STATUS_ID | NUMBER | Indicates the treatment associated with the subject randomization. |
SOFTWARE_VERSION_NUMBER | NUMBER | A number that increases incrementally every time a data point is modified. |
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.