DeX OData - Learner Groups
Learner Group Information Domain
Please read carefully the information domain works as expected but has been extended to offer access to linked information domains to access details of members.
Default Behaviour
This information domain is read-only
Sample Call
Learner/v3/LearnerGroups
Sample Output
{
"@odata.context": "https://pm-svc-api-supershim-staging.azurewebsites.net/ThirdParty/Learner/v3/$metadata#LearnerGroups",
"value": [
{
"@odata.type": "#SIMS.YearGroup",
"ExternalID": "2264e125-a842-4096-9cf6-90fe4c7a3a6e",
"GroupType": "YearGroup",
"ShortName": "N1",
"FullName": "Year N1",
"DisplayOrder": 1
},
{
"@odata.type": "#SIMS.YearGroup",
"ExternalID": "63358fca-608c-4219-bb9d-2f2a4b9924fa",
"GroupType": "YearGroup",
"ShortName": "N2",
"FullName": "Year N2",
"DisplayOrder": 2
},
{
"@odata.type": "#SIMS.PrimaryClass",
"ExternalID": "e790e23c-038f-42d0-8c41-9ea92c493476",
"GroupType": "PrimaryClass",
"ShortName": "NC",
"FullName": "Nikhil Class",
"DisplayOrder": 1
},
{
"@odata.type": "#SIMS.PrimaryClass",
"ExternalID": "854436de-e410-4c1a-b20c-beaabeaaf690",
"GroupType": "PrimaryClass",
"ShortName": "Test Class",
"FullName": "Test Class 1",
"DisplayOrder": 1
},
Extension Behaviour
There are numerous cases when an application may simply want to show the current members of a group and a little bit about those members. For example if an application wanted to manage 'Wellington Loans' for pupils in a class. The application might at first offer a choice of Primary Classes and then want to display Learner. Identifiers for the selected group.
An extension feature to the groups system allows for just such a call, however the choice of expansion domains are limited for a specified group.
GET <Stem>Learner/v3/LearnerGroup(ID, GroupType)/LearnerIdentifiers
GET <Stem>Learner/v3/LearnerGroup(ID, GroupType)/LearnerPersonals
GET <Stem>/Learner/v3/LearnerGroups(ExternalID=2a94f021-b49f-4433-bd2f-00710740851b,GroupType=SIMS.GroupTypeEnum'YearGroup')/LearnerIdentifiers?$filter=Forename eq 'Coolio'
That you can constrain learner requests by eg: {GroupType: PrimaryClass, ID: 000-000-0000-0000, Description: 7A} -
GroupTypes supported are:
- PrimaryClass
- YearGroup
- House
- OnRoll
- Leavers
- Futures
Normal OData Filtering on this applies on the linked domain.
{
"@odata.context": "https://pm-svc-api-supershim-staging.azurewebsites.net/ThirdParty/Learner/v3/$metadata#LearnerIdentifiers",
"value": [
{
"ExternalID": "ab4820ba-beea-4e4d-ac9e-008b885ab8ed",
"Forename": "Cisco",
"Surname": "Ramon",
"GenderCategory": "Male",
"AgeMonths": 93,
"DoNotCommunicate": false,
"OnRollState": "Current",
"DateOfApplication": null,
"Photograph": null,
"CurrentYearGroup": {
"Description": "Year 5",
"ExternalID": "2a94f021-b49f-4433-bd2f-00710740851b",
"Type": "PastoralGroup.Definition.YearGroup"
},
"CurrentPrimaryClass": {
"Description": "5DT",
"ExternalID": "e273262e-a586-4d58-a421-b08fd0abc5f6",
"Type": "PastoralGroup.Definition.PrimaryClass"
},
"CurrentHouse": null
}, ...