Пример #1
0
    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])
Пример #2
0
    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)
Пример #3
0
    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')
Пример #4
0
    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')
Пример #5
0
    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
Пример #6
0
    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)
Пример #7
0
    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)
Пример #8
0
    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)
Пример #9
0
    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)
Пример #10
0
    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)
Пример #11
0
    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)
Пример #12
0
    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)
Пример #13
0
    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
Пример #14
0
    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)
Пример #15
0
    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')
Пример #16
0
    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)
Пример #17
0
    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')
Пример #18
0
    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')
Пример #19
0
    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')