Jenzabar

Contact:

Please work directly with your assigned Account Executive and Solutions Consultant.

Released/Updated:

2025-03-10

Overview

ProcessMaker TCE is designed to automate the evaluation of transfer credits by reading data from its dedicated Transfer Credit Evaluation database and then updating student records in Jenzabar with the awarded credits. Leveraging the Jenzabar Unity Platform’s robust API ecosystem, this integration ensures real-time, secure, and seamless data exchange between the two systems.

Jenzabar Unity Platform and API Capabilities

Jenzabar’s platform offers a comprehensive set of RESTful APIs that allow external systems to:

  • Authenticate and Authorize: Use OAuth 2.0 or API keys to secure communications.

  • Retrieve Student Information: Query student records using endpoints such as GET /api/students/{studentId}.

  • Update Student Records: Update or patch student data, including credit details, using endpoints like PUT or PATCH /api/students/{studentId} or a dedicated endpoint (e.g., /api/students/{studentId}/credits).

Integration Workflow

Data Extraction from TCE Database

  • ProcessMaker TCE connects to the Transfer Credit Evaluation database.

  • It extracts relevant data (e.g., student ID, evaluated transfer credits, course details).

What we need to integrate

  • The external institutions

  • The courses

  • The students

  • The term

  • The articulations

  • The majors

  • The courses by major

Applicant

  • The external institutions table: Atce_external_institution (external institution that had articulation or evaluated transfer credits as the example)

{
        "external_institution_id": 2,  //generated by pm4
        "external_id_sis": "",  //system id for example banner
        "code": "G50003",    //institute code
        "name": "Damelin",     //name of the institution   
        "type": "College",      //type as college, university, other
        "admission_request_code": "CLT1",  //from banner as an example
        "admission_request_name": "College Transcript", //from banner as an example
        "created_at": "2024-09-26 15:23:38",  //generated by pm4
        "updated_at": "2024-09-26 15:23:38", //generated by pm4
        "deleted_at": null,  //generated by pm4
        "created_by": null, //generated by pm4
        "updated_by": null, //generated by pm4
        "deleted_by": null  //generated by pm4
}
  • The courses better if they are the official current courses in the last or actual term, the table: atce_course (internal courses belongs to the college)

{
        "course_id": 1,        //generated by pm4
        "admin_period_id": 357, //generated by pm4 with the terms table
        "course_id_sis": "eb86872d-b9f8-4751-b5cb-ea1411554150", //system id for example banner
        "prefix_id_sis": "fbbe27b4-31b9-4896-a25f-bd3b4d42c03a", //system id for example banner
        "prefix": "PHAR", //subject prefix
        "code": "168", //subject code
        "subject": "PHAR 168", //prefix + code
        "title": "CONTINUING PROFESSIONAL DEVELOPMENT IV",          //title of the course

        "description": "The fourth in a series of six courses, students will build upon previous coursework in this series to revise and implement continuing professional development plans through various exercises and experiences.  Students will document their progress in a portfolio.  Students will participate in class sessions; co-curricular activities; introductory pharmacy practice experiences (IPPE); and interprofessional education (IPE) activities.  Class session topics include professional advocacy, APPE opportunities, and professional and personal exploration.  Co-curricular, IPPE, and IPE experiences will require travel to off-campus locations.  Primary class session format is lecture with discussion, individual and group activities, and reflection.  IPPE, IPE, and co-curricular format is experiential learning, case discussions, and/or reflection.  This course is required for all pharmacy students in the second year of the professional program.",

        "syllabus": "The fourth in a series of six courses, students will build upon previous coursework in this series to revise and implement continuing professional development plans through various exercises and experiences.  Students will document their progress in a portfolio.  Students will participate in class sessions; co-curricular activities; introductory pharmacy practice experiences (IPPE); and interprofessional education (IPE) activities.  Class session topics include professional advocacy, APPE opportunities, and professional and personal exploration.  Co-curricular, IPPE, and IPE experiences will require travel to off-campus locations.  Primary class session format is lecture with discussion, individual and group activities, and reflection.  IPPE, IPE, and co-curricular format is experiential learning, case discussions, and/or reflection.  This course is required for all pharmacy students in the second year of the professional program.",     
        
        "credits": 2,            //credits of the course
        "status": "ACTIVE",         //status of the course
        "created_at": "2024-09-26 15:44:09",           //generated by pm4
        "updated_at": "2024-09-26 15:44:09",           //generated by pm4
        "deleted_at": null,      //generated by pm4
        "created_by": null,      //generated by pm4
        "updated_by": null,      //generated by pm4
        "deleted_by": null       //generated by pm4
 }
  • The student table: atce_student (students in the college)

{
        "student_id": 1,          //generated by pm4
        "student_id_sis": "PI04444",   //system student id for example banner
        "ssn": "626-62-1234",          //ssn id for example, comes from banner
        "dob": "1979-04-17",           //date of birth, comes from banner
        "name": "Patty",               //student name, comes from banner
        "email": "sommerlin@processmaker.com",     //student email, comes from banner
        "admit_period": "Fall 2024",           //student period, comes from banner
        "lastname": "Cabero",                   //student lastname, comes from banner
        "major": "Law",                         //student major, comes from banner
        "minor": null,                          //student minor, comes from banner
        "student_type": "First Time Freshman",   //student type, comes from banner
        "student_level": null,                   //student level, comes from banner
        "expected_grade_date": null,             //student grade date, comes from banner
        "total_number_credits": null,            //student total number of credits, comes from banner
        "total_number_transfer_credits": null,   //student total number of transfer credits, comes from banner
        "created_at": null,      //generated by pm4
        "updated_at": null,      //generated by pm4
        "deleted_at": null,      //generated by pm4
        "created_by": null,      //generated by pm4
        "updated_by": null,      //generated by pm4
        "deleted_by": null      //generated by pm4
}
  • The Term as a table: atce_course_admin_period (terms belongs to the college)

