Context gebruik instantieerbare entiteiten

Binnen AFD-definities worden dekkingen uitgedrukt in dekkingsentiteiten. Verschillende dekkingen kunnen soms voorkomen binnen eenzelfde dekkingsentiteit waarbij het onderscheid wordt gemaakt door middel van de ADN-dekkingscode (attribuut _CODE). Binnen AOS is het mogelijk om een dekkingsentiteit herhalend op te nemen in het schema (maxOccurs > 1) en door het selecteren van meerdere dekkingscodes meerdere dekkingscodes toe te staan.

Het is bij deze wijze van herhalen niet mogelijk om per dekkinginstantie afwijkende attribuuteigenschappen te configureren. Met andere woorden: per dekkingscode verschillende AFD-velden op te nemen. Dit kan wel worden bereikt door het gebruik van instantieerbare entiteiten. Hieronder wordt aan de hand van een voorbeeld toegelicht (1) hoe je in AOS meerdere entiteitinstanties met afwijkende attribuuteigenschappen kunt configureren en (2) hoe dit in de output tot uiting komt.

1 – Toelichting voor opstellers van AFD-definities

1) Dekkingen worden niet standaard opengesteld om verschillende instanties te configureren. Stuur hiervoor een verzoek aan support@sivi.org.

2) In geval van een bestaande AFD-definitie: synchroniseer deze altijd eerst met de baseline. Hierdoor komt de meest actuele functionaliteit beschikbaar voor betreffende AFD-definitie.


Synchroniseer AFD-definitie met baseline

3) Open de AFD-definitie en zoek de betreffende dekking op. In dit voorbeeld een Dekking Rechtsbijstand (RP) waar bij het attribuut RP_CODE een subset van twee dekkingscodes is geselecteerd. Deze dekkingscodes gaan we nu splitsen.


Dekking RP met subset van twee dekkingscodes

4) Klik op de knop Wijzig entiteitselectie en zoek betreffende dekking op.


De betreffende RP-dekking

5) Door op het dupliceer-icoon te klikken wordt een extra RP-entiteit (als exacte kopie) toegevoegd aan de AFD-definitie. Meerdere duplicaten kunnen op deze wijze worden aangemaakt. Klik vervolgens op Opslaan.


Met gedupliceerde RP-instantie

NB1 (Eventuele) Geneste entiteiten worden mee gekopieerd.
NB2 Met het prullenbak-icoon is de entiteitinstantie weer te verwijderen.

6) Kies bij het attribuut RP_CODE één enkele dekkingscode per entiteit.


Configureer subset van dekkingscodes per dekkingsinstantie


Voorbeeld met een eigen dekkingscode per dekkingsinstantie

NB1 De subset mag groter zijn dan één waarde, maar moet tussen de verschillende instanties uniek zijn. Overlap van dekkingscodes tussen de instanties is niet toegestaan.

7) Nu kunnen de te selecteren attributen en de attribuuteigenschappen van beide RP-dekkingsentiteiten afzonderlijk worden geconfigureerd.


Verschillende attributen per dekkingsinstantie


Verschillende eigenschappen voor het attribuut RP_VERZSOM per dekkingsinstantie (1)


Verschillende eigenschappen voor het attribuut RP_VERZSOM per dekkingsinstantie (2)

8) Bij het instellen van de toegestane herhalingen van de entiteiten dient ook rekening gehouden te worden met meerdere entiteitinstanties. Zie hieronder een aantal voorbeelden hoe de herhaling kan worden ingesteld en welk effect dat heeft:

Voorbeeld minOccurs maxOccurs
Maximaal één van beide RP-entiteiten mag worden gekozen 0 1
Maximaal één van beide RP-entiteiten moet worden gekozen 1 1
Beide RP-entiteiten mogen worden gekozen 0 2
Beide RP-entiteiten moeten worden gekozen 2 2
Minimaal één en maximaal twee RP-entiteiten 1 2

Let op: De instelling van de toegestane herhalingen over de verschillende entiteitinstanties is enkelvoudig. Dit houdt in dat de toegestane herhalingen voor alle instanties van deze entiteit gelden. Deze herhalingen zijn per instantie in te stellen maar gelden altijd voor alle instanties, in bovenstaand voorbeeld alle RP-entiteiten. Als het nodig is voor een specifieke dekkingsinstantie een maximale herhaling af te dwingen dan moet dat met een verbandscontrole worden ingeregeld.

9) Het opstellen en publiceren van de AFD-definitie gaat verder zoals gebruikelijk.

2 – Toelichting voor verwerkers van AFD-definities

1) Als van meerdere entiteitinstanties gebruik wordt gemaakt heeft dat consequenties voor de indeling van het XML Schema (XSD). In het schema wordt op de plek van de betreffende entiteit nu verwezen naar een zogenaamde ‘Base’ type.


Voorbeeld van Base-typering bij entiteit RP

Deze Base en de expliciet opgenomen entiteitinstanties worden boven in het schema gedefinieerd als complexTypes.


Structuur van de XSD

Voor elke dekkingsentiteit met meerdere instanties wordt een eigen complexType Base aangemaakt. De Base is nodig om binnen XSD van één naar meerdere verwijzingen te komen. Ook voor elke entiteitinstantie wordt een complexType aangemaakt. Hierin wordt de daadwerkelijke inhoud van de dekkingsinstantie weergegeven.

De opbouw van de naam van deze complexTypes is altijd het pad van de beoogde entiteit. Met “Contractdocument.PP.RP.9110” wordt de RP-dekkingsentiteit met ADN-dekkingscode 9110 aangegeven die zich bevindt onder de entiteit PP onder het element Contractdocument.


Voorbeeld Base en expliciet opgenomen entiteitinstantie in de XSD

2) Als van meerdere entiteitinstanties gebruik wordt gemaakt heeft dat consequenties voor de CSV-output. In de CSV wordt de betreffende entiteit dan twee (of meer) keer onder elkaar opgenomen.


CSV met meerdere instanties van dekking RP

3) Als van meerdere entiteitinstanties gebruik wordt gemaakt heeft dat consequenties voor de indeling van het XML-bericht. Om een XML-bericht te kunnen valideren tegen het XML Schema (XSD) moet in de XML in het element van de entiteit gebruik worden gemaakt van de zogenaamde xsi:type aanduiding. Hiermee geef je de betreffende entiteitinstantie aan. Zie onderstaand voorbeeld.


Voorbeeld XML-bericht met xsi:type aanduiding voor specifieke entiteitinstanties

Reactie

Dank voor uw reactie.

Geef uw reactie op dit onderwerp.

Gebruik dit a.u.b. niet voor support vragen.
Zie je een fout of heb je een supportvraag, neem dan contact met ons op.

Verstuur Reactie