Get subjects and their visit schedule
post
/ec-dc-svc/rest/v10.0/studies/{studyId}/{mode}/subjects/visitschedule
This consolidated API retrieves EHR Link Status, locked status, subjects and their visit schedule. Filter capabilities include 'canBeCompleted', 'canBeReplaced', 'canBeUndoWithdrawn' fields for a subject.
Request
Query Parameters
-
showUndoSFWithdCompVisits: boolean
show all undo ScreenFail/Withdrawal/Completion visitsDefault Value:
true -
view: string
Supported Media Types
- application/json
Root Schema : schema
Type:
Show Source
object-
containsSearchKeywords: array
containsSearchKeywords
Keywords for contains match in subject search
-
dmViewReviewStatus: array
dmViewReviewStatus
-
dmViewSafetyCaseStatus: array
dmViewSafetyCaseStatus
-
dmViewSortBy: string
-
exactSearchKeywords: array
exactSearchKeywords
Keywords for exact match in subject search
-
limit: integer
(int32)
Maximum number of results to returnExample:
25 -
nextVisitOnly: boolean
When true, only the next scheduled visit is returned per subjectExample:
false -
notStarted: boolean
When true, include only subjects that have not startedExample:
false -
offset: integer
(int32)
Offset for paginationExample:
0 -
order: string
Sort order for resultsExample:
asc -
projectionTillDate: string
(date-time)
Project scheduled visits up to this date
-
reviewStatus: string
Review status filter applied to subjectsExample:
ALL -
safetyCaseStatus: string
-
sites: array
sites
List of site identifiers to scope the search
-
subjectStates: array
subjectStates
States of subjects to filter by
Nested Schema : containsSearchKeywords
Type:
arrayKeywords for contains match in subject search
Show Source
-
Array of:
string
Keywords for contains match in subject searchExample:
["100","SMI"]
Example:
[
"100",
"SMI"
]Nested Schema : exactSearchKeywords
Type:
arrayKeywords for exact match in subject search
Show Source
-
Array of:
string
Keywords for exact match in subject searchExample:
["1001","SMITH"]
Example:
[
"1001",
"SMITH"
]Nested Schema : sites
Type:
arrayList of site identifiers to scope the search
Show Source
-
Array of:
string(uuid)
List of site identifiers to scope the search
Example:
[
"D3C9A4B5E6F78123456789ABCDEF1234",
"E1F2A3B4C5D6E7F89012ABCDEF345678"
]Nested Schema : subjectStates
Type:
arrayStates of subjects to filter by
Show Source
-
Array of:
string
States of subjects to filter byExample:
["COMPLETE","WITHDRAWN"]
Example:
[
"COMPLETE",
"WITHDRAWN"
]Response
Supported Media Types
- application/json
200 Response
Subjects success.
Root Schema : SubjectsVisitScheduleDto100
Type:
Show Source
object-
crntStateStudyVrsn: string
-
scheduledVisits: array
scheduledVisits
-
subject: object
SubjectRespDto14
Subject response details including replacement randomization and query status, building upon SubjectRespDto13
-
visits: array
visits
Nested Schema : scheduledVisits
Type:
Show Source
array-
Array of:
object ScheduledVisitsDto20
Scheduled visit details including scheduling windows and action to be taken
Nested Schema : SubjectRespDto14
Type:
objectSubject response details including replacement randomization and query status, building upon SubjectRespDto13
Show Source
-
canBeCompleted: boolean
Indicates if the subject has met conditions to be completedExample:
true -
canBeReplaced: boolean
Indicates if the subject can be replacedExample:
true -
canBeUndoWithdrawn: boolean
Indicates if a withdrawn subject can be undoneExample:
true -
codeBreak: string
Code break note if applicableExample:
N -
comment: string
Minimum Length:
0Maximum Length:2048Comment for latest subject updateExample:Initial enrollment -
description: string
Minimum Length:
0Maximum Length:500Free text description for the subjectExample:Screened subject -
dob: string
(date-time)
Date of birth
-
ehrLinkStatus: number
EHR link status code for the subjectExample:
1 -
enrollmentFailure: string
Minimum Length:
0Maximum Length:255Reason for enrollment failure, if anyExample:Consent withdrawn -
enrollmentOverride: string
Minimum Length:
0Maximum Length:255Enrollment override note if appliedExample:Subject Enrollment Overridden -
eventType: string
Type of event associated with the subjectExample:
Screened -
freezedStatus: string
Freeze status of the subjectExample:
FROZEN -
fromStudyId: string
(uuid)
Origin study identifier from which the subject was transferred
-
gender: string
Minimum Length:
0Maximum Length:10Gender valueExample:[{"value":"1","label":"male"}] -
hasLockData: boolean
Indicates whether lock related data exists for the subjectExample:
false -
id: string
(uuid)
Unique identifier of the subject
-
incompleteVisits: integer
(int32)
Number of incomplete visits for the subjectExample:
1 -
informedConsentDate: string
(date-time)
Informed consent dateExample:
2025-09-25T09:00:00Z -
lastSigned: string
(date-time)
Timestamp when the subject was last signedExample:
2025-10-16T14:30:31.892Z -
lockedDateTime: string
(date-time)
Timestamp when the subject was lockedExample:
2025-10-16T14:30:31.892Z -
lockedInStudyVersion: string
Study version in which the subject is lockedExample:
3.0.0.4 -
lockedStatus: string
Lock status of the subjectExample:
UNLOCKED -
mhealthSubjectId: string
(uuid)
Identifier of the subject in mHealth system
-
objectVersionNumber: number
Object version number used for concurrency controlExample:
14 -
operationType: string
Operation type for the subject eventExample:
MODIFIED -
previousSubjectNumber: string
Previous subject number if renumbered or transferredExample:
SUBJECT-0001-OLD -
randomizationNumber: string
Randomization number for the subjectExample:
RND-001 -
reason: string
Minimum Length:
0Maximum Length:255Reason for latest subject updateExample:Protocol break happened -
replaceRand: string
Replacement randomization identifier if applicableExample:
Y -
screenFailureComment: string
Additional comment for screen failureExample:
Subject breached protocols -
screenFailureDate: string
(date-time)
Date when the subject was marked as screen failureExample:
2025-10-16T14:30:31.892Z -
screeningDate: string
(date-time)
Screening date if applicableExample:
2025-10-01T10:00:00Z -
screeningFailure: string
Minimum Length:
0Maximum Length:255Reason for screening failure, if anyExample:Inclusion criteria not met -
screeningNumber: string
Screening number assigned to the subjectExample:
SCR-0001 -
signedStatus: string
Signed status of the subjectExample:
SIGNED -
siteId: string
Site identifier in uppercase hex formatExample:
ABCDEF1234567890ABCDEF1234567890 -
softwareVersionNumber: number
Software version number associated with the eventExample:
14 -
sourceTimeStamp: string
(date-time)
Source system timestamp for the subject payloadExample:
2025-10-16T14:30:31.892Z -
state(required): string
Minimum Length:
0Maximum Length:100Lifecycle state of the subjectExample:ACTIVE -
stateDate: string
(date-time)
Timestamp when the subject transitioned to current stateExample:
2025-10-16T14:30:31.892Z -
studyCompletionDate: string
(date-time)
Date when the subject completed the studyExample:
2025-10-16T14:30:31.892Z -
studyId: string
Study identifier in uppercase hex formatExample:
ABCDEF1234567890ABCDEF1234567890 -
studyVersion(required): string
Study version stringExample:
3.0.0.1 -
subjectNumber(required): string
Minimum Length:
0Maximum Length:500Human readable subject numberExample:SUBJ-0001 -
subjectSiteSerialNumber: string
Site-level serial number assigned to the subjectExample:
SITE-0001-001 -
subjectStudySerialNumber: string
Study-level serial number assigned to the subjectExample:
STUDY-0001-001 -
subjectTransferId: string
(uuid)
Identifier of a subject transfer if applicable
-
subjNumSiteOrgId: string
Subject number site organization identifierExample:
SITE-ORG-0001 -
unResolvedQueries: integer
(int32)
Number of unresolved queries for the subjectExample:
2 -
userId: string
(uuid)
User identifier associated with the subject modification
-
verifiedStatus: string
Verified status of the subjectExample:
VERIFIED -
versionEnd: string
(date-time)
End timestamp of the subject version recordExample:
2025-10-16T14:30:31.892Z -
versionStart: string
(date-time)
Start timestamp of the subject versionExample:
2025-10-16T14:30:31.892Z -
withdrawalComment: string
Additional comment provided for withdrawalExample:
Subject breached protocols -
withdrawalDate: string
(date-time)
Date when the subject was withdrawnExample:
2025-10-16T14:30:31.892Z -
withdrawalReason: string
Reason provided when the subject is withdrawnExample:
Not applicable
Nested Schema : ScheduledVisitsDto20
Type:
objectScheduled visit details including scheduling windows and action to be taken
Show Source
-
cycleCount: number
(int32)
Cycle count for the visitExample:
1 -
eventId: string
Identifier of the visit eventExample:
ADF5A7800A954FA5B831E7B6B9CA39A9 -
eventInstanceNum: number
(int32)
Unscheduled/cycle visit instance number when applicableExample:
1 -
scheduledDate: string
(date-time)
Scheduled date for the visitExample:
2025-10-12T14:30:31.892Z -
scheduledWindowEndDate: string
(date-time)
Window end date for scheduling the visitExample:
2025-10-20T14:30:31.892Z -
scheduledWindowStartDate: string
(date-time)
Window start date for scheduling the visitExample:
2025-10-10T14:30:31.892Z -
title: string
Display title for the visitExample:
Baseline -
visitAction: string
Action recommended for this scheduled visitExample:
SCREEN_DISABLE
Nested Schema : VisitsStatusDto14
Type:
Show Source
object-
associatedStudyVersion: string
Study version with which the visit status is associatedExample:
3.0.0.1 -
comment: string
Minimum Length:
0Maximum Length:2048Additional comment for the visit statusExample:All data verified -
doseHoldAction: string
-
eventId: string
Event identifier in uppercase hex formatExample:
ABCDEF1234567890ABCDEF1234567890 -
eventInstanceNum: integer
(int32)
Unscheduled/cycle visit instance number when applicable.Example:
1 -
eventType: string
Event type corresponding to the visitExample:
Visit_Not_Started -
freezedStatus: string
Freeze status of the visitExample:
FROZEN -
id: string
(uuid)
Unique identifier of the visit status record
-
lockedDateTime: string
(date-time)
Timestamp when the visit was lockedExample:
2025-10-16T14:30:31.892Z -
lockedStatus: string
Locked status of the visitExample:
UNLOCKED -
objectVersionNumber: number
Object version number used for concurrency controlExample:
14 -
operationType: string
-
reason: string
Minimum Length:
0Maximum Length:255Reason associated with the visit statusExample:Subject completed the visit successfully -
repeatingFormCount: number
Number of repeating form instances for the visitExample:
2 -
scheduledWindowEndDate: string
(date-time)
Scheduled window end date for the visitExample:
2025-10-16T14:30:31.892Z -
scheduledWindowStartDate: string
(date-time)
Scheduled window start date for the visitExample:
2025-10-16T14:30:31.892Z -
signedStatus: string
Signed status of the visitExample:
SIGNED -
siteId: string
Site identifier in uppercase hex formatExample:
ABCDEF1234567890ABCDEF1234567890 -
softwareVersionNumber: number
-
studyVersion(required): string
Minimum Length:
0Maximum Length:100Study version string under which the visit is recordedExample:3.0.0.1 -
subjectId: string
Subject identifier in uppercase hex formatExample:
ABCDEF1234567890ABCDEF1234567890 -
unResolvedQueries: integer
(int32)
-
userId: string
(uuid)
-
verifiedStatus: string
Verified status of the visitExample:
VERIFIED -
versionEnd: string
(date-time)
-
versionStart: string
(date-time)
Start timestamp of the version recordExample:
2025-10-16T14:30:31.892Z -
visitAction: string
Action to be taken for the visitExample:
SCREEN_DISABLE -
visitStartDate: string
(date-time)
Visit start date timestampExample:
2025-10-16T14:30:31.892Z -
visitStartDateLockedDateTime: string
(date-time)
Timestamp when the visit start date was lockedExample:
2025-10-16T14:30:31.892Z -
visitStartDateLockedStatus: string
Locked status for the visit start dateExample:
UNLOCKED -
visitStatus: string
Status of the visit as per VisitsStatusEnumExample:
COMPLETED -
visitType: string
Type of visit as per the visit type enumerationExample:
Screening Visit -
visitWindowWarning: string
400 Response
Bad request.
Root Schema : DcsResponse
Type:
Show Source
object-
errorData: object
ErrorResponseData
Structure representing an error response from the reporting service. Contains an error code, human-readable message, and details.
-
result: object
result
-
status: string
-
version: integer
(int32)
Nested Schema : ErrorResponseData
Type:
objectStructure representing an error response from the reporting service. Contains an error code, human-readable message, and details.
Show Source
-
details: string
Detailed error context or debugging information such as validation error, stack trace, or field/parameter cause.Example:
User role is missing required permission REPORTING_VIEW. Field: userId -
errorCode: string
Application or business-specific error code representing the error type.Example:
REPT_401 -
errorMessage: string
Human-readable error message describing the failure or issue.Example:
Unauthorized: User does not have access to the requested resource
Nested Schema : result
Type:
object