/** * <p> * Returns age as a formatted string expressed in days, months, or years, depending on whether * person is an infant (< 2 mos), toddler (> 2 mos, < 2 yrs), or more than 2 years old. * </p> * * @param dob Date of person's birth * @return the age display string */ public static String formatAge(Date dob) { return formatAge(dob, true, null); }
private String formatDateAndAge(Date date) { return date == null ? null : DateUtil.formatDate(date) + " (" + DateUtil.formatAge(date) + ")"; }
@Test public void testAge() { Date dob = DateUtil.toDate(27, 7, 1958); Date ref = DateUtil.toDate(1, 1, 2013); assertEquals("54 yrs", DateUtil.formatAge(dob, true, ref)); assertEquals("54 yr", DateUtil.formatAge(dob, false, ref)); dob = DateUtil.toDate(15, 12, 2012); assertEquals("17 days", DateUtil.formatAge(dob, true, ref)); dob = DateUtil.toDate(30, 10, 2012); assertEquals("2 mos", DateUtil.formatAge(dob, true, ref)); }
/** * Retrieves a formatted header for the current patient. * * @return Formatted header. */ public String getPatientInfo() { Patient patient = PatientContext.getActivePatient(); String text; if (patient == null) { text = "No Patient Selected"; } else { Identifier mrn = FhirUtil.getMRN(patient); // May be null! text = FhirUtil.formatName(patient.getName()); if (mrn != null) { text += " #" + mrn.getValue(); } String gender = patient.hasGender() ? patient.getGender().getDisplay() : ""; if (!StringUtils.isEmpty(gender)) { text += " (" + gender + ")"; } Date deceased = patient.getDeceased() instanceof DateType ? ((DateType) patient.getDeceased()).getValue() : null; String age = DateUtil.formatAge(patient.getBirthDate(), true, deceased); text += " Age: " + age; if (deceased != null) { text += " Died: " + DateUtil.formatDate(deceased); } } return text; }
addDemographic(root, "gender", patient.getGender()); addDemographic(root, "age", DateUtil.formatAge(patient.getBirthDate())); addDemographic(root, "dob", patient.getBirthDate()); addDemographic(root, "dod", patient.getDeceased());