Structuring the vector db sources

Hi All, I am building a health app that combines patient lab results data with research papers and gives personalised responses, it extracts summary from the documents and displays in a text area. What's the best way to structure the vector db? At the moment the app loads all the pdfs and fine tunes every time the page loads. It should be done only once when the patient logs in first time. It takes minutes to load each time... I think one solution is to use workflows (trigger text generation once a week or so) and cache the responses.

The other question is how to build a vector db structure where each patient has a different document folder and when they are logged in and chat with the gpt4 model, the system knows which patient's data to use when generating the response.