Dokumentoplysninger
Ændringshistorik
Indhold
Indledning
Dette dokument indeholder den overordnede beskrivelse af den webservice, der giver adgang til at hente oplysninger om praktikforhold fra Praktikpladsen. Herefter blot omtalt som 'webservicen'.
Webservicen og denne grænsefladebeskrivelse vil på sigt erstatte den eksisterende grænsefladebeskrivelse, Grænseflade til afhentning af oplysninger om praktikforhold fra EASY-P.
EASY-P er et ældre system, der ikke lever op til dagens standarder og derfor er under udfasning. Praktikpladsen, der på en række områder skal erstatte EASY-P, vil løbende blive udbygget med funktionalitet til varetagelse af centrale, praktikrelaterede opgaver, og distribution af oplysninger om praktikforhold er et af de første skridt i denne proces.
Webservicen vil endvidere erstatte en række af de mere specielle aftaleudtræk, der i tidens løb er blevet udviklet og stillet til rådighed for specifikke aftagere. Dette har som konsekvens, at alle modtagende systemer, hvad enten de har modtaget data via webservice-kald gennem integrationsplatformen, gennem den gamle EASY-model eller som dataudtræk i diverse filbaserede formater, skal forholde sig til en markant anderledes datamodel og struktur.
Adgang til webservice og data
Web-servicen er en system-til-system integration, som kaldes gennem STIL's integrationsplatform, IPL. Adgang til webservicen kræver, at der er indgået en aftale mellem aftagerinstitutionen og STIL. Aftaler kan indgås med institutioner for erhvervsuddannelse, Arbejdsgivernes Uddannelsesbidrag (AUB) og andre institutioner eller interessenter med behov for og hjemmel til at modtage og opbevare data om erhvervsskoleelevers praktikforhold.
Praktikforhold i webservicen
Begrebet praktikforhold omfatter i denne sammenhæng alle uddannelsesaftaler i henhold til lov om erhvervsuddannelser, aftaler om praktik i udlandet (PiU), skolepraktikrelaterede registreringer og aftaler, samt registreringer og aftaler relateret til erhvervsuddannelse baseret på forberedende grunduddannelse (forkortes FGU-baseret erhvervsuddannelse, eller FGU-eud). Praktikforhold hentes på basis af personnummer.
Praktikforhold, som er slettet fysisk, er ikke omfattet af udtrækket. Regler for, hvornår STIL sletter data vedr. praktikforhold ift. persondataforordningen, er under afklaring.
Som udgangspunkt gemmes data om elevers praktikforhold i et år, efter at eleven har afsluttet eller afbrudt sin uddannelse. Derefter slettes personhenførbare data, som krævet af persondataforordningen, idet STIL ikke har hjemmel til eller behov for at gemme data længere.
Det betyder, at dataaftagere selv er ansvarlige for at opbevare ældre data i den udstrækning, de har lovhjemmel til det.
Den overordnede datamodel
Datamodellen for praktikforhold, som webservicens struktur afspejler, er som nævnt lavet grundlæggende om. I dette afsnit præsenteres den overordnede datamodel for en elevs uddannelsesforløb i Praktikpladsen.dk ganske kort.
Udgangspunktet for webservicen og for den overordnede datamodel er at få de forskellige entiteter og deres egenskaber integreret i en datamodel, der afspejler de logiske relationer mellem entiteter og egenskaber. Udgangspunktet er, at modellen skal kunne repræsentere og håndtere informationer af relevans for administration af praktikområdet.
En elev er identificeret via et CPR-nummer. Eleven kan have flere helt separate uddannelsesforløb, hvis vedkommende har været indskrevet på og evt. fuldført flere forskellige uddannelser. En elev kan i denne model også have flere ikke-afsluttede uddannelsesforløb, hvis vedkommende skifter uddannelsesspor til et nyt CØSA-formål, men ikke afmeldes fra erhvervsuddannelsesinstitutionen.
Et uddannelsesforløb kan indeholde skoleundervisning med tilhørende skoleforløb, som vi dog ikke udstiller i webservicen.
En elevs praktikforhold kan være helt simpelt, hvis det er en ordinær aftale, der omfatter hele elevens hovedforløb – og der i øvrigt ikke sker ændringer ift. uddannelse, speciale, varighed, skift af arbejdssted eller lignende. Men det kan også være – og er for mange elevers vedkommende – noget mere komplekst. I eksemplet herunder starter eleven i skolepraktik. Som led i skolepraktikken er der to korte forløb med virksomhedsforlagt praktik, hvorefter skolepraktikken afbrydes, fordi eleven får en restuddannelsesaftale. Denne aftale afbrydes, hvorefter eleven starter et nyt skolepraktikforløb, hvor der er et enkelt forløb med virksomhedsforlagt praktik. Også denne skolepraktik afbrydes, fordi eleven får en ny restuddannelsesaftale, som dækker den resterende periode indtil eleven er udlært.
Specifikation af webservicen
Overordnet struktur
Webservicen er bygget op omkring to forespørgsler: HentAendringerRequest og HentForloebRequest. De to forespørgsler vil normalt skulle bruges sammen, idet HentAendringerRequest forespørger på ændringer siden et givet tidspunkt. I svaret, HentAendringerResponse returneres CPR-numrene for de elever, hvis praktikforhold eller uddannelsesforløb er ændret siden det i forespørgslen angivne tidspunkt. Dette svar bruges derefter som parameter til at hente de konkret uddannelsesforløb med tilhørende praktikforhold med metoden HentForloebRequest.
HentAendringer
Strukturen i den første forespørgsel ser således ud:
HentAendringerRequest
HentAendringerRequest har som sin centrale parameter et tidspunkt:
'Identifier'-elementet bruges til at logge en transaktion samt til at finde transaktionen i loggen, hvis noget går galt. Forespørgslen har følgende egenskaber:
Felt | Type | Krævet | Beskrivelse |
SystemName | RestrictedString | J | Et navn som identificerer det system hvor forespørgslen kommer fra. |
SystemTransactionID | RestrictedString | J | Et id til transaktionen. |
fraTidspunkt | Timestamp | J | Tidspunktet angiver hvornår man vil have de seneste ændringer fra. |
HentAendringerResponse
HentAendringerResponse returnerer en liste med de CPR-numre, for hvilke der er sket ændringer i perioden fra det angivne tidspunkt og frem til forespørgselstidspunktet:
Ud over listen med CPR-numre returnerer svaret også et tidspunkt, aendringerFremTil, som angiver, til hvilket tidspunkt der er fundet ændringer. Dette tidspunkt bør bruges, næste gang man kalder HentAendringerRequest. På denne måde kan man sikre, at der ikke er huller i de data, man får returneret.
Responsen har følgende egenskaber:
Felt | Type | Krævet | Beskrivelse |
SystemName | RestrictedString | J | Værdien fra forespørgslen sendes retur |
SystemTransactionID | RestrictedString | J | Værdien fra forespørgslen sendes retur |
CorrelationID | UUID | J | Et unikt id fra Integrationsplatformen, som kan bruges f.eks. ifm. support |
aendringerFremTil | date-time | J | Tidspunktet angiver hvornår man vil have de seneste ændringer fra. |
cprNumre | array | J | Liste af CPR-numre for de elever hvor der har været ændringer i deres lærepladsforhold siden det angivne tidspunkt fra forespørgslen. Listen kan være tom. Listen kan indeholde fiktive cpr-numre.Listen indeholder data af type string(10). |
HentForloeb
Den anden forespørgsel, HentForloebRequest, sender som parametre en liste med CPR-numre. I svaret, HentForloebResponse, returneres hele uddannelsesforløb med tilhørende praktikforhold for de elever, hvis CPR-numre er angivet i forespørgslens CPR-liste:
HentForloebRequest
CPR-numrene fra listen bruges i forbindelse med HentForloebRequest, hvor man angiver de CPR-numre, man ønsker at hente data om lærepladsforhold for.
HentForloebRequest tillader, at man henter uddannelsesforløb for max. 500 CPR-numre ad gangen.
'Identifier' elementet bruges som før til at logge en transaktion, samt til at finde transaktionen i loggen, hvis noget går galt. Forespørgslen har følgende egenskaber:
Felt | Type | Krævet | Beskrivelse |
SystemName | RestrictedString | J | Et navn som identificerer det system hvor forespørgslen kommer fra. |
SystemTransactionID | RestrictedString | J | Et id til transaktionen. |
CprListe | array | J | Liste af CPR-numre for de elever man ønsker at hente lærepladsforhold for. Listen skal indeholde mellem 1 og 500 CPR-numre.Listen indeholder data af type string(10), som er på præcis 10 tegn. Der er ingen validering på et CPR-nummer ud over at den skal indeholde 10 tegn. |
HentForloebResponse
HentForloebResponse returnerer uddannelsesforløb for elever med de angivne CPR-numre:
HentForloebResponse returnerer uddannelsesforløb for op til 500 elever, hvis man spørger med det maksimale antal tilladte CPR-numre. Det giver følgende overordnede struktur i svaret, hvor der under knuden UddannelsesforloebForElever ligger et antal elever og derunder knuden for den enkelte elev og dennes uddannelsesforløb:
Responsen har følgende egenskaber:
Felt | Type | Krævet | Beskrivelse |
SystemName | RestrictedString | J | Værdien fra forespørgslen sendes retur |
SystemTransactionID | RestrictedString | J | Værdien fra forespørgslen sendes retur |
CorrelationID | UUID | J | Et unikt id fra Integrationsplatformen, som kan bruges f.eks. ifm. support |
elever | array | J | Listen af elever med deres uddannelsesforløb for de CPR-numre som var angivet i forespørgslen. Hvis der ikke findes en elev for et givet CPR-nummer, bliver der ikke returneret noget for det CPR-nummer. Listen kan være tom. |
En Elev har følgende egenskaber:
Felt | Type | Krævet | Beskrivelse |
cprnr | string(10) | J | Elevens CPR-nummer. Det vil være en streng på præcis 10 tegn. Det kan være et fiktivt CPR-nummer. Det vil være et af de CPR-numre som var angivet i forespørgslen. |
uddannelsesforloeb | array | J | Elevens uddannelsesforløb. Listen kan være tom. |
Det helt centrale element i svaret er uddannelsesforløbet for den enkelte elev, som vil blive gennemgået i næste afsnit.
Datamodel og struktur for uddannelsesforløb
Overordnet struktur for uddannelsesforløb i webservicen
Dette afsnit viser den overordnede struktur for entiteter i webservicen. Et uddannelsesforløb er repræsenteret som en entitet. Datamodellen for et uddannelsesforløb er beskrevet i afsnit 6.3. I webservicen er der ikke entiteter for praktikuddannelse eller et overordnet praktikforhold. Der er entiteter som repræsenterer de forskellige typer af praktikforhold: uddannelsesaftale inkl. kombinationsaftale, skolepraktik, praktik i udlandet, og FGU-eud-aftale. Disse entiteter er knyttet direkte til et uddannelsesforløb i webservicen.
Datamodel for feltændringer og fremtidige feltændringer
Når webservicen returnerer et objekt, f.eks. en uddannelsesaftale, bliver der returneret både et snapshot af objektet, en række feltændringer for objektet, samt evt. nogle fremtidige feltændringer for objektet. Snapshottet viser objektets tilstand i Praktikpladsen.dk på det tidspunkt, hvor objektet blev returneret af webservicen. Objektets feltændringer viser hvordan objektets felter har ændret sig siden objektet blev oprettet. Hvis man spoler et objekts feltændringer igennem, skal man ende med objektets snapshot.
Feltændringsbegrebet er helt centralt i datamodellen og i forståelsen af, hvordan data hænger sammen, idet feltændringer beskriver det enkelte objekts historik, dvs. de ændringer, der er sket undervejs i objektets levetid.
En given feltændring er tilknyttet ét objekt. En feltændring beskriver bl.a. hvilket felt i objektet blev ændret, datatypen for feltet, og den nye værdi for feltet. Feltændringer som bliver lavet samtidig bliver grupperet sammen i en ændringsgruppe.
Der skelnes mellem feltændringer som er indtruffet og fremtidige feltændringer for et objekt. De feltændringer som er indtruffet udgør objektets historik. Fremtidige feltændringer er feltændringer som er registreret for objektet, men som først skal træde i kraft ud i fremtiden. Hvis der for eksempel registreres et C-tillæg, hvor en elev skal skifte til et nyt fast arbejdssted om en måneds tid, vil det blive afspejlet som fremtidige feltændringer for den pågældende uddannelsesaftale.
Struktur for feltændringer og fremtidige feltændringer
Feltændringer og fremtidige feltændringer er defineret ved hjælp af en abstrakt type for en feltvaerditype:
Der er følgende konkrete typer som er undertyper af feltvaerditype: BIGINT, BOOLEAN, DATE, DOUBLE, INTEGER, TEXT, TEXT_ARRAY, TIMESTAMP, UUID. Her er strukturen for en feltændring for en DATE:
Alle undertyperne har, ud over de felter som de arver fra feltvaerditype, typisk én ekstra felt: 'nyVaerdi'. En TEXT_ARRAY vil have en liste af nyVaerdi'er, og listen kan være tom.
En feltændring eller fremtidig feltændring er en konkret instans af én af undertyperne af feltvaerditype. Strukturen for feltændringer og fremtidige feltændringer for objekter, ser således ud:
Egenskaber og udfaldsrum
Feltvaerditype har følgende egenskaber:
Felt. Rækkefølgen af felterne i denne og lignende tabeller afspejler ikke den rækkefølge, som felterne bliver angivet med i XSD-skemaet. Felterne i tabellerne er grupperet så der er en mere logisk sammenhæng i denne grænsefladebeskrivelse. XSD-skemaet angiver den rækkefølge som felterne bliver returneret i fra webservicen. | Type | Krævet | Beskrivelse |
---|---|---|---|
id | UUID | J | Feltændringens unikke id |
feltnavn | string(100) | J | Navnet på det felt, der er blevet ændret, på den pågældende entitet |
oprettetTidspunkt | date-time | J | Tidspunktet hvor ændringen er blevet oprettet enten i EASY-P eller på Praktikpladsen. Formatet er: yyyy-MM-dd''T''HH:mm:ss. Et eksempel er ''2021-04-08T09:41:24'. |
aarsag | string(100) | N | Årsagen til feltændringen. |
gaeldendeFraDato | date | N | Den dato hvorfra feltændringen er gældende. En fremtidig feltændring vil have en gældende fra dato. Mens en feltændring som er indtruffet, dvs. en feltændring som ikke er en fremtidig feltændring, vil ikke nødvendigvis have en gældende fra dato. |
aendringsgruppe | UUID | N | Hvis flere feltændringer er blevet lavet samtidig, er de knyttet sammen i en ændringsgruppe, og alle vil referere til samme ændringsgruppe id. |
En ændringsgruppe indeholder feltændringer for kun ét objekt. Alle feltændringer i en ændringsgruppe vil have samme værdi i feltet 'aarsag'.
Følgende værdier findes som aarsag:
- AFGANGSMELDT
- AFTALETYPE_AENDRET
- COESA_FORMAAL_AENDRET
- CVR_AENDRET
- FORLAENGET_PGA_SYGDOM_ORLOV_M_M
- FORVENTET_UDLAERT_AENDRET
- OPRETTET
- PNR_AENDRET
- PAABYGNING_AENDRET
- SENR_AENDRET
- SKOLESKIFT
- SPECIALE_AENDRET
- UDDANNELSESAFTALE_FORSAETTES_I_NY_VIRKSOMHED
- UDDANNELSESVEJ_AENDRET
- UDDANNELSESVERSION_AENDRET
- UFORSKYLDT_MISTET
- VARIGHED_AENDRET
- VIRKSOMHED_OVERDRAGET
Udfaldsrummet for feltet 'aarsag' vil ikke være begrænset til ovenstående liste. Listen med mulige værdier for feltet 'aarsag' bliver udvidet efter behov.
Der er følgende sammenhæng mellem felterne 'feltvaerditype' og 'nyVaerdi' i en feltændring:
Undertype af 'feltvaerditype' | Type for felt 'nyVaerdi' | nyVærdi krævet | Beskrivelse | |
---|---|---|---|---|
BIGINT | long | J | I øjeblikket er ingen felter med denne datatype | |
BOOLEAN | boolean | J | Udfaldsrum: true, false. I øjeblikket er ingen felter med denne datatype | |
DATE | date | J | En dato i format: åååå-mm-dd | |
DOUBLE | double | J | I øjeblikket er ingen felter med denne datatype | |
INTEGER | integer | J | ||
TEXT | string | J | ||
TEXT_ARRAY | string | N | En TEXT_ARRAY felt ændring vil have en liste af nyVaerdier af type string. Listen kan være tom. | |
TIMESTAMP | date-time | J | En dato og tid. Formatet er: yyyy-mm-dd''T''HH:mm:ss. | |
UUID | UUID | J | Et UUID i format: | ]]></ac:plain-text-body></ac:structured-macro> |
Alle 'nyVaerdi' felter er nillable.
Datamodel for uddannelsesforløb
Struktur for uddannelsesforløb
Strukturen for et Uddannelsesforloeb ser således ud:
Egenskaber og udfaldsrum
Datamodellen for uddannelsesforløbet indeholder de egenskaber, der gælder på tværs af alle praktikforhold, samt alle elevens praktikforhold.
Felt | Type | Krævet | Beskrivelse |
Id | UUID | J | Uddannelsesforløbets unikke id |
coesaFormaal | string(4) | J | Reference til Uddannelsesmodellen |
uddannelseVersion | integermax length 4 | J | Reference til Uddannelsesmodellen |
speciale | string(2) | N | Reference til Uddannelsesmodellen |
elevtype | string(10) | N | Reference til Uddannelsesmodellen |
uddannelsesvej | string(50) | N | Uddannelsesvej, der gælder for Uddannelsesforløbet |
startdato | date | J | Uddannelsesforløbets startdato |
forventetUdlaertDato | date | J | Dato, hvor eleven forventes at være udlært |
afslutningsgrund | string(50) | N | Afslutningsgrund for uddannelsesforløbet |
afgangsAarsag | string(5) | N | Reference til Uddannelsesmodellen |
afgangsmeldtDato | date | N | Den dato, hvor eleven er blevet afgangsmeldt i det studieadministrative system |
pauser | array | J | Pauser fra uddannelsesforløbet. Listen kan være tom. |
uddannelsesaftaler | array | J | Uddannelsesaftaler knyttet til uddannelsesforløbet. Listen kan være tom.Datamodellen for Uddannelsesaftale findes i afsnit 6.4. |
kombinationsaftaler | array | J | Kombinationsaftaler knyttet til uddannelsesforløbet. Listen kan være tom. Datamodellen for Kombinationsaftale findes i afsnit 6.5. |
skolepraktikker | array | J | Aftaler om skolepraktik knyttet til uddannelsesforløbet. Listen kan være tom.Datamodellen for en Skolepraktik findes i afsnit 6.7. |
praktikkerIUdlandet | array | J | Aftaler om praktik i udlandet knyttet til uddannelsesforløbet. Listen kan være tom.Datamodellen for praktik i udlandet findes i afsnit 6.6. |
fguEudAftaler | array | J | Aftaler om FGU-baseret erhvervsuddannelse tilknyttet til uddannelsesforløbet. Listen kan være tom.Datamodellen for en FGU-eud aftale findes i afsnit 6.10 |
feltAendringer | array | J | Feltændringer knyttet til uddannelsesforløbet |
fremtidigeFeltAendringer | array | J | Fremtidige feltændringer knyttet til uddannelsesforløbet. Listen kan være tom. |
slettetTidspunkt | date-time | N | Det tidspunkt, hvor uddannelsesforløbet er blevet markeret som slettet. Formatet er: yyyy-MM-dd''T''HH:mm:ss. |
Felterne 'uddannelsesvej' og 'afslutningsgrund' har begge et fast udfaldsrum:
Felt | Udfaldsrum |
uddannelsesvej | SKOLEVEJ |
afslutningsgrund | AFBRUDT |
Feltændringer for oprettelse af et uddannelsesforløb
Når et uddannelsesforløb bliver oprettet, vil der være feltændringer for følgende felter:
- id
- coesaFormaal
- uddannelseVersion
- startdato
- forventetUdlaertDato
Der kan være feltændringer for flere felter ifm. oprettelse af et uddannelsesforløb.
Pauser
Undervejs i et uddannelsesforløb kan der komme en eller flere pauser, eksempelvis i form af barselsorlov, sygdom e.l.
Felt | Type | Krævet | Beskrivelse |
id | UUID | J | Pausens unikke id |
startdato | date | J | Startdato for pausen |
slutdato | date | N | Slutdato for pausen |
feltAendringer | array | J | Feltændringer knyttet til pausen |
fremtidigeFeltAendringer | array | J | Fremtidige feltændringer knyttet til pausen |
slettetTidspunkt | date-time | N | Det tidspunkt, hvor pausen er blevet markeret som slettet. Formatet er: yyyy-MM-dd''T''HH:mm:ss. |
Feltændringer for oprettelse af en pause
Når en pause bliver oprettet, vil der være feltændringer for følgende felter:
- id
- startdato
Der kan være feltændringer for flere felter ifm. oprettelse af en pause.
Datamodel for uddannelsesaftale
Uddannelsesaftalestruktur i oversigt
Egenskaber og udfaldsrum
Felt | Type | Krævet | Beskrivelse |
id | UUID | J | Uddannelsesaftalens unikke id |
type | string(100) | J | Uddannelsesaftalens type |
cvr | string(8) | J | Arbejdsstedets CVR-nummerReference til CVR-registretVærdien vil være en streng på præcis 8 tegn |
pnr | string(10),nillable | J | Arbejdsstedets P-nummer |
senr | string(8) | J | Arbejdsstedets SE-nummer |
startdato | date | J | Uddannelsesaftaleperiodens startdato |
slutdato | date | J | Uddannelsesaftaleperiodens slutdato |
underskriftsdato | date | J | Dato for aftalens indgåelse |
registrerendeSkoleInstnr | string(6) | J | Institutionsnummer for den erhvervsskole, der registrerer uddannelsesaftalen |
faerdigregistreretdato | date | N | Angiver hvornår uddannelsesaftalen er blevet markeret som færdigregistreret af skolen. En skole kan fjerne en færdigregistreringsmarkering. |
afslutningsgrund | string(50) | N | Aftalens afslutningsgrund |
supplerendeInformationer | array | J | Supplerende informationer, der kan være tilknyttet en uddannelsesaftale. Listen kan være tom. Arrayet indeholder data af type string(100) |
feltAendringer | array | J | Feltændringer knyttet til uddannelsesaftalen |
fremtidigeFeltAendringer | array | J | Fremtidige feltændringer knyttet til aftalen. Listen kan være tom. |
slettetTidspunkt | date-time | N | Det tidspunkt, hvor uddannelsesaftalen er blevet markeret som slettet. Formatet er: yyyy-MM-dd''T''HH:mm:ss'. |
Felterne 'type', 'afslutningsgrund' og 'supplerendeInformationer' har følgende udfaldsrum:
Felt | Udfaldsrum |
type | DELAFTALE_I_KOMBINATIONSAFTALE DELAFTALE_UNDER_FORBEREDENDE_GRUNDUDDANNELSE |
afslutningsgrund | AFBRUDT |
supplerendeInformationer | ERHVERVSRETTET_PAABYGNING_MED_FORLAENGELSE |
Feltændringer for oprettelse af en uddannelsesaftale
Når en uddannelsesaftale bliver oprettet vil der være feltændringer for følgende felter:
- id
- cvr
- pnr
- senr
- registrerendeSkoleInstnr
- startdato
- slutdato
- type
- underskriftsdato
Der kan være feltændringer for flere felter ifm. oprettelse af en uddannelsesaftale.
Datamodel for kombinationsaftale
En kombinationsaftale er en kobling af separate delaftaler i et sammenhængende praktikforløb. Begrebet fungerer som en container, der indeholder alle de aftaler, der indgår i kombinationsaftalen:
Felt | Type | Krævet | Beskrivelse |
id | UUID | J | Kombinationsaftalens unikke id |
delaftaler | array | J | De uddannelsesaftaler der indgår i kombinationsaftalen. Disse uddannelsesaftaler kan kun have typen DELAFTALE_I_KOMBINATIONSAFTALE |
Datamodel for praktik i udlandet
PIU-aftalestruktur i oversigt
Aftaler om praktik i udlandet (PIU-aftaler) er specielle, idet de ikke betragtes som uddannelsesaftaler i bekendtgørelsessammenhæng. En PIU-aftale har af den grund andre egenskaber end de almindelige uddannelsesaftaler på erhvervsskoleområdet.
Egenskaber og udfaldsrum
Felt | Type | Krævet | Beskrivelse |
id | UUID | J | Praktik i udlandet aftalens unikke id |
virksomhedNavn | string(512) | N | Virksomhedens navn |
virksomhedAdresse | string(1000) | N | Adressen for den udenlandske virksomhed |
virksomhedLandekode | string(2) | J | Det land, hvor praktikopholdet finder sted. Formatet er 'ISO 3166-1 alpha-2' |
startdato | date | J | PIU-aftaleperiodens startdato |
slutdato | date | J | PIU-aftaleperiodens slutdato |
underskriftsdato | date | N | Dato for aftalens indgåelse |
skoleInstnr | string(6) | J | Institutionsnummer for den erhvervsskole, der registrerer PIU-aftalen og som eleven er tilknyttet ifm. PIU-aftalen |
forhaandsgodkendtDato | date | N | Angiver hvornår PIU-aftalen er blevet markeret som forhåndsgodkendt af skolen |
endeligGodkendtDato | date | N | Angiver hvornår PIU-aftalen er blevet markeret som endelig godkendt af skolen |
faerdigregistreretdato | date | N | Angiver hvornår PIU-aftalen er blevet markeret som færdigregistreret af skolen |
supplerende-Informationer | array | J | Supplerende information, der er tilknyttet en aftale om praktik i udlandet. Listen kan være tom. |
afslutningsgrund | string(50) | N | Afslutningsgrunden for PIU-aftalen |
feltAendringer | array | J | Feltændringer knyttet til PIU-aftalen |
fremtidigeFeltAendringer | array | J | Fremtidige feltændringer knyttet til PIU-aftalen. Listen kan være tom. |
slettetTidspunkt | date-time | N | Det tidspunkt, hvor PIU-aftalen er blevet markeret som slettet. Formatet er: yyyy-MM-dd''T''HH:mm:ss. |
Felterne 'afslutningsgrund' og 'supplerendeInformationer' har følgende udfaldsrum:
Felt | Udfaldsrum |
afslutningsgrund | AFBRUDT |
supplerendeInformationer | ERHVERVSRETTET_PAABYGNING_MED_FORLAENGELSE |
Feltændringer for oprettelse af en PIU-aftale
Når en PIU-aftale bliver oprettet vil der være feltændringer for følgende felter:
- id
- landekode
- skoleInstnr
- startdato
- slutdato
Der kan være feltændringer for flere felter ifm. oprettelse af en PIU-aftale.
Datamodel for skolepraktik
Struktur for skolepraktik i oversigt
Aftaler om skolepraktik er, på samme måde som PIU-aftaler, ikke uddannelsesaftaler i bekendtgørelsesforstand.
De er endvidere specielle på den måde, at en aftale om skolepraktik kan fungere som en container for tre særlige aftaletyper, nemlig delaftaler under skolepraktik, aftaler om virksomhedsforlagt praktik, og aftaler om virksomhedsforlagt praktik i udlandet. I modsætning til uddannelsesaftaler, hvor der ikke må være overlap mellem to forskellige uddannelsesaftaler, kan der således inden for en skolepraktiks start- og slutdato godt ligge en række forskellige underordnede aftaler.
Egenskaber og udfaldsrum for skolepraktik
Felt | Type | Krævet | Beskrivelse |
id | UUID | J | Skolepraktikaftalens unikke id |
praktikcenterInstnr | string(6) | J | Institutionsnummer på skolepraktikcentret. |
praktikcenterAfdelingInstnr | string(6),nillable | J | Evt. institutionsnummer på den afdeling, som eleven har om fysisk praktikstedVærdien vil være enten en streng på præcis 6 tegn eller nil |
startdato | date | J | Skolepraktikaftalens startdato |
slutdato | date | J | Skolepraktikaftalens slutdato |
afslutningsgrund | string(50) | N | Skolepraktikaftalens afslutningsgrund |
delaftaler | array | J | Delaftaler under skolepraktik knyttet til skolepraktik-aftalen. Disse aftaler kan kun have typen DELAFTALE_UNDER_SKOLEPRAKTIK. Listen kan være tom. |
virksomhedsforlagte-Praktikker | array | J | Virksomhedsforlagt praktik knyttet til skolepraktikaftalen. Listen kan være tom. |
virksomhedsforlagte-PraktikkerIUdlandet | array | J | Virksomhedsforlagt praktikker i udlandet knyttet til skolepraktikken. Listen kan være tom. |
feltAendringer | array | J | Feltændringer som er knyttet til skolepraktikken |
fremtidigeFeltAendringer | array | J | Fremtidige feltændringer som er knyttet til skolepraktikken. Listen kan være tom. |
slettetTidspunkt | date-time | N | Det tidspunkt, hvor skolepraktikaftalen er blevet markeret som slettet. Formatet er: yyyy-MM-dd''T''HH:mm:ss'. |
Feltet 'afslutningsgrund' har et fast udfaldsrum:
Felt | Udfaldsrum |
afslutningsgrund | AFBRUDT_AF_ANDEN_AARSAG |
Feltændringer for oprettelse af en skolepraktik
Når en skolepraktik bliver oprettet, vil der være feltændringer for følgende felter:
- id
- praktikcenterInstnr
- startdato
- slutdato
Der kan være feltændringer for flere felter ifm. oprettelse af en skolepraktik.
Virksomhedsforlagt praktik
En aftale om virksomhedsforlagt praktik (VFP-aftale) er speciel, idet det ikke drejer sig om en aftale mellem en elev og en virksomhed, men derimod om en aftale mellem en skole og en virksomhed.
Struktur for virksomhedsforlagt praktik
Egenskaber og udfaldsrum
Felt | Type | Krævet | Beskrivelse |
id | UUID | J | VFP-aftalens unikke id |
cvr | string(8) | J | CVR-nummer på virksomhed |
pnr | string(10) | J | P-nummer på virksomhed |
senr | string(8) | J | SE-nummer på virksomhedVærdien vil være en streng på præcis 8 tegn |
startdato | date | J | VFP-aftalens startdato |
slutdato | date | J | VFP-aftalens slutdato |
underskriftsdato | date | J | Dato for aftalens indgåelse |
faerdigregistreretdato | date | N | Angiver hvornår VFP-aftalen er blevet markeret som færdigregistreret af skolen |
afslutningsgrund | string(50) | N | VFP-aftalens afslutningsgrund |
feltAendringer | array | J | Feltændringer knyttet til VFP-aftalen |
fremtidigeFeltAendringer | array | J | Fremtidige ændringer knyttet til VFP-aftalen |
slettetTidspunkt | date-time | N | Det tidspunkt, hvor VFP-aftalen er blevet markeret som slettet. Formatet er: yyyy-MM-dd''T''HH:mm:ss. |
Feltet 'afslutningsgrund' har følgende udfaldsrum:
Felt | Udfaldsrum |
afslutningsgrund | AFBRUDT |
Feltændringer for oprettelse af en VFP-aftale
Når en VFP-aftale bliver oprettet, vil der være feltændringer for følgende felter:
- id
- cvr
- pnr
- senr
- startdato
- slutdato
- underskriftsdato
Der kan være feltændringer for flere felter ifm. oprettelse af en VFP-aftale. Virksomhedsforlagt praktik i udlandet.
Struktur for virksomhedsforlagt praktik i udlandet
Egenskaber og udfaldsrum
En aftale om virksomhedsforlagt praktik i udlandet er en aftale mellem en skole og en virksomhed uden for Danmark.
Felt | Type | Krævet | Beskrivelse |
---|---|---|---|
id | UUID | J | Unikke id for et VFP i udlandet |
virksomhedNavn | string(512) | N | Virksomhedens navn |
virksomhedAdresse | string(1000) | N | Adressen for den udenlandske virksomhed |
virksomhedLandekode | string(2) | J | Det land, hvor VFP i udlandet finder sted. Formatet er 'ISO 3166-1 alpha-2' |
startdato | date | J | Startdato for VFP i udlandet |
slutdato | date | J | Slutdato for VFP i udlandet |
underskriftsdato | date | N | Dato for aftalens indgåelse |
faerdigregistreretdato | date | N | Angiver hvornår aftalen om VFP i udlandet er blevet markeret som færdigregistreret af skolen |
afslutningsgrund | string(50) | N | Afslutningsgrund for VFP i udlandet |
feltAendringer | array | J | Feltændringer som er knyttet til VFP i udlandet |
fremtidigeFeltAendringer | array | J | Fremtidige feltændringer som er knyttet til VFP i udlandet |
slettetTidspunkt | date-time | N | Det tidspunkt, hvor aftalen om VFP i udlandet er blevet markeret som slettet. Formatet er: yyyy-MM-dd''T''HH:mm:ss. |
Feltet 'afslutningsgrund' har følgende udfaldsrum:
Felt | Udfaldsrum |
afslutningsgrund | AFBRUDT |
Feltændringer for oprettelse af en VFP i udlandet
Når en VFP i udlandet bliver oprettet vil der være feltændringer for følgende felter:
- id
- landekode
- startdato
- slutdato
Der kan være feltændringer for flere felter ifm. oprettelse af en VFP i udlandet.
Datamodel for FGU-eud aftaler
Struktur for FGU-eud aftaler
Aftaler om en FGU-baseret erhvervsuddannelse er, på samme måde som skolepraktikker og PIU-aftaler, ikke uddannelsesaftaler i bekendtgørelsesforstand.
En FGU-eud aftale er en aftale mellem en erhvervsskole og en FGU-institution om elevens FGU-eud. En FGU-eud aftale kan fungere som en container for tre særlige aftaletyper, nemlig delaftaler under FGU, aftaler om virksomhedsforlagt praktik, og aftaler om virksomhedsforlagt praktik i udlandet. I modsætning til uddannelsesaftaler, hvor der ikke må være overlap mellem to forskellige uddannelsesaftaler, kan der således inden for en FGU-eud aftales start- og slutdato godt ligge en række forskellige underordnede aftaler.
Egenskaber og udfaldsrum for FGU-eud aftaler
OBS: datamodellen for en FGU-eud aftale er endnu ikke fastlagt. En FGU-eud aftale forventes at have følgende felter, og der vil komme flere felter.
Felt | Type | Krævet | Beskrivelse |
---|---|---|---|
id | UUID | J | Unik id for FGU-eud aftalen |
startdato | date | J | Startdato for FGU-eud aftalen |
slutdato | date | J | Slutdato for FGU-eud aftalen |
faerdigregistreretdato | date | N | Angiver, hvornår FGU-eud aftalen er blevet markeret som færdigregistreret af skolen. |
delaftaler | array | J | Delaftaler, der indgår i FGU-eud aftalen. Disse aftaler kan kun have typen DELAFTALE_UNDER_FORBEREDENDE_GRUNDUDDANNELSE. Listen kan være tom. |
virksomhedsforlagte-Praktikker | array | J | Virksomhedsforlagte praktikker i Danmark knyttet til FGU-eud aftalen. Listen kan være tom.Datamodellen for Virksomhedsforlagt praktik findes i afsnit 6.8 |
virksomhedsforlagte-PraktikkerIUdlandet | array | J | Virksomhedsforlagt praktikker i udlandet knyttet til FGU-eud aftalen. Listen kan være tom.Datamodellen for Virksomhedsforlagt praktik i udlandet findes i afsnit 6.9 |
feltAendringer | array | J | Feltændringer som er knyttet til FGU-eud aftalen |
fremtidigeFeltAendringer | array | J | Fremtidige feltændringer som er knyttet til FGU-eud aftalen. Listen kan være tom. |
slettetTidspunkt | date-time | N | Det tidspunkt, hvor FGU-eud aftalen er blevet markeret som slettet. Formatet er: yyyy-MM-dd''T''HH:mm:ss'. |
Webservicen
Udstilling af webservice
Webservicen kaldes via STIL's integrationsplatform, IPL. Integrationsplatformen er en platform, som understøtter udveksling af data mellem STIL's centrale systemer og eksterne systemer. IPL anvendes af uddannelsesinstitutioner, myndigheder og organisationer på førskole-, grundskole-, ungdomsuddannelses-, voksen- og efteruddannelsesområdet.
Platformen tilbyder ensartede webservices for indberetning til og afhentning af data fra STIL's centrale systemer inkl. autentificering, autorisering og logning af hændelser i forbindelse med dataudvekslingen. IPL er en ren infrastrukturkomponent, og har ingen brugergrænseflade, ligesom den ikke opbevarer data.
Platformen understøtter, at systemleverandører, blandt andet leverandører af studieadministrative systemer på de ovennævnte uddannelsesområder, kan udveksle data med STIL's systemer på en institutions vegne på en ensartet, transparent og sikker måde.
Yderligere oplysninger om tilslutning og tekniske detaljer kan findes på STIL's support-site: https://viden.stil.dk/display/OFFintegrationsplatformen.
Endpoints til webservicen:
- Produktion: https://integrationsplatformen.dk/services/Praktikpladsen/Laerepladsforhold/v1.0
- Test: https://et.integrationsplatformen.dk/services/Praktikpladsen/Laerepladsforhold/v1.0
Afhentning af data
Afhentning af ændringer til personers uddannelsesforløb sker i to tempi. Først hentes en liste med de CPR-numre, for hvilke der er sket ændringer siden det tidspunkt, der angives i forespørgsel. Dernæst hentes data om uddannelses- og aftaleforløb for et antal CPR-numre.
Det er op til aftagersystemet at holde rede på, hvilken dato der skal spørges på, hvis aftagersystemet hele tiden skal have det fulde billede af alle ændrede uddannelses- og aftaleforløb.
Webservicen er opdelt i to metoder:
- HentAendringer
- HentForloeb
HentAendringer
Request
Metoden HentAendringer kan kaldes med følgende request:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v1="http://ipl.stil.dk/services/praktikpladsen/laerepladsforhold/v1.0" xmlns:v11="http://stil.dk/praktikpladsen/laerepladsforhold/v1.0"> <soap:Header/> <soap:Body> <v1:HentAendringerRequest> <v1:Identifier> <v1:SystemName>MinSoapUI</v1:SystemName> <v1:SystemTransactionID>TestHentAendringer</v1:SystemTransactionID> </v1:Identifier> <v1:Message> <v11:HentAendringerRequest> <v11:fraTidspunkt>2020-12-03T10:15:30+01:00</v11:fraTidspunkt> </v11:HentAendringerRequest> </v1:Message> </v1:HentAendringerRequest> </soap:Body> </soap:Envelope>
Response
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Body> <HentAendringerResponse xmlns=http://ipl.stil.dk/services/praktikpladsen/laerepladsforhold/v1.0 xmlns:ns2="http://stil.dk/praktikpladsen/laerepladsforhold/v1.0"> <Identifier> <SystemName>MinSoapUI</SystemName> <SystemTransactionID>TestHentAendringer</SystemTransactionID> </Identifier> <CorrelationID>a90941dd-e71e-424c-9d23-707ee570a932</CorrelationID> <Message> <ns2:HentAendringerResponse> <ns2:ElevIdForAendredeUddannelsesforloeb> <ns2:aendringerFremTil>2021-12-09T13:01:34</ns2:aendringerFremTil> <ns2:cprNumre> <ns2:cpr>2002813154</ns2:cpr> <ns2:cpr>1810972107</ns2:cpr> <ns2:cpr>2304975770</ns2:cpr></ns2:cprNumre> </ns2:ElevIdForAendredeUddannelsesforloeb> </ns2:HentAendringerResponse> </Message> </HentAendringerResponse> </soap:Body> </soap:Envelope>
HentForloeb
Request
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v1="http://ipl.stil.dk/services/praktikpladsen/laerepladsforhold/v1.0" xmlns:v11="http://stil.dk/praktikpladsen/laerepladsforhold/v1.0"> <soap:Header/> <soap:Body> <v1:HentForloebRequest> <v1:Identifier> <v1:SystemName>MinSoapUI</v1:SystemName> <v1:SystemTransactionID>TestHentForloeb</v1:SystemTransactionID> </v1:Identifier> <v1:Message> <v11:HentForloebRequest> <v11:CprListe> <!-1 to 500 repetitions:-> <v11:Cpr>0101001509</v11:Cpr> </v11:CprListe> </v11:HentForloebRequest> </v1:Message> </v1:HentForloebRequest> </soap:Body> </soap:Envelope>
Response
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Body> <HentForloebResponse xmlns="http://ipl.stil.dk/services/praktikpladsen/laerepladsforhold/v1.0" xmlns:ns2="http://stil.dk/praktikpladsen/laerepladsforhold/v1.0"> <Identifier> <SystemName>MinSoapUI</SystemName> <SystemTransactionID>TestHentForloeb</SystemTransactionID> </Identifier> <CorrelationID>61c2be0f-e7ff-4a73-987e-9f2fb949bcda</CorrelationID> <Message> <ns2:HentForloebResponse> <ns2:UddannelsesforloebForElever> <ns2:elever> <ns2:Elev> <ns2:cprnr>0101001509</ns2:cprnr> <ns2:uddannelsesforloeb> <ns2:Uddannelsesforloeb> <ns2:coesaFormaal>1420</ns2:coesaFormaal> <ns2:elevtype>EU9</ns2:elevtype> <ns2:feltAendringer> <ns2:feltAendring xsi:type="ns2:UUID" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ns2:aarsag>OPRETTET</ns2:aarsag> <ns2:aendringsgruppe>7588392a-7551-4eb5-afbd-630148758700</ns2:aendringsgruppe> <ns2:feltnavn>id</ns2:feltnavn> <ns2:id>ae257a6a-1305-49f6-9ea4-a959a53f402e</ns2:id> <ns2:oprettetTidspunkt>2018-11-12T12:29:40</ns2:oprettetTidspunkt> <ns2:nyVaerdi>bcbb3b59-6b8c-3cd2-9d00-f68096cc4a2d</ns2:nyVaerdi> </ns2:feltAendring> <!-- En lang række feltAendring'er er fjernet så eksemplet kan være i grænsefladebeskrivelsen --> </ns2:feltAendringer> <ns2:fguEudAftaler/> <ns2:forventetUdlaertDato>2021-07-02</ns2:forventetUdlaertDato> <ns2:fremtidigeFeltAendringer/> <ns2:id>bcbb3b59-6b8c-3cd2-9d00-f68096cc4a2d</ns2:id> <ns2:kombinationsaftaler/> <ns2:pauser/> <ns2:praktikkerIUdlandet/> <ns2:skolepraktikker/> <ns2:speciale>2</ns2:speciale> <ns2:startdato>2017-07-03</ns2:startdato> <ns2:uddannelseVersion>8</ns2:uddannelseVersion> <ns2:uddannelsesaftaler> <ns2:Uddannelsesaftale> <ns2:cvr>35827129</ns2:cvr> <ns2:faerdigregistreretdato>2017-12-13</ns2:faerdigregistreretdato> <ns2:feltAendringer> <ns2:feltAendring xsi:type="ns2:UUID" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ns2:aarsag>OPRETTET</ns2:aarsag> <ns2:aendringsgruppe>0b5ad86a-38e7-406d-ad1e-f9fef1110519</ns2:aendringsgruppe> <ns2:feltnavn>id</ns2:feltnavn> <ns2:id>662e2e1b-bd33-4257-8c7b-ee6b9056698a</ns2:id> <ns2:oprettetTidspunkt>2018-11-12T12:29:40</ns2:oprettetTidspunkt> <ns2:nyVaerdi>2bd09538-9e51-306a-b522-69cfe4871086</ns2:nyVaerdi> </ns2:feltAendring> <!-- En lang række feltAendring'er er fjernet så eksemplet kan være i grænsefladebeskrivelsen --> </ns2:feltAendringer> <ns2:fremtidigeFeltAendringer/> <ns2:id>2bd09538-9e51-306a-b522-69cfe4871086</ns2:id> <ns2:pnr>1019296551</ns2:pnr> <ns2:registrerendeSkoleInstnr>280941</ns2:registrerendeSkoleInstnr> <ns2:senr>35827129</ns2:senr> <ns2:slutdato>2021-07-02</ns2:slutdato> <ns2:startdato>2017-07-03</ns2:startdato> <ns2:supplerendeInformationer/> <ns2:type>ORDINAER_AFTALE</ns2:type> <ns2:underskriftsdato>2017-07-01</ns2:underskriftsdato> </ns2:Uddannelsesaftale> </ns2:uddannelsesaftaler> <ns2:uddannelsesvej>PRAKTIKVEJ</ns2:uddannelsesvej> </ns2:Uddannelsesforloeb> </ns2:uddannelsesforloeb> </ns2:Elev> </ns2:elever> </ns2:UddannelsesforloebForElever> </ns2:HentForloebResponse> </Message> </HentForloebResponse> </soap:Body> </soap:Envelope>
Fejlhåndtering i webservicen
Denne sektion beskriver de fejlkoder, som er returneret af Integrationsplatformen og webservicen.
Fejlbeskeder fra Integrationsplatformen
De HTTP-fejlkoder som Integrationsplatformen anvender er beskrevet her:
https://viden.stil.dk/display/OFFintegrationsplatformen/Fejlkoder
Fejlbeskeder fra webservicen
Fejlbeskeder i HentForloebResponse
Fejlkode | Tekst på fejl |
413 | Antallet af CPR-numre har overskredet det maksimalt tilladte. |