To make the Ens.ScheduleHandler alert on error, you need to configure your Ensemble production appropriately. Ens.ScheduleHandler interacts with Ens.Alarm and other components to manage scheduled start and stop times for production items.
To enable alerts, you might employ the Ens.Alert or similar mechanisms already available in InterSystems IRIS/Ensemble systems. You could configure the components linked to Ens.ScheduleHandler and trigger alerts based on specific error scenarios.
Messages between Ens.ScheduleHandler and Ens.Alarm ensure that components are started/stopped according to schedules. Errors or disruptions during this process could be monitored and alerts set up by designing rules in your systems for such sessions. This process uses the ensemble messaging system, which may require setting the proper parameters to retain scheduling-related messages and avoid purging them preemptively [1].
If you intend to integrate more robust error handling, consider subclassing relevant components and adding mechanisms to send alerts upon encountering specific exceptions, which might require adjustment to adapter settings or creating custom notification rules [2][1].
Sources:
The error arises because OpenID Connect is only supported by InterSystems IRIS OAuth2 for the authorization code and implicit grant types. According to the system's design, OpenID Connect scopes (like "openid" required by your FHIR server) are not intended to be used with client credentials or password grant types.
This check is implemented to ensure that features specific to OpenID Connect, such as ID tokens, are excluded when using grant types that don't fit its typical use cases. OpenID Connect is primarily used to authenticate users via user interaction, which is not the scenario with client credentials or password grant types. These grant types are designed for machine-to-machine communications where user authentication is not involved [1][2].
Currently, you may need to consult the third-party FHIR and Keycloak server configurations to find a workaround. For information on supported scenarios, please refer to the OAuth 2.0 and OpenID Connect documentation [1][2].
Sources:
To adjust a datetime by subtracting five hours or 18,000 seconds (5 hours * 60 minutes * 60 seconds) in an HL7 Data Transformation, you can use ObjectScript utilities designed for time manipulation.
Using ConvertDateTime function: InterSystems provides the
ConvertDateTime()utility inEns.Util.Time. Example:This function allows you to manipulate date formats and apply operations on datetime values [1].
Time zone library: There's also a specialized library for converting and handling time zones with both HL7 formatted times and adjustments. An example of subtracting a specific duration (5 hours in your case):
This will yield
20201224111922[2].These approaches can be used directly in your transformation logic for accurate date-time operations. If using time zones or further functionalities, refer to the utilities within InterSystems' interoperability tools or libraries [1][2].
Sources: