Frequently Asked Questions

Provides questions and answers for developing Telemedicine Solutions for the eHealth Infrastructure.

FHIR

FHIR modelling questions

  1. Question: Plans. Which parts of a plan can be adapted to the individual citizen? Both when the plan is activated and subsequently.

    1. Answer: It is the definitions that are being rolled out. Technically, the things that have been transferred to CarePlan and ServiceRequest can be changed.

  2. Question: Plans. Are titles and descriptions of plan definitions copied into the care plan when this is created?

    1. Answer: No these are currently not copied.

  3. Question: Plan. When a plan reaches an end date, will it then change CarePlan.status to “completed”? Is there automated support for this in the infrastructure?

    1. Answer: No, this is not automated in the infrastructure. It is the employee solution's choice what to do when the plan reaches the end date. It is possible to schedule a status change that matches the end date via the ehealth-careplan status schedule field. A similar ehealth-episodeofcare status schedule is available on EpisodeOfCare.

  4. Question: Starting rules. How should they be handled in the citizen solution and whether all options should be supported?

    1. Answer: Not all options are supported in KAM. KAM uses a subset of the legal values ​​in https://docs.ehealth.sundhed.dk/latest-released/ig/StructureDefinition-ehealth-plandefinition-definitions.html#PlanDefinition.action.relatedAction.relationship
      The following values ​​are currently used: concurrent, after-start, after, after-end

  5. Question: Seamless activities

    1. Answer: The platform sees the activities of the seamless group as separate activities and therefore separate tasks to be acknowledged.

  6. Question: Response from e.g. the create-episode-of-care operation does not contain the created resources as shown in the example in the implementation guide, but only the individual transaction responses.

    1. Answer: Remember to set the header ”Prefer: return=representation"

  7. Question: Measurement. NPU codes are locked to specific units of measurement. If, for example, a bathroom scale is set to pounds, then must it be converted to kg? Is it possible to record the original raw measurement value anywhere?

    1. Answer: No. This is not possible. See https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/1717436538/Preparing+and+Submitting+Measurements#Ensuring-Use-of-Proper-Units

  8. Question: Measurement. How does an e.g. employee solution support the employee attaching a comment to received measurements/answers?

    1. Answer: Consider using ehealth-communication. If clinical relevance then consider ehealth-clinicalimpression (DK.EHEALTH.SUNDHED.FHIR.IG.CORE\ehealth-clinicalimpression - FHIR v4.0.1)

  9. Question: Triaging. Is it possible to see exactly which limit value led to the triaging result?

    1. Answer: No this is currently not possible. However, the limit values ​​are available on the observation.

  10. Question: Triaging. Is the triaging creation of tasks synchronous or asynchronous?

    1. Answer: Asynchronous - Measurement service receives synchronously, which however sends events to task service that takes the task asynchronously.

  11. Question: Observation.code should be a certain small selection of codes. Most measuring devices provide observations for a lot of extra quality parameters. Should these be coded into Observation.ehealth-quality? And are there any guidelines for how to fill in Quality.qualityCode? For example, when to use which values ​​of "Device Measuring Quality" (https://docs.ehealth.sundhed.dk/latest-released/ig/ValueSet-ehealth-device-measuring-quality.html)?

    1. Answer: No. It is currently not possible to additional quality parameters, and it is a fixed set of codes

  12. Question: ClinicalImpression. How should the codes in the value-set ClinicalImpressionFindingCodes be interpreted about the triage colours red, yellow, and green when it comes to measurements?

    1. Answer: The Color is on ClinicalImpression which is the result of the triaging. This then generates a Task with a given priority. There is no one-to-one mapping for priority. It is the rule in the library that sets priority. The rules in the Infrastructure use and consistent priority are as follows: STAT and ASAP as red, URGENT is yellow, and ROUTINE is green

  13. Question: Consent. How is consent stored/edited in the infrastructure? How is this expected to be filled in? What are the processes around withdrawal and possibly regretting this?

    1. Answer: Consent is described here: . The infrastructure does not relate to the withdrawal of Consent. See . The Content status must be "active" for consent to be part of the controls. So possible to set the status to "rejected" or "inactive" upon withdrawal?

  14. Question: Episode of care. Is there is place to indicate the name of an episode-of-care?

    1. Answer: No there is no name or description in FHIR episode-of-care. Maybe diagnosis be used for the name.

  15. Question: ServiceRequest. How long must a ServiceRequest be exceeded before a Task is created?

    1. Answer: The task will be created by a job the following night (according to the timing specified). See also and .

  16. Question: ServiceRequest.code has cardinality 0..1 and ActivityDefinition.code has cardinality 1..1. Both have required binding on Activity Definition Code ValueSet. When a ServiceRequest references an ActivityDefinition, their codes will then be the same in all cases, and if so, why is there a difference in cardinality?

    1. Answer: There should be no difference. ActivityDefinition.code is always set and copied to ServiceRequest.code and therefore in practice always set. So short answers: Yes ServiceRequest.code is always set.

  17. Question: get-patient-procedures fail with "Invalid date compared to configured value" for some date ranges. What are the rules for valid start and end times for the operation?

    1. Answer: There is a limit on the number of days back in time you can request in the request. This is currently not documented. It is currently set to a maximum of 30 days (MeasurentMaxAgeDays). This means that the start and end date of the request must be a maximum of the previous 30 days. There are no limitations in days in the future.

Design and Architecture

  1. Question: How are components from KAM reused in Telemedicine solutions? Are they published as NPM packages?

    1. Answer: No. KAM is a micro frontend architecture and is loaded and integrated runtime in the browser. See

  2. Question: Cleaning up test data. Are there any good tips for how to clean up a little, and avoid having to live with all the data errors you get built up during development?

    1. Answer: The platform “never forget”. Update relevant resources and set status to error states ("Entered-in-error" or "Retired" or similar). Use these states to not be included in searches.

Security and Login

Questions regarding security and login:

  1. Question: User not log on after the solution has been deployed to production?

    1. Answer: Please check if you have set the kc_idp_hint query parameter. The parameter is used in Keycloak to allow clients to override the default identity provider. If the client overrides the default identity provider by setting the kc_idp_hint to either a value or empty, the automatic redirect to SEB does not work. See also Server Administration Guide (keycloak.org)

Development and deployment lifecycle

Questions regarding development and deployment lifecycle:

  1. Question: Where do I find a description of responsibilities and workflow on how to deploy a new application on the infrastructure?

    1. Answer: See .

  2. Question: Docker basic images are available from eHealth DK's docker registry. How are these accessed (username and password are required)?

    1. Answer: To get access you need to be registered as a supplier. Contact FUT-S. See .

  3. Question: The documentation states that images must be signed with a private key and that the public key must be sent. How is the public key sent?

    1. Answer: Contact FUT-S. See .

  4. Question: Helmsman config is mentioned in . It is unclear whether this is something the supplier needs to deal with, or whether this is platform owner documentation for deploying applications.

    1. Answer: The Telemedicine Solution provider shall configure Helmsman.