V9.0
post
/ec-dc-svc/rest/v9.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
Path Parameters
-
mode(required): string
Mode of the study, accepts: test, active, or training.Example:
test -
studyId(required): string
Unique identifier (UUID, 32-character uppercase hexadecimal string) representing the study.Example:
3F2504E04F8911D39A0C0305E82C3301
Query Parameters
-
showUndoSFWithdCompVisits: boolean
show all undo ScreenFail/Withdrawal/Completion visitsDefault Value:
true -
view: string
This can take value as dmview and is added for Data Management subject and visit listing pageExample:
dmview
Supported Media Types
- application/json
Root Schema : schema
Type:
objectDTO for specifying filter and sorting options when scheduling visits for multiple subjects (bulk operations).
Show Source
-
containsSearchKeywords: array
containsSearchKeywords
Keywords for contains match in subject search which will be applied on subject number
-
dmViewReviewStatus: array
dmViewReviewStatus
Review status for data management view.The acceptable values are: noopenqueries, openqueries, verified, signed, locked, allvisitscomplete, readytosign, allvisitscomplete, readytoverify.
-
exactSearchKeywords: array
exactSearchKeywords
Keywords for exact match in subject search which will be applied on subject number
-
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 -
reviewStatus: string
Review status filter applied to subjects. Values can be noopenqueries, openqueries, verified, signed, locked, allvisitscomplete, readytosign, allvisitscomplete, readytoverify, all, signedandverified, frozenExample:
all -
safetyCaseStatus: string
Indicates the safety case status filter. values can be SUBMITTED, CREATED, MODIFIED, SUBMIT_FAILED, CANCEL_FAILED, CANCELLED, DISMISSED, ACCEPTED, REJECTED, TRANSFER_FAILED, ALL.Example:
ALL -
sites: array
sites
List of site identifiers to scope the search
-
subjectStates: array
subjectStates
States of subjects to filter by Active, New, Screening_Initiated, Enrolled, Complete, Withdrawn, ehrLinked, ehrNotLinked, Screen_Failed, Auto_Screen_Failed
Nested Schema : containsSearchKeywords
Type:
arrayKeywords for contains match in subject search which will be applied on subject number
Show Source
-
Array of:
string
Keywords for contains match in subject search which will be applied on subject numberExample:
["100","SMI"]
Example:
[
"100",
"SMI"
]Nested Schema : dmViewReviewStatus
Type:
arrayReview status for data management view.The acceptable values are: noopenqueries, openqueries, verified, signed, locked, allvisitscomplete, readytosign, allvisitscomplete, readytoverify.
Show Source
-
Array of:
string
Review status for data management view.The acceptable values are: noopenqueries, openqueries, verified, signed, locked, allvisitscomplete, readytosign, allvisitscomplete, readytoverify.Example:
["readytoverify"]
Example:
[
"readytoverify"
]Nested Schema : exactSearchKeywords
Type:
arrayKeywords for exact match in subject search which will be applied on subject number
Show Source
-
Array of:
string
Keywords for exact match in subject search which will be applied on subject numberExample:
["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 Active, New, Screening_Initiated, Enrolled, Complete, Withdrawn, ehrLinked, ehrNotLinked, Screen_Failed, Auto_Screen_Failed
Show Source
-
Array of:
string
States of subjects to filter by Active, New, Screening_Initiated, Enrolled, Complete, Withdrawn, ehrLinked, ehrNotLinked, Screen_Failed, Auto_Screen_FailedExample:
["Auto_Screen_Failed"]
Example:
[
"Auto_Screen_Failed"
]Examples
Back to Top
Response
Supported Media Types
- application/json
200 Response
Subjects success.
Root Schema : SubjectsVisitScheduleDto80
Type:
objectResponse DTO detailing a subject's visit schedule, current study version state, visits (with status and windowing info), and scheduled visit actions.
Show Source
-
crntStateStudyVrsn: string
Current subject state with study version string.Example:
5.0.1.2 -
scheduledVisits: object
scheduledVisits
Scheduled visit details including scheduling windows and action to be taken
-
subject: object
SubjectRespDto14
Subject response details including fields like replacement randomization, unresolved queries etc..
-
visits: object
visits
List of visit statuses, including query counts, lock status, windowing, and other state.
Nested Schema : scheduledVisits
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
Unique identifier(UUID, 32-character uppercase hexadecimal string) representing the clinical event like Screening, Visit 1 etc.Example:
ADF5A7800A954FA5B831E7B6B9CA39A9 -
eventInstanceNum: number
(int32)
Numeric value representing the instance number of the event. Used for repeated or unscheduled visits. It is null for scheduled events.Example:
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 taken on the visit start date value. Acceptable values are SCREEN_ENABLE ,SCREEN_DISABLE ,RANDOMIZE_ENABLE ,RANDOMIZE_DISABLE, DISPENSE_ENABLE, DISPENSE_DISABLE, COMPLETE_STUDY_ENABLE, COMPLETE_STUDY_DISABLE.Example:
SCREEN_ENABLE
Nested Schema : SubjectRespDto14
Type:
objectSubject response details including fields like replacement randomization, unresolved queries etc..
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 -
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:255If subject enrollment is overridden.Example:Subject Enrollment Overridden -
eventType: string
Event Type for Subject, can have value New, Screened, Randomized, Withdrawn, Undo_Withdrawn, Randomization_Replaced, Transferred, Screen_Failed, Undo_Randomization.Example:
Screened -
freezedStatus: string
Frozen status of the record can have values NOT_APPLICABLE, FROZEN.Example:
FROZEN -
fromStudyId: string
Origin study identifier (UUID, 32-character uppercase hexadecimal string) from which the subject was transferredExample:
5D5F9311C591424F852B99FD902E98A4 -
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
Unique identifier (UUID, 32-character uppercase hexadecimal string) of the subjectExample:
1BC29B36F5D64B1B95F4BDBBCEA481BE -
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 subject,applicable values are LOCKED, UNLOCKEDExample:
UNLOCKED -
mhealthSubjectId: string
Unique Identifier (UUID, 32-character uppercase hexadecimal string) of the subject in mHealth system.Example:
1BC29B36F5D64B1B95F4BDBBCEA481BE -
objectVersionNumber: number
Object version numberExample:
14 -
operationType: string
Operation type on the record, can have values CREATED, MODIFIED or REMOVEDExample:
MODIFIED -
previousSubjectNumber: string
Previous subject number if renumbered or transferredExample:
SUBJECT-0001-OLD -
randomizationNumber: string
Randomization number assigned to the subject if applicable.Example:
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 for workflow, the acceptable values are: NEVER_SIGNED, SIGNED, UNSIGNED, NEVER_SIGNED.Example:
SIGNED -
siteId: string
Unique identifier (UUID, 32-character uppercase hexadecimal string) representing the clinical site.Example:
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 subject.The state can be New, Active, Screening_Initiated, Screen_Failed, Withdrawn, Auto_Screen_Failed, Complete or Enrolled.Example: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
Unique identifier (UUID, 32-character uppercase hexadecimal string) representing the study.Example:
ABCDEF1234567890ABCDEF1234567890 -
studyVersion(required): string
String representing the version of the study configuration or protocol. Helps track changes in form or study design.Example:
3.0.0.1 -
subjectNumber(required): string
Minimum Length:
0Maximum Length:500Unique subject Number representing the patient/participant enrolled in the study.Example: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
Unique Identifier(UUID, 32-character uppercase hexadecimal string) of a subject transfer if applicableExample:
1BC29B36F5D64B1B95F4BDBBCEA481BE -
subjNumSiteOrgId: string
Subject number site organization identifier (UUID, 32-character uppercase hexadecimal string)Example:
5D5F9311C591424F852B99FD902E98A4 -
unResolvedQueries: integer
(int32)
Number of unresolved queries for the subjectExample:
2 -
verifiedStatus: string
Verified status for review workflow,the acceptable values are: NEVER_VEIFIED, VERIFIED, UNVERIFIED, NOT_APPLICABLE.Example:
VERIFIED -
versionEnd: string
(date-time)
End timestamp of the subject version recordExample:
2025-10-16T14:30:31.892Z -
versionStart: string
(date-time)
The timestamp marking the beginning of the validity period for this record version within the system.Example:
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 : visits
Type:
objectList of visit statuses, including query counts, lock status, windowing, and other state.
Show Source
-
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
Dose hold action for the visit. The acceptable values are ENABLE or DISABLEExample:
ENABLE -
eventId: string
Unique identifier(UUID, 32-character uppercase hexadecimal string) representing the clinical event like Screening, Visit 1 etc.Example:
ABCDEF1234567890ABCDEF1234567890 -
eventInstanceNum: integer
(int32)
Numeric value representing the instance number of the event. Used for repeated or unscheduled visits. It is null for scheduled events.Example:
1 -
eventType: string
Event type corresponding to the visit. The acceptable values are: Visit_Not_Started, Visit_Started, Visit_Complete, Visit_Skipped, Visit_Skip_Undone, Visit_Date_Changed, Visit_Inserted, Visit_Show, Visit_Hide, VisitDateEntered and VisitDateCleared.Example:
Visit_Not_Started -
freezedStatus: string
Frozen status of the record can have values NOT_APPLICABLE, FROZEN.Example:
FROZEN -
id: string
Unique identifier (UUID, 32-character uppercase hexadecimal string) representing the recordExample:
1BC29B36F5D64B1B95F4BDBBCEA481BE -
lockedDateTime: string
(date-time)
Timestamp when the visit was lockedExample:
2025-10-16T14:30:31.892Z -
lockedStatus: string
Locked status of the visit. Can have values LOCKED,UNLOCKED or NEVER_LOCKEDExample:
UNLOCKED -
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 visit.Example:
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 for workflow, the acceptable values are: NEVER_SIGNED, SIGNED, UNSIGNED, NEVER_SIGNED.Example:
SIGNED -
siteId: string
Unique identifier (UUID, 32-character uppercase hexadecimal string) representing the clinical site.Example:
ABCDEF1234567890ABCDEF1234567890 -
studyVersion(required): string
Minimum Length:
0Maximum Length:100String representing the version of the study configuration or protocol. Helps track changes in form or study design.Example:3.0.0.1 -
subjectId: string
Unique subject identifier (UUID, 32-character uppercase hexadecimal string) representing the patient/participant enrolled in the study.Example:
ABCDEF1234567890ABCDEF1234567890 -
unResolvedQueries: integer
(int32)
Number of unresolved queries associated with this visitExample:
0 -
verifiedStatus: string
Verified status for review workflow,the acceptable values are: NEVER_VEIFIED, VERIFIED, UNVERIFIED, NOT_APPLICABLE.Example:
VERIFIED -
versionStart: string
Start timestamp of the version recordExample:
2025-10-16T14:30:31.892Z -
visitAction: string
Action taken on the visit start date value. Acceptable values are SCREEN_ENABLE ,SCREEN_DISABLE ,RANDOMIZE_ENABLE ,RANDOMIZE_DISABLE, DISPENSE_ENABLE, DISPENSE_DISABLE, COMPLETE_STUDY_ENABLE, COMPLETE_STUDY_DISABLE.Example:
SCREEN_ENABLE -
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 date.Can have values LOCKED,UNLOCKED or NEVER_LOCKEDExample:
UNLOCKED -
visitStatus: string
Status of the visit. The Value of the status can be NEW, COMPLETE, COMPLETE_ERR, INPROGRESS, INCOMPLETE, INCOMPLETE_ERR, SKIPPED, UNDO_SKIP and NOT_STARTED.Example:
COMPLETE -
visitType: string
Type of visit as per the visit type enumeration. The acceptable values are: SCREENING, RANDOMIZATION, DISPENSATION, NON_DISPENSATION, OPTIONAL, OPTIONAL_DISPENSATION, WITHDRAW, SCREENDISP, SCREENRAND, SUBJECT_COMPLETE, UNSCHEDULED, UNSCHEDULED_DISPENSATION, ADVERSE_EVENT, SCREENFAILURE, RESCREENING and RESCREENDISP.Example:
SCREENING -
visitWindowWarning: string
Warning for the visit scheduling windowExample:
NONE
Examples
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: object
details
Detailed error context or debugging information such as validation error, stack trace, or field/parameter cause.
-
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:
objectNested Schema : details
Type:
objectDetailed 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