Your date of birth is unknown

Following Erno’s post of the bank story about technical decisions with a functional side effect I remembered a nice requirement about a birthdate in a system based on message communication. It is defined as following:

  • A birthdate may not be in the future.
  • A birthdate may not be more than 120 years in the past.
  • If a birthdate is unknown the message should contain the default value ‘1-1-1900’.
  • If you receive a value of ‘1-1-1900’ it should be interpreted as ‘unknown’.

Do you see the catch? What a pity for those (elderly) clients that are successfully registered in the system but keep getting messages about an ‘unknown birthdate’!