...
...
The Sharing Approval Policy of a ServiceRequest expresses wheter the whether the approval for registrering registering documents is automated or done manually. It is defined in ServiceRequest.ehealth-sharingApprovalPolicy
.
...
automatic
- used when the approval of registering documents is wanted to be done automatically.
manual
- used when the approval of registrering registering documents should be done manually.
The inital initial ServiceRequest.ehealth-sharingApprovalPolicy
is a copy from the ActivityDefinition, made at the time of creation.
...
The sharing Approval Policy is set using a conceptMap
The ConceptMap http://ehealth.sundhed.dk/ConceptMap/activitydefinition-code-to-perform-sharing
is used to determine if the Sharing Approval Policy should be set based on the ServiceRequests code: http://ehealth.sundhed.dk/vs/activitydefinition-code
...
The column “Activitydefinition-code-to-perform-sharing” is used to decide wheter whether the Sharing Approval Policy should be set for the given activitydefinition code, by use of the ConceptMap.
...
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 . |
Expand |
---|
title | 🛈 Expandable section for status change requirements prior release FUT-I 2024.4 |
---|
|
A starting date/time is required when ServiceRequest.status is all but draft , revoked , or entered-in-error . The starting date/time can be provided as: ServiceRequest.occurrenceDateTime - here the starting date/time is also the ending date/time.
ServiceRequest.occurrencePeriod.start
ServiceRequest.occurrenceTiming.repeat.boundsPeriod.start
|
...
Timing expression copied from PlanDefinition/ActivityDefinition created in KAM
If recurring timing expression is copied from PlanDefinition/ActivityDefinition created in KAM the following transformation is needed for the infrastructure to resolve the timing:
For periodUnit: WK and period greater than 1.
...
If PlanDefinition.action[].timingTiming.repeat.periodUnit
is “WK” (Week) and PlanDefinition.action[].timingTiming.repeat.period
is greater than 1. The following changes are needed for the expression to be resolvable in the infrastructure:
...
Expand |
---|
title | 🛈 Expandable section for status change requirements after release FUT-I 2024.4 |
---|
|
A valid occurrence, with a starting date/time is required when ServiceRequest.status is all but draft , revoked , or entered-in-error . The starting date/time can be provided as: ServiceRequest.occurrenceDateTime - here the starting date/time is also the ending date/time.
ServiceRequest.occurrencePeriod.start
ServiceRequest.occurrenceTiming.repeat.boundsPeriod.start
See validation requirements applied to ServiceRequest.occurrence[x] on https://ehealth.sundhed.dk/fhir/StructureDefinition-ehealth-servicerequest.html |
Timing expression copied from PlanDefinition/ActivityDefinition created in KAM
If recurring timing expression is copied from PlanDefinition/ActivityDefinition created in KAM the following transformation is needed for the infrastructure to resolve the timing:
For periodUnit wk
(weekly)
...
If PlanDefinition.action[].timingTiming.repeat.periodUnit
is wk
(Week), apart from ServiceRequest.occurrenceTiming.repeat.boundsPeriod.start
being mandatory, the following changes are required for the expression to be resolvable by the infrastructure:
Expand |
---|
title | 🛈 Expandable section for changes of Timing prior release FUT-I 2024.4 |
---|
|
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
|
Example
Expression from PlanDefinition.action[].timingTiming.repeat
created in KAM. (Intention from KAM: Every second Monday at 10 AM, for 2 months)
...
Code Block |
---|
|
Expand |
---|
title | 🛈 Expandable section for changes of Timing after release FUT-I 2024.4, as a consequence of CCR0212: Ensure that timing expressions that can be created in KAM are supported |
---|
|
boundsDuration If “Angiv varighed” is filled out, boundsDuration should be used to set ServiceRequest.occurrenceTiming.repeat.boundsPeriod.end boundsDuration must be removed
Info |
---|
TimeOfDay and DayOfWeek do not need to align with BoundsPeriod.start , as Infrastructure will handle the timing adjustments accordingly.
|
|
Example
Expression from PlanDefinition.action[].timingTiming.repeat
created in KAM. (Intention from KAM: Every second Monday at 10 AM, for 2 months)
Code Block |
---|
|
"repeat": {
"frequency": 1,
"period": 2,
"periodUnit": "wk",
"dayOfWeek": [ "mon" ],
"timeOfDay": [ "10:00:00" ],
"boundsDuration": {
"unit": "mo",
"value": "2"
}
} |
Must be transformed to:
Expand |
---|
title | 🛈 Expandable section for transformations prior release FUT-I 2024.4 |
---|
|
Code Block |
---|
| "repeat": {
"frequency": 1,
"period": 2,
"periodUnit": "wk",
"boundsPeriod": {
"start": "2023-09-04T10:00:00.000+02:00" <-- Starting from a Monday at 10 AM
"end": "2023-11-04T10:00:00.000+02:00" <-- ending after 2 months
}
} |
|
For periodUnit: other than WK(weekly)
...
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
Expression from PlanDefinition.action[].timingTiming.repeat
created in KAM. (Intention from KAM: Every third day at 10 AM, for 2 months)
...
Code Block |
---|
language | Expand |
---|
title | 🛈 Expandable section for transformations after release FUT-I 2024.4, as a consequence of CCR0212: Ensure that timing expressions that can be created in KAM are supported |
---|
|
Code Block |
---|
| "repeat": {
"frequency": 1,
| duration "durationUnith "frequency": 1,
"period": 3,
"periodUnit": "d",
"dayOfWeek": [ "mon" ],
"timeOfDay": [ "10:00:00" ],
"boundsPeriod": {
" | boundsDuration{
"unit": "mo",
"2023-09-01T08:00:00.000+02:00" <-- always required, can occur on any day of the week at any time of day
| value22023-11-01T08:00:00.000+02:00" <-- ending after 2 |
} |
Must be transformed to:
For periodUnit other than wk
(weekly)
...
Expand |
---|
title | 🛈 Expandable section for changes of Timing prior release FUT-I 2024.4 |
---|
|
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
|
...
Expand |
---|
title | 🛈 Expandable section for changes of Timing after release FUT-I 2024.4, as a consequence of CCR0212: Ensure that timing expressions that can be created in KAM are supported |
---|
|
boundsDuration If “Angiv varighed” is filled out, boundsDuration should be used to set ServiceRequest.occurrenceTiming.repeat.boundsPeriod.end boundsDuration must be removed
Info |
---|
TimeOfDay and DayOfWeek do not need to align with BoundsPeriod.start , as Infrastructure will handle the timing adjustments accordingly.
|
|
Expression from PlanDefinition.action[].timingTiming.repeat
created in KAM. (Intention from KAM: Every third day at 10 AM, for 2 months)
Code Block |
---|
|
"repeat": {
"duration": 2,
"durationUnit": "h",
"frequency": 1,
"period": 3,
"periodUnit": "d",
"timeOfDay": [ "10:00:00" ],
"boundsDuration": {
"unit": "mo",
"value": "2"
}
} |
Must be transformed to:
Expand |
---|
title | 🛈 Expandable section for transformations prior release FUT-I 2024.4 |
---|
|
Code Block |
---|
| "repeat": {
"duration": 2,
"durationUnit": "h",
"frequency": 1,
"period": 3,
"periodUnit": "d",
"boundsPeriod": {
"start": "2023-08-28T10:00:00.000+02:00" <-- Starting from a Monday at 10 AM
"end": "2023-10-28T10:00:00.000+02:00" <-- ending after 2 months
}
} |
|
...
Expand |
---|
title | 🛈 Expandable section for transformations after release FUT-I 2024.4, as a consequence of CCR0212: Ensure that timing expressions that can be created in KAM are supported |
---|
|
Code Block |
---|
| "repeat": {
"duration": 2,
"durationUnit": "h",
"frequency": 1,
" | duration2durationUnithfrequency": 1timeOfDay": [ "10:00:00" ],
" | period3,periodUnit": "d",
"boundsPeriod": {start": "2023-08-28T06:00:00.000+02:00" <-- always required, can occur on any day of the week at any time of day
" | start0828T10:00" <-- Starting from a Monday at 10 AM
"end": "2023-10-28T10:00:00.000+02:00" <-- ending after 2 months
}
}:00" <-- ending after 2 months
}
} |
|
Managing offering ServiceRequest as extra activities
The extension includeAsExtra
on ServiceRequest, is used to determine whether the ServiceRequest should be provided as an extra activity in the $get-patient-procedures
result. The value for includeAsExtra
is copied from the corresponding PlanDefinition.action
during creation of the ServiceRequest ($apply operation), and the value can be updated on any individual ServiceRequest.
The value for includeAsExtra
can be set through the TimingPicker. The default value for includeAsExtra
is false when not scheduled or adhoc, and true when a schedule has been configured.
...
Maintaining ServiceRequest Status
...
Note |
---|
It is expected that a Telemedicine Solution warns the user in case the 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-releasedfhir/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 )
|
...
manual
, a clinician must manually approve each submitted measurement for document registering
automatic
, the eHealth Infrastructure automatically creates the approval for document registering
If not set, the default behavior behaviour is manual
.
Info |
---|
The ActivityDefinition.ehealth-sharingApprovalPolicy is copied to a ServiceRequest as the initial value upon $apply where it can subsequently be adjusted. |