Ich entwerfe eine SaaS-App für die Gesundheit und würde mich über die anfängliche Modellierung freuen. Ich begann mit this thread, um zu bestätigen, dass ich EAV überhaupt verwenden sollte - die Antwort war ja aufgrund der Unübersichtlichkeit der klinischen Daten. Ich habe dann angefangen, nach einer möglichen NoSQL-Option zu suchen, anstatt zu versuchen, sie in SQL einzupassen. Es scheint, eine Kombination der beiden würde am besten funktionieren. Ich werde versuchen, die Anforderung und meine Idee zu erklären und würde jede Rückmeldung lieben. Ich benutze .net.Hilfe bei der Modellierung von EAV in SQL/NoSQL-Mix (Sql-Server/RavenDB)
Anforderung Auf höchstem Niveau haben wir einen "Patienten". Für einen Patienten, der medizinische Hilfe benötigt, wäre etwas passiert. Nennen wir das "Vorfall". Für jeden "Vorfall" kann ein "Patient" mehrmals gesehen werden, "Besuche" genannt. Alle klinischen Daten (Tests/Verlauf/etc) werden nach "Visit" gespeichert. So haben wir:
Patient 1 - ∞ Vorfälle 1 - ∞ Besuche 1 - 1 Klinische Daten (viele mögliche Schlüssel/Wert-Paare)
Lösung (Feedback wäre toll)
SQL Tabellen
Patient
- PatientID
- other patient info
Incident
- IncidentID
- PatientID
- Other incident info
Visit
- VisitID
- IncidentID
- Datetime
NoSQL DocumentDB (wahrscheinlich RavenDB)
{ // Visit document - id: visits/12345
"Patient": {
"PatientId": "patients/54321",
"Name": "John Smith"
},
"Incident": {
"IncidentId": "incidents/55555",
"Name": "Cardiac Arrest"
},
"VisitData": {
"BP": "110/70",
"Hypertension": "True"
"Cardiac Disease": "Angina"
"Stroke": "False"
.... (could be tens or hundreds of key/value pairs)
},
}
Das ist, was ich bisher haben. Abgesehen von allgemeinen Meinungen (alle willkommen), habe ich mich gefragt, ob jemand denkt, dass ich alle Vorfälle und Besuche für jeden Patienten in EINEM Dokument machen sollte, im Gegensatz zu einem Dokument pro Besuch (was das oben Gesagte sein soll). Ich glaube, dass die Dokumente "zu groß" werden könnten (ohne eine Vorstellung davon zu haben, was zu groß in einer dokumentbasierten Datenbank ist), und fast immer basieren die Ansichten auf einem Besuch - obwohl wir Trendberichte auch über Besuche hinweg zeigen müssten .
Vielen Dank im Voraus!
Mike
Haben Sie NoSQL und Gesundheitsdaten irgendwie zusammenarbeiten ?. Ich hatte dieselbe Frage. – userJT