As a user, I want to be able to discover available trial data in the system, so that I can read more details on a specific trial.
Implementation
We want to implement search and filter interfaces over the data in the system. The primary data to search/filter over should mostly be part of the "Trial" model, but may also be from other models related to the trial model.
We need to strike a balance between snappy UI and reasonable performance, depending on the size of this initial dataset. As this is a prototype, and the dataset is relatively small, it may be reasonable at this stage to do all search/filter in the client, after loading the required data on one bulk dump. Otherwise, we will have to have a service that supports pagination and querying between client and server.
We will want to present the "result set" of trials in a similar fashion to a search result on Google (ie: not in a table - see attached screenshot, but note that it is just an example, we have different filters, fields).
Tasks
[x] Present a list of trials paginated or otherwise, dependant on considerations above
[x] Have a free text search field that allows the user to filter the table of results based on the query
[x] Have a set of filters, so that the user can filter the results based on discrete values for particular fields. Example fields for first iteration:
[x] Enter age, to filter on age range
[x] Enter year, to filter on trial period
[x] Enter country, to filter on trial location
[x] Enter drug, to filter on trial drug
[x] Enter condition, to filter on trial condition
Note: some of these filters may require us to create additional lookup tables. Example: we might create a lookup table of health conditions, which is a list made from all health conditions found in the trial data, and and use that to let the user select from available health conditions
Note: All filters that are a choice from a list should be implemented in such a way that a user can filter the list by entering a query, or, by selecting from the list.
[x] The exact data for each result entry as displayed needs to be defined. We can start with:
User story
As a user, I want to be able to discover available trial data in the system, so that I can read more details on a specific trial.
Implementation
We want to implement search and filter interfaces over the data in the system. The primary data to search/filter over should mostly be part of the "Trial" model, but may also be from other models related to the trial model.
We need to strike a balance between snappy UI and reasonable performance, depending on the size of this initial dataset. As this is a prototype, and the dataset is relatively small, it may be reasonable at this stage to do all search/filter in the client, after loading the required data on one bulk dump. Otherwise, we will have to have a service that supports pagination and querying between client and server.
We will want to present the "result set" of trials in a similar fashion to a search result on Google (ie: not in a table - see attached screenshot, but note that it is just an example, we have different filters, fields).
Tasks