Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: spelling and grammar

...

Over the lifecycle of a CarePlan, its status might change. Adjustment of CarePlan.status can be performed through CarePlan Update by:

...

Info

Enforced constraints on the duration of scheduled status with value ‘on-hold’.

When setting scheduled status changes it is automatically enforced how long the CarePlan can be planned as paused. This is done to prevent patient plans from being forgotten in a paused state.

When setting CarePlan.ehealth-statusschedule:

  • If no further status changes are planned by the user, then the infrastructure will automatically insert a planned change back to ‘active’ 7 days after the start of ‘on-hold’

  • Maximum The maximum duration of a planned ‘on-hold’ status is 30 days.

Info

CarePlan automatically maintains a status history CarePlan.statushistory:

  • The status history is maintained as a list of ehealth-statusHistory objects each containing:

    • A status.

    • The Period of time period the status was set.

  • The history is automatically updated when the status is (regardless of whether the status is set manually or is a scheduled change):

    • A new entry is added with the new status and an open-ended period that started at the time of the status change.

    • The Period.end in the entry for the previous status is updated to be the same as the start of the new entry.

      • One should consider the period to be exclusive-end to avoid confusion as the Period.end of one historic status and the Period.start of the next have the same timestamp.

...

Over the lifecycle of a CarePlan, the set of CareTeam involved might change. Adjustment of CareTeam involved can be performed in a number of several ways:

Note

CareTeam Handover and Unhandled Tasks

When adjusting the involved CareTeams, consideration should be made as to the handling of Task resources pertaining to about the CarePlan, its measurements or other resources related to the CarePlan. For employees, being part of a CareTeam involved in the CarePlan (and/or EpisodeOfCare) is a prerequisite to accessing the CarePlan, related measurements and so forth. Access to Task on the other hand is governed by being identified in the Task explicitly. Therefore, hand over handover from one set of CareTeam to another could entail:

  • A period where both sets of CareTeam are involved in the CarePlan. In this period, both sets of CareTeam will be able to access CarePlan, measurements and so on as well as the related Task resources. The set of CareTeam parting involvement should handle Task resources created prior to before the period.

  • Adjusting the CareTeam(s) designated as Task.taskResponsible on for existing Task resources to include the set of CareTeam joining the CarePlan.

...

  • occurrenceDateTime - used when the activity should be performed at a specific point in time, that is date and time.

  • occurrencePeriod - used when the activity should be performed once during a period of time. The period may be open, that is, without the period end being specified.

  • occurrenceTiming - used when the activity should be performed in a recurring manner, for instance, each week or at specific days or times of day.

...

Info

The initial measurement regime can express “at any time” also known as ad-hoc by means of using a Timing. When no additional constraints are set (for instance elements count and possibly countMax), “at any time” can be an empty Timing construct. To prevent removal during persisting, Timing.id may contain a random value.

Note

