Gå til hovedinnhold

Søke om utvekslingsopphold

Studenter kan søke på de ulike utvekslingstilbudene som studiestedet deres har inngått avtale om og planlagt for studenter på institusjonen.

Utvekslingstilbudet hviler på at studiestedet har gyldige avtaler med partneruniversiteter, hvor det fremgår hvilke studentgrupper fra studiestedet som kan søke på utvekslingstilbudet. Utvekslingstilbudet kan inneholde begrensninger med hensyn til studienivå (bachelor, master, ph.d.) eller fagområde NUS/ISCED-kode, antall tilgjengelige plasser, eller hvilke undervisningsperioder tilbudet gjelder.

Utvekslingstilbud kan også gjelde, og gjøres tilgjengelig for, ansatte ved studiestedet.

Prosessmål​

Målet med prosessen Søke på utveksling er å få plass på et faglig tilfredsstillende utvekslingstilbud, og bli akseptert som student ved en vertsinstitusjon. Både tildeling av ordinært utdanningsstipend for utvekslingsperioden og et eget utvekslingsstipend er avhengige av et positivt utfall for studenten i denne prosessen, og i underprosessen for forhåndsgodkjenning.

Prosessvisualisering BPMN-modell​

Utvekslingsopptak​

Laster BPMN-diagram…
Musehjul eller +/− for zoom, dra eller piltaster for å panorere, klikk elementer for å markere

Forprosesser​

  • studiestedet inngår avtale om utvekslingstilbud Forhandlingsprosess som resulterer i gjensidig avtale mellom to eller flere studiesteder med betingelser og varighet for utvekslingstilbudet.
  • studiestedet registrerer og planlegger utvekslingstilbud For å kunne gjøre et utvekslingstilbud søkbart for student, må tilbudet bli registrert og planlagt sammen med partnerinstitusjonen(e).

Relaterte prosesser​

  • søke forhåndsgodkjenning (oppstår som konsekvens av å ta imot tilbud om utvekslingsopphold)
  • søke stipend
  • justering av læringsavtale i utvekslingsopphold (søke forlengelse av opphold, søke endring av faglig innhold)
  • søke endelig godkjenning og innpassing av resultater

Prosessvarianter​

For studenter skiller vi mellom to hovedtyper for å søke på utveksling:

  • prosess hvor studenten søker aktivt på utvekslingstilbud
  • prosess hvor studenten er forhåndsmeldt til utvekslingstilbud (opt out)

Utvekslingstilbud kan også i visse tilfeller være tilknyttet konkrete emner, som del av undervisningstilbudet på emnet. Dette gjelder praksisemner spesielt. Denne formen for utveksling behandles under prosess for å søke praksisplass.

  • Søke på utveksling i ett semester eller mer
  • Søke på utveksling som del av emne ved hjeminstitusjonen
  • Søke på praksisplass i utlandet

Tilgjengelig API-støtte​

Denne prosessen er delvis støttet av FS GraphQL API

FS GraphQL API​

funksjonalitet i eksperimentell/beta-kontrakt

Denne beskrivelsen viser til funksjonalitet som fortsatt er på eksperimentell- og/eller beta-kontrakt. Endringer kan derfor forekomme. Ta kontakt med FS-support dersom du ønsker å ta denne funksjonaliteten i bruk i produksjon.

FS GraphQL API har støtte for de oppgavene som omtales som "Register mobility" og "Register pre-recognition of results" i BPMN-modellen over, dette fordi resterende oppgaver mest sannsynlig skal behandles i tredjepartssystemer, ikke i FS.

I APIet er disse to oppgavene slått sammen til én, da alt som skal gjøres i FS her, er å registrere et ferdig forhåndsgodkjent utvekslingsopphold, som kan rapporteres til Lånekassen.

Spørringene og mutasjonen i eksemplene under bruker felter som fortsatt er på eksperimentell kontrakt. Du må derfor sette headeren Feature-Flags: beta,experimental, se Tidlig tilgang til funksjonalitet under utvikling.

