Establishing a Citizen as a Patient
The Patient resource is a central resource in the eHealth Infrastructure. It plays a number of different roles:
Conveys basic information about the patient (name, address, birth date, gender, civil registration number, demographics information, etc.)
Conveys extended information about the patient
Contact information
Language / Need for an interpreter
Temporary addresses
General practitioner
A Patient is considered a 'singleton' in the eHealth Infrastructure. The patient is primarily a container for demographic information. While it is allowed according to the FHIR specification to have multiple different logical Patient for the same person, it does not fit the case for the infrastructure and the Danish modelling of patient information. As such, the patient resource is shared across different episode of cares and other clinical resources.
Ensuring a Match Between CRN and Citizen
In order to verify correspondence between Citizen name and CRN, a lookup can be made with Person name lookup, based on the CRN given in the input Person resource.
Establishing the Patient
Adding a Related Person
Creating and Maintaining an EpisodeOfCare
See EpisodeOfCare for introduction to use and elements.
Creating the EpisodeOfCare
The EpisodeOfCare is created by invoking $create-episode-of-care.
Preparing Conditions
An EpisodeOfCare relates to one or more conditions. These must be created as part of the $create-episode-of-care operation by including them in the input bundle.
Creating a Consent
Prerequisite to activating the EpisodeOfCare, the citizen’s consent to undergo/be enrolled to the EpisodeOfCare and comprised CarePlan resources must be registered in a Consent. The Consent is created through Consent Create and must contain details as described in the Consent introduction.
Activating the EpisodeOfCare
An EpisodeOfCare is activated by:
Setting the
status
toactive
through an EpisodeOfCare Update.Setting a status change to
active
in theEpisodeOfCare.ehealth-statusschedule
resulting in an automatic status change in the future.
Maintaining EpisodeOfCare Status
EpisodeOfCare.status
can be adjusted in two ways through the use of EpisodeOfCare Update:
Setting
EpisodeOfCare.status
directlySetting a scheduled status change by updating
EpisodeOfCare.ehealth-statusschedule
scheduled changes are applied when the ApplyPlannedChangesJob is run.
Allowed status changes:
From planned to active, onhold, waitlist, cancelled, or entered-in-error
From waitlist to planned, active, onhold, cancelled, or entered-in-error
From active to onhold, finished, cancelled, or entered-in-error
From onhold to active, finished, cancelled, or entered-in-error
From finished to entered-in-error
Enforced constraints on duration of scheduled status with value onhold
.
When setting scheduled status changes it is automatically enforced how long the EpisodeOfCare can be planned as paused (with status
set to onhold
). This is done to prevent patient plans being forgotten in paused state.
When setting EpisodeOfCare.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 ofonhold
Maximum duration of a planned
onhold
status is 30 days.
EpisodeOfCare automatically maintains a status history EpiodeOfCare.statushistory
:
The status history is maintained as a list of ehealth-statusHistory objects each containing:
A status.
The Period of time 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 thePeriod.start
of the next have the same timestamp.
Maintaining the set of CareTeam involved in the EpisodeOfCare
Over the lifecycle of an EpisodeOfCare, the set of CareTeam involved might change. Adjustment of CareTeam involved can be performed in a number of ways:
Through EpisodeOfCare Patch
Setting the
EpisodeOfCare.team
Setting the scheduled team changes in
EpisodeOfCare.ehealth-teamschedule
Through EpisodeOfCare$update-care-teams
CareTeam Handover and Unhandled Tasks
The CareTeams involved in an EpisodeOfCare have access to the EpisodeOfCare, all CarePlan related to it, and all measurements related to ServiceRequest related to the CarePlan and so on (provided the appropriate Role-based access privileges are present for a user using the CareTeam). For Task resources currently created automatically by the infrastructure, the set of CareTeam involved in an EpisodeOfCare are not designated as Task responsible.
There might, however, still exist Task created by other means, for instance Task created on user initiative in a solution. For these, it should be considered whether a change in the set of CareTeam involved in the EpisodeOfCare should also result in adjusting of Task.taskResponsible
(by adding CareTeam added to the EpisodeOfCare).
Adjusting the Period
The period of time in which the EpisodeOfCare is applicable is reflected in EpisodeOfCare.period
. Adjustment of EpisodeOfCare.period
is performed through EpisodeOfCare Patch.
The EpisodeOfCare.status
and EpisodeOfCare.period
are set independently. Setting either causes no automatic change of the other.