...
Each resource type (see IG Profiles) has certain restrictions to what context is required in order to allow data retrieval or data manipulation.
...
PlanDefinition/ActivityDefinition
These resources are not patient related. Read and Search operations do not require any security context apart from the privilege.
PlandefinitionPlanDefinition/ActivityDefinition | |||
User Type | FHIR Operation | Organization Context | Property updated → role needed |
---|---|---|---|
Practitioner | create/update | required: must match modifierRole.reference | PlanDefinition/ActivityDefinition creation or modifierRole changed → owner All other updates → owner or co-author |
System | - | - | - |
Plandefinition$applyPlanDefinition$apply | |||
User Type | EpisodeOfCare Context | CareTeam Context | |
---|---|---|---|
Practitioner | required: Must match EpisodeOfCare.id | required: Must match EpisodeOfCare.team | |
System | - | - |
...
Provenance.search | |||
User Type | EpisodeOfCare Context | CareTeam Context | |
---|---|---|---|
Practitioner | required: must match EpisodeOfCare search parameter (provenance.target) | - | |
Patient | required: must match EpisodeOfCare search parameter (provenance.target) | - | |
System | - | - |
Consent.create/read/patch | ||
User Type | EpisodeOfCare Context | CareTeam Context |
---|---|---|
Practitioner | Required Must match data.reference | - |
Patient | Required Must match data.reference | - |
System | - | - |
...
Consent.search | ||
User Type | EpisodeOfCare Context | CareTeam Context |
---|---|---|
Practitioner | required: must match EpisodeOfCare search parameter (consent.data.reference) | - |
Patient | required: must match EpisodeOfCare search parameter (consent.data.reference) | - |
System | - | - |
CarePlan/ServiceRequest
ServiceRequests are ServiceRequest is considered a part of a CarePlan and do does not have separate privileges.
CarePlans CarePlan cannot be created directly. They are It is created and assigned to a patient Patient by calling PlanDefinition$apply
...
CarePlan Search | |||
User Type | EpisodeOfCare Context | Patient Context | CareTeam Context |
---|---|---|---|
Practitioner | optional but when present: must match searchparam episodeOfCare | optional but when present: must match searchparam theSubject Only checked if EpisodeOfCare Context is not set. | required: Must match search parameter CarePlan.careteam or CarePlan.episodeOfCare.team. (Only a single search parameter is allowed for this element) |
Patient | optional but when present: must match searchparam episodeOfCare | Always present and must match searchparam theSubject Only checked if EpisodeOfCare Context is not set. | - |
System | - | - | - |
Goal
Goals are Goal is considered as part of a CarePlan and do does not have separate privileges.
...
It is recommended to search based on either a userID or a Careteam. It is technically possible to combine these two search parameters, but the results may be confusing.
Observation/QuestionnaireResponse/Media/Communication (ehealth-communication)
Observation and Media cannot be created directly. They can be created , Media, and QuestionnaireResponse (with status completed) is created by calling $submit-measurement. QuestionnaireResponse drafts A draft QuestionnaireResponse (with status in-progress) can be created directly, while a completed QuestionnaireResponse is created by calling $submit-measurementand 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 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 | - | - | - |
...
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 on the CarePlan:
|
Patient | optional but when present: search param must match the context | required when EOC context not present: search param must match the context | -- |
System | -- | -- | -- |
QuestionnaireResponse drafts (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 on the CarePlan:
|
Patient | required must match questionnaireResponse.episodeOfCare | -- |
System | -- | -- |
...