Comments (6)
To elaborate more, I'm less concern about adding the API implementation on backend. Either overloading the existing /resources
call with additional optional params or implementing a new /getUserResources
sounds fine to me. What we do need is the app to pass either userId
or participantId
to backend on the call (along with the proper token
s).
from fda-mystudies.
- Do these resources need to be fetched from the resources set that is configured on the WCP ? If so, that would not be possible because no Participant/User Info is or should be stored on the WCP. Also WCP APIs do not validate mobile app participants/users in any way.
- We dont think we can overload the existing /resources call with optional params for the same reason
- If these resources are elsewhere, would they be mapped to Participant IDs or User IDs already?
- As of today, User ID calls go to Participant Datastore only and Participant ID calls go to either Participant Datastore, Cloud Storage or Response Datastore. So we would recommend that we use one of these to store the resources - and you'd probably want to map them to Participant ID only and not the User ID because you are probably doing the mapping based on some response or other data-point related to the Participant.
- if we could get Resource response data to this new call in the same format that we do today, we can conjoin that list of resources with the WCP list, and display it in the app. Assuming we agree on an order (e.g. all non WCP resources followed by all WCP ones)
- Limitations with such non -WCP resources: We cant have New Resource Push Notification that typically come from the WCP for these kind of resources. And also, any data validations we do in the WCP will not be covered.
Please let us know your thoughts on the above points so we can confirm a timeframe to make this change.
from fda-mystudies.
I also meant to mention, if we need to do more than a short-term workaround and support this as a platform feature, we'd need to know the use-cases for which types of participant data points are likely to be used as a basis to map resources to participants. Example: if it is a response to text choice type of questions.
We would accordingly then add functionality to the WCP to be able to mark questions whose responses must be used for tailored resource delivery to participants. And in the Resources section of the WCP, we would provide the ability to map resources to responses of such questions. That way a participant who answers X to a certain text choice question, for example, would be delivered a certain resource meant to go with X. So we would be able to achieve tailored participant-specific resource delivery in that way without using Participant ID for WCP APIs.
This kind of functionality is of course a full-fledged feature by itself, requiring concerted effort and time of its own for design, development and testing, and so not an ideal target for a short-term
solution.
from fda-mystudies.
Thanks for the info, @SR-btc . To clarify on some points:
- We don't need those resources to be configurable on WCP. We are thinking of storing something like
<StudyId>-<InstitutionId>.pdf
in a Cloud Storage bucket and implement a standalone service to access that. - These data doesn't need to be stored on WCP and we can take care of the backend implementation for this.
We are thinking of this design:
- FE changes
/StudyMetaData/resources
to/StudyMetaData/getUserResources
and add (userId,accessToken,clientToken) to header for this call. - BE ingress controller routes
/StudyMetaData/getUserResources
to a newInstitutionInfo
server. Other/StudyMetaData/*
calls remain unchanged. - The new
InstitutionInfo
server serves/StudyMetaData/getUserResources
by:
*** Validate (userId,accessToken,clientToken) by calling/AuthServer/tokenAuthentication
.
*** If validation succeeds, lookup institutionId for this user (from a separate database that we introduce).
*** If institutionId is found, try to serve<StudyId>-<InstitutionId>.pdf
from Cloud Storage.
*** Otherwise, fallback to calling/StudyMetaData/resources
fromInstitutionInfo
server and return the result to app.
Mainly want to see if this makes sense on a high level. Thanks!
from fda-mystudies.
Just posting as FYI -we have a mail thread running on this.
from fda-mystudies.
closing this as we are not currently planning to implement this in study builder
from fda-mystudies.
Related Issues (20)
- [IDP] [PM] Verification code should be received by the admins to their latest updated phone number HOT 4
- Upgrade from v2.0.10 to v2.0.11: DB Migration Build Fails for Study Builder HOT 17
- [Android][Offline Indicator] Invalid Client: You are offline. Kindly check the internet connection. HOT 1
- [SB] UI Issue > Questionnaires / Active task > Error messages are overlapping in the scheduling screen HOT 6
- [IDP] [PM] [MFA Disabled] Submit button is disabled in the following scenario HOT 2
- [IDP] [SB] Admin is able to create the questionnaires without entering data in the scheduling screen HOT 6
- [Android] Getting 'You are offline' popup message when tried to signup in the mobile app HOT 3
- [IDP] [SB] Edit admins screen > Already added data is getting displayed in the following scenario HOT 6
- [iOS] Not getting the study completion pop up in the study activities screen even though user submitted all the activities HOT 1
- [IDP [QA] [SB] Popup message is getting displayed while adding a non organizational admin in the study builder in the following scenario HOT 2
- Participant manager datastore build is failing
- [PM] [Auth server] Sign in button is disabled in the following screen HOT 1
- [Android][Sign In] Text change needed for the toast message in Sign in screen
- Security Policy violation Binary Artifacts HOT 118
- [SB] 'Please enter the valid URL' error message is getting while importing the study in the study builder HOT 1
- [PM] [Standalone study] Default image is not getting displayed for the Standalone studies in the following scenario
- [Android Configuration] 'Error, can't continue' message when running the Android app in both the emulator and on a mobile device HOT 15
- [SB] Active Tasks > Add Active Task > Select Active Task > Pre-Defined Active Tasks HOT 1
- [Android] Target questions are displaying without considering the source question responce for branching questionnarie in a scenario
- [SB] > Try your formula pop-up >'x' icon is not clickable in pop-up
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 fda-mystudies.