Implementing API RBAC (Role Based Access Control) & Remote Sync ( from the server) for FHIR Core -- Data Access Filter #1604
dubdabasoduba
started this conversation in
Ideas
Replies: 2 comments
-
Can you add a systems diagram please? I don't understand how Redis fits into this |
Beta Was this translation helpful? Give feedback.
0 replies
-
Lgtm, but as discussed let's move out the "FHIR Server Read Optimization" w/three sections 1) HTTP Caching 2) DB Indexing 3) Memoization, and put that section under (3) |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Implementing API RBAC (Role Based Access Control) & Remote Sync ( from the server) for FHIR Core -- Data Access Filter
Context
Data filtering based on User Assignments (DataAccessChecker)
Context
data created by a user based on their assignments.
Sample tags on the
meta
key of a resource.Implementation
How to identify the app & the app sync strategy data?
syncStrategy
key.the app that the user belongs to during syncing data from the server.
fhir_core_app_id
key. Here is a sample for the key data"fhir_core_app_id": "ecbis-saa"
.configurations. The Application ID is the
official
identifier for the Composition resource. Here is an examplesection
key of the Composition look for the entry with theidentifier.value = application
. This is the binary resource that holds the application settings.syncStrategy
key. This will hold the strategy to the application will sync by. Thisstrategies represent the 3 assignment levels.
"syncStrategy": ["Organization","Location","CareTeam"]
How to identify the user's assignments?
How to filter the data based on the user's assignments?
Sync by Location
parentChildren
key of the hierarchy returned by the Practitioner detailsendpoint (sample) we have the child location Ids saved.
Sync by Team (Organization)
Id for the logged-in user.
Team (Organization) in question.
Sync by CareTeam
3 CareTeams.
Beta Was this translation helpful? Give feedback.
All reactions