Afdelingenbeheer (Technisch)
Technisch ontwerp
De afdelingenmodule is een uitbreiding op de organisatiestructuur en is specifiek ontworpen ter ondersteuning van de module Medicatiebeoordeling. Elke afdeling is verplicht gekoppeld aan een organisatie van het type Zorginstelling.
Datamodel
core.models.MedicatieReviewAfdeling: Het centrale model voor afdelingen.organisatie: ForeignKey naarOrganization.afdeling:CharFieldvoor de naam van de afdeling.code:CharField(optioneel) voor een externe referentiecode.created_by/updated_by: Registratie van de gebruiker die de wijziging heeft doorgevoerd.
Implementatiedetails
- Views: De logica bevindt zich in
core.views.admin.admin_afdelingen,afdeling_updateendelete_afdeling. - Forms:
core.forms.AfdelingEditFormwordt gebruikt voor zowel creatie als updates. - Validatie: Bij het aanmaken of wijzigen wordt gecontroleerd of de geselecteerde organisatie daadwerkelijk een zorginstelling is via een filter op
Organization.ORG_TYPE_ZORGINSTELLING.
Autorisatie en beveiliging
- Om de afdelingenlijst te mogen inzien, is de permissie
can_perform_medicatiebeoordelingvereist. - Voor alle mutaties (creƫren, updaten, verwijderen) is de specifieke permissie
can_manage_afdelingenvereist. - Bij elke mutatie worden de
updated_byenupdated_atvelden automatisch bijgewerkt.
Relevante bestanden
core/views/admin.py: Bevat de view-logica.core/models.py: DefinieertMedicatieReviewAfdeling.core/forms.py: BevatAfdelingEditForm.