CASPA API 2024 - 2025

Cheat Sheet | Quick Facts

 

Program ID

402645

Organization ID

5636

SFTP Directories

/incoming/Liaison/CASPA

/incoming/WebAdMIT

/incoming/WebAdMITDocs

 

Type

Subscription ID

Active

Date/Time Started

Type

Subscription ID

Active

Date/Time Started

In Progress

14444

Yes

2024-04-26 12:06:22

App Data - Received

14490

No

 

App Data - Completed

14491

No

 

App Data - Verified

14772

Yes

2024-04-29 13:29:59

App Data - Updated

14493

Yes

2024-04-29 13:29:59

Documents - Evaluations

14494

Yes

2024-04-29 13:39:55

Documents - Transcripts

14495

Yes

2024-04-29 13:39:55

CAS API Documentation

Summary

Each program (or organization, in Liaison-speak) has three subscriptions configured via the CAS API, each of which will deliver a file via SFTP upon specific “business events” (or triggers). These triggers reflect the status of the application in the CAS. The application status changing from one status to another is a “trigger” and these are the only points in time in which a fresh file can be sent.

 

API Subscriptions

Below are copies of the subscription details obtained from Postman; most accurate info can be pulled by calling the API directly, but this is available for a quick reference.

{ "id": 14444, "notificationEmailAddress": "tts-slate-team@elist.tufts.edu", "expirationDate": "2026-04-26", "createdBy": "TuftsUni", "updatedBy": "TuftsUni", "userLevel": "institution", "disabled": false, "createdDate": "2024-04-26 12:06:22", "updatedDate": "2024-04-26 12:06:22", "subscriptionDetails": [ { "id": 69416, "event": "application.program.selected", "responseType": "fullResponse", "responseLevel": "program", "responseOptions": "expand=all,includeNulls=true,contentType=text/csv,columnSeparator=COMMA,csvHeaderTruncationSize=4,csvShortName=question", "destinationType": "SFTP", "createdBy": "TuftsUni", "updatedBy": "TuftsUni", "apiVersion": "v2", "disabled": false, "createdDate": "2024-04-26 12:06:22", "updatedDate": "2024-04-26 12:06:22", "sftpDestination": { "id": 17743, "sftpHost": "ft.technolutions.net", "sftpPort": 22, "sftpBaseDirectory": "/incoming/liaison/CASPA/data", "sftpPathTemplate": "CASPA-app-started_<instanceId>_<organizationId>_<programId>_<applicationId>_<casApplicantId>.csv", "sftpUser": "liaison_service@tusmgp.admissions.tufts.edu", "sftpPassword": "2717fef375e24a1ab89a376a86cbe358", "createdBy": "TuftsUni", "updatedBy": "TuftsUni", "createdDate": "2024-04-26 12:06:22", "updatedDate": "2024-04-26 12:06:22" } } ] }
{ "id": 14490, "notificationEmailAddress": "tts-slate-team@elist.tufts.edu", "expirationDate": "2026-04-29", "createdBy": "TuftsUni", "updatedBy": "TuftsUni", "userLevel": "institution", "disabled": false, "createdDate": "2024-04-29 13:29:45", "updatedDate": "2024-04-29 13:29:45", "subscriptionDetails": [ { "id": 69508, "event": "application.program.received", "responseType": "fullResponse", "responseLevel": "program", "responseOptions": "expand=all,includeNulls=true,contentType=text/csv,columnSeparator=COMMA,csvHeaderTruncationSize=4,csvShortName=question", "destinationType": "SFTP", "createdBy": "TuftsUni", "updatedBy": "TuftsUni", "apiVersion": "v2", "disabled": false, "createdDate": "2024-04-29 13:29:45", "updatedDate": "2024-04-29 13:29:45", "sftpDestination": { "id": 17823, "sftpHost": "ft.technolutions.net", "sftpPort": 22, "sftpBaseDirectory": "/incoming/liaison/CASPA/data", "sftpPathTemplate": "CASPA-app-s-received_<instanceId>_<organizationId>_<programId>_<applicationId>_<casApplicantId>.csv", "sftpUser": "liaison_service@tusmgp.admissions.tufts.edu", "sftpPassword": "2717fef375e24a1ab89a376a86cbe358", "createdBy": "TuftsUni", "updatedBy": "TuftsUni", "createdDate": "2024-04-29 13:29:45", "updatedDate": "2024-04-29 13:29:45" } } ] }
{ "id": 14491, "notificationEmailAddress": "tts-slate-team@elist.tufts.edu", "expirationDate": "2026-04-29", "createdBy": "TuftsUni", "updatedBy": "TuftsUni", "userLevel": "institution", "disabled": false, "createdDate": "2024-04-29 13:29:54", "updatedDate": "2024-04-29 13:29:54", "subscriptionDetails": [ { "id": 69509, "event": "application.program.completed", "responseType": "fullResponse", "responseLevel": "program", "responseOptions": "expand=all,includeNulls=true,contentType=text/csv,columnSeparator=COMMA,csvHeaderTruncationSize=4,csvShortName=question", "destinationType": "SFTP", "createdBy": "TuftsUni", "updatedBy": "TuftsUni", "apiVersion": "v2", "disabled": false, "createdDate": "2024-04-29 13:29:54", "updatedDate": "2024-04-29 13:29:54", "sftpDestination": { "id": 17824, "sftpHost": "ft.technolutions.net", "sftpPort": 22, "sftpBaseDirectory": "/incoming/liaison/CASPA/data", "sftpPathTemplate": "CASPA-app-s-completed_<instanceId>_<organizationId>_<programId>_<applicationId>_<casApplicantId>.csv", "sftpUser": "liaison_service@tusmgp.admissions.tufts.edu", "sftpPassword": "2717fef375e24a1ab89a376a86cbe358", "createdBy": "TuftsUni", "updatedBy": "TuftsUni", "createdDate": "2024-04-29 13:29:54", "updatedDate": "2024-04-29 13:29:54" } } ] }

