Sto sviluppando un'applicazione per mantenere alcuni dei dati in pazienti cronici, i dati provengono da un sottoinsieme molto rigido di dati, segni vitali, esami, ecc.
A prima vista ho pensato di creare un modello Patient con has_many incontri, e di inserire tutte le informazioni in un campo diverso come (età, altezza, peso, ecc), ma si tradurrebbe in un grande modello. Quindi mi sono interrogato sull'immersione per rendere più semplice la manutenzione e la scalabilità se in un paio di mesi ho bisogno di registrare un nuovo esame, in questo momento ho pensato a qualcosa di simile:
paziente
name: string,
address: string,
phone: integer,
diagnose: string,
etc...
Incontri
patient_id: ObjectID,
age: Integer,
vital_signs: [ { height, weight, bmi, systolic_pressure, diastolic_pressure } ],
exams: [ { creatinine, total cholesterol... } ],
next_encounter: Date
Avrò comunque bisogno di accedere a bmi
per esempio se voglio ottenere quante persone nella comunità sono obese (suggerimento: un sacco di cose), quindi incorporare magari non è una buona idea. In ogni caso, tutte le "analisi" saranno effettuate solo mensilmente (o meno).
Ho scelto mongodb, perché temo che i requisiti per questo database cambino di volta in volta, quindi la flessibilità è importante.
Forse in questo caso poiché i dati sono strutturati, ogni documento avrà gli stessi tipi di campi, un database relazionale potrebbe essere migliore? Non penso che abbia senso usare un database nosql in un modo sql, giusto?
PS.- Ho letto questo articolo dal blog di mongodb, e sono più confuso se questo sia davvero l'approccio migliore.