Question
· May 23

Best Practice for handling timezone offsets in DTL

Hi all,

My team is exploring options for handling timezone offsets in DTL and we’re wondering if there are any built-in methods available — ideally low-code or no-code solutions. Specifically, we're looking for a way to adjust timestamps based on the date and whether Daylight Saving Time (DST) is in effect.

For example, if an HL7 message has an MSH-7 value of 20250518144529, it should be converted to 20250518144529-0500 (Central Daylight Time), but if the timestamp were 20250218144529, it should be 20250218144529-0600 (Central Standard Time).

We’re fairly new to InterSystems and want to make sure we’re not reinventing the wheel if there’s already a best practice or supported feature for this.

Thanks in advance for any guidance!

Product version: HealthShare 2024.1
$ZV: HealthConnect:7.2.0-2.m1
Discussion (6)2
Log in or sign up to continue

I am bad at full thoughts evidently: do read on timezones and DST though so you don't hit any traps - https://docs.intersystems.com/iris20251/csp/docbook/DocBook.UI.Page.cls?...

It appears in your example you need a better way to determine if you are in DST or standard. You can't just go off of month and you also might be dealing with a region that doesn't acknowledge DST.  

Our team was unable to find any built-in functions for handling timezones/offsets and had to develop our own library that uses the built-in timezone database installed on our Redhat servers.

Check out this article: Time Zones and Offsets and ObjectScript, Oh My! | InterSystems Developer

Here's the related library: tz---ObjectScript-Time-Zone-Conversion-Library

Let me know if you have any questions/problems with this library.