This should be incredibly straightforward, but I'm struggling with a simple way of calculating dates for patients >89 on their first admission. Am I correct in thinking that their DOB should be (ADMITIME for their first HADM_ID) - 210 years? Has anyone scripted this simply as my brain is stalling here...

1 Answer 1


I think the answer depends on what you are looking to achieve in your analysis and how you would like to treat this set of patients. Your suggested approach should be fine if you intend to group elderly patients together as being ~90 years old on first admission.

The following query will run on a Postgres installation of MIMIC-III v1.3 and demonstrates the effect of making your adjustment:

WITH ages as (
SELECT a.subject_id, a.hadm_id, p.dob, 
ROUND( (CAST(a.admittime AS DATE) - CAST(p.dob AS DATE))  / 365.242, 0) AS age,
ROUND( (CAST(a.admittime AS DATE) - CAST(p.dob AS DATE))  / 365.242, 0) - 210 AS age_adjusted
FROM admissions a
INNER JOIN patients p
ON a.subject_id = p.subject_id)
FROM ages
WHERE age > 200

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.