Voor het modelleren van de data business rules in XPath geeft SIVI hieronder een aantal voorbeelden. Deze AFD verbandcontroles maken gebruik van de AFD Datacatalogus.
Omschrijving |
Als attribuutwaarde A dan attribuutwaarde B. In onderstaand voorbeeld wordt een verbandcontrole uitgevoerd met behulp van if-, then- en else-statements. In onderstaand voorbeeld wordt gecontroleerd dat wanneer de verzekerde som groter is dan 1000000, het eigen risico gelijk moet zijn aan 500. |
AFD verbandcontrole |
If (//CA_VERZSOM ge 1000000) then //CA_ERB eq 500 else true() |
Omschrijving |
Als entiteit A voorkomt moet entiteit B voorkomen. In onderstaand voorbeeld moet de AFD-entiteit VP (verzekeringnemer) voorkomen indien de entiteit PB (premiebetaler) voorkomt. |
AFD verbandcontrole |
if (fn:exists(//PP/PB)) then fn:exists(//PP/VP) else true() |
Omschrijving |
Als entiteit A voorkomt mag entiteit B niet voorkomen. In onderstaand voorbeeld mag de AFD-entiteit LC (contract lease) niet voorkomen als AFD-entiteit HP (contract hypotheek) voorkomt in het bericht. |
AFD verbandcontrole |
if (fn:exists(//HP)) then fn:not(fn:exists(//LC)) |
Omschrijving |
Als attribuut A een bepaalde waarde heeft, moet entiteit B voorkomen. In onderstaand voorbeeld moet entiteit GV (gezondheid) voorkomen in het XML-bericht, indien attribuut RI_DIGIGV (digitale gezondheidsverklaring) de waarde ‘J’ heeft. |
AFD verbandcontrole |
if (//RI_DIGIGV eq ‘J’) then fn:exists(//GV) |
Omschrijving |
Als attribuut A niet een bepaalde waarde heeft of niet bestaat dan mag attribuut B niet voorkomen. In onderstaand voorbeeld wordt aangegeven dat als attribuut GV_ MEDICIJ (gebruik medicijnen) niet een waarde ‘J’ bevat of niet voorkomt, het attribuut GV_MEDICYN (soort medicijnen) ook niet mag voorkomen. |
AFD verbandcontrole |
if (//GV_ MEDICIJ ne ‘J’ or fn:not(fn:exists(//GV_ MEDICIJ))) then fn:not(fn:exists(//GV_MEDICYN)) else true() |
Geef uw reactie op dit onderwerp.