/
CASPA API 2024 - 2025
  • In progress
  • 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

     

     

    Related content