Broncode voor kerapu.boom.ZorgProductGroep

from typing import List

from kerapu.boom.ZorgProductGroepVersie import ZorgProductGroepVersie
from kerapu.lbz.Subtraject import Subtraject


[documentatie]class ZorgProductGroep: """ Klasse voor zorgproductgroepen. """ # ------------------------------------------------------------------------------------------------------------------ def __init__(self, zorg_product_groep_code: str): """ Object constructor. :param str zorg_product_groep_code: De zorgproductgroepcode. """ self._zorg_product_groep_code: str = zorg_product_groep_code """ De zorgproductgroepcode. """ self._versies: List[ZorgProductGroepVersie] = [] """ De versies van de zorgproductgroep. """ # ------------------------------------------------------------------------------------------------------------------
[documentatie] def versie_toevoegen(self, versie: ZorgProductGroepVersie) -> None: """ Voegt een versie toe aan de lijst met versies voor dit zorgproductgroep. :param ZorgProductGroepVersie versie: De toe te voegen versie. """ self._versies.append(versie)
# ------------------------------------------------------------------------------------------------------------------
[documentatie] def klim(self, subtraject: Subtraject) -> str: """ Bepaalt de zorgproductgroepcode van een subtraject. :param subtraject subtraject: Het subtraject. """ versie = self.__get_actuele_versie(subtraject) return versie.klim(subtraject)
# ------------------------------------------------------------------------------------------------------------------ def __get_actuele_versie(self, subtraject: Subtraject) -> ZorgProductGroepVersie: """ Geeft de actuele versie van dit zorgproductgroep voor een subtraject. :param Subtraject subtraject: Het subtraject. :rtype: ZorgProductGroepVersie """ for versie in self._versies: if versie.is_actueel(subtraject): return versie raise RuntimeError( "Er kan geen actuele versie van zorgproductgroep '%s' gevonden worden voor subtraject '%s" % ( self._zorg_product_groep_code, subtraject.subtraject_nummer))
# ----------------------------------------------------------------------------------------------------------------------