Draft - In progress
Person
A person's name and UH Number.
ROUTING KEY: person.refresh { "messageType":"refreshPerson", "transmissionDate":"2016-05-09 13:58:00", "bannerEventNumber": , "messageBody":{ "fullName":"", "firstName":"", "preferredFirstName":"", "lastName":"", "middleName":"", "nameSuffix":"", "uhUuid":"", "pidm": } }
The retrofitPerson message is sent before any refreshStudentAcademicProfile or refreshInstructorAssignment message. We don't need retrofitPerson before any other type of messages because a person is either a student or faculty, and those two messages appear for a student or faculty respectively before any other type of messages (e.g. refreshStudentAcademicProfile for a student appears before any refreshStudentRegistration messages, so we don't need to send a retrofitPerson before every registration message)
NOTE: refreshPerson uses a built-in trigger which fires on events other than name changes. You may get refreshPerson messages where the name data hasn't changed.
ROUTING KEY: person.retrofit { "messageType":"retrofitPerson", "transmissionDate":"2016-05-09 13:58:00", "bannerEventNumber": , "messageBody":{ "uhUuid":"", "actions":[ { "messageType":"refreshPerson", "messageBody":{ "fullName":"", "firstName":"", "preferredFirstName":"", "lastName":"", "middleName":"", "nameSuffix":"", "uhUuid":"", "pidm": } } ] } }
Students
Useful for creating groups of students by major.
ROUTING KEY: studentAcademicProfile.refresh { "messageType":"refreshStudentAcademicProfile", "transmissionDate":"2015-10-30 14:29:16", "messageBody":{ "uhUuid":"12345678", "pidm":123456, "studentAcademicProfile":[ { "startingTerm":"201430", "endingTerm":"999999", "residency":"N", "studentStatus":"AS", "studentType":"C", "studentCurriculum":[ { "priority":1, "org":"KAP", "campus":"KAP", "level":"UG", "program":"AS-NMA-ANIM", "major":"NMA", "degreeGoal":"AS", "college":"AR", "department":"AR" }, { "priority":2, "org":"MAN", "campus":"MAN", "level":"UG", "program":"ART-BA", "major":"ART", "degreeGoal":"BA", "college":"10", "department":"ARTH" }] }, { "startingTerm":"201310", "endingTerm":"201430", "residency":"N", "studentStatus":"AS", "studentType":"C", "studentCurriculum":[ { "priority":1, "org":"KAP", "campus":"KAP", "level":"UG", "program":"AS-NMA-ANIM", "major":"NMA", "degreeGoal":"AS", "concentration":"ANIM", "college":"AR", "department":"AR" }] }] } }
Registration
ROUTING KEY: studentRegistration.refresh { "messageType":"refreshStudentRegistration", "transmissionDate":"2015-10-30 14:29:16", "messageBody":{ "uhUuid":"12345678", "pidm":123456, "term":"201430", "courseList":[ { "org":"KAP", "subjectCode":"MUS", "courseNumber":"121Z", "crn":"12345", "creditHours":2.0, "registrationStatus":"RW", "withdrawn":"N", "waitlisted":"N" } ], "totalCreditHours":2.0 } },
Consider including sectionNumber in the courseList, it is friendlier than CRN and goes well together with subjectCode and courseNumber.
Instructor
ROUTING KEY: instructorAssignment.refresh { "messageType":"refreshInstructorAssignment", "transmissionDate":"2015-10-30 14:29:16", "bannerEventNumber":36524674, "messageBody":{ "org":"HAW", "term":"201610", "subjectCode":"", "courseNumber":"", "sectionNumber":"", "crn":"15720", "instructorList":[ { "pidm":123456, "uhUuid":"10101010", "lastName":"Fiction", "firstName":"Pulp", "middleName":"P", "primary":"Y" }, { "pidm":155552, "uhUuid":"10202020", "lastName":"Minde", "firstName":"Neva", "preferredFirstName":"Neva", "middleName":"U", "primary":"N" } ] } }
Note: an empty instructorList means that there are no instructors assigned to this course section. If subjectCode, courseNumber and sectionNumber are missing, interpret this message as a course section deletion.
Course Section
ROUTING KEY: courseSection.refresh { "messageType":"refreshCourseSection", "transmissionDate":"2015-10-30 14:31:20", "bannerEventNumber":12341322, "messageBody":{ "org":"MAU", "term":"201630", "crn":"12123", "subjectCode":"DENT", "courseNumber":"152", "sectionNumber":"0", "sectionStatus":"A", "courseStartDate":"2016-01-11", "courseEndDate":"2016-05-13", "maximumEnrollment":12, "waitlistCapacity":0, "meetingTimesList":[ { "days":"M", "meetingStartTime":"08:00", "meetingEndTime":"08:50", "building":"NOII", "roomNumber":"201", "meetingStartDate":"2016-01-11", "meetingEndDate":"2016-05-13", "meetingType":"CLAS" }, { "days":"T", "meetingStartTime":"08:00", "meetingEndTime":"11:50", "building":"NOII", "roomNumber":"", "meetingStartDate":"2016-01-11", "meetingEndDate":"2016-05-13", "meetingType":"CLAS" }, ], "title":"Chairside Dent Asst" } }
If subjectCode, courseNumber and sectionNumber are missing, interpret this message as a course section deletion
Published by UHIMS to the Banner exchange
Affiliation
ROUTING KEY: affiliation.add { "messageType":"addAffiliation", "messageBody": { "uhUuid":"10202020", "role":"u", "org":"WIN" } } ROUTING KEY: affiliation.delete { "messageType":"deleteAffiliation", "messageBody": { "uhUuid":"10202020", "role":"u", "org":"WIN" } }
Home Campus
ROUTING KEY: homeOrg.add { "messageType":"addHomeCampus", "messageBody": { "uhUuid":"10202020", "org":"WIN" } } ROUTING KEY: homeOrg.modify { "messageType":"modifyHomeCampus", "messageBody": { "uhUuid":"10202020", "org":"WIN", "oldOrg":"LEE", } } ROUTING KEY: homeOrg.delete { "messageType":"deleteHomeCampus", "messageBody": { "uhUuid":"10202020", "org":"WIN" } }