カルテ・インスタンス

・基本的な考え方

カルテそのものをアーカイブする場合、受診日ページ単位で扱うのが自然と考えられる

受診日ページはさらに更新時刻ごとのページの集合から構成される

最後の更新時刻データ実データ、それ以前の更新時刻のものは修正前のデータである

他施設へ渡す場合は、最新の実データのみ渡せばよいので Update の項は不要であろう

ヘッダー情報は自施設内での運用には不要であろう

従って他施設へ渡す場合は、当方のヘッダー情報を挿入し、Update の項は省略する

MMLL 内に複数 MedicalRecord を収納する場合、先頭の Header 情報すべての MedicalRecord に反映

先頭 Header 情報と異なる属性の MedicalRecord がある場合は 独自の Header を記述すればよい

大文字で始まるタグ名は子供オブジェクトを内包する親オブジェクト小文字は末端の子オブジェクト

親同伴 でさえあれば、オブジェクトは階層構造のどこに記述しても構わない

例えば startDate というタグだけでは何の日付か判らないが、Marital.startDate なら結婚日と判る

さらに親をたどることにより、そのオブジェクトがどこに属するかが判る

このような考えで、先頭からの親を伴うことにより 子オブジェクトも独り立ちできる(例は後述)

階層構造をもつインスタンスでありながら、シリアルな構造にすることが簡単にできる

すなわち RDB との親和性も高い

MMLL ではタグのコード化の重要性より 親子関係の意味を重視する

親子関係が判らない子オブジェクトが独立しても「ここは何処、私は誰」状態になってしまう

・サンプル・インスタンス このサンプルを MMLLビューアで開いてみたのが 次のページ です

クラウド版「MMLL ビューア」で、実際の動きを試すこともできます

MMLビューア を開いたら、まず画面右上の HELP ボタンをクリックしてください。

