-
Notifications
You must be signed in to change notification settings - Fork 0
/
Inschrijving.adl
181 lines (157 loc) · 8.88 KB
/
Inschrijving.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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
CONTEXT Big IN DUTCH
INCLUDE "Generic.adl"
INCLUDE "Register.adl"
INCLUDE "Inschrijfduur.adl"
INCLUDE "Registratie.adl"
INCLUDE "PersoonI.adl"
PATTERN Inschrijving
PURPOSE PATTERN Inschrijving
{+
Inschrijving legt de relatie vast tussen Persoon en het Register.
+}
CONCEPT Inschrijving "De aanmelding van persoon in een register"
REPRESENT Inschrijving TYPE OBJECT
PURPOSE CONCEPT Inschrijving
{+In artikel 3 lid 2 wordt aangegeven dat bij elke inschrijving worden in het register vermeld de naam, voornamen, geslacht, geboortedatum, nationaliteit en adres van de betrokkene en het nummer en het tijdstip van inschrijving. Bij ministeriële regeling kunnen gegevens worden aangewezen die ten behoeve van het identificeren van beroepsbeoefenaren bij de inschrijving worden vermeld.
+}
RELATION inschrijving [Persoon*Inschrijving][TOT,INJ]
MEANING "Elk persoon die BIG geregistreerd wil zijn, moet zijn ingeschreven. Een persoon kan meerdere inschrijvingen hebben."
POPULATION inschrijving[Persoon*Inschrijving] CONTAINS
[("P001", "I001")
,("P002", "I002")
,("P003", "I003")]
--tijdstip van inschrijving
CONCEPT InschrijfTijdstip "Het inschrijftijdstip bevat de datum en tijdstip van inschrijving in Y-m-d h:i:s-formaat."
--REPRESENT InschrijfTijdstip TYPE DATETIME
PURPOSE CONCEPT InschrijfTijdstip
{+
In artikel 3 lid 2 is aangegeven dat de datum en het tijdstip van inschrijving een onderdeel is van de identificatie van de zorgverlener.
+}
RELATION inschrijftijdstip [Inschrijving*InschrijfTijdstip][UNI]
MEANING "Elke inschrijving vindt plaats op een tijdstip."
{- POPULATION inschrijftijdstip [Inschrijving*InschrijfTijdstip] CONTAINS
[ ("I001",2015-06-03T13:21:58Z),
("I002",2016-06-03T13:21:58Z),
("I003",2017-06-03T13:21:58Z) ]
-}
PURPOSE RULE "Voeg_inschrijftijd_toe_(automatisch)"
{+
Het tijdstip waarop de inschrijving wordt vastgelegd.
+}
ROLE "ExecEngine" MAINTAINS "Voeg_inschrijftijd_toe_(automatisch)"
RULE "Voeg_inschrijftijd_toe_(automatisch)" : I[Inschrijving] |- inschrijftijdstip [Inschrijving*InschrijfTijdstip];inschrijftijdstip [Inschrijving*InschrijfTijdstip]~
VIOLATION ( TXT "{EX} InsAtom;InschrijfTijdstip"
, TXT "{EX} InsPair;inschrijftijdstip;Inschrijving;", SRC I, TXT ";InschrijfTijdstip;{php}date(DATE_ISO8601)" -- Set the DateTime
)
{- het bepalen van het volgende BIG-nummer is beter op te lossen een programmeertaal en niet binnen AMpersand-}
CONCEPT Bignummer "Het identificatienummer van de BIG-ingeschrevene."
REPRESENT Bignummer TYPE OBJECT
PURPOSE CONCEPT Bignummer
{+
In artikel 3 lid 2 wordt aangegeven dat bij elke inschrijving in het register de naam, voornamen, geslacht, geboortedatum, nationaliteit en adres van de betrokkene en het nummer en het tijdstip van inschrijving wordt vermeld. Bij ministeriële regeling kunnen gegevens worden aangewezen die ten behoeve van het identificeren van beroepsbeoefenaren bij de inschrijving worden vermeld.
Het BIG-nummer identificeert de BIG-ingeschrevene.
+}
RELATION bignummer[Inschrijving*Bignummer][UNI,INJ]
PURPOSE RELATION bignummer
{+
De koppeling tussen een Persoon en een Bignummer. Dit is een één op één koppeling die automatisch wordt aangebracht.
+}
POPULATION bignummer CONTAINS
[ ("I001", "B001")
, ("I002", "B002")
, ("I003", "B003") ]
ROLE USER MAINTAINS TotInschrijvingBig
RULE TotInschrijvingBig : I[Inschrijving] |- bignummer[Inschrijving*Bignummer];bignummer[Inschrijving*Bignummer]~
MEANING "meaning"
MESSAGE "Er moet een bignummer ingevuld worden."
VIOLATION ( TXT "Voor inschrijving ", SRC I , TXT " is geen bignummer aangemaakt.")
PURPOSE RULE "Voeg_Bignummer_toe(automatisch)"
{+
Nieuw persoon krijgt een BIGnummer.
+}
ROLE "ExecEngine" MAINTAINS "Voeg_Bignummer_toe(automatisch)"
RULE "Voeg_Bignummer_toe(automatisch)" : I[Inschrijving] |- bignummer[Inschrijving*Bignummer];bignummer[Inschrijving*Bignummer]~
VIOLATION ( TXT "{EX} InsAtom;Bignummer"
, TXT "{EX} InsPair;bignummer;Inschrijving;", SRC I, TXT ";Bignummer;_NEW"
)
RELATION inschrijving[RegisterId*Inschrijving][INJ]
MEANING "Het vastleggen van de koppeling tussen het register en de inschrijving."
POPULATION inschrijving[RegisterId*Inschrijving] CONTAINS
[("1","I001")
,("2","I002")
,("1","I003" )]
VIEW RegisterId: RegisterId DEFAULT
{ register : register
} ENDVIEW
ENDPATTERN
INTERFACE Inschrijvingen FOR USER: V[SESSION*Inschrijving] CRud
BOX<TABS>
["Inschrijving": I[Inschrijving] CRud
BOX <TABLE sortable title="Inschrijving" >
[
"Inschrijving" : I[Inschrijving] CRud
, "Persoon" : inschrijving[Persoon*Inschrijving]~ CRUd
BOX<TABLE>
[ "Persoon" :I LINKTO INTERFACE Persoon
, "Naam" : naam[Persoon*Naam] cRud
]
, "RegisterId" : inschrijving[RegisterId*Inschrijving]~ cRUd
, "Big-nummer" : bignummer[Inschrijving*Bignummer] cRud
, "Inschrijvingstijd":inschrijftijdstip[Inschrijving*InschrijfTijdstip] cRud
, "Registratie" : registratie[Registratie*Inschrijving]~ cRud
]
,
"Diploma": I[Inschrijving]
BOX<TABLE>
["Datums" : I[Inschrijving]
, "Diplomadatum" : diplomadatum[Inschrijving*Datum] CRUd
, "verklaringdatum" : verklaringdatum[Inschrijving*Datum] CRUd
, "getuigschriftdatum" : getuigschriftdatum[Inschrijving*Datum]CRUd
, "kwalificatiedatum" : kwalificatiedatum[Inschrijving*Datum] cRud
]
,
"Weigering" : I[Inschrijving]
BOX <TABLE>
["Weigering" : I[Inschrijving]
, "Weigeringsgrond" : inschrijvingsWeigering[Inschrijving*Weigering] cRUd
]
]
INTERFACE Inschrijving FOR USER: I[Inschrijving] CRud
BOX<TABS>
["Inschrijving": I[Inschrijving] CRud
BOX <TABLE sortable title="Inschrijving" >
[
"Inschrijving" : I[Inschrijving] CRud
, "Persoon" : inschrijving[Persoon*Inschrijving]~ CRUd
BOX<TABLE>
[ "Persoon" :I LINKTO INTERFACE Persoon
, "Naam" : naam[Persoon*Naam] cRud
]
, "RegisterId" : inschrijving[RegisterId*Inschrijving]~ cRUd
, "Big-nummer" : bignummer[Inschrijving*Bignummer] cRud
, "Inschrijvingstijd":inschrijftijdstip[Inschrijving*InschrijfTijdstip] cRud
, "Registratie" : registratie[Registratie*Inschrijving]~ cRud
]
,
"Diploma": I[Inschrijving]
BOX<TABLE>
["Datums" : I[Inschrijving]
, "Diplomadatum" : diplomadatum[Inschrijving*Datum] CRUd
, "verklaringdatum" : verklaringdatum[Inschrijving*Datum] CRUd
, "getuigschriftdatum" : getuigschriftdatum[Inschrijving*Datum]CRUd
, "kwalificatiedatum" : kwalificatiedatum[Inschrijving*Datum] cRud
]
,
"Weigering" : I[Inschrijving]
BOX <TABLE>
["Weigering" : I[Inschrijving]
, "Weigeringsgrond" : inschrijvingsWeigering[Inschrijving*Weigering] cRUd
]
,
"Doorhaling" : I[Inschrijving]
BOX <TABLE>
["Doorhaling" : I[Inschrijving]
, "Doorhalinggrond" : doorgehaald [Inschrijving*Doorhaling] cRUd
]
]
ENDCONTEXT