def bulk_test_file(self, filename): """ Tests against a file with test cases. :type: str filename The file with test cases. """ with open(filename, 'rt') as handle: csv_reader = csv.reader(handle, lineterminator='\n', delimiter=',') vorige = None subtraject = None for rij in csv_reader: if vorige and rij[0]: self.__bepaal_zorgproduct(subtraject, vorige[6]) vorige = None if not vorige: vorige = rij subtraject = Subtraject(rij[0], rij[1], rij[2], rij[3], rij[4], rij[5], rij[7], rij[8]) subtraject.add_zorg_activiteit(rij[9], rij[10]) if vorige: self.__bepaal_zorgproduct(subtraject, vorige[6])
def bulk_test_file(self, filename): """ Tests against a file with test cases. :type: str filename The file with test cases. """ with open(filename, 'rt', encoding='utf-8') as handle: csv_reader = csv.reader(handle, lineterminator='\n', delimiter=',') subtraject = None zorg_product_code = None for rij in csv_reader: if subtraject and len(rij) > 2: self.__bepaal_zorgproduct(subtraject, zorg_product_code) subtraject = None if len(rij) == 2: subtraject.add_zorg_activiteit(rij[0], rij[1]) else: subtraject = Subtraject(rij[0], rij[1], rij[2], rij[3], rij[4], rij[5], rij[6], rij[7], rij[8]) zorg_product_code = rij[9] if subtraject: self.__bepaal_zorgproduct(subtraject, zorg_product_code)
def test05(self): """ Test voorbeeld 5. """ # Maak een subtraject object. subtraject = Subtraject('1', '0308', '2501', '11', '000', '2019-05-01', '1961-11-01', 'M', '01234567') # Voeg uitgevoerde zorgactiviteiten aan het subtraject toe. subtraject.add_zorg_activiteit('190060', 1) # Bepaal zorgproductgroep en zorgproduct. zorg_product_code = self.__grouper.bepaal_zorg_product(subtraject) self.assertEqual(zorg_product_code, '131999277') self.assertEqual(subtraject.zorg_product_groep_code, '131999') self.assertEqual(subtraject.zorg_product_code, '131999277')
def test02(self): """ Test voorbeeld 2. """ # Maak een subtraject object. subtraject = Subtraject('1', '0305', '1805', '11', '000', '2019-02-01', '1971-09-01', 'M', '01234567') # Voeg uitgevoerde zorgactiviteiten aan het subtraject toe. subtraject.add_zorg_activiteit('039460', 1) subtraject.add_zorg_activiteit('190013', 1) # Bepaal zorgproductgroep en zorgproduct. zorg_product_code = self.__grouper.bepaal_zorg_product(subtraject) self.assertEqual(zorg_product_code, '131999165') self.assertEqual(subtraject.zorg_product_groep_code, '131999') self.assertEqual(subtraject.zorg_product_code, '131999165')
def bepaal_zorg_product(self, subtraject: Subtraject) -> str: """ Bepaalt de zorgproduct van een subtraject. :param Subtraject subtraject: Het subtraject waarvoor de zorgproductcode moet worden bepaalt. :rtype: str """ zorg_product_groep_code = self.bepaal_zorg_product_groep(subtraject) if zorg_product_groep_code is not None: top_boom = self.__zorgproductgroep_boom[zorg_product_groep_code] subtraject.zorg_product_code = top_boom.klim(subtraject) else: subtraject.zorg_product_code = None return subtraject.zorg_product_code
def tel(self, zorg_instelling_code: str, subtraject: Subtraject) -> int: """ Geeft het aantal malen (d.w.z. 0 of 1) dat het zorginstelling van een subtraject voldoet een zorginstellingcode. :param str zorg_instelling_code: De AGB-code waaraan de zorginstelling moet voldoen. :param Subtraject subtraject: Het subtraject. :rtype: int """ return subtraject.telling_zorg_instelling(zorg_instelling_code)
def tel(self, geslacht_code: str, subtraject: Subtraject) -> int: """ Geeft het aantal malen (d.w.z. 0 of 1) dat de patient van een subtraject voldoet aan een geslacht. :param str geslacht_code: De geslachtscode waartegen getest moet worden. :param Subtraject subtraject: Het subtraject. :rtype: int """ return subtraject.telling_geslacht_code(geslacht_code)
def tel(self, cluster_code: str, subtraject: Subtraject) -> int: """ Geeft het aantal malen (d.w.z. 0 of 1) dat een subtraject voldoet aan een diagnoseclustercode. :param str cluster_code: De cluster_code waartegen getest moet worden. :param Subtraject subtraject: Het subtraject. :rtype: int """ return subtraject.telling_diagnose_cluster(cluster_code, self._cluster_nummer)
def tel(self, cluster_code: str, subtraject: Subtraject) -> int: """ Geeft het aantal malen (d.w.z. 0 of 1) dat de zorgvraag van een subtraject voorkomt in een zorgvraagcluster. :param str cluster_code: De cluster_code waartegen getest moet worden. :param Subtraject subtraject: Het subtraject. :rtype: int """ return subtraject.telling_zorg_vraag_cluster(cluster_code, self._cluster_nummer)
def tel(self, diagnose_attribuut_code: str, subtraject: Subtraject) -> int: """ Geeft het aantal malen (d.w.z. 0 of 1) dat een subtraject voldoet aan een een (specialismecode, diagnosecode) combinatie. :param str diagnose_attribuut_code: De attribuutcode voor (specialismecode, diagnosecode) combinatie. :param Subtraject subtraject: Het subtraject. :rtype: int """ return subtraject.telling_diagnose_attribuut(diagnose_attribuut_code)
def tel(self, zorg_activiteit_code: str, subtraject: Subtraject) -> int: """ Geeft het aantal zorgactiviteiten (met inachtneming van weegfactor) in een subtraject voldoet aan een zorgactiviteitcode. :param str zorg_activiteit_code: De zorgactiviteitcode. :param Subtraject subtraject: Het subtraject. :rtype: int """ return subtraject.telling_zorg_activiteit(zorg_activiteit_code, self._weeg_factor_nummer)
def tel(self, specialisme_code: str, subtraject: Subtraject) -> int: """ Geeft het aantal malen (d.w.z. 0 of 1) dat het uitvoerend specialisme van een subtraject voldoet aan een specialismecode. :param str specialisme_code: De specialismecode. :param Subtraject subtraject: Het subtraject. :rtype: int """ return subtraject.telling_specialisme(specialisme_code)
def bepaal_zorg_product_groep(self, subtraject: Subtraject) -> str: """ Bepaalt de zorgproductgroep van een subtraject. :param Subtraject subtraject: Het subtraject waarvoor de zorgproductgroep moet worden bepaalt. :rtype: str """ top_boom = self.__zorgproductgroep_boom['0'] subtraject.zorg_product_groep_code = top_boom.klim(subtraject) return subtraject.zorg_product_groep_code
def tel(self, behandel_klasse_code: str, subtraject: Subtraject) -> int: """ Geeft het aantal zorgactiviteiten (met inachtneming van weegfactor) in een subtraject voorkomt in een behandelklasse. :param str behandel_klasse_code: De behandelklassecode waartegen getest moet worden. :param Subtraject subtraject: Het subtraject. :rtype: int """ return subtraject.telling_behandel_klasse(behandel_klasse_code, self._weeg_factor_nummer)
def test1(self): """ Test voorbeeld 1. """ # Maak een Grouper object en laad boombestanden en referentietabellen. grouper = Kerapu() grouper.init_static('test/var/lib') # Maak een subtraject object. subtraject = Subtraject( '1', # Subtrajectnummer '0303', # Zorgverlenerspecificatiecode '0280', # Diagnosecode '11', # Zorgtypecode '000', # Zorgvraagcode '2012-01-01', # Begindatum subtraject '2000-01-01', # Geboortedatum 'M') # Geslachtscode # Voeg uitgevoerde zorgactiviteiten aan het subtraject toe. subtraject.add_zorg_activiteit('038940', 1) subtraject.add_zorg_activiteit('038941', 1) subtraject.add_zorg_activiteit('190012', 1) subtraject.add_zorg_activiteit('190015', 1) # Bepaal zorgproductgroep en zorgproduct. zorg_product_groep_code = grouper.bepaal_zorg_product_groep(subtraject) zorg_product_code = grouper.bepaal_zorg_product( subtraject, zorg_product_groep_code) self.assertEqual(zorg_product_code, '199299012')
def tel(self, zorg_vraag_attribuut_code: str, subtraject: Subtraject) -> int: """ Geeft het aantal malen (d.w.z. 0 of 1) dat de zorgvraag van een subtraject voldoet aan een (specialismecode, zorgvraagcode). :param str zorg_vraag_attribuut_code: De attribuutcode voor (specialismecode, zorgvraagcode). :param Subtraject subtraject: Het subtraject. :rtype: int """ return subtraject.telling_zorg_vraag_attribuut( zorg_vraag_attribuut_code)
def test00(self): """ Test voorbeeld 0, geen verrichtingen, door niemand. """ # Maak een subtraject object. subtraject = Subtraject('1', '0000', '0000', '00', '000', '2012-01-01', '2000-01-01', 'M', '01234567') # Bepaal zorgproductgroep en zorgproduct. zorg_product_code = self.__grouper.bepaal_zorg_product(subtraject) self.assertEqual(zorg_product_code, '019999018') self.assertEqual(subtraject.zorg_product_groep_code, '019999') self.assertEqual(subtraject.zorg_product_code, '019999018')
def test04(self): """ Test voorbeeld 4. """ # Maak een subtraject object. subtraject = Subtraject('1', '0305', '3409', '11', '000', '2019-03-01', '1948-12-01', 'M', '01234567') # Voeg uitgevoerde zorgactiviteiten aan het subtraject toe. subtraject.add_zorg_activiteit('089090', 1) subtraject.add_zorg_activiteit('089602', 1) subtraject.add_zorg_activiteit('190013', 1) subtraject.add_zorg_activiteit('190060', 1) # Bepaal zorgproductgroep en zorgproduct. zorg_product_code = self.__grouper.bepaal_zorg_product(subtraject) self.assertEqual(zorg_product_code, '199299119') self.assertEqual(subtraject.zorg_product_groep_code, '199299') self.assertEqual(subtraject.zorg_product_code, '199299119')
def test01(self): """ Test voorbeeld 1. """ # Maak een subtraject object. subtraject = Subtraject('1', '0303', '0280', '11', '000', '2012-01-01', '2000-01-01', 'M', '01234567') # Voeg uitgevoerde zorgactiviteiten aan het subtraject toe. subtraject.add_zorg_activiteit('038940', 1) subtraject.add_zorg_activiteit('038941', 1) subtraject.add_zorg_activiteit('190012', 1) subtraject.add_zorg_activiteit('190015', 1) # Bepaal zorgproductgroep en zorgproduct. zorg_product_code = self.__grouper.bepaal_zorg_product(subtraject) self.assertEqual(zorg_product_code, '199299012') self.assertEqual(subtraject.zorg_product_groep_code, '199299') self.assertEqual(subtraject.zorg_product_code, '199299012')