| 12 | | == Hoe en wanneer == |
| 13 | | Scriptfuncties worden aangeroepen door controllers. Ze kunnen zowel voor als na een actie worden uitgevoerd. Voorbeeld: |
| | 14 | == Context == |
| | 15 | Scriptfuncties worden altijd binnen een bepaalde context uitgevoerd. De context bestaat uit 3 elementen: |
| | 16 | 1. **Entiteit**: bijvoorbeeld bezoek of zorgtraject |
| | 17 | 2. **Type actie**: bijvoorbeeld UPDATE of DELETE |
| | 18 | 3. **Wanneer**: voor- of nadat de actie is uitgevoerd |
| | 19 | |
| | 20 | == Entiteit == |
| | 21 | De entiteit wordt aangeduid met een notatie die overeenkomt met het ACL-pad: |
| | 22 | * Zorgtraject: patient/behandelingen |
| | 23 | * Bezoek: patient/behandelingen/behandeldagen |
| | 24 | |
| | 25 | == Type actie == |
| | 26 | Scriptfuncties kunnen worden uitgevoerd voor de volgende acties: |
| | 27 | * CREATE |
| | 28 | * DELETE |
| | 29 | * UPDATE |
| | 30 | * LOAD |
| | 31 | |
| | 32 | == Wanneer == |
| | 33 | Scriptfuncties kunnen worden uitgevoerd voor of na een actie, aangeduid met: |
| | 34 | * BEFORE |
| | 35 | * AFTER |
| | 36 | |
| | 37 | == Aanroepen van scriptfuncties == |
| | 38 | Het aanroepen van scriptfuncties wordt aangevraagd door een controller. Een controllers hoeft hiervoor alleen de context op te geven waarbinnen scriptfuncties moeten worden uitgevoerd. De controller zegt in gewoon nederlands: |
| | 39 | 1. Voer alle scriptfuncties uit voor entiteit Bezoek. De actie is UPDATE en de actie is al uitgevoerd (AFTER) |
| | 40 | 2. Voer alle scriptfuncties uit voor entiteit Bezoek. De actie is DELETE en de actie is nog niet uitgevoerd (BEFORE) |
| | 41 | |
| | 42 | |
| | 43 | |
| | 44 | Voorbeeld aanroep: |