diff --git a/smash/web/forms.py b/smash/web/forms.py
index 76ca94fe0bb0aafad3dc26da80ffd6325bbed753..9883651293dc811f1b30b71eb32c2c99f5fa7fa5 100644
--- a/smash/web/forms.py
+++ b/smash/web/forms.py
@@ -20,6 +20,7 @@ def validate_subject_nd_number(self):
 
 class SubjectAddForm(ModelForm):
     date_born = forms.DateField(label='Date of birth',
+        required = False,
         widget=forms.SelectDateWidget(years=YEAR_CHOICES)
     )
 
diff --git a/smash/web/models.py b/smash/web/models.py
index 5388955992da548b95eb02e9787fd7621cebd2e1..40d7ed83c29c0bb6721e7852ef71e16829485f1f 100644
--- a/smash/web/models.py
+++ b/smash/web/models.py
@@ -151,6 +151,7 @@ class Subject(models.Model):
     year_of_diagnosis = models.IntegerField(
         default=0,
         null=True,
+	    blank=True,
         verbose_name='Year of diagnosis (YYYY)'
     )
 
diff --git a/smash/web/tests.py b/smash/web/tests.py
index 7ce503c2dd97ba78597f6ff6e4393132753573f6..6e8e81692ce8214511157bb50cc39f9623580990 100644
--- a/smash/web/tests.py
+++ b/smash/web/tests.py
@@ -1,3 +1,51 @@
 from django.test import TestCase
+from web.forms import SubjectAddForm
+from web.models import Subject
 
-# Create your tests here.
+class SubjectAddFormTests(TestCase):
+    def test_validation(self):
+        form_data = {'first_name': 'name',
+        'last_name': 'name',
+        'status' : Subject.STATUS_CHOICES_NOT_CONTACTED,
+        'sex' : Subject.SEX_CHOICES_MALE,
+        'country' : 'Luxembourg'
+        }
+        form = SubjectAddForm(data=form_data)
+        form.is_valid()
+        self.assertTrue(form.is_valid())
+
+    def test_invalid(self):
+        form_data = {'first_name': 'name',
+        'last_name': 'name',
+        'status' : Subject.STATUS_CHOICES_NOT_CONTACTED,
+        'sex' : Subject.SEX_CHOICES_MALE,
+        'country' : 'Luxembourg',
+        'screening_number' : '123'
+        }
+        form = SubjectAddForm(data=form_data)
+        form.is_valid()
+        self.assertTrue(form.is_valid())
+        form.save()
+
+        form2 = SubjectAddForm(data=form_data)
+        validation_status = form2.is_valid()
+        self.assertFalse(validation_status)
+        self.assertTrue("screening_number" in form2.errors)
+
+    def test_invalid_2(self):
+        form_data = {'first_name': 'name',
+        'last_name': 'name',
+        'status' : Subject.STATUS_CHOICES_NOT_CONTACTED,
+        'sex' : Subject.SEX_CHOICES_MALE,
+        'country' : 'Luxembourg',
+        'nd_number' : '123'
+        }
+        form = SubjectAddForm(data=form_data)
+        form.is_valid()
+        self.assertTrue(form.is_valid())
+        form.save()
+
+        form2 = SubjectAddForm(data=form_data)
+        validation_status = form2.is_valid()
+        self.assertFalse(validation_status)
+        self.assertTrue("nd_number" in form2.errors)