Slate Source Formats

CASPA Application (Alll CAS by Liaison - In Progress)

Business Event/Trigger: application.program.selected

Business Event/Trigger Description: When the student adds the program designation to their “shopping cart” (i.e., they pick the program as one they plan to apply to). This is the equivalent of “application created” in Slate.

Key Actions:

  • Person record is created in Slate (or matched to existing record if it already exists).

  • Application for 2025 PA is created in Slate, unsubmitted.

  • Inquiry Details row created for PA program.

  • Person status updated to Applicant.

CASPA Application (All CAS by Liaison - Application)

Business Event/Trigger: application.program.received/complete/verified/updated

Business Event/Trigger Description: When the student submits the application and each time that it is moved to the next application status/stage in the CAS.

Key Actions:

  • Existing application for 2025 PA is submitted in Slate or if none exists, a 2025 PA application is created and submitted in Slate.

  • Slate PIN generated.

Documents (PDF)

Business Event/Trigger:

Overview of Data Imported to Slate

 

 

 

Slate Rules (Automations)

Checklist - Add

Checklist - Fulfill

Application Statuses

Populations


WebAdMIT API Documentation

Summary

The WebAdMIT API was built to supplement the CAS API and transfer the following data from CASPA and Slate:

  • Trigger: Candidates invited to interview are identified by the program in CASPA

    • Data:

      • Export: CASPA-app-v-5636 (manual schedule execution)

    • Documents

      • PDF Manager: docs-CASPA-fullapp (manual schedule execution)

Process Overview

The following steps/configurations have been made to each instance of PTCAS.

  1. WebAdMIT/CASPA: Configure the “destination” as Slate’s SFTP host using Destination Manager.

  2. WebAdMIT/CASPA: Create required lists to identify groups of applicants whose data or documents should be included for each transfer:

    1. Applicants who have been selected by the program to be invited to complete an interivew. (Use local status in WebAdMIT).

  3. WebAdMIT/CASPA: Create exports to generate needed CSV file (data).

  4. WebAdMIT/PTCAS: Create PDF templates to generate needed PDFs:

    1. Full Application PDF (exclude evaluations and transcripts, as well as race/eth panel)

  5. In Slate, create and configure a new source format for each export and report file expected from WebAdMIT

  6. WebAdMIT/CASPA: Add schedule(s) to each export and report that will transfer data via SFTP (and not manually).

Decision Reasoning

