def __lees_zorgactiviteiten_tabel(folder): """ Leest de zorgactiviteiten referentietabel (opgeslagen in CSV). """ with open(folder + '/ZorgActiviteiten.csv', encoding='utf-8') as csv_file: reader = csv.reader(csv_file, ) regel_nummer = 0 for regel in reader: regel_nummer += 1 # Sla de eerste regel met koppen over. if regel_nummer == 1: continue zorg_activiteit_code = clean_code(regel[0], LEN_ZORG_ACTIVITEIT_CODE) zorg_activiteit_cluster01 = clean_str(regel[2]) zorg_activiteit_cluster02 = clean_str(regel[3]) zorg_activiteit_cluster03 = clean_str(regel[4]) zorg_activiteit_cluster04 = clean_str(regel[5]) zorg_activiteit_cluster05 = clean_str(regel[6]) zorg_activiteit_cluster06 = clean_str(regel[7]) zorg_activiteit_cluster07 = clean_str(regel[8]) zorg_activiteit_cluster08 = clean_str(regel[9]) zorg_activiteit_cluster09 = clean_str(regel[10]) zorg_activiteit_cluster10 = clean_str(regel[11]) zorg_activiteit_weeg_factor1 = clean_int(regel[12]) zorg_activiteit_weeg_factor2 = clean_int(regel[13]) begin_datum = clean_date(regel[20]) eind_datum = clean_date(regel[21]) sleutel = zorg_activiteit_code rij = { 'zorg_activiteit_code': zorg_activiteit_code, 'zorg_activiteit_cluster01': zorg_activiteit_cluster01, 'zorg_activiteit_cluster02': zorg_activiteit_cluster02, 'zorg_activiteit_cluster03': zorg_activiteit_cluster03, 'zorg_activiteit_cluster04': zorg_activiteit_cluster04, 'zorg_activiteit_cluster05': zorg_activiteit_cluster05, 'zorg_activiteit_cluster06': zorg_activiteit_cluster06, 'zorg_activiteit_cluster07': zorg_activiteit_cluster07, 'zorg_activiteit_cluster08': zorg_activiteit_cluster08, 'zorg_activiteit_cluster09': zorg_activiteit_cluster09, 'zorg_activiteit_cluster10': zorg_activiteit_cluster10, 'zorg_activiteit_weeg_factor1': zorg_activiteit_weeg_factor1, 'zorg_activiteit_weeg_factor2': zorg_activiteit_weeg_factor2, 'begin_datum': begin_datum, 'eind_datum': eind_datum } if sleutel not in ZorgActiviteit.__zorg_activiteiten_tabel: ZorgActiviteit.__zorg_activiteiten_tabel[sleutel] = [] ZorgActiviteit.__zorg_activiteiten_tabel[sleutel].append(rij) print("Aantal zorgactiviteiten: %d" % (regel_nummer - 1))
def __lees_beslis_regel_tabel(self, folder: str): """ Leest de beslisregels (opgeslagen in CSV). :type: str folder De folder met alle groupertabellen in CSV-formaat. """ verrijkingen = {} with open(folder + '/BeslisRegels.csv', encoding='utf-8') as csv_file: reader = csv.reader(csv_file, ) regel_nummer = 0 for regel in reader: regel_nummer += 1 # Sla de eerste regel met koppen over. if regel_nummer == 1: continue beslis_regel_id = int(regel[0]) attribuut_groep_id = int(regel[1]) beslist_regel_id_true = clean_int(regel[2]) beslist_regel_id_false = clean_int(regel[3]) label_true = clean_str(regel[4]) label_false = clean_str(regel[5]) indicatie_aanspraakbeperking = clean_bool(regel[6]) if attribuut_groep_id not in self.__attribuutgroepen: raise RuntimeError("Onbekende attribuutgroep: '%d'" % attribuut_groep_id) verrijkingen[beslis_regel_id] = (beslist_regel_id_true, beslist_regel_id_false) self.__beslisregels[beslis_regel_id] = BeslisRegel(beslis_regel_id, self.__attribuutgroepen[attribuut_groep_id], label_true, label_false, indicatie_aanspraakbeperking) # Verrijk alle beslisregels met beslisregels voor true en false. for beslis_regel_id, (beslist_regel_id_true, beslist_regel_id_false) in verrijkingen.items(): beslist_regel_true = self.__beslisregels.get(beslist_regel_id_true, None) beslist_regel_false = self.__beslisregels.get(beslist_regel_id_false, None) self.__beslisregels[beslis_regel_id].verrijk(beslist_regel_true, beslist_regel_false) print("Aantal beslisregels: %d" % (regel_nummer - 1))
def __lees_attribuut_groep_koppeling_tabel(self, folder: str): """ Leest de attribuutgroepkoppelingen (opgeslagen in CSV). :type: str folder De folder met alle groupertabellen in CSV-formaat. """ with open(folder + '/AttribuutGroepKoppelingen.csv', encoding='utf-8') as csv_file: reader = csv.reader(csv_file, ) regel_nummer = 0 for regel in reader: regel_nummer += 1 # Sla de eerste regel met koppen over. if regel_nummer == 1: continue attribuut_groep_id = int(regel[1]) attribuut_id = int(regel[2]) attribuut_toets_wijze = int(regel[3]) onder_toets_waarde = clean_int(regel[4]) boven_toets_waarde = clean_int(regel[5]) if attribuut_groep_id not in self.__attribuut_groep_koppelingen: self.__attribuut_groep_koppelingen[attribuut_groep_id] = [] if attribuut_id not in self.__attributen: raise RuntimeError("Onbekend attribuut: '%d'" % attribuut_id) koppeling = maak_attribuut_groep_koppeling(attribuut_groep_id, self.__attributen[attribuut_id], attribuut_toets_wijze, onder_toets_waarde, boven_toets_waarde) self.__attribuut_groep_koppelingen[attribuut_groep_id].append(koppeling) print("Aantal attribuutgroepkoppelingen: %d" % (regel_nummer - 1))
def __init__(self, zorg_activiteit_code: str, aantal: int): """ Object constructor. :param str zorg_activiteit_code: De code van deze zorgactiviteit. :param int aantal: Het aantal malen dat deze zorgactiviteit is uitgevoerd. """ self.__zorg_activiteit_code = clean_code(zorg_activiteit_code, LEN_ZORG_ACTIVITEIT_CODE) """ De code van deze zorgactiviteit. :type: str """ self.__aantal = clean_int(aantal, 0) """