I came up with a proposal on how to handle dates & datetimes here:
I would think conditions would best be approached as “date with partial date support” – i.e., we don’t track condition onset to the time, but it wouldn’t be uncommon to say the onset was in a given year (even if a guess) without knowing the specific date. In this case, I’d propose the approach:
dateValue (string)
in FHIR format to explicitly support partial data (to year, to month, to date)date (date)
stores “effective” date, interpreting partial data into suitable proxy (e.g., “2023” → 2023-01-01)