{

"Header":{ // この位置のヘッダーは全ての MedicalRecord に反映

"version":"MMLL.110409",

"Person creator":{ ... } // 自施設内で使う場合は省略可

},

"MedicalRecord 03234200":{ // カルテID:03234200 の診療録オブジェクト

"Header":{ // この位置のヘッダーは当該 MedicalRecord のみに反映

"Person creator":{ ... } // 自施設内で使う場合は省略可

},

"Page 2011-01-08T09:12:00":{ // 受診日ごとの情報

"Update 2011-01-08T0915:00":{ // このタイムスタンプで更新されたデータ

"Person patient":{

"Name":{

"name":"春野 海",

"kana":"はるの うみ"

},

"birthDay":"1942-03-23",

"sex":"女",

"Contact":{

"zip":"142-0063",

"address":"東京都品川区荏原4-4-2",

"email":"bar@foo.com",

"phone":"03-1111-3333",

"cellPhone":"090-0000-1111"

}

},

"Anamnesis":{

"Bloodtype":{ // ? 血液型

"abo":"o",

"rh":"+"

},

"Allergy":{

"factor":"海老",

"severity":"発疹のみ",

"identifierdDate":"25歳の頃",

"memo":"カニではアレルギー反応でたことなし" // アレルギー歴

},

"Infection":{ // ? 感染症

"factor":"肺結核",

"identifiredDate":"34歳"

},

"Marital":{

"status":"既婚", // 既婚, 未婚, 離婚, 死別

"startDate":"1962-11-10" // 離婚や死別では endDate を付加

},

"Family 父":{

"relation":"父",

"Diagnosises":{

"Diagnosis 脳出血":{

"startDate":"1966-06-08", // ? 疾患開始日

"endDate":"1978-03-28", // ? 疾患終了日

"outcome":"死亡" // ? 転帰

}

},

"age":"56歳",

"memo":"10年間寝たきりののち死亡"

}, // ? 家族歴

"Childhood":{

"BirthInfo":{

"deliveryWeeks":"40週",

"facility":"日赤医療センター",

"deliveryMethod":"正常分娩",

"bodyWeight":"3100 gr",

"memo":"新生児黄疸にて光線療法"

},

"Vaccination":{

"vaccine":"ポリオ",

"injected":"true",

"age":"生後6ヶ月"

}

}, // ? 小児期情報

"LifeStyle":{

"occupation":"会社員", // ? 職業

"tobacco":"なし", // ? 喫煙歴

"alcohol":"缶ビール1本/日", // ? 飲酒歴

"other":"テニス3時間/週" // ? 宗教、スポーツなど

},

"PastHistory":{

"Item":{

"timeExpression":"18歳",

"event":"スキーで右上腕骨折"

}

}

},

"Insurance":{

"Health 国保":{

"insuranceNumber":"01120032", // 保険者番号

"group":"1234", // 記号

"number":"012345", // 被保険者番号

"familyClass":"false", // true:本人 false:家族

"startDate":"2011-02-01", // 開始日

"expiredDate":"2011-09-30", // 終了日

"paymentOutRatio":"3" // 外来負担率

},

"Public 公費1":{

"provider":"1540005", // 負担者番号

"recipient":"000904", // 受給者番号

"startDate":"2011-01-01", // 開始日

"expiredDate":"2011-09-30", // 終了日

"paymentRatio":"3" // 負担率

},

...

},

"Diagnosises":{

"Diagnosis 妊娠高血圧症候群":{

"startDate":"2011-01-01", // ? 疾患開始日

"endDate":"2011-12-31", // ? 疾患終了日

"firstEncounterDate":"2011-01-18", // ? 疾患の初診日

"outcome":"転医" // ? 転帰

}

},

"Progress":{

"Problem 妊娠":{

"subjective":"lmp: 101224(4w5d) Term:2011-09-30",

"objective":"GS(32 mm)BPD(7 mm)CRL(16 mm)心拍(+))",

"assessment":"GS 辺縁やや不明瞭につき経過観察",

"plan":"分娩予定施設(宮崎へ帰郷) "

},

"Problem 妊娠高血圧症候群":{

"objective":"収縮期血圧(156) 拡張期血圧(103) 尿蛋白(+)",

"plan":"減塩食を指導."

}

}

},

...

},

"Page 2011-01-22T11:23:00":{ // 受診日ごとの更新情報:前回との差分のみを記述

"Update 2011-01-22T11:28:00":{ // このタイムスタンプで更新されたデータ

"Progress":{

"Problem 妊娠":{

"subjective":"lmp: 101224(6w5d) Term:2011-09-30",

"assessment":" ", // 前回記述を空白で上書き

"objective":"GS(43 mm) CRL(23 mm)心拍(+))"

},

"Problem 妊娠高血圧症候群":{

"objective":"収縮期血圧(143) 拡張期血圧(98) 尿蛋白(+-)"

}

}

},

"Update 2011-01-23T09:08:00":{ ... }, // 修正前データ:他施設へ渡す場合は省略可

"Update 2010-12-12T10:12:00":{ ... }, // 修正前データ:他施設へ渡す場合は省略可

...

},

...

}

}

* 必要に応じ // でコメントや ... などを挿入できるが、これらはビューアの解析では無視される

・MML 形式インスタンスとの対比

MML 形式で以下のように表記されたインスタンスは

mmlPc:ProgressCourseModule

mmlPc:structuredExpression

mmlPc:problemItem

mmPc:problem ...

MMLL 形式では次のように表され、かなり簡潔となる

Page

Update

Progress

problem ...

他施設へ渡すインスタンスでは最新 Update オブジェクトの内容のみが Page に収められ

Page

Progress

problem ...

上のように Update 自体は省略されるので、更に簡潔となる

・MMLL インスタンス中の個々のオブジェクトの独立した記述が可能

MMLL の中のひとつのオブジェクトを取り出して以下のように記述できる

階層化されたタグを . で接続した表記

"MedicalRecord 03234200.Page 2011-01-08T09:12:00.Person.Name.name":"春野 海"

すなわち MMLL を除いた先頭からの key を . で接続したものが key となる

つまり 階層構造をもつインスタンスでありながら、シリアルな構造にすることが簡単にできる

. で区切った key と value を DB 中の各 field に一定のルールで割り当てれば、1レコードとして収納できる

すなわち MMLL は RDB に収納しやすい構造でもある

Update: 2011-04-09