diff --git a/commentaries/forms.py b/commentaries/forms.py
index e1f29641d8259ca7ae4655ee706520fd5f8a24fe..660d8d74ff21abf19c1fbd24dbe515980fc0e906 100644
--- a/commentaries/forms.py
+++ b/commentaries/forms.py
@@ -34,6 +34,10 @@ class DOIToQueryForm(forms.Form):
     def commentary_exists(self, input_doi):
         return Commentary.objects.filter(pub_DOI=input_doi).exists()
 
+    def request_published_article_form_prefill_data(self):
+        additional_form_data = {'type': 'published', 'pub_DOI': self.cleaned_data['doi']}
+        return {**self.crossref_data, **additional_form_data}
+
 
 class IdentifierToQueryForm(forms.Form):
     identifier = forms.CharField(widget=forms.TextInput(
diff --git a/commentaries/test_views.py b/commentaries/test_views.py
index 96220a2eb89c2780dbbed7aeb6a1e9a4c3b1916c..2077489c0a13475745c6796199a5621532fd124e 100644
--- a/commentaries/test_views.py
+++ b/commentaries/test_views.py
@@ -59,8 +59,7 @@ class PrefillUsingDOITest(TestCase):
         request.user = UserFactory()
 
         response = prefill_using_DOI(request)
-        # Not sure what to test here
-        raise NotImplementedError
+        self.assertEqual(response.status_code, 200)
 
 
 class VetCommentaryRequestsTest(TestCase):
diff --git a/commentaries/views.py b/commentaries/views.py
index 197905b1735089e98ccdff9f2ffd6bab4b4cb157..63f9293afe49a230d702794d2854220bafea067f 100644
--- a/commentaries/views.py
+++ b/commentaries/views.py
@@ -91,10 +91,8 @@ def prefill_using_DOI(request):
         doi_query_form = DOIToQueryForm(request.POST)
         # The form checks if doi is valid and commentary doesn't already exist.
         if doi_query_form.is_valid():
-            doi = doi_query_form.cleaned_data['doi']
-            additional_form_data = {'type': 'published', 'pub_DOI': doi}
-            total_form_data = {**doi_query_form.crossref_data, **additional_form_data}
-            form = RequestPublishedArticleForm(initial=total_form_data)
+            prefill_data = doi_query_form.request_published_article_form_prefill_data()
+            form = RequestPublishedArticleForm(initial=prefill_data)
         else:
             form = RequestPublishedArticleForm()