Skip to content

Commit 58441b9

Browse files
Merge pull request #154 from jburns54712/main
Update SaveStudentTransferCredit .md
2 parents 29216f1 + 25fe2d9 commit 58441b9

1 file changed

Lines changed: 52 additions & 59 deletions

File tree

docs/student/best-practices/SaveStudentTransferCredit .md

Lines changed: 52 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ published: '2024-06-26'
77
edited: '2024-06-26'
88
---
99

10-
A common use case for integrators is to persist data for courses completed at other institutions. There is capability in Anthology Student for a student to have course requirements satisfied with course work that has been completed at other institutions. The high level process is for a user to create a student transfer credit record which consists of the course(s) that have been completed at other institutions as well as the internal course(s) that the external course work will be satifying. There are many cases where the process of articulating which external courses satisfy which internal courses is handled outside of the Anthology Student applicatuin boundary. In this case, it is critical to be able to persist this data into Anthology Student so that business processes that have dependencies on transfer credit data will operate as expected. The command API endpoint that is used for persisting this data is api/commands/Admissions/StudentTransferCredit/SaveStudentTransferCredit. This document will document the pertinent details for being able to successfully leverage and execute this API.
10+
A common use case for integrators is to persist data for courses completed at other institutions. There is capability in Anthology Student for a student to have course requirements satisfied with course work that has been completed at other institutions. The high level process is for a user to create a student transfer credit record which consists of the course(s) that have been completed at other institutions as well as the internal course(s) that the external course work will be satisfying. There are many cases where the process of articulating which external courses satisfy which internal courses is handled outside of the Anthology Student application boundary. In this case, it is critical to be able to persist this data into Anthology Student so that business processes that have dependencies on transfer credit data will operate as expected. The command API endpoint that is used for persisting this data is api/commands/Admissions/StudentTransferCredit/SaveStudentTransferCredit. This document will cover the pertinent details for being able to successfully leverage and execute this API.
1111

1212
## Swagger documentation
1313

@@ -22,7 +22,7 @@ When the list of available operations is displayed, select the SaveStudentTransf
2222

2323
## Request payload
2424

25-
The high level data model for persisting transfer credit data consists of 3 main entities. The StudentTransferCredit entity is the header record for the transfer credit information. This entity will store the summary of the transfer credit record such as College or High School the external courses were completed at, overall status of the transfer credit record and the transfer credit type. This entity also includes 2 child entities as part of its definition. StudentTransferCreditMultipleExternalCourse is the entity that contains 1 or more rows for each course the student completed at the external institution. The StudentTransferCreditMultipleInternalCourse entity will contain 1 or more rows for the instiitution courses that the external courses are satisfying. You will see that these are defined as collection properties within the request payload. -- StudentTransferCreditExternalCourseList and StudentTransferCreditInternalCourseList.
25+
The high level data model for persisting transfer credit data consists of 3 main entities. The StudentTransferCredit entity is the header record for the transfer credit information. This entity will store the summary of the transfer credit record such as College or High School the external courses were completed at, overall status of the transfer credit record and the transfer credit type. This entity also includes 2 child entities as part of its definition. StudentTransferCreditMultipleExternalCourse is the entity that contains 1 or more rows for each course the student completed at the external institution. The StudentTransferCreditMultipleInternalCourse entity will contain 1 or more rows for the institution courses that the external courses are satisfying. You will see that these are defined as collection properties within the request payload. -- StudentTransferCreditExternalCourseList and StudentTransferCreditInternalCourseList.
2626

2727
You will see properties on the StudentTransferCredit entity that are deprecated and no longer used. The original implementation of the Student Transfer Credit feature in Anthology Student did not have child tables defined for recording external course work and the internal courses that the external course work was satisfying. Instead a row would exist in the StudentTransferCredit entity for each external course that was taken. For this reason, the following properties on the StudentTransferCredit entity can be ignored as they are no longer used:
2828

@@ -51,66 +51,59 @@ An example payload for this API is below.
5151

