私は健康 SaaS アプリを設計しており、初期モデリングの助けをいただければ幸いです。私はこのスレッドから始めて、EAV をまったく使用する必要があることを確認しました。臨床データが少ないため、答えはイエスでした。次に、NoSQL オプションを SQL に適合させる代わりに、NoSQL オプションを使用する可能性を検討し始めました。この2つを組み合わせるとより効果的だと思われます。要件と私のアイデアを説明し、フィードバックをお待ちしています。私は.netを使用しています。
要件 最上位には「患者」がいます。患者が何らかの医療援助を必要とする場合、何かが起こった場合、それを「インシデント」と呼びましょう。「インシデント」ごとに、「訪問」と呼ばれる「患者」を複数回見ることができます。すべての臨床データ (テスト/履歴/その他) は、「訪問」ごとに保存されます。したがって、次のようになります。
患者 1 - ∞ インシデント 1 - ∞ 訪問 1 - 1 臨床データ (多くの潜在的なキー/値ペア)
解決策(フィードバックは素晴らしいでしょう)
SQL テーブル
Patient
- PatientID
- other patient info
Incident
- IncidentID
- PatientID
- Other incident info
Visit
- VisitID
- IncidentID
- Datetime
NoSQL DocumentDB (おそらく 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)
},
}
それが私がこれまで持っているものです。一般的な意見 (すべて歓迎) は別として、各患者のすべてのインシデントと訪問を、訪問ごとに 1 つの文書を作成するのではなく、1 つの文書にまとめるべきだと考える人がいるかどうか疑問に思っていました (これは、上記のようになっているはずです)。ドキュメントが「大きすぎる」可能性があり (ドキュメント ベースの DB で大きすぎるとはどういう意味なのかまったくわかりません)、ほとんどの場合、ビューは訪問に基づいています。ただし、訪問全体のトレンド レポートも表示する必要があります。 .
前もって感謝します!!
マイク