Excerpt |
---|
The eHealth Infrastructure has several automated processing processes that are performed either scheduled or as a result of an event. This page describes the automated processing performed by the eHealth Infrastructure. |
Table of Content Zone | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Overview of Automated Processing in the InfrastructureThis section provides an overview of automated processing in the Infrastructure. The details of the automated processing are described below. Automated processing is either triggered by some event or actions in the infrastructure, which is timer-based, meaning the processing takes place at certain intervals. Scheduled processing
*) When there is a timezone change (to daylight saving time, DST), the execution is still at local Danish time. Event-based processing
Automated Processing of Submitted MeasurementThe Clinical Administrator can set up a PlanDefinition, which includes activities defined in an ActivityDefinition. They can also include a Questionnaire to be answered, and add one or more Library resources, each containing a rule. Their Libraries are specifically for automated processing and are linked to a plan that has received a measurement. In the following, a measurement resource denotes an Observation, QuestionnaireResponse or Media which has been submitted either by itself or along with other measurement resources in a call of the Overall, the automated processing of a submitted measurement is asynchronous and constitutes the following handling as a response to a submitted measurement event (which contains a reference to a Provenance resource referencing the measurement resources):
The automated processing of submitted measurements is shown in the sequence diagram Automated Processing of Measurements. Automated Approval of Measurement for Document Sharing
Approval of document sharing a measurement, that is, registering a measurement in the national document sharing infrastructure, is considered an assessment of the measurement and comes in the form of a ClinicalImpression resource. Whether a measurement is eligible for automated approval is evaluated by using the ServiceRequest referenced by the measurement. If the
Automated Processing of Measurements Submitted at Unexpected TimeThe Infrastructure validates the measurement time of a submitted measurement for compliance with the resolvedTiming period provided in the measurement. An unexpected measurement is determined as a submitted measurement having either:
Measurement time is captured in:
In case a measurement has been submitted at an unexpected time, automated processing produces:
Note that most of the above details do not constitute guaranteed content that can be used for searching for or determining whether unexpected measurement(s) has been submitted for a particular Patient. The guaranteed elements are Automated Processing of Library RulesWhen a measurement is submitted to the infrastructure, it triggers the automated processing of rules described in the following. Each submitted measurement is related to an activity in a citizen plan represented as a CarePlan where each activity is a ServiceRequest. Which rule or rules are involved depends on the PlanDefinition and its comprised ActivityDefinition resources referenced from the CarePlan and ServiceRequest resources, see https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/1661141027/Creating+Care+Plans#Applying-a-PlanDefinition-to-create-CarePlan(s). The Library rules eligible for automated processing for a particular ServiceRequest are:
One (or at least one) of the automated-processing type Library resources associated with an ActivityDefinition should create a Task that can draw adequate attention to a submitted and automatically processed measurement. The Null-rule Library is the one exception to this guideline/recommendation. The evaluation of automated-processing type Library resources is described in https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/2727247913/Managing+and+Using+Library+Rules#Library-Rule-Evaluation-in-Automated-Processing-in-the-Infrastructure . Automated Processing of Action Triggers and Trigger ConditionsEach submitted measurement references a ServiceRequest. As part of the automated processing of a submitted measurement, the infrastructure examines whether the measurement constitutes fulfilment of trigger conditions that may be defined as action triggers for one or more of its sibling ServiceRequest. In each case where trigger conditions are met, the defined action trigger reaction is performed. Trigger evaluation is skipped if the submitted measurement is an Observation with In the example below, the PlanDefinition contains an action trigger where activity “action[2]” has dependencies to “action[0]” and “action[1]”. Compared to the same setup at the time of When a measurement, here QuestionnaireResponse QR0, is submitted and subjected to automated processing, it is determined whether it plays any role in action triggers. In this case, the corresponding ServiceRequest SR0 is a triggering ServiceRequest, that is, its related ActivityDefinition has a trigger condition defined in the corresponding PlanDefinition. To optimize determining this, the triggering ServiceRequest SR0 (and similarly SR1) has The automated processing follows this pseudo-algorithm:
The evaluation of starting time is tabulated below for the different types of
Automated Processing can reject tasks created for Missing MeasurementsIf a measurement is submitted later than the timing specified by the ServiceRequest, then the automated processing will check, if a “missing measurement” task exists (created by Automated Processing of Missing Measurements). If the task has status, requested, and has not been assigned, then the automated processing will change the status to rejected. Automated Processing of Missing MeasurementsThe eHealth Infrastructure continuously monitors, if measurements are being submitted on time, based on their associated CarePlan. Here's how it works:
The criteria for deciding that a measurement is missing depends on how the measurement regime is specified, that is, what
|
Example of active overlap for ServiceRequest.occurrenceTiming
with repeat.period
: 6 and repeat.periodUnit
: h (and repeat.duration
: 3 and repeat.durationUnit
: h).
As described in a row “Time Criteria” for occurrenceTiming
, Timing.repeat.periodUnit
h (hours) will result in a lookup period starting from Midnight 1 day ago till the current time represented as nearest past Midnight.
The resolved timing will be every 6 hours with a duration of 3 hours starting from Timing.repeat.boundsPeriod.start
. With boundsPeriod.start
at midnight, then the first resolved timing will be between 00 and 03, and the next will be between 06 and 09 and so on.
...
When time passes 03 the first resolved timing with period 00-03 will be checked for missing measurement as EpisodeOfCare, CarePlan and ServiceRequest at that time all have status active
.
...
When time passes 09 the second resolved timing with period 06-09 will NOT be checked as the ServiceRequest has status on-hold
at that time.
...
When time passes 15 the third resolved timing with period 12-15 will NOT be checked as both ServiceRequest and the Careplan have status on-hold
at that time.
...
See the diagram below.
...
Example of active overlap for As described in a row “Time Criteria” for
|
...
etc.
See the diagram below.
When a measurement is found to be missing, the following resources are prepared for creation:
Each Communication resource prepared for creation (with the content above), is subjected to the handling of recipients described in Taking applicable CommunicationRequest into account. Periodic Creation of Reminder on Pending Measurement Activity
To provide reminders to citizens on pending measurement activities, the eHealth Infrastructure performs periodic lookup. Currently, the periodic lookup is configured to be performed every second hour on the hour. The periodic lookup for pending measurements considers two lookup time windows:
For an activity to be considered pending, the The criteria for a ServiceRequest to have a pending measurement within the lookup time window depends on the
|
...
This ensures that reminders for activities with short periods that lie entirely within a time window are not missed.
...
The
occurrenceTiming.repeat.boundsPeriod.start
must be equal to or before the start of the current time window.The
occurrenceTiming.repeat.boundsPeriod.end
must, if defined, be equal to or after the start of the current time windowIf the
occurrenceTiming.repeat.boundsPeriod.start
is within the previous time window,resolved-timing
started before the current window is also accepted (They must still overlap with theboundsPeriod
).This ensures that while they might be late, they are not missed entirely.
At least one of possibly multiple
resolved-timing
must start within the current time window and theoccurrenceTiming.repeat.boundsPeriod
.
...
Effective Status Criteria
...
occurrenceDateTime
must be within a period where the ServiceRequest, CarePlan and EpisodeOfCare are all active
...
The
occurrencePeriod
must to some degree overlap with a period where the ServiceRequest, CarePlan and EpisodeOfCare are all activeThe overlapping part of the periods does not have to be within the current or previous time windows (see example 4 in the table below)
...
At least one of possibly multiple
resolved-timing
must be within a period where the ServiceRequest, CarePlan and EpisodeOfCare are all active.
...
Activity Type Criteria
...
The
ServiceRequest
must have an activity type that warrants a reminder http://ehealth-documentation.s3-website-eu-west-1.amazonaws.com/latest/ig/ConceptMap-activitydefinition-code-to-do-reminder.html.
...
Measurement Submission Criteria
A check is performed to see if any measurements have already been submitted - If all expected measurements have been submitted for a given ServiceRequest
, no reminder will be generated.
For a measurement to be seen as a submission for a given resolved-timing
of a ServiceRequest
it should meet the following criteria:
...
The measurement.basedOn
on references the ServiceRequest
...
The measurement.resolvedTiming.start
is the same as the start of the resolved-timing
in question.
...
Time CriteriaThe following three diagrams show 8 examples of ServiceRequest that use different variants of
Current Time Window = t0
Current Time Window = t+1 The periodic lookup has now progressed by one time frame and what was in the last lookup considered the “next” time window is now the current one.
Current Time Window = t+2 The periodic lookup has now progressed by two-time frames since the lookup shown in the first diagram.
Effective Status CriteriaThe following three diagrams visualize how ServiceRequest effective periods of
For the above example, the active periods for the resource are found by:
When the active periods for the individual related resources have been found, one can find the effective active periods of the ServiceRequest, which are the active periods that it has in common with its related CarePlan and EpisodeOfCare. This is visualized in the diagram below.
In the diagram below are 6 examples of ServiceRequest that use different variants of
Having identified a pending measurement, the infrastructure creates an ehealth-message type Communication with the Patient as the recipient, unless such creation has been suppressed (see Controlling Creation of Messages).
When possible, the created Communication leads to a NemSMS text notification to the Citizen. A prerequisite to this is that the citizen has subscribed to NemSMS and that the citizen has not suppressed the generation of such messages (see https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/2415034369/Controlling+Creation+of+Messages#Controlling-Message-Creation-with-Patient-as-Recipient). Validation of SSL orders when activating a CarePlanWhen a CarePlan changes Scheduled Automated Application of Planned Changes (EpisodeOfCare, CarePlan and ServiceRequest)Scheduled changes in EpisodeOfCare, CarePlan and ServiceRequest are applied during an automatic job which runs at regular intervals.
Scheduled Import of Organization Data from SOR and FK OrganisationThe eHealth Infrastructure runs scheduled jobs that Import Organization Data from SOR and FK Organisation. The import of Organization data is described in Importing and updating Organization information from SOR and FK-Organisation into eHealth Infrastructure. Scheduled Check for Calibration of EquipmentSome equipment needs to be periodically calibrated to ensure precise measurements. Handling of EpisodeOfCare and CarePlan CreatedWhen an EpisodeOfCare is created with When a CarePlan is created with Handling of Change of EpisodeOfCare and CarePlan Status, CareTeam, Scheduled Status and/or Scheduled CareTeamThe EpisodeOfCare and CarePlan have two elements
When one of the following elements in CarePlan/EpisodeOfCare is changed, then an ehealth-message type Communication is automatically created.
Communication created with the Patient as the recipient
Communication created with CareTeam as the recipient
Reminder for Participation in AppointmentCommunication with the Patient as the recipient
Communication with CareTeam as the recipient
Handling of Automatic NemSMS Notification on Creation of Communication of Type |
Resource | Element | Value |
---|---|---|
Communication (of profile ehealth-message) | category | Coding for |
status |
| |
payload.content | “Du har modtaget en ny besked. Se den i din telemedicinske løsning.” | |
about | The Communication resource that caused this notification | |
sent | current date/time | |
recipient | The Patient | |
sender | Device reference for eHealth Infrastructure Patient |
Resources Created by Automated Processing in the Infrastructure
The Infrastructure automatically creates Task resources for profile ehealth-task and Communication resources for profile ehealth-message in different situations. An overview is provided for each resource type in the following.
Overview of Task Created by the Infrastructure
The following table provides an overview of Tasks produced by the Infrastructure. For more detailed information follow the link in the reference column.
Situation/Trigger | Task.category | Reference |
---|---|---|
Measurement submitted at an unexpected time | UnexpectedMeasurementResolving | |
Missing measurement | MissingMeasurementResolving | |
Measurement submitted with Data Absent Reason. | MeasurementForAssessmentAbsentValue | |
Automated processing rule: FallbackRule | MeasurementForAssessment | |
Automated processing rule: Assessment of Absolute Reference Ranges
| MeasurementForAssessment | |
Automated processing rule: Assessment of Absolute Reference Ranges
| MeasurementForAssessment | |
Automated processing rule: Assessment of Absolute Reference Ranges
| Creates two tasks:
| |
Automated processing rule: Assessment of Absolute Reference Ranges
| Creates two tasks:
| |
Automated processing rule: Assessment of Relative Reference Ranges
| MeasurementForAssessment | |
Automated processing rule: Assessment of Relative Reference Ranges
| MeasurementForAssessmentNotTriaged | |
Automated processing rule: Assessment of Relative Reference Ranges
| Creates two tasks:
| |
Automated processing rule: Assessment of Relative Reference Ranges
| Creates two tasks:
| |
Automated processing rule: Assessment of Questionnaire Response | MeasurementForAssessment | |
Automated processing rule: Assessment of Questionnaire Response
| MeasurementForAssessmentNotTriaged | |
Automated processing rule: Assessment of TeleCare Nord COPD Questionnaire | MeasurementForAssessment | |
When a CarePlan has been activated and there is an open SSL Order | OpenSSLOrder | |
When the expiration date for device calibration has exceeded | CalibrationNeeded |
Overview of Communication Created by the Infrastructure
The following table provides an overview of Communication (of profile ehealth-message) produced by the Infrastructure and how creation and suppression of creation can be controlled with CommunicationRequest.
Info |
---|
For information regarding how to control the creation and content of Communications see Controlling Creation of Messages. |
The table does not provide all elements of either Communication or CommunicationRequest. Please consult particular sections corresponding to the situations for details. Element <some element name> describes what values are used in Communication in a specific situation.
Situation/Trigger | Created by Default | Opt-in Supported | Opt-out Supported | Element category | Element reasonCode | Element restriction-category | Element medium | Element recipient | Element recipientCareteam |
---|---|---|---|---|---|---|---|---|---|
Measurement submitted at an unexpected time | No | Yes | No |
|
|
| One Communication for each CareTeam associated with the CarePlan and have opted in. | ||
No | Yes | No | Default: none Can be overridden with CommunicationRequest | Patient | |||||
Automated processing rule requests Communication(s) to be made. | Yes | No | Yes |
| Can vary with the automated processing rule. See execution of rule and output in https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/538935313/Behind+the+Scenes#Execution-of-rule-and-output . | One Communication for each CareTeam associated with the CarePlan which has not opted out. | |||
No | Yes | No | Default: none Can be overridden with CommunicationRequest | Patient | |||||
Missing measurement | Yes | No | Yes |
|
|
| One Communication for each CareTeam associated with the CarePlan which has not opted out. | ||
No | Yes | No | Default: none Can be overridden with CommunicationRequest | Patient | |||||
Creation of EpisodeOfCare | Yes | No | Yes |
|
| No value assigned | One Communication for each CareTeam associated with the EpisodeOfVare which has not opted out. | ||
No | Yes | No | Default: none Can be overridden with CommunicationRequest | Patient | |||||
Creation of CarePlan ($apply) | Yes | No | Yes |
|
| No value assigned | One Communication for each CareTeam associated with the CarePlan which has not opted out. | ||
No | Yes | No | Default: none Can be overridden with CommunicationRequest | Patient | |||||
Change in CarePlan of CareTeam, scheduled CareTeam, status or scheduled status | Yes | No | Yes |
|
| No value assigned | One Communication for each CareTeam associated with the CarePlan which has not opted out. | ||
No | Yes | No | Default: none Can be overridden with CommunicationRequest | Patient | |||||
Change in EpisodeOfCare of CareTeam, scheduled CareTeam, status or scheduled status | Yes | No | Yes |
|
| No value assigned | One Communication for each CareTeam in EpisodeOfCare.team which has not opted out. | ||
No | Yes | No | Default: none Can be overridden with CommunicationRequest | Patient | |||||
Reminder to submit measurement | Yes | No | Yes |
|
| No value assigned |
Can be overridden with CommunicationRequest | Patient | |
If a contract has a reminder days setup and a matching order/orderline has an agreedDateFrom – reminder days = current day | Yes | No | No |
|
|
|
| Patient |
Info |
---|
Currently, no automated processing rules - neither ready for production nor slated for production - specify or request the creation of Communication. |