Nødvendige tilganger​

Mutasjonen registrerForhandsgodkjentUtreisendeUtveksling oppretter utvekslingsoppholdet, oppdaterer godkjenningssaken som FS oppretter for oppholdet, og registrerer omfanget på godkjenningssaken. Den leser også tilbake det som ble skrevet. Klienten må derfor ha disse RAS-rollene:

RAS-roller som kreves for å registrere forhåndsgodkjent utreisende utveksling
RolleBrukes til
STUDENT_UTREISENDE_UTVEKSLING_SKRIV1Opprette utvekslingsoppholdet og omfanget på godkjenningssaken
STUDENT_UTREISENDE_UTVEKSLING_LES1Lese tilbake utvekslingsoppholdet (skriverollen gir ikke lesetilgang)
STUDENT_GODKJENNING_LES1Lese godkjenningssaken som FS oppretter for oppholdet
STUDENT_GODKJENNING_SKRIV1Sette status på godkjenningssaken (bare når status oppgis)

Mangler STUDENT_GODKJENNING_SKRIV1 når status oppgis, blir statusen ikke lagret uten at mutasjonen feiler. Se Tilgangsstyring med RAS for hvordan du bestiller roller.

Nødvendige bakgrunnsdata​

For å kunne registrere et forhåndsgodkjent utvekslingsopphold, må klienten ha tilgang til noen nødvendige bakgrunnsdata:

Studentens studierett​

Utvekslingsoppholdet registreres på studentens studierett på det studieprogrammet studenten reiser ut fra. Du trenger derfor FS-plattformens ID for denne programstudieretten. Hvordan du finner studenten, avhenger av hvordan studenten er identifisert i det systemet der søknaden blir registrert. FS GraphQL API støtter oppslag på studenter på fødselsnummer, personløpenummer, studentnummer og Feide-brukernavn. I dette eksempelet bruker vi Feide-brukernavn, og henter studentens aktive programstudieretter i samme spørring:

query StudentGittFeideBruker {
studenterGittFeideBrukere(
eierOrganisasjonskode: "1234"
feideBrukere: ["14545390087@spusers.feide.no"]
) {
id
programStudieretter {
edges {
node {
id
studieprogram {
kode
navnAlleSprak {
nb
}
}
}
}
}
}
}

Vi får tilbake følgende respons:

{
"data": {
"studenterGittFeideBrukere": [
{
"id": "OTk6MTIzNCw4OTE",
"programStudieretter": {
"edges": [
{
"node": {
"id": "MTU0OjEyMzQsODkxLEJBU1YtU09TLDIwMjMsSMOYU1Q",
"studieprogram": {
"kode": "BASV-SOS",
"navnAlleSprak": {
"nb": "Sosiologi (bachelor)"
}
}
}
}
]
}
}
]
}
}

Vi noterer oss IDen for programstudieretten: MTU0OjEyMzQsODkxLEJBU1YtU09TLDIwMjMsSMOYU1Q

Utvekslingsavtale og parter​

Utvekslingsoppholdet må registreres på en utvekslingsavtale. Det er mulig å hente en liste med utvekslingsavtaler fra FS GraphQL API. Filteret krever eierOrganisasjonskode, og aktiv styrer om du får aktive avtaler (standard, [true]), inaktive avtaler, det vil si ikke påbegynte eller utløpte ([false]), eller begge ([true, false]). I eksempelet henter vi alle avtaler:

Eksempel på spørring for å hente ut alle utvekslingsavtaler som er registrert ved en gitt institusjon:

query Utvekslingsavtaler {
utvekslingsavtaler(
filter: {eierOrganisasjonskode: "1234", aktiv: [true, false]}
first: 10
) {
edges {
node {
id
navnAlleSprak {
und
}
gyldighetsperiode {
fraDato
tilDato
}
parter {
organisasjonsenhet {
id
navnAlleSprak {
nb
nn
en
}
}
}
}
}
pageInfo {
endCursor
hasNextPage
}
totalCount
}
}