5252
```json
5353
{
54-
"approvedDate": null,
55-
"isApproved": false,
56-
"rowVersion": null,
57-
"studentEnrollmentPeriodId": 961,
58-
"studentId": 50873,
59-
"studentTransferCreditExternalCourseList": [
60-
{
61-
"collegeCourseClockHours": null,
62-
"collegeCourseClockHoursAttempted": null,
63-
"collegeCourseClockHoursEarned": null,
64-
"collegeCourseCreditHoursAttempted": 0,
65-
"collegeCourseCreditHoursEarned": 0,
66-
"collegeCourseCredits": 0,
67-
"collegeCourseGrade": "A",
68-
"collegeCourseGradePoints": 0,
69-
"collegeCourseId": 8,
70-
"collegeCourseStartDate": "2023/12/01 00:00:00",
71-
"collegeId": 4,
72-
"completionDate": "2023/12/31 00:00:00",
73-
"entityState": 0,
74-
"highSchoolCourseId": null,
75-
"highSchoolId": null,
76-
"id": -1
77-
},
78-
{
79-
"collegeCourseClockHours": 0,
80-
"collegeCourseClockHoursAttempted": 0,
81-
"collegeCourseClockHoursEarned": 0,
82-
"collegeCourseCreditHoursAttempted": 3,
83-
"collegeCourseCreditHoursEarned": 3,
84-
"collegeCourseCredits": 3,
85-
"collegeCourseGrade": "B",
86-
"collegeCourseGradePoints": 0,
87-
"collegeCourseId": 7,
88-
"collegeCourseStartDate": "2022/09/01 00:00:00",
89-
"collegeId": 3,
90-
"completionDate": "2022/10/31 00:00:00",
91-
"entityState": 0,
92-
"highSchoolCourseId": null,
93-
"highSchoolId": null,
94-
"id": -1
95-
}
96-
],
97-
"studentTransferCreditId": -1,
98-
"studentTransferCreditInternalCourseList": [
99-
{
100-
"courseId": 10,
101-
"credits": 3,
102-
"entityState": 0,
103-
"hours": 0,
104-
"id": -1
105-
}
106-
],
107-
"termId": null,
108-
"transferCreditStatusId": "1",
109-
"transferCreditTypeId": "4"
54+
"payload": {
55+
"studentTransferCreditId": -1,
56+
"studentId": 50090,
57+
"studentEnrollmentPeriodId": 264,
58+
"transferCreditTypeId": "4",
59+
"approvedDate": null,
60+
"transferCreditStatusId": "1",
61+
"isApproved": false,
62+
"termId": null,
63+
"grade": "",
64+
"note": "Test note for Transfer credit",
65+
"studentTransferCreditExternalCourseList": [
66+
{
67+
"id": -1,
68+
"uid": "ffc5e67e-eb1e-4ec0-96e9-363c10595790",
69+
"collegeId": 4,
70+
"collegeCourseCredits": 0,
71+
"collegeCourseClockHours": null,
72+
"collegeCourseGrade": "B",
73+
"collegeCourseId": 8,
74+
"completionDate": "2018/03/01 00:00:00",
75+
"collegeCourseStartDate": null,
76+
"highSchoolCourseId": null,
77+
"highSchoolId": null,
78+
"entityState": 0,
79+
"collegeCourseClockHoursAttempted": null,
80+
"collegeCourseClockHoursEarned": null,
81+
"collegeCourseCreditHoursAttempted": 0,
82+
"collegeCourseCreditHoursEarned": 0,
83+
"collegeCourseGradePoints": 0
84+
}
85+
],
86+
"studentTransferCreditInternalCourseList": [
87+
{
88+
"id": -1,
89+
"uid": "cd2d4d2b-2a48-49fb-adb8-147a1388ad29",
90+
"courseId": 35,
91+
"credits": 3,
92+
"hours": 0,
93+
"entityState": 0
94+
}
95+
],
96+
"collegeCourseClockHoursAttempted": null,
97+
"collegeCourseClockHoursEarned": null,
98+
"collegeCourseCreditHoursAttempted": "0.00",
99+
"collegeCourseCreditHoursEarned": "0.00",
100+
"collegeCourseGradePoints": 0,
101+
"rowVersion": null
102+
}
110103
}
111104
```
112105

113-
In the example, there are 2 external courses taken that are satisfying the requirements for 1 internal course.
106+
In the example, there is 1 external courses taken that is satisfying the requirements for 1 internal course.
114107

115108
The TransferCreditStatusId property value will determine if the student's degree progress audit and transcript data will be updated when the API executes. The Transfer Credit Status table is reference data that is configured by the instituion. Any number of statuses can be configured that can be used to track the transfer credit process (i.e. Transfer credits are submitted, transfer credits are being reviewed, transfer credit is approved etc.). Each row in the Transfer Credit Status reference data entity has a boolean property called IsApproved. If the IsApproved attribute is true for the TransferCreditStatusId property value specified in the request, then the execution logic will perform the needed updates so that there is a Transfer grade recorded for the internal course Id provided and also update the degree progress audit data so that the requirement of taking the internal course Id shows as Fulfilled when generating the students Degree Progress Audit.
116109

0 commit comments

Comments
 (0)