It is expected that a Telemedicine Solution sets the hours part of the measurement regime starting date/time to Timing.timeOfDay in case of a frequency-based Timing (see https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/1661665301/Adhering+to+Care+Plans+and+Measurement+Regimes#When-an-Activity-is-Supposed-to-Happen---The-Notion-of-Resolved-Timing) that has Timing.timeOfDay.

...

  • dayOfWeek

    • dayOfWeek should used to set ServiceRequest.occurrenceTiming.repeat.boundsPeriod.start.

    • The value in dayOfWeek must be removed from ServiceRequest.occurrenceTiming.repeat.dayOfWeek.

  • timeOfDay

    • timeOfDay is ignored for frequency-based timing but should be used to set ServiceRequest.occurrenceTiming.repeat.boundsPeriod.start

    • For clarity, it is advised to remove the value in timeOfDay as it is not used for frequency-based timing.

  • boundsDuration

    • If “Angiv varighed” is filled out, boundsDuration should be used to set ServiceRequest.occurrenceTiming.repeat.boundsPeriod.end

    • boundsDuration must be removed

...

Over the lifecycle of a ServiceRequest, its status might change. Adjustment of ServiceRequest.status can be performed through ServiceRequest Update by:

...

Info

Enforced constraints on the duration of scheduled status with the value ‘on-hold’ is are the same as for the CarePlan.status.

When setting scheduled status changes it is automatically enforced how long the ServiceRequest can be planned as paused. This is done to prevent patient plans from being forgotten in a paused state.

When setting ServiceRequest.ehealth-statusschedule:

  • If no further status changes are planned by the user, then the infrastructure will automatically insert a planned change back to ‘active’ 7 days after the start of ‘on-hold’

  • Maximum The maximum duration of a planned ‘on-hold’ status is 30 days.

Info

ServiceRequest, like EpisodeOfCare and CarePlan, automatically maintains a status history ServiceRequest.statushistory:

  • The status history is maintained as a list of ehealth-statusHistory objects each containing:

    • A status.

    • The Period of time period the status was set.

  • The history is automatically updated when the status is (regardless of whether the status is set manually or is a scheduled change):

    • A new entry is added with the new status and an open-ended period that started at the time of the status change.

    • The Period.end in the entry for the previous status is updated to be the same as the start of the new entry.

      • One should consider the period to be exclusive-end to avoid confusion as the Period.end of one historic status and the Period.start of the next have the same timestamp.

Note

It is expected that a Telemedicine Solution warns the user in case the status is set to revoked or completed for a triggering ServiceRequest which another (depending) ServiceRequest is relying on for trigger conditions (see https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/1696137281/Managing+Telemedicine+Packages#Setting-up-one-or-more-actions-as-trigger-for-an-action-in-PlanDefinition) when the depending ServiceRequest has ServiceRequest.triggerEnablement set to TRIGGER_ENABLED. A triggering ServiceRequest can be recognized by having a ServiceRequest.meta.tag value trigger (see https://docs.ehealth.sundhed.dk/latest-released/ig/CodeSystem-ehealth-action-type.html).

Note

It is expected that a Telemedicine Solution warns the user in case status is set to revoked or completed for a ServiceRequest where a submitted measurement is used as input for another ServiceRequest (see https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/1717436538/Preparing+and+Submitting+Measurements#Preparing-an-Observation-for-a-Value-Entered-or-Calculated-in-a-QuestionnaireResponse).

The ways to determine whether a ServiceRequest needs a measurement from another ServiceRequest as input are:

  • PlanDefinition.action.participant.type is set to the device (found by doing a ServiceRequest Search reverse include “CarePlan:activity-reference” (see https://docs.ehealth.sundhed.dk/latest-released/ig/CapabilityStatement-careplan.json.html) giving CarePlan which can be traversed through CarePlan.instantiatesCanonical to PlanDefinition), and/or

  • ActivityDefinition.participant.type is set to the device (found by traversing ServiceRequest.instantiatesCanonical)

...

Situation

FHIR ServiceRequest

FHIR ActivityDefinition (referenced by ServiceRequest)

FHIR Goal

Absolute The absolute triaging rule used, no absolute measurement range defined in ServiceRequest

No ServiceRequest.ehealth-referenceRange with type = RAL or GAL

User The user should define an absolute measurement range (see https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/1706229761/Measurement+Ranges#Absolute-Measurement-Ranges).

ActivityDefinition.library references a Library with Library.type = automated-processing.

The Library.identifier is:

  • Identifier.value = urn:uuid:63f0b086-f94d-4cbc-ab0e-f01eb6c27f43

  • Identifier.system = urn:ietf:rfc:3986

Not used (but can co-exist with the use of relative triaging rule/relative measurement range).

Relative The relative triaging rule used, no relative measurement range defined in ServiceRequest

No ServiceRequest.ehealth-referenceRange with type = RELRAL or RELGAL

User The user should define a relative measurement range (see https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/1662025748/Creating+and+Maintaining+Measurement+Ranges#Setting-up-Relative-Reference-Ranges-and-a-Reference-Base).

ActivityDefinition.library references a Library with Library.type = automated-processing.

The Library.identifier is:

  • Identifier.value = urn:uuid:85b7fc91-edaf-48e8-8688-d743e9ebc899

  • Identifier.system = urn:ietf:rfc:3986

Possibly defined, otherwise see the row below.

Relative triaging rule used, no reference base defined

At least one ServiceRequest.ehealth-referenceRange with type = RELRAL or RELGAL exits

User The user should define a reference base (see https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/1662025748/Creating+and+Maintaining+Measurement+Ranges#Setting-up-Relative-Reference-Ranges-and-a-Reference-Base)

...

  • ServiceRequest.triggerEnablement is set to NO_TRIGGER when the ServiceRequest is not depending on trigger conditions. It may trigger other ServiceRequest, though.

  • ServiceRequest.triggerEnablement is set to TRIGGER_ENABLED if it is depending depends on trigger conditions. The ServiceRequest.status is set to on-hold.

...

Info

The current reaction (selected in PlanDefinition.action.ehealth-actionTrigger.action) to the action trigger's trigger conditions being met is to change the ServiceRequest status from on-hold to active. There is no reaction to cause ServiceRequest.status change changes to other values, e.g. completed.

...