Wat is MAGDA?


Inleiding

MAGDA (Maximale Gegevensdeling tussen Administraties) is het gegevensuitwisselingsplatform van de Vlaamse overheid. Het laat toe dat Vlaamse overheidsinstanties en lokale besturen op een gestandaardiseerde, beveiligde manier gegevens opvragen bij authentieke bronnen zoals het Rijksregister, de Kruispuntbank van Ondernemingen (KBO), de Kruispuntbank van de Sociale Zekerheid (KSZ), het Kadaster, en vele andere. In plaats van dat elke overheidsdienst zelf een aparte koppeling met elke bron moet opzetten, biedt MAGDA één centraal platform aan waarachter al die bronnen ontsloten worden.

Use cases

Het uitgangspunt is het only-once-principe: een burger of onderneming moet een gegeven dat de overheid al kent, niet opnieuw moeten aanleveren. Voor Skryv-toepassingen kan dit onder meer volgende use case afdekken:

  • Bij het opstarten van een aanvraag kan een formulier automatisch voorafgaand ingevuld worden.

  • Nagaan of een aanvrager voldoet aan een voorwaarde (bv. leeftijd, gezinssituatie, eigendom) zonder dat die zelf bewijsstukken moet aanleveren.

  • Een burger of onderneming rechtstreeks digitaal informeren over een beslissing via eBox of, bij wijze van alternatief, via e-mail of papier.

Communicatieprotocol

De meeste MAGDA-diensten werken via SOAP (XML-gebaseerde webservices). Een beperkt aantal nieuwere diensten (zoals bijvoorbeeld de REST-varianten binnen Mobiliteit en de Documentendienst (MDS)) werken via REST (JSON over HTTP). Voor jou als configurator of developer is het belangrijkste gevolg dat de vorm van het antwoord en de manier waarop je fouten opvangt, verschillen naargelang het protocol. Concrete, technische uitleg hierover vind je op de pagina ‘MAGDA gebruik’.

Connectoren

MAGDA is opgedeeld in diensten (Persoon, Gezin, Onderneming, Kadaster, Mobiliteit, Sociale Zekerheid, Werk, Repertorium, enzovoort) die specifieke gegevens ontsluiten. Skryv biedt voor elk van deze domeinen een connector aan.

Connector

Communicatieprotocol

Uitleg

MAGDA Document (eBox)

SOAP

Legacy connector.

Document Service (MDS)

REST

Berichten verzenden vie eBox, e-mail of papier.

MAGDA Dossier (DOSIS)

SOAP

Legacy connector.

DOSIS

REST

Statusupdates doorgeven over een lopend dossier.

MAGDA Gezin

SOAP

Kinderbijslag en zorgtoeslag binnen het Groeipakket.

MAGDA Inkomen

SOAP

Gegevens over de personenbelasting.

MAGDA Kadaster

SOAP

Eigendomsgegevens van personen en ondernemingen.

MAGDA Mobiliteit

SOAP/REST

Voertuiggegevens en titularisgegevens op basis van een nummerplaat.

MAGDA Ondernemingen

SOAP

Basisgegevens, jaarrekeningen en bestuurdersfuncties van ondernemingen.

MAGDA Persoon

SOAP

Persoonsgegevens uit het Rijksregister: identiteit, domicilie, gezinssamenstelling, afstamming.

MAGDA Repertorium

SOAP

Inschrijving en uitschrijving van een burger bij een dienst, als voorwaarde voor verdere gegevensopvraging.

MAGDA Sociale Zekerheid

SOAP

Tegemoetkomingen voor een handicap, leefloon, vervangingsinkomen en sociaal statuut.

MAGDA Werk

SOAP

Loon- en arbeidstijdgegevens, loopbaangegevens zelfstandigen, arbeidsrelaties.

Algemene setup

Voordat je een MAGDA-dienst kan gebruiken, moet je organisatie eerst een aansluitingsproces doorlopen bij Digitaal Vlaanderen (de beheerder van MAGDA). Dit gebeurt per dienst en levert toegang en machtigingen op, samen met de nodige technische gegevens (een endpoint-URL, een sleutel en certificaat, en een aansluitingsnummer).

Aan de kant van je Skryv-applicatie komt daar telkens hetzelfde stramien bovenop: de betrokken connector als dependency toevoegen aan je pom.xml, en een aantal applicatie-eigenschappen instellen. Dit kunnen zowel generieke eigenschappen zijn die de toegang regelen, als eigenschappen specifiek voor de gekozen dienst.

Deze stappen zijn (vrijwel) identiek voor elke MAGDA-connector. De volledige, stap-voor-stap uitleg (inclusief het opzetten van de beveiligde communicatie via asymmetrische cryptografie) vind je op de pagina MAGDA algemene setup.

MAGDA gebruik

Connectoren kan je enerzijds vanuit een BPMN-workflow aanroepen via een Camunda-expressie (bv. ${magda.geefPersoon(...)}). Een connector kan je anderzijds ook rechtstreeks vanuit eigen Java-code aanspreken (via dependency injection). Dit is vooral relevant voor maatwerkcode binnen een specifieke Skryv-applicatie. Concrete, praktische uitleg over welke strategie je volgt en hoe je deze connectoren aanspreekt vind je op de pagina ‘MAGDA gebruik’.