@hanshendrickx sorry for my late answer, I was busy on other matters….
I understand there different type of data :
The questionnaires, today for 130+ specialties, 100,000 diseases and 20,000 signa and symptoms. This feels like an expert, domain specific database, that needs to be stored somewhere. It is not personal data, but expert data. It can be stored on a central location.
However, the questionnaires being created by doctors, we can imagine that the questionnaires are stored on the Solid POD of the doctor who created it. All the existing ones could be on your POD, and the new ones on whoever is creating them.
Then personal data are the answers to the questionnaires for every patient. It makes sense that this data is stored on the patient Solid POD, with linked reference to the questionnaire(s) for which the answers are.
By the way, comes also the point of versioning the questionnaires, because if the questionnaire evolves, then a given set of answers might not correspond anymore to the latest version of the questionnaire, and we need to still be able to refer to a previous version of the questionnaire.
The generated PDF is from the patient answers, it is also personal data, also stored on the patient POD.
The doctor can add precisions to the patient PDF, for example pacemaker number. This extra information can be stored in patient POD with linked reference to the doctor who created this data.
For the rest, it is a matter of evolving your existing application to connect to the data in this decentralized stores instead of your existing database. You can put me in contact with the developer who is working on MP50, I am open sourcing my technology (Generative Objects), which is now connected to Solid and can be used to very fast model data to be stored to Solid and generate the code for you. It can generate full applications, including front end, but in your case you could only generate the part that connects to Solid and integrate it in your existing MP50 through the generated API you will get. Warning : it is still experimental, but I am fully dedicated to make it work, so if you are ok with this, I am happy to help.
Also comes the point to connect patients and doctors. I guess that from his application, the patient could find the name / address / identification of his doctor so that he/she can explicitely authorize the doctor to access his/her data. There must be some doctors directory to list all the doctors connected to MP50, and same the other way round : a way for a doctor to find a patient, so a directory listing all patients. Not so sure about this part though, but there may be other ways to do (exemple : when you meet your doctor, you let him scan your qrcode integrated in your app, so that the connection can be made very easy)
By the way, this is the announcement of the open sourcing of my technology : https://modeling-languages.com/low-code-open-source-platform-generative-objects/
Hope it helps.