diff --git a/smash/web/forms/subject_forms.py b/smash/web/forms/subject_forms.py
index 05fe533ea79251c871e1a6c9b66454384758e437..64047cb9169f5eff11ed78dc01a79293c5ce772c 100644
--- a/smash/web/forms/subject_forms.py
+++ b/smash/web/forms/subject_forms.py
@@ -3,10 +3,10 @@ import logging
 from django import forms
 from django.forms import ModelForm
 
-from web.algorithm import VerhoeffAlgorithm, LuhnAlgorithm
 from web.forms.forms import DATEPICKER_DATE_ATTRS
 from web.models import Subject
 from web.models.constants import COUNTRY_OTHER_ID
+from web.utils import is_valid_social_security_number
 
 logger = logging.getLogger(__name__)
 
@@ -18,22 +18,8 @@ def validate_subject_country(self, cleaned_data):
 
 def validate_social_security_number(self, number):
     if not is_valid_social_security_number(number):
-        self.add_error('social_security_number', "Social security number is invalid")
-
-
-def is_valid_social_security_number(number):
-    if number is not None and number != '':
-        if len(number) != 13:
-            return False
-        if not number.isdigit():
-            return False
-        if not LuhnAlgorithm.is_luhn_valid(number[:12]):
-            return False
-        if not VerhoeffAlgorithm.is_valid_verhoeff(number[:11] + number[12]):
-            return False
-
-    return True
-
+        self.add_error('social_security_number',
+                       "Social security number is invalid")
 
 FIELD_ORDER = ["first_name", "last_name", "sex", "date_born", "social_security_number",
                "default_written_communication_language", "languages", "phone_number", "phone_number_2",
@@ -42,7 +28,8 @@ FIELD_ORDER = ["first_name", "last_name", "sex", "date_born", "social_security_n
 
 class SubjectAddForm(ModelForm):
     date_born = forms.DateField(label="Date of birth",
-                                widget=forms.DateInput(DATEPICKER_DATE_ATTRS, "%Y-%m-%d"),
+                                widget=forms.DateInput(
+                                    DATEPICKER_DATE_ATTRS, "%Y-%m-%d"),
                                 required=False
                                 )
 
@@ -56,13 +43,15 @@ class SubjectAddForm(ModelForm):
     def clean(self):
         cleaned_data = super(SubjectAddForm, self).clean()
         validate_subject_country(self, cleaned_data)
-        validate_social_security_number(self, cleaned_data["social_security_number"])
+        validate_social_security_number(
+            self, cleaned_data["social_security_number"])
         return cleaned_data
 
 
 class SubjectEditForm(ModelForm):
     date_born = forms.DateField(label="Date of birth",
-                                widget=forms.DateInput(DATEPICKER_DATE_ATTRS, "%Y-%m-%d"),
+                                widget=forms.DateInput(
+                                    DATEPICKER_DATE_ATTRS, "%Y-%m-%d"),
                                 required=False
                                 )
 
@@ -78,7 +67,8 @@ class SubjectEditForm(ModelForm):
 
     def clean(self):
         validate_subject_country(self, self.cleaned_data)
-        validate_social_security_number(self, self.cleaned_data["social_security_number"])
+        validate_social_security_number(
+            self, self.cleaned_data["social_security_number"])
 
     class Meta:
         model = Subject
diff --git a/smash/web/utils.py b/smash/web/utils.py
index 1bbb74ecc18c444298e49ba893ed84ea865e128d..2e7d4d3133c06ebea7413150bc7476694553dccd 100644
--- a/smash/web/utils.py
+++ b/smash/web/utils.py
@@ -3,15 +3,34 @@ from django.utils import timezone
 import datetime
 from datetime import timedelta
 
+from web.algorithm import VerhoeffAlgorithm, LuhnAlgorithm
+
+
+def is_valid_social_security_number(number):
+    if number is not None and number != '':
+        if len(number) != 13:
+            return False
+        if not number.isdigit():
+            return False
+        if not LuhnAlgorithm.is_luhn_valid(number[:12]):
+            return False
+        if not VerhoeffAlgorithm.is_valid_verhoeff(number[:11] + number[12]):
+            return False
+
+    return True
+
+
 def get_today_midnight_date():
-	today = timezone.now()
-	today_midnight = datetime.datetime(today.year, today.month, today.day, tzinfo=today.tzinfo)
-	return today_midnight
+    today = timezone.now()
+    today_midnight = datetime.datetime(
+        today.year, today.month, today.day, tzinfo=today.tzinfo)
+    return today_midnight
+
 
 def get_weekdays_in_period(fromdate, todate):
     '''
     fromdate and todate must be generated using datetime.date or datetime.datetime like:
-    
+
     from datetime import date
     fromdate = date(2010,1,1)
     todate = date(2010,3,31)
@@ -21,11 +40,12 @@ def get_weekdays_in_period(fromdate, todate):
 
     but both dates must have the same format ! 
     todate is not included in the range
-    
+
     Weekdays are returned as isoweekdays like the form described in week_choices from constants.py (starting at 1)
     '''
     if todate < fromdate:
         return set([])
-    day_generator = (fromdate + timedelta(day) for day in xrange((todate - fromdate).days))
+    day_generator = (fromdate + timedelta(day)
+                     for day in xrange((todate - fromdate).days))
     weekdays = set([date.isoweekday() for date in day_generator])
-    return weekdays
\ No newline at end of file
+    return weekdays