The CAS API is carrying the bulk of the data and document transfer between the PTCAS instances and Slate, however there are some elements that the CAS API cannot handle:

  • Patient Care Experience, Awards, Publications, CAS Calculated GPA Data:

    • Although this data is included in the CAS API application data file, the way this data is included in the API file makes it impossible to accurately map using the Source Format field mapping tools (since each student may have 0 - 10+ “rows” of data). The export tool in WebAdMIT provides a more compatible way to export this data.

  • App Score, Interview Offer Date, CAS Calculated GPA (prereq):

    • The CAS API course and application data feeds do not include any information about program-specific prerequisite requirements (i.e., does the course fulfill a specific prerequisite) or data generated by applciation review in WebAdMIT. This type of data is only available from WebAdMIT (not at the CAS-level).

  • Full Application PDF and CAS Transcript

    • The CAS API will deliver a full application PDF, however this document contains not only the application form data in a PDF format, it also appends all other documents, including references/transcripts/miscellaneous documentation. Due to our need to purge reference letters while retaining the remaining materials, this is not a viable option for us. Slate’s retention policies cannot edit a PDF document material (cannot remove specific pages or content within a PDF).

WebAdMIT/CASPA Destinations

CASPA is configured with a “destination” that allows for that instance to send data to a host via SFTP; the Destination has been configured to use the WebAdMIT Service Account credentials (from Slate). Data files sent via the WebAdMIT API are delivered to /incoming/WebAdMIT and document .zip files are delivered to /incoming/WebAdMITDocs/pending.

image-20240516-142457.png

WebAdMIT SFTP Documentation

WebAdMIT/CASPA Configurations

List Configurations

Because all transfers of data from CASPA to Slate via the WebAdMIT API occur when a student has been identified as “invite to interview” the only list needed in CASPA is one to filter to the Local Status = Interview - Invite.

Export: WebAdMIT Application Data (CASPA-app-v-5636)

File name: CASPA-app-v-5636

Includes the following fields for export:

  1. CASPA ID and Program Identifier

  2. Patient Care Experience

  3. Awards

  4. Publications

  5. Overall Science GPA, Overall Total GPA, Required Courses GPA

  6. Reapplicant to Org

  7. Application Score

  8. Interview Offer Date

PDF Manager: Full Application PDF (docs-CASPA-fullapp)

Must use the following file name pattern to ensure that the process to create the index file works correctly.

Include all panels except:

  • Documents: Applications and Transcripts

  • Personal Information: Personal Information Race and Ethnicity

  • Evaluations

  • Video Interview

Slate Source Formats

There are two source formats for the WebAdMIT API process in Slate:

WebAdMIT API - CASPA Verified App Data

Imported Fields (red used for matching)

  • CAS/Liaison Person ID

  • CAS/Liaison Program ID

  • CAS/Liaison Application ID

  • Overall Total GPA (Name, Type, Value)

  • Overall Science Total GPA (Name, Type, Value)

  • Prerequisite Program GPA (Name, Type, Value)

  • Review - PA - Application Score

  • CAS/Liaison Reapplicant to Organization

  • Interview Offer Date

  • Experiences (Patient Care Experience) (Employer, City, Region, Start Date, End Date, Total Hours, Title, Current, Recognition Type)

  • Achievements (Awards; name, sponsoring organization, date, description) (Publication; title, description, date, name)

Actions Triggered

  • Adds interview offer date field value which drives later processes (deliver campaign, etc.)

Notes

  • Field value for GPA will include “0.0” if there is no GPA, and static mapping each name and type for each GPA will generate an entitiy row even if there was no GPA value sent, so each applicant will always get 4.

WebAdMIT API - Documents

Imported Fields (red used for matching)

  • CAS/Liaision Person ID

  • Cas/Liaison Program ID

  • CAS/Liaison Application ID

  • Material Type (Material Code)

  • Filename

Actions Triggered

  • Creates a material for Full Application PDF which fulfills that checklist item.

Slate Rules (Automations)

 

Cycle Notes by Year

 

2024 - 2025 Cycle

  • This is the first year we are using the CAS API to bring data from CASPA into Slate.

  • 5/8/2024, Technolutions issued warning about frequency of SFTP login attempts, decided to cancel subscriptions for complete and recieved business events in the API and instead do a daily update from WebAdMIT for changes to CAS/Liaison Application Status.

  • 5/8/2024, realized that the original subscription for verified business event was sending files to the wrong subdirectory in the SFTP, so cancelled old subscription, updated directory, restarted.

  • 5/8/2024, turned on the Applications source format.

    • Schools are mapped out to #5

    • Degrees are mapped out to #2

    • HRSA Indicators are mapped out to #3