In FHIR the primitive data types of "date" and "dateTime" can be defined partially (eg.: just the year, or just the year and the month) while the "instant" data type must be specified at least down to the second. This is key difference between these data types, "instant" is used in situations where precision is required (eg.: the time of the appointment), while the other two are used when the information can be vaguely defined (eg.: a birth date)