Inhoud:
3. Het EDU-DEX tabblad in het CRM
5. Waardelijsten (vaste keuzeopties)
6. Volledige fieldmapping CRM naar EDU-DEX XML
7. Aandachtspunten bij implementatie
8. Handige links en referenties
1. Inleiding
EDU-DEX is een non-profit stichting die elke 24 uur actuele gegevens over tienduizenden opleidingen en cursussen distribueert naar bedrijven, organisaties, overheden en portals — waaronder Leeroverzicht.nl, de website van de Rijksoverheid, sociale partners en onderwijskoepels. Zo kunnen miljoenen potentiële deelnemers een opleiding kiezen op basis van betrouwbare en onafhankelijke informatie.
De EDU-DEX module in Eudonet STB CRM maakt het mogelijk om cursusinhoud automatisch aan EDU-DEX aan te bieden via een dagelijks batchproces dat XML-bestanden genereert. Zonder deze koppeling moeten opleidingen handmatig in de EDU-DEX interface worden ingevoerd.
1.1 Doelgroep
Dit document is bedoeld voor:
- Functioneel beheerders die de koppeling inrichten en beheren
-
Key users (bijv. opleidingscoördinatoren) die gegevens invoeren op het EDU-DEX tabblad
1.2 Releasehistorie
| Versie | Release | Omschrijving |
|---|---|---|
| 8.2.5 | Mrt 2023 | Initiële inrichting EDU-DEX koppeling als standaard module |
| 8.2.6 | Mrt 2023 | Verbeterde labels en SQL query-validatie |
| 8.4.2 | Dec 2023 | Uitbreiding veldset — nieuw EDU-DEX tabblad op cursus en groep |
| 8.4.2 | Sep 2024 | Rework: CROHO-velden, UI-verfijning, readonly trainingsvelden op groep |
| 8.4.10 | 2025 | Training items op Generic Program Run niveau (zonder geplande groepen) |
Releasetekst 8.2.5: Via de EDU-DEX koppeling biedt Stb Cursus de mogelijkheid om (een deel van) het trainingsaanbod aan te bieden in deze online portal. EDU-DEX biedt een data standaard en verzamelplaats voor de informatie van vele opleiders, met één centraal uitgiftepunt van de informatie van al die opleiders en elke 24 uur een update.
Releasetekst 8.2.6: De koppeling met EDU-DEX is uitgebreid, waardoor het mogelijk is om diverse extra velden in te richten en mee te sturen naar EDU-DEX. Dit kan voor het grootste gedeelte worden gedaan op het niveau van de cursus en voor een deel op de cursusgroep. Hiervoor is een extra tabblad ‘EDU-DEX’ aanwezig.
Releasetekst 8.4.2: De koppeling met EDU-DEX is uitgebreid, waardoor het mogelijk is om diverse extra velden in te richten en mee te sturen naar EDU-DEX. Dit kan voor het grootste gedeelte worden gedaan op het niveau van de cursus en voor een deel op de cursusgroep. Hiervoor is een extra tabblad 'EDU-DEX' aanwezig.
Releasetekst 8.4.10: EDU-DEX uitbreiding — Als cursussen nog niet zijn gepland kunnen deze nu wel via de EDU-DEX integratie aangeboden worden, zodat potentiële deelnemers hun interesse kunnen tonen en inzicht hebben in het totale cursusaanbod.
2. Hoe werkt de koppeling?
De EDU-DEX koppeling werkt via een geautomatiseerd batchproces. Elke nacht worden XML-bestanden gegenereerd op basis van de trainingsgegevens in het CRM. Deze bestanden worden op een geconfigureerde serverlocatie geplaatst, waarna het EDU-DEX platform ze ophaalt en verwerkt. De informatie verschijnt vervolgens op alle portals die EDU-DEX afnemen.
2.1 Processtappen op hoofdlijn
- Eudonet consultant activeert de EDU-DEX module.
- Eudonet consultant configureert de instellingen: serverpad, publicatie-URL, SQL-query, e-mail, OrgUnitID.
- Eudonet consultant activeert het batchproces 'EDU-DEX Export' (standaard elke nacht).
- Batchproces genereert XML-bestanden per cursus (incl. groepen en planningsdata).
- EDU-DEX haalt de bestanden op via de Publicatie URL en verwerkt ze.
- EDU-DEX valideert de bestanden dagelijks en stuurt foutmeldingen naar het geconfigureerde e-mailadres.
2.2 XML-structuur en gegevensniveaus
De XML-bestanden die worden gegenereerd volgen de EDU-DEX standaard (formaat XML_Programma) en bevatten gegevens op drie niveaus:
| Niveau | XML-element | Omschrijving | Bron in CRM |
|---|---|---|---|
| Programma | programClassification / programDescriptions | Algemene opleidingsinformatie | Tabel training + edudex |
| Uitvoering | programSchedule » programRun | Informatie per trainingsgroep | Tabel train_group + edudex_group |
| Sessie | programRun » courseDay | Datum/tijd per sessiedag | Tabel train_group_schedule |
| Kosten | programRun » cost | Artikelkosten per groep | Tabellen train_group_item, art_vat, art_currency |
| Locatie | programRun » location | Locatiegegevens | Tabellen organisation, address |
3. Het EDU-DEX tabblad in het CRM
Wanneer de EDU-DEX module actief is, verschijnt een extra tabblad 'EDU-DEX' op zowel het Cursus- als het Cursusgroep-formulier. Hier worden de EDU-DEX-specifieke gegevens ingevuld. Op deze gegevens kan ook gezocht worden.
3.1 Gedrag: Cursus vs. Cursusgroep
| Cursusformulier | Groepsformulier | |
|---|---|---|
| Trainingsgegevens (EDU-DEX niveau) | Bewerkbaar | Alleen-lezen (geërfd van cursus) |
| Groepsspecifieke velden | Niet van toepassing | Bewerkbaar |
| Nieuw groep aanmaken | — | EDU-DEX velden worden automatisch gekopieerd van de cursus |
| Tabblad zichtbaar | Altijd (indien module actief) | Alleen indien edudex vinkje aanstaat op de cursus |
3.2 Velden op Cursusniveau
De volgende velden zijn beschikbaar op het EDU-DEX tabblad van het Cursusformulier. Verplichte velden voor EDU-DEX zijn gemarkeerd.
| Verplicht | CRM-tabel | CRM-veld | Label in CRM | Opmerking |
|---|---|---|---|---|
| Ja | training | training_code | (Cursus code) | Eigen opleiding ID |
| Ja | training | training_title | (Cursus naam) | Opleidingsnaam |
| Ja | edudex | fully_online | Volledig online | Boolean (0/1) |
| Ja | edudex | program_level | Opleidingsniveau | Keuzelijst op maat |
| Ja | edudex | program_summary_text | Samenvatting | Max. 200 tekens |
| Ja | training | description | (Omschrijving) | Max. 1200 tekens |
| Ja | edudex | application_type | Aanmelding | individual / Group |
| Ja | edudex | program_type | Type opleiding | Vaste waardelijst |
| Ja | edudex | program_duration | Opleidingsduur aantal | Getal |
| Ja | edudex | program_duration_unit | Opleidingsduur eenheid | Vaste waardelijst |
| Ja | edudex | program_form | Programmatijden | Vaste waardelijst / multi-select |
| Ja | edudex | start_date_determination | Aanvangstype | Vaste waardelijst |
| Nee | edudex | offered_until | Einddatum studiejaar | Datum |
| Nee | edudex | degree | Einddocument | Vaste waardelijst |
| Nee | edudex | credits_pe | Studiepunten PE | Tekst; wordt als 'credits' gestuurd |
| Nee | edudex | credits_ects | Studiepunten ECTS | Tekst; wordt als 'credits' gestuurd |
| Nee | edudex | course_site_link | Link naar online omgeving | URL |
| Nee | edudex | application_open | Geopend voor aanmelding | Boolean |
| Nee | edudex | payment_due | Betalingsmoment | Vaste waardelijst |
| Nee | edudex | required_level | Benodigd niveau | Vaste waardelijst |
| Nee | edudex | study_load | Studiedruk aantal | Getal |
| Nee | edudex | study_load_period | Studiedruk eenheid | Vaste waardelijst |
| Nee | edudex | contact_name | Coordinator | Tekst |
| Nee | edudex | role | Coordinator rol | Tekst |
| Nee | edudex | expires_date | Geldig tot | Datum |
3.3 Velden op Groepsniveau
De volgende velden zijn specifiek voor de cursusgroep (edudex_group). De trainingsgegevens van de cursus zijn op de groep alleen-lezen.
| Verplicht | CRM-tabel | CRM-veld | Label in CRM | Opmerking |
|---|---|---|---|---|
| Ja | edudex_group | status | Inschrijfstatus | Geopend / Gesloten / Geannuleerd |
| Ja | train_group | start_date | Startdatum | Datum startgroep |
| Ja | train_group | end_date | Einddatum | Datum eindgroep |
| Nee | edudex_group | application_deadline | Deadline aanmelding | Datum |
| Nee | edudex_group | contact_hours_part_of_day | Contactmomenten | Vaste waardelijst / multi-select |
| Nee | edudex_group | number_of_contact_sessions | Contacttijd | Getal |
| Nee | edudex_group | amount_valid_until | Kosten geldig tot | Getal |
Opmerking: Als bij een cursusgroep geen startdatum is ingevuld, worden de programRun en courseDay elementen NIET meegenomen in de XML-uitvoer. Vul altijd een startdatum in bij groepen die gepubliceerd moeten worden.
4. Verplichte velden en standaardwaarden
EDU-DEX vereist een aantal velden verplicht in de aangeleverde XML-bestanden. Als deze velden niet zijn ingevuld in het CRM, wordt een standaardwaarde meegestuurd. Onderstaande tabel toont de verplichte velden uit de fieldmapping.
| CRM-tabel | CRM-veld | XML-pad | Standaardwaarde |
|---|---|---|---|
| training | training_code | programClassification » programId | (leeg) |
| training | training_title | programDescriptions » programName | (leeg) |
| edudex | fully_online | programClassification » fullyOnline | 0 (false) |
| training | locatie | programClassification » programLocation | (leeg) |
| edudex | program_level | programClassification » programLevel | (leeg) |
| edudex | program_summary_text | programDescriptions » programSummaryText | (leeg) |
| training | description | programDescriptions » programDescriptionText | (leeg) |
| edudex | application_type | programAdmission » applicationType | individual |
| edudex | program_type | programClassification » programType | training |
| edudex | program_duration | programClassification » programDuration | (leeg) |
| edudex | program_duration_unit | programClassification » programDuration @unit | (leeg) |
| edudex | program_form | programClassification » programForm | (leeg) |
| edudex | start_date_determination | programAdmission » startDateDetermination | (leeg) |
| edudex_group | status | programSchedule » programRun » status | application opened |
| train_group | start_date | programSchedule » programRun » startDate | (geen export) |
| train_group | end_date | programSchedule » programRun » endDate | (geen export) |
5. Waardelijsten (vaste keuzeopties)
De volgende velden hebben een vaste set toegestane waarden die door EDU-DEX worden geaccepteerd. In het CRM zijn deze geconfigureerd als keuzelijsten.
5.1 Type opleiding (program_type)
| Waarde (EN) | Label (NL) |
|---|---|
| coaching | coaching |
| conference | conferentie |
| document | document |
| exam | examen |
| lecture | lecture |
| educational | lerarenopleiding |
| master class | masterclass |
| regular | regulier |
| training | training |
| virtual classroom | virtual classroom |
| webinar | webinar |
| workshop | workshop |
| self study | zelfstudie |
| traineeship | traineeship |
| internship | stage |
5.2 Programmatijden (program_form)
| Waarde (EN) | Label (NL) |
|---|---|
| distance learning | afstandsonderwijs |
| part-time | deeltijd |
| dual | duaal |
| full-time | voltijd |
5.3 Aanvangstype (start_date_determination)
| Waarde (EN) | Label (NL) |
|---|---|
| fixed starting date | vaste startdatum |
| agreed starting date | afgesproken startdatum |
| direct start | direct starten |
5.4 Studiedruk eenheid (study_load_period)
| Waarde (EN) | Label (NL) |
|---|---|
| day | dag(en) |
| week | weken |
| month | maanden |
| year | jaar |
| hour | uur |
| program | gehele opleiding |
| 1st year | 1e jaar |
5.5 Inschrijfstatus groep (status)
| Waarde (EN) | Label (NL) |
|---|---|
| application opened | Geopend |
| application closed | Gesloten |
| canceled | Geannuleerd |
5.6 Betalingsmoment (payment_due)
| Waarde (EN) | Label (NL) |
|---|---|
| up-front | vooraf |
| afterwards | achteraf |
| installments | in termijnen |
5.7 Contactmomenten (contact_hours_part_of_day)
| Waarde (EN) | Label (NL) |
|---|---|
| morning | ochtend |
| afternoon | middag |
| evening | avond |
| day | dag |
| night | nacht |
| weekend | weekend |
5.8 Benodigd niveau (required_level) — selectie
| Waarde (EN) | Label (NL) |
|---|---|
| none | niet van toepassing |
| mbo | mbo |
| mbo niveau 1 | mbo niveau 1 |
| mbo niveau 2 | mbo niveau 2 |
| mbo niveau 3 | mbo niveau 3 |
| mbo niveau 4 | mbo niveau 4 |
| havo | havo |
| vwo | vwo |
| hbo | hbo |
| bachelor | hbo bachelor |
| master | hbo master |
| academic bachelor | wo bachelor |
| academic master | wo master |
| PhD | PhD |
6. Volledige fieldmapping CRM naar EDU-DEX XML
Onderstaande tabel toont de volledige mapping van CRM-velden naar de EDU-DEX XML-structuur, gebaseerd op de officiële fieldmapping documentatie. Velden gemarkeerd met 'x' bij 'Covered' zijn geïmplementeerd in de koppeling. Velden met 'o' zijn optioneel maar (nog) niet geïmplementeerd.
| Sectie | EDU-DEX label (NL) | XML-pad | CRM-tabel | CRM-veld | Verplicht | Gedekt |
|---|---|---|---|---|---|---|
| Kerninformatie | Eigen opleiding ID | programClassification » programId | training | training_code | x | x |
| Kerninformatie | Geldig tot | expires | edudex | expires_date | x | |
| Kerninformatie | Einde instroom | programClassification » offeredUntil | edudex | offered_until | x | |
| Kerninformatie | Opleidingsnaam | programDescriptions » programName | training | training_title | x | x |
| Kerninformatie | Volledig online | programClassification » fullyOnline | edudex | fully_online | x | x |
| Kerninformatie | Locatie (organisatie) | programClassification » programLocation | training | — | x | x |
| Kerninformatie | LocatieID | programRun » location » id | organisation | organisation_id | x | |
| Kerninformatie | Locatie naam | programRun » location » locationName | organisation | organisation_name | x | |
| Kerninformatie | Locatie adres | programRun » location » address | address | visit_street_1 + nr | x | |
| Kerninformatie | Locatie postcode | programRun » location » zipcode | address | visit_zip | x | |
| Kerninformatie | Locatie stad | programRun » location » city | address | visit_city | x | |
| Kerninformatie | Opleidingsniveau | programClassification » programLevel | edudex | program_level | x | x |
| Kerninformatie | Einddocument | programClassification » degree | edudex | degree | x | |
| Kerninformatie | Studiepunten PE | programClassification » credits | edudex | credits_pe | x | |
| Kerninformatie | Studiepunten ECTS | programClassification » credits | edudex | credits_ects | x | |
| Kerninformatie | Open/afnemer-specifiek | programRun » openTo | train_group | project_id | o | |
| Beschrijvingen | Samenvatting | programDescriptions » programSummaryText | edudex | program_summary_text | x | x |
| Beschrijvingen | Beschrijving | programDescriptions » programDescriptionText | training | description | x | x |
| Beschrijvingen | Link online omgeving | programDescriptions » courseSiteLink | edudex | course_site_link | x | |
| Aanmelding | Geopend voor aanmelding | programAdmission » applicationOpen | edudex | application_open | x | |
| Aanmelding | Aanmelding | programAdmission » applicationType | edudex | application_type | x | x |
| Aanmelding | Min deelnemers | programAdmission » minNumberofParticipants | training | min_participants | x | |
| Aanmelding | Max deelnemers | programAdmission » maxNumberofParticipants | training | max_participants | x | |
| Aanmelding | Betalingsmoment | programAdmission » paymentDue | edudex | payment_due | x | |
| Aanmelding | Benodigd niveau | programAdmission » requiredLevel | edudex | required_level | x | |
| Opleidingsvorm | Type opleiding | programClassification » programType | edudex | program_type | x | x |
| Opleidingsvorm | Opleidingsduur aantal | programClassification » programDuration | edudex | program_duration | x | x |
| Opleidingsvorm | Opleidingsduur eenheid | programClassification » programDuration @unit | edudex | program_duration_unit | x | x |
| Opleidingsvorm | Programmatijden | programClassification » programForm | edudex | program_form | x | x |
| Opleidingsvorm | Studiedruk aantal | programCurriculum » studyLoad | edudex | study_load | x | |
| Opleidingsvorm | Studiedruk eenheid | programCurriculum » studyLoad @period | edudex | study_load_period | x | |
| Contactpersonen | Naam contactpersoon | programContacts » contactName | edudex | contact_name | x | |
| Contactpersonen | Rol contactpersoon | programContacts » role | edudex | role | x | |
| Planning & kosten | Aanvangstype | programAdmission » startDateDetermination | edudex | start_date_determination | x | x |
| Planning & kosten | Status | programRun » status | edudex_group | status | x | x |
| Planning & kosten | Deadline aanmelding | programRun » applicationDeadline | edudex_group | application_deadline | x | |
| Planning & kosten | Startdatum | programRun » startDate | train_group | start_date | x | x |
| Planning & kosten | Einddatum | programRun » endDate | train_group | end_date | x | x |
| Planning & kosten | Contactmomenten | programRun » contactHoursPartOfDay | edudex_group | contact_hours_part_of_day | x | |
| Planning & kosten | Contacttijd | programRun » numberOfContactSessions | edudex_group | number_of_contact_sessions | x | |
| Planning & kosten | Sessie-ID | programRun » courseDay » id | train_group_schedule | train_group_schedule_id | x | |
| Planning & kosten | Begintijd sessie | programRun » courseDay » startTime | train_group_schedule | start_time | x | |
| Planning & kosten | Eindtijd sessie | programRun » courseDay » endTime | train_group_schedule | end_time | x | |
| Planning & kosten | Naam sessie | programRun » courseDay » name | train_group_schedule | schedule_title | x | |
| Planning & kosten | Kosten geldig tot | programRun » cost » amountValidUntil | edudex_group | amount_valid_until | x | |
| Planning & kosten | Soort kosten | programRun » cost » costType | art_category | name | x | |
| Planning & kosten | Munteenheid | programRun » cost » currency | art_currency | name | x | |
| Planning & kosten | Kostenomschrijving | programRun » cost » descriptionText | train_group_item | article_description | x | |
| Planning & kosten | Bedrag excl. BTW | programRun » cost » amount | train_group_item | c_amount_sell | x | |
| Planning & kosten | BTW bedrag | programRun » cost » amountVAT | train_group_item | c_amount_vat_sell | x | |
| Planning & kosten | BTW-vrij bedrag | programRun » cost » VATExemptAmount | train_group_item | c_amount_sell + VATExempt% | x | |
| Planning & kosten | BTW code | programRun » cost » VATCode | art_vat | art_vat_code | x | |
| Planning & kosten | BTW percentage | programRun » cost » VATPercentage | art_vat | percentage | x |
7. Aandachtspunten bij implementatie
7.1 Checklist inrichting
- Klant is aangemeld bij EDU-DEX en heeft een OrgUnitID ontvangen
- EDU-DEX module is geactiveerd in de Module Settings
- Server folder is aangemaakt en Publicatie URL is correct berekend
- Standaard (of afwijkende) query is ingevoerd en getest
- E-mailadres voor foutmeldingen is ingesteld
- Batchproces 'EDU-DEX Export' is ingepland
- Minimaal één testrun handmatig uitgevoerd en XML gevalideerd
- XML-bestanden zijn succesvol aangeleverd en verwerkt door EDU-DEX
- EDU-DEX is per e-mail geïnformeerd over de publicatie URL
7.2 Veelvoorkomende aandachtspunten
- De SQL-query moet altijd training_id en train_group_id als eerste twee kolommen bevatten.
- Groepen zonder startdatum worden niet meegenomen in de XML-uitvoer.
- Cursussen zonder geplande groepen worden wel gepubliceerd (als Generic Program Run) — potentiële deelnemers kunnen alvast interesse tonen.
- De Publicatie URL wordt automatisch berekend na het instellen van de Server folder. Kopieer altijd de berekende URL (niet handmatig intypen).
- BTW-vrijgesteld percentage is optioneel maar relevant voor organisaties met BTW-vrijstelling.
- Velden die niet verplicht zijn maar relevant voor de doelgroep van de klant, moeten bewust worden ingevuld om een volledige publicatie te bereiken.
8. Handige links en referenties
| Omschrijving | URL |
|---|---|
| EDU-DEX website | https://www.edudex.nl/ |
| EDU-DEX API-documentatie | https://www.edudex.nl/edudox/ |
| EDU-DEX XML-validatietool | https://feeds.edudex.nl/validatie/ |
| Lijst met OrgUnitID's van alle opleiders | http://feeds.edudex.nl/organizatie-ids/ |
| EDU-DEX testomgeving (beheer) | https://beheer.edudex.nl/ |
| Leeroverzicht.nl (voorbeeldportal) | https://www.leeroverzicht.nl/ |