2008年2月19日火曜日

体調を記録するアプリケーションの作成 - UML で概念モデリング 2

前回、太郎くんの、日々の病気の症状の記録をモデル化することを考えた。ここで再度、太郎くんの記録しておきたい症状の例を挙げておく。

2007.4.1 : 今日も頭痛が朝から続いている。夕方には、腹痛も加わってきた。

2007.4.2 : 朝は昨日よりも頭 痛は和らいでいた。昼間、吐き気あり。夕方からは眩暈も加わってきた。

最後には、以下のようなモデルで「症状」の記録を表現した。080219-006 

 

特定の身体部位とは結びついてない症状

上記のモデルを作成するとき、「身体部位」と「感覚」の組み合わせによって表現される症状を中心に考えた。では、症状の記録の例にあった、「吐き気」「眩暈」はこのモデルで表現できるだろうか?

まず、「吐き気」について考えてみる。吐き気というのは、人が感じる感覚である。では、どこで吐き気を感じるのだろうか?喉だろうか、胃だろうか、それともその両方だろうか?一般的に吐き気と言った場合、頭痛のように特定の身体部位と結びついていないように感じる。つまり、症状を感じる身体部位がハッキリとしていない。

「眩暈」はどうだろう?眩暈は感覚だ。では、目で感じているのだろうか?それとも、脳だろうか?頭だろうか?やはり、「吐き気」と同じく、ハッキリとどこで感じるか身体部位を特定できないように思える。

こういった症状があった場合、上記のモデルでは対応できない。そこで、以下のように変更した。

 080219-002

「吐き気」「眩暈」のように、特定の部位と結びついていない症状を表現するために、「症状の種類」というスーパータイプを想定した。これまで考えてきた、「頭痛」「腹痛」のような、特定の身体部位と感覚によって表現される症状は、そのサブタイプとして「身体の局所的な症状の種類」というクラスを作成した。身体の部位を特定できる症状は、症状の中でも特殊な症状として考える。

 

定期的に記録したい症状と、突発的な症状

病気において、症状というのは、ある程度中心となるものがある。定期的にある症状と、たまにしかない突発的な症状に分かれる。太郎くんの場合、頭痛は毎日ある。中心となる症状のため、「朝」「昼」「晩」と毎日どのくらい痛みの程度が変化しているか記録している。それに対して、手や足の痛みはめったにない。また、頭痛以外の体の痛みも記録しているが、中心となる症状からは、ややはずれるので、一日トータルで考え、どの程度であったか評価し、記録すれば十分であるように感じている。

そこで、症状の中でも定期的にチェックして記録するものと、そうではないものを分けて考えていくことにした。また、症状をカテゴリに分けて見ることができるように、症状を分類できるようにする。例えば、「眩暈」「吐き気」は「脳神経症状」として分類できるようにしたい。

以下が、上記を踏まえたクラス図になる。

20080219

「症状のカテゴリ」は、あるカテゴリーが複数のカテゴリーに所属しないように、ツリー構造となるようにした。

「定期的な症状のチェック」は、特定の期間において、どの症状をどの時間帯で評価するのか定めるためのものである。期間の属性を持ったのは、定期的に評価したい症状が変化する可能性があるためだ。

CCC

 

関連記事