{
        "admin_period_id": 1,      //generated by pm4
        "admin_period_id_sis": "e9adb66a-6749-4c50-b611-1b1126afc266", //this comes from banner as an example
        "start_on": "2024-09-26",  //this comes from banner as an example
        "end_on": "2024-09-26",   //this comes from banner as an example
        "title": "Spring 1993",    //this comes from banner as an example
        "type": "term",    //this comes from banner as an example
        "status": "",      //this comes from banner as an example
        "created_at": "2024-09-26 15:39:54",
        "updated_at": "2024-09-26 15:39:54",
        "deleted_at": null,         //generated by pm4
        "created_by": null,        //generated by pm4
        "updated_by": null,        //generated by pm4
        "deleted_by": null         //generated by pm4
}
  • The articulation table: atce_articulations (evaluated transfer rules)

{
        "articulation_id": 1,   //generated by pm4
        "": 1,      //generated by pm4
        "course_id": 318,      //generated by pm4 the code comes from courses table
        "internal_subject": "HONR 096",   //generated by pm4 the code comes from courses table
        "internal_title": "",  //generated by pm4 the code comes from courses table
        "internal_credit": 0,  //generated by pm4 the code comes from courses table
        "transfer": 1,   //this comes from banner as an example
        "external_institution_id": 47109,  //generated by pm4 the code comes from institution table
        "external_subject": "HIST 351",  //this comes from banner as an example
        "external_title": "American Civilization To 1865",  //this comes from banner as an example
        "external_credit": "3",  //this comes from banner as an example
        "status": "ACTIVE",   //this comes from banner as an example
        "created_at": "2024-09-20 17:24:30",      //generated by pm4
        "updated_at": "2024-09-20 17:24:30",      //generated by pm4
        "deleted_at": null,      //generated by pm4
        "created_by": null,     //generated by pm4
        "updated_by": null,      //generated by pm4
        "deleted_by": null      //generated by pm4
}

Prospect

  • The major as a table: ptce_major (majors belongs to the college)

{
        "major_id": 1,        //generated by pm4
        "major_id_sis": "1",    //this comes from banner as an example
        "major": "Economics",   //this comes from banner as an example
        "category": null,   //this comes from banner as an example
        "advisor": null,   //this comes from banner as an example
        "college": "Business School",   //this comes from banner as an example
        "duration_years": 4,   //this comes from banner as an example
        "total_courses": 46,    //this comes from banner as an example
        "required_courses": 35,   //this comes from banner as an example
        "elective_courses": 11,   //this comes from banner as an example
        "total_credits": 138,    //this comes from banner as an example
        "average_credits_term": 24,   //this comes from banner as an example
        "term_type": "Annual",   //this comes from banner as an example
        "fees_term": 7500,   //this comes from banner as an example
        "url": "https://economics.harvard.edu/concentrating-economics",   //this comes from banner as an example
        "status": "ACTIVE",   //this comes from banner as an example
        "created_at": "2024-10-10 11:40:43",       //generated by pm4
        "updated_at": null,      //generated by pm4
        "deleted_at": null,      //generated by pm4
        "created_by": null,      //generated by pm4
        "updated_by": null,       //generated by pm4
        "deleted_by": null      //generated by pm4
}
  • The courses by major as a table: ptce_courses_by_major (majors by courses belongs to the college)

{
        "courses_by_major_id": 1,       //generated by pm4
        "courses_by_major_id_sis": "1",    //this comes from banner as an example
        "course_id": 318,    //generated by pm4 the code comes from course table
        "major_id": 1,    //generated by pm4 the code comes from major table
        "course_area": "Areas of Inquiry",     //this comes from banner as an example
        "type": "REQUIRED",     //this comes from banner as an example
        "prerequisite": 0,     //this comes from banner as an example
        "status": "ACTIVE",      //this comes from banner as an example
        "created_at": "2024-10-10 11:42:03",      //generated by pm4
        "updated_at": null,       //generated by pm4
        "deleted_at": null,       //generated by pm4
        "created_by": null,       //generated by pm4
        "updated_by": null,      //generated by pm4
        "deleted_by": null       //generated by pm4
}

Authentication with Jenzabar

ProcessMaker initiates an authentication call using Jenzabar’s Auth API (OAuth 2.0 or API tokens) to obtain an access token required for subsequent API calls.

Student Record Retrieval

With the token, ProcessMaker calls the Student Lookup API (GET /api/students/{studentId}) to retrieve current student records and confirm the existence of the student.

Updating Awarded Credits

  • ProcessMaker constructs a JSON payload with the updated credit information.

  • It then calls the Student Update API (PUT or PATCH /api/students/{studentId} or /api/students/{studentId}/credits) to update the student record with the newly awarded credits.

  • Error handling is implemented to manage API response errors and ensure data integrity.

Data Flow UML Diagram

@startuml
actor "ProcessMaker TCE" as PM
database "Transfer Credit DB" as TCE_DB
rectangle "Jenzabar Unity Platform API" {
  [Auth API]
  [Student Lookup API]
  [Student Update API]
}


PM -> TCE_DB: Extract Transfer Credit Data
PM -> [Auth API]: Authenticate (Obtain Token)
PM -> [Student Lookup API]: GET /api/students/{studentId}
[Student Lookup API] --> PM: Return Student Details
PM -> [Student Update API]: PUT/PATCH /api/students/{studentId} with Credit Data
[Student Update API] --> PM: Update Confirmation
@enduml

Last updated