Responsen blir slik:

{
"data": {
"utvekslingsavtaler": {
"edges": [
{
"node": {
"id": "MTMyOjEyMzQsQURFTDE",
"navnAlleSprak": {
"und": "Utveksling bachelor, samfunnsfag, Paris"
},
"gyldighetsperiode": {
"fraDato": "2010-08-02",
"tilDato": "2018-11-30"
},
"parter": [
{
"organisasjonsenhet": {
"id": "Nzk6MTIzNCwxODUsMTcsMCww",
"navnAlleSprak": {
"nb": "Det samfunnsvit. fakultet, UiO",
"nn": "Det samfunsvitskaplege fakultet, UiO",
"en": null
}
}
},
{
"organisasjonsenhet": {
"id": "Nzk6MTIzNCwxMTcwMDA3NywwLDAsMA",
"navnAlleSprak": {
"nb": "Ecole des hautes Etudes en Sciences sociales",
"nn": null,
"en": null
}
}
},
{
"organisasjonsenhet": {
"id": "Nzk6MTIzNCwxMTcwMDA4OSwwLDAsMA",
"navnAlleSprak": {
"nb": "Ecole des hautes Etudes politiques et sociales",
"nn": null,
"en": null
}
}
},
{
"organisasjonsenhet": {
"id": "Nzk6MTIzNCwxMTcwMDQwOSwwLDAsMA",
"navnAlleSprak": {
"nb": "Université Paris 1 Panthéon Sorbonne",
"nn": null,
"en": "Panthéon-Sorbonne University"
}
}
},
{
"organisasjonsenhet": {
"id": "Nzk6MTIzNCwxMTcwMDQyNywwLDAsMA",
"navnAlleSprak": {
"nb": "Université Paris 8 Vincennes-Saint-Denis",
"nn": null,
"en": "Paris 8 University"
}
}
}
]
}
},
{
"node": {
"id": "MTMyOjEyMzQsQURFTDEw",
"navnAlleSprak": null,
"gyldighetsperiode": {
"fraDato": "2011-05-25",
"tilDato": null
},
"parter": []
}
},
{
"node": {
"id": "MTMyOjEyMzQsQURFTDI",
"navnAlleSprak": {
"und": "Samleavtale Australia"
},
"gyldighetsperiode": {
"fraDato": "2010-08-01",
"tilDato": "2021-07-31"
},
"parter": [
{
"organisasjonsenhet": {
"id": "Nzk6MTIzNCwxODUsMCwwLDA",
"navnAlleSprak": {
"nb": "Universitetet i Oslo",
"nn": null,
"en": "University of Oslo"
}
}
},
{
"organisasjonsenhet": {
"id": "Nzk6MTIzNCw4MDUwMDAwMSwwLDAsMA",
"navnAlleSprak": {
"nb": "The University of Adelaide",
"nn": null,
"en": null
}
}
},
{
"organisasjonsenhet": {
"id": "Nzk6MTIzNCw4MDUwMDA2MiwwLDAsMA",
"navnAlleSprak": {
"nb": "University of Canberra",
"nn": null,
"en": null
}
}
},
{
"organisasjonsenhet": {
"id": "Nzk6MTIzNCw4MDUwMDA3MywwLDAsMA",
"navnAlleSprak": {
"nb": "University of Sydney",
"nn": null,
"en": null
}
}
}
]
}
},
{
"node": {
"id": "MTMyOjEyMzQsQURFTDIw",
"navnAlleSprak": null,
"gyldighetsperiode": {
"fraDato": "2011-05-23",
"tilDato": null
},
"parter": []
}
},
{
"node": {
"id": "MTMyOjEyMzQsQURFTDM",
"navnAlleSprak": {
"und": "Freemover/individbasert utveksling"
},
"gyldighetsperiode": {
"fraDato": "2003-01-01",
"tilDato": null
},
"parter": []
}
},
{
"node": {
"id": "MTMyOjEyMzQsQURFTDQ",
"navnAlleSprak": null,
"gyldighetsperiode": {
"fraDato": "2011-01-01",
"tilDato": null
},
"parter": []
}
},
{
"node": {
"id": "MTMyOjEyMzQsRlJFRQ",
"navnAlleSprak": {
"und": "Freemover/individbasert utveksling"
},
"gyldighetsperiode": {
"fraDato": "2003-01-01",
"tilDato": null
},
"parter": []
}
},
{
"node": {
"id": "MTMyOjEyMzQsSEFSQUxE",
"navnAlleSprak": {
"und": "test"
},
"gyldighetsperiode": {
"fraDato": "2012-11-13",
"tilDato": "2012-11-30"
},
"parter": [
{
"organisasjonsenhet": {
"id": "Nzk6MTIzNCwyNTksMCwwLDA",
"navnAlleSprak": {
"nb": "Noroff University College",
"nn": null,
"en": null
}
}
},
{
"organisasjonsenhet": {
"id": "Nzk6MTIzNCwxMzkwMDIzNSwwLDAsMA",
"navnAlleSprak": {
"nb": "University of Teesside",
"nn": null,
"en": null
}
}
}
]
}
},
{
"node": {
"id": "MTMyOjEyMzQsSEFSQUxEMg",
"navnAlleSprak": null,
"gyldighetsperiode": {
"fraDato": "2012-11-14",
"tilDato": "2012-11-30"
},
"parter": []
}
},
{
"node": {
"id": "MTMyOjEyMzQsS0FSSU5URVNU",
"navnAlleSprak": {
"und": "Utveksling"
},
"gyldighetsperiode": {
"fraDato": "2007-10-01",
"tilDato": null
},
"parter": [
{
"organisasjonsenhet": {
"id": "Nzk6MTIzNCwxODUsMCwwLDA",
"navnAlleSprak": {
"nb": "Universitetet i Oslo",
"nn": null,
"en": "University of Oslo"
}
}
},
{
"organisasjonsenhet": {
"id": "Nzk6MTIzNCw3MDUwMDAxNiwwLDAsMA",
"navnAlleSprak": {
"nb": "Universidad Austral, Buenos Aires",
"nn": null,
"en": "Austral University, Buenos Aires"
}
}
}
]
}
}
],
"pageInfo": {
"endCursor": "MTMyOjEyMzQsS0FSSU5URVNU",
"hasNextPage": true
},
"totalCount": 681
}
}
}

