def ssn(self, birthdate: Optional[date] = None) -> str:
        """
        Source: https://de.wikipedia.org/wiki/Sozialversicherungsnummer#Berechnung
        :return: a random valid Austrian social security number
        """
        _birthdate = birthdate or self.generator.date_object()
        format: str = f"%##{_birthdate:%d%m%y}"
        ssn: str = self.numerify(format)
        check_digit: int = self.__get_check_digit(ssn)

        while check_digit > 9:
            ssn = self.numerify(format)
            check_digit = self.__get_check_digit(ssn)

        return ssn[:3] + str(self.__get_check_digit(ssn)) + ssn[3:]

        Source: https://de.wikipedia.org/wiki/Sozialversicherungsnummer#Berechnung
        :return: a random valid Austrian social security number
        
faker/providers/ssn/de_AT/__init__.py