-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRegistratie.adl
124 lines (111 loc) · 5.64 KB
/
Registratie.adl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
CONTEXT Registratie IN DUTCH HTML
INCLUDE "Inschrijving.adl"
INCLUDE "Doorhaling.adl"
INCLUDE "Weigering.adl"
INCLUDE "Aantekening.adl"
INCLUDE "Registers/Arts.adl"
PATTERN Registratie
PURPOSE PATTERN Registratie
{+
<i>Een registratie is de inschrijving in een, door de Minister vastgesteld, zorgregister van een persoon.</i>
+}
CONCEPT Registratie "Betreft een complete afgeronde inschrijving"
PURPOSE CONCEPT Registratie
{+<p><p>
Er is sprake van registratie van een ingeschrevene wanneer het inschrijvingsproces geheel afgerond is en aan alle voorwaarden is voldaan.
+}
RELATION registratiedatum[Registratie*Datum]
{-//TODO
ROLE USER MAINTAINS "Persoon mag niet in één register vaker voorkomen"
RULE "Persoon mag maar in een register voorkomen" : I[Inschrijving];inschrijving[Persoon*Inschrijving]~ |- -(inschrijving[Register*Inschrijving]~;inschrijving[Register*Inschrijving])
MEANING "Persoon mag maar in een register gelijktijdig voorkomen."
MESSAGE "Persoon mag maar in een register gelijktijdig voorkomen."
VIOLATION ( TXT "Voor persoon ", SRC I , TXT " mag niet in register opgenomen worden.")
-}
RELATION registratie [Registratie*Inschrijving][UNI,TOT,INJ]
POPULATION registratie[Registratie*Inschrijving] CONTAINS
[
("R001","I001")
]
PURPOSE RULE "Voeg_Registratie_toe(automatisch)"
{+
Nieuw persoon krijgt een registratie.
+}
ROLE "ExecEngine" MAINTAINS "Voeg_Registratie_toe(automatisch)"
RULE "Voeg_Registratie_toe(automatisch)" : I[Inschrijving]/\ inschrijving[RegisterId*Inschrijving]~;inschrijving[RegisterId*Inschrijving] |- registratie[Registratie*Inschrijving]~;registratie[Registratie*Inschrijving]
VIOLATION ( TXT "{EX} InsAtom;Registratie"
, TXT "{EX} InsPair;registratie;Registratie;_NEW;Inschrijving;", SRC I
)
PURPOSE RULE "Voeg datum registratie toe"
{+
Bij het registreren wordt de datum vastgelegd.
+}
ROLE ExecEngine MAINTAINS "Voeg datum registratie toe"
RULE "Voeg datum registratie toe": I[Registratie] |- registratiedatum[Registratie*Datum];registratiedatum[Registratie*Datum]~
VIOLATION (
TXT "{EX} InsPair;registratiedatum;Registratie;", SRC I, TXT ";Datum;{php}date(DATE_ISO8601)" -- Set the Date
)
{- PURPOSE RULE "Plaats registratie in artsenregister"
{+
+}
ROLE ExecEngine MAINTAINS "Plaats registratie in artsenregister"
RULE "Plaats registratie in artsenregister" : inschrijving[RegisterId*Inschrijving];inschrijving[RegisterId*Inschrijving]~ |- V;"arts"[RegisterId]
VIOLATION ( TXT "{EX} InsAtom;Arts"
, TXT "{EX} InsPair;artsRegistratie[Arts*RegisterId];Arts;_NEW;RegisterId;", TGT I
)
-}
ENDPATTERN
{-
PATTERN Beroepsbeoefenaar
RELATION beroepsbeoefenaar [Persoon * Registratie]
MEANING "beroepsbeoefenaar, komt in de relatie nadat de inschrijving is goedgekeurd."
ENDPATTERN
-}
INTERFACE Registratie FOR USER: "_SESSION" cRud
BOX <TABS>
[
Register : V[SESSION*RegisterId] cRud
BOX <TABLE>
[ "Register" : register[RegisterId*Register] cRud
, "Persoon" : inschrijving[RegisterId*Inschrijving];inschrijving[Persoon*Inschrijving]~ cRud
BOX <RAW>
[
"" : I LINKTO INTERFACE Persoon
]
, "Naam" : (inschrijving[RegisterId*Inschrijving];inschrijving[Persoon*Inschrijving]~);naam[Persoon*Naam]
, "Bignummer" : inschrijving[RegisterId*Inschrijving];bignummer[Inschrijving*Bignummer] cRud
, "Registratie" : inschrijving [RegisterId*Inschrijving];registratie [Registratie*Inschrijving]~
]
,
Weigering : V[SESSION*Persoon] cRud
BOX <TABLE>
["Persoon" : I cRud
, "Naam" : naam[Persoon*Naam]
, "Weigeringsgrond" : inschrijving[Persoon*Inschrijving] cRud
BOX <TABLE>
[
"" : I[Inschrijving] cRud
,"Weigeringsgrond" : inschrijvingsWeigering[Inschrijving*Weigering] cRUd
]
]
,
Aantekening : V[SESSION*Persoon] cRud
BOX <TABLE>
["Persoon" : I cRud
, "Naam" : naam[Persoon*Naam] cRud
, "Aantekening" : aantekening [Persoon*Aantekening] CRUD
]
,
Doorhaling : V[SESSION*Persoon] cRud
BOX <TABLE>
["Persoon" : I cRud
, "Naam" : naam[Persoon*Naam] cRud
, "Doorhalingreden" : inschrijving[Persoon*Inschrijving] cRud
BOX <TABLE>
[
"" : I[Inschrijving] cRud
,"Doorhalingreden" : doorgehaald [Inschrijving*Doorhaling] cRUd
]
]
]
ENDCONTEXT