Dette er et paginert søk, og vi har hentet ut bare de første 10 treffene. Du kan lese mer om hvordan du blar i i paginerte spørringer i den tekniske dokumentasjonen for FS GraphQL API.

Vi velger oss utvekslingsavtalen med ID MTMyOjEyMzQsQURFTDE (Utveksling bachelor, samfunnsfag, Paris). Studenten vår skal utveksles fra Det samfunnsvitenskapelige fakultet, UiO, som har ID Nzk6MTIzNCwxODUsMTcsMCww til Université Paris 8 Vincennes-Saint-Denis, som har ID Nzk6MTIzNCwxMTcwMDQyNywwLDAsMA.

Vektingstyper​

For å registrere forhåndsgodkjent vekting, trenger vi IDen for riktig vektingstype. Vi gjør derfor et søk mot vektingstyper:

query Vektingstyper {
vektingstyper {
edges {
node {
id
navnAlleSprak {
nb
}
kode
}
}
}
}

Vi får dette svaret:

{
"data": {
"vektingstyper": {
"edges": [
{
"node": {
"id": "MTM2OkJU",
"navnAlleSprak": {
"nb": "Belastningstimer"
},
"kode": "BT"
}
},
{
"node": {
"id": "MTM2OkZL",
"navnAlleSprak": {
"nb": "Forkurspoeng"
},
"kode": "FK"
}
},
{
"node": {
"id": "MTM2OkZQ",
"navnAlleSprak": {
"nb": "Studiepoeng"
},
"kode": "FP"
}
},
{
"node": {
"id": "MTM2OlBS",
"navnAlleSprak": {
"nb": "Belastningsprosent"
},
"kode": "PR"
}
},
{
"node": {
"id": "MTM2OlNQ",
"navnAlleSprak": {
"nb": "Studiepoeng"
},
"kode": "SP"
}
},
{
"node": {
"id": "MTM2OlNU",
"navnAlleSprak": {
"nb": "Semestertimer"
},
"kode": "ST"
}
},
{
"node": {
"id": "MTM2OlZB",
"navnAlleSprak": {
"nb": "Varighet"
},
"kode": "VA"
}
},
{
"node": {
"id": "MTM2OlZU",
"navnAlleSprak": {
"nb": "Vekttall"
},
"kode": "VT"
}
}
]
}
}
}

