public function getNewDOI()
    {
        // get the first active prefix for this authenticated client
        $prefix = "";
        $testStr = "";

        $client = $this->getAuthenticatedClient();


        //if this client is not in test mode grab their production prefix
        if(sizeof($client->prefixes) > 0 && $client->mode !== 'test'){
            foreach ($client->prefixes as $clientPrefix) {
                if($clientPrefix->active && $clientPrefix->is_test == 0) {
                    $prefix = $clientPrefix->prefix->prefix_value;
                    break;
                }
            }
        }
        if(sizeof($client->prefixes) > 0 && $client->mode == 'test'){
            foreach ($client->prefixes as $clientPrefix) {
                if($clientPrefix->active && $clientPrefix->is_test == 1) {
                    $prefix = $clientPrefix->prefix->prefix_value;
                    $testStr =  "TEST_DOI_";
                    break;
                }
            }
        }
        $prefix = ends_with($prefix, '/') ? $prefix : $prefix .'/';

        $doiValue = uniqid();

        return $prefix . $testStr . $doiValue;
    }