[tz] Epic fail for DST fallback in hospital health records
guy at alum.mit.edu
Mon Nov 5 01:59:35 UTC 2018
On Nov 3, 2018, at 10:54 PM, Paul Eggert <eggert at cs.ucla.edu> wrote:
> Dr. Steven Stack, past president of the American Medical Association, said these DST glitches are "unacceptable", considering that Apple and Google seem to have dealt with seasonal time changes long ago. Although Lupkin didn't say so, credit should be given to the design for the Unix operating system that is the basis for these successes of Apple and Google, as Unix standardized on UTC in the early 1970s; apparently Epic and Cerner (both founded 1979) did not get the message.
Apple doesn't always get it right:
I don't know if there have been any Android glitches, but it's not inconceivable.
"XXX runs atop Unix" isn't sufficient; something running atop Unix could still get it wrong.
I don't know what the lowest layers of Windows (NT) use (I don't have any "NT Native API" documentation handy), but the Windows API offers GetSystemTimeAsFileTime(), which supplies tenths-of-microseconds-since-the-FILETIME-epoch ("January 1, 1601 (UTC)", using the proleptic Gregorian calendar and some probably-proleptic form of UTC), so it can do UTC as well.
Epic "offers an integrated suite of healthcare software centered on a Caché database provided by InterSystems"; according to
Caché runs atop Windows, assorted UN*Xes, and OpenVMS. SYS$GETTIME on VMS supplies "the number of 100-nanosecond intervals since November 17, 1858." (I guess Cutler likes .1 microseconds as a unit), according to
There's also SYS$GETUTC, which "returns the current system time in 128-bit UTC format", so I guess if you have a version of VMS that has SYS$GETUTC, you can work in UTC.
So it's probably just that Epic never got DST handling right.
More information about the tz