Og vi noterer oss IDen for studiepoeng: MTM2OlNQ

Registrer det godkjente utvekslingsoppholdet​

Nå kan vi registrere det godkjente utvekslingsoppholdet via mutasjonen registrerForhandsgodkjentUtreisendeUtveksling. Inputen tar IDen for programstudieretten, utvekslingsavtalen og de to organisasjonsenhetene, perioden for oppholdet og den forhåndsgodkjente vektingen som skal rapporteres til Lånekassen (forhandsgodkjentVektingLK). Vi oppgir også forhandsgodkjentVektingTotalt, som er den totale forhåndsgodkjente vektingen for oppholdet. Inputen har i tillegg de valgfrie feltene utvekslingsoppholdstypekodeId og godkjenningsakstatuskodeId. Perioden må ligge innenfor avtalens gyldighetsperiode, og begge organisasjonsenhetene må være parter i avtalen, ellers returneres feilen UgyldigInputForAvtaleForUtveksling. For å verifisere resultatet ber vi om å få ID for utvekslingsoppholdet og den registrerte vektingen i retur:

mutation RegistrerForhandsgodkjentUtreisendeUtveksling {
registrerForhandsgodkjentUtreisendeUtveksling(
input: {
programStudierettId: "MTU0OjEyMzQsODkxLEJBU1YtU09TLDIwMjMsSMOYU1Q",
utvekslingsavtaleId: "MTMyOjEyMzQsQURFTDE",
datoFra: "2018-01-01",
datoTil: "2018-06-30",
utveksletFraOrganisasjonsenhetId: "Nzk6MTIzNCwxODUsMTcsMCww",
utveksletTilOrganisasjonsenhetId: "Nzk6MTIzNCwxMTcwMDQyNywwLDAsMA",
forhandsgodkjentVektingLK: {
verdi: 60,
vektingstypeId: "MTM2OlNQ"
},
forhandsgodkjentVektingTotalt: {
verdi: 60,
vektingstypeId: "MTM2OlNQ"
}
}
) {
errors {
... on Error {
__typename
message
path
}
}
forhandsgodkjenteUtvekslinger {
utreisendeUtveksling {
id
}
forhandsgodkjentVekting {
verdi
vektingstype {
kode
}
}
forhandsgodkjentVektingTotalt {
verdi
vektingstype {
kode
}
}
}
}
}

Her får vi følgende respons:

{
"data": {
"registrerForhandsgodkjentUtreisendeUtveksling": {
"errors": [],
"forhandsgodkjenteUtvekslinger": [
{
"utreisendeUtveksling": {
"id": "MjM4OjEyMzQsODkxLEFERUwxLDIwMTgtMDEtMDE"
},
"forhandsgodkjentVekting": {
"verdi": 60,
"vektingstype": {
"kode": "SP"
}
},
"forhandsgodkjentVektingTotalt": {
"verdi": 60,
"vektingstype": {
"kode": "SP"
}
}
}
]
}
}
}