Comments (3)
Glad to hear your enjoying the project so far!
- Only allow one user to retrieve/view a resource at a time (only for certain types). Once a user "GET"s a resource that resource cannot be "GET" by any other user until the first user releases it or a timeout expires.
- Very interesting use-case I haven't thought much about this - but you will probably need to add this locking logic to the
persistence
layer. - As for locking out specific ResourceTypes or operations you can control those two things in the fhirConfig
- Very interesting use-case I haven't thought much about this - but you will probably need to add this locking logic to the
- Support a different schema/profile (australian base profile +)
- We are working on IGs/Profiles support now
- Validating that a resource referenced from a created resource contains certain data
- This sounds like referential integrity? Or is this more than that?
As for the best path forward I think a good bit of the work would be done in the persistence
layer, with maybe smaller updates to the router
. For the router
optimally the changes are generic enough to bring into mainline via PR. On the persistence
side you may need to roll your own package due to this specific locking use-case.
I hope this helps! Happy to chat more
Robert
from fhir-works-on-aws-routing.
Thanks for the response.
I had a look at adding the locking logic to the persistence layer, however the persistence layer isn't currently passed the userIdentity which would be required. Would modifying things to pass the userIdentity into the persistence layer seem reasonable to you?
I'm actually starting to wonder if some of our use cases like the locking would best/easiest be handled in the lambda handler before/after calling into the fhir-works-on-aws express pipeline rather than being able to customize the internal behaviour of the fhir server itself... treat the fhir server as a separate service that we layer our business logic over...
Looking forward to seeing what you are doing with IGs as we are just starting to investigate that at the moment!
Thanks
from fhir-works-on-aws-routing.
Would modifying things to pass the userIdentity into the persistence layer seem reasonable to you?
Hmmm yeah I think you would have to pass that in as well (which may require an interface change). Especially since you want to add this locking on 'GET's
The idea of treating the FHIR server as a black box and you intercept it before/after is a strong idea. You could do it before and use the user's access_token as their ID to lock against.
from fhir-works-on-aws-routing.
Related Issues (20)
- Support Patient Everything HOT 2
- Support Bulk Upload HOT 1
- Validation Errors on CapabilityStatement HOT 2
- [Bug] Aegis Touchstone Validation Errors on CapabilityStatement with IGs HOT 6
- GET returns 404 unless id param matches the case of the stored resource HOT 4
- [Bug] When using $docref and having multiple documents in period it does not return the latest HOT 1
- [Feature Request] Log cloudfront request headers for downstream (Goelocation) analytics HOT 2
- [Feature Request] MIME type application/fhir+json HOT 3
- Getting error "Cannot read property 'lookup' of undefined at ServerResponse.header" HOT 1
- change content-type to accept header HOT 2
- Authorization errors should return OperationOutcome resources HOT 4
- [Feature Request] Support resolving temporary bundle references in URI fields HOT 2
- [Feature Request] Support multi tenant Authorization services HOT 2
- [Feature Request] Use the URLPattern API instead of Regular Expressions for Subscriptoin Endpoint Whitelisting HOT 1
- Bundle filtering for global operations HOT 1
- Create interaction without response causes runtime error HOT 1
- Incorrect REST Security ValueSet in CapabilityStatement HOT 1
- Support for PATCH HOT 5
- [Bug] Resource Type in Reference Changed to Parent's Resource Type HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fhir-works-on-aws-routing.