Table of Contents |
---|
...
Observation/QuestionnaireResponse/Media/Communication (ehealth-communication)
The Intrastructure creates Observation, Media, and QuestionnaireResponse (with status completed) is created by calling telemedicine solution calls $submit-measurement. A draft
Draft QuestionnaireResponse (with status in progress) can be created and updated directly.
Communication read | ||||
User Type | EpisodeOfCare Context | Patient Context | CareTeam Context | |
---|---|---|---|---|
Practitioner | optional but when present: must match communication.episodeOfCare | required if EpisodeOfCare context is not present: must match communication.subject Only checked if EpisodeOfCare Context is not present. | A match must be found either through the Careteam or the UserID
| |
Patient | - | required: must match communication.recipient or communication.sender | - | |
System | - | - | - |
Communication create/patch | ||||
User Type | EpisodeOfCare Context | Patient Context | CareTeam Context | Extra permission |
---|---|---|---|---|
Practitioner | optional but when present: must match communication.episodeOfCare | required if EpisodeOfCare context is not present: must match communication.subject | A match must be found either through the Careteam or the UserID
| |
Patient | - | required: must match communication.subject | - | communication.sender must match AuthToken.userId |
System | - | - | - |
Communication search | |||
User Type | EpisodeOfCare Context | Patient Context | CareTeam Context |
---|---|---|---|
Practitioner | required: search param must match the context | - | A match must be found either through the Careteam or the UserID
|
Patient | - | required: context must match the subject and either of sender or recipient search params | - |
System | - | - | - |
Observation read | |||
User Type | EpisodeOfCare Context | Patient Context | CareTeam Context |
---|---|---|---|
Practitioner | required: must match observation.episodeOfCare | -- | required: If the CareTeam is assigned on the EpisodeOfCare:
If the Careteam is assigned to the CarePlan:
|
Patient | optional but when present: must match observation.episodeOfCare | required when EOC context is not present: must match observation.subject Only checked if EpisodeOfCare Context is not present. | -- |
System | -- | -- | -- |
Observation search | |||
User Type | EpisodeOfCare Context | Patient Context | CareTeam Context |
---|---|---|---|
Practitioner | required: search param must match the context | -- | required: If the CareTeam is assigned on the EpisodeOfCare:
If the Careteam is assigned to the CarePlan:
|
Patient | optional but when present: search param must match the context | required when EOC context is not present: search param must match the context | -- |
System | -- | -- | -- |
QuestionnaireResponse read | |||
User Type | EpisodeOfCare Context | Patient Context | CareTeam Context |
---|---|---|---|
Practitioner | required: must match questionnaireResponse.episodeOfCare | -- | required: If the CareTeam is assigned on the EpisodeOfCare:
If the Careteam is assigned to the CarePlan:
|
Patient | optional but when present: must match questionnaireResponse.episodeOfCare | required must match questionnaireResponse.subject | -- |
System | -- | -- | -- |
QuestionnaireResponse search | |||
User Type | EpisodeOfCare Context | Patient Context | CareTeam Context |
---|---|---|---|
Practitioner | required: search param must match the context | -- | required: If the CareTeam is assigned on the EpisodeOfCare:
If the Careteam is assigned to the CarePlan:
|
Patient | optional but when present: search param must match the context | required when EOC context is not present: search param must match the context | -- |
System | -- | -- | -- |
QuestionnaireResponse (status in progress) create/update | ||
User Type | EpisodeOfCare Context | CareTeam Context |
---|---|---|
Practitioner | required: must match questionnaireResponse.episodeOfCare | required: If the CareTeam is assigned on the EpisodeOfCare:
If the Careteam is assigned to the CarePlan:
|
Patient | required must match questionnaireResponse.episodeOfCare | -- |
System | -- | -- |
Media read | |||
User Type | EpisodeOfCare Context | Patient Context | CareTeam Context |
---|---|---|---|
Practitioner | required: must match media.episodeOfCare | -- | required: If the CareTeam is assigned on the EpisodeOfCare:
If the Careteam is assigned to the CarePlan:
|
Patient | optional but when present: must match media.episodeOfCare | required when EOC context is not present: must match media.subject | -- |
System | -- | -- | -- |
Media search | |||
User Type | EpisodeOfCare Context | Patient Context | CareTeam Context |
---|---|---|---|
Practitioner | required: search param must match the context | -- | required: If the CareTeam is assigned on the EpisodeOfCare:
If the Careteam is assigned to the CarePlan:
|
Patient | optional but when present: search param must match the context | required when EOC context is not present: search param must match the context | -- |
System | -- | -- | -- |
$submit-measurement | ||
User Type | EpisodeOfCare Context | Patient Context |
---|---|---|
Practitioner | required | required |
Patient | required | required |
System | -- | -- |
$search-measurements | |||
User Type | EpisodeOfCare Context | Patient Context | CareTeam Context |
---|---|---|---|
Practitioner | required: search param must match the context | -- | required: If the CareTeam is assigned on the EpisodeOfCare:
If the Careteam is assigned to the CarePlan:
|
Patient | optional but when present: search param must match the context | required when EOC context is not present: search param must match the context | -- |
System | -- | -- | -- |
...
realm_access.role | Patient Context | Episode of Care Context | CareTeam Context | Organization Context | Extra Rules / Comments |
---|---|---|---|---|---|
Patient.read | R* | R* | REGULAR SEARCH: To perform a regular Patient Search, the user MUST have the Patient Context. LIMITED SEARCH (Dashboard Search): It is also possible to perform a patient search witha CareTeam Context instead of a Patient Context. In that case, the patients are then retrieved from EpisodesOfCare and CarePlan objects that the CareTeam is involved in. NOTE: The patient resources that are returned from this search are limited and as such only the following information is returned:
*R - THE CONTEXTS ARE MUTUALLY EXCLUSIVE, AS SUCH IF BOTH CONTEXTS ARE PROVIDED IN THE TOKEN, ONLY THE PATIENT CONTEXT IS USED. | ||
Patient.write | R | 1: FHIR operations "create" and "update" are not available on the Patient resource. 2: Only certain attributes are allowed to be patched using HTTP PATCH | |||
Patient$updatePatientWithSKRSData | |||||
Patient$createPatient | |||||
Appointment.read | U | U | For non-group appointments: 1: If an appointment involves a patient, then that patient must be in context 2: The appointment can be read if
3: Searching
| ||
Appointment.write | U | U | For non-group appointments: 1: If an appointment involves a patient, then that patient must be in context 2: The appointment can be written if
| ||
Appointment$exportAsiCal | U | U | The same rules apply to reading appointments Note: Only PRACTITIONER/SSL users can see the names of Practitioner participants in the exported iCal object | ||
RelatedPerson.read | R | Only related persons to the patient in context can be read | |||
RelatedPerson.write | R | Only related persons to the patient in context can be written | |||
Communication.read | U | If the message has a restriction category X, the corresponding RestrictionCategory.X role must be present in the realm_access list. 1: PATIENT users can read
2: PRACTITIONER and SSL users can read
3: Only SYSTEM users can read communication from DEVICE senders | |||
Communication.write | U | 1: Communication must have exactly one sender and one recipient 2: Communication with the category "note" can only be created/patched/deleted if user = sender and (recipient = sender or recipient = a CareTeam). 3: PATIENT users
4: PRACTITIONER and SSL users
| |||
Person$match | Only requires the role “Person$match” Used to lookup person data by CPR, including name and a patient reference, if one exists. This is only a read operation and will not create any resources. The operations are audit logged. |
...