章・節番号、エレメント番号MML共通形式、MMLコンテンツモジュールの各エレメントに対する番号と章番号が混在していた。わかりやすくするために各エレメントの先頭にMをつけ、共通形式、コンテンツモジュールに連番を振った。解説にデータ型、省略、繰り返しを明記したエレメント表で記載されてはいるが、解説で記載されていなかったデータ型や省略について明示的に記載することとした。以下のようにnamespace宣言をしていた。xmlns="http://www.medxml.net/MML/v4"下記のようにbaseを間に挟むように改めた。Schemaを採用しておりDTDはもはや使用しないため表現の修正を行った。xs:duration(ISO8601形式)には週の単位がないため、便宜上の書式を採用する。データ型-|xs:duration|期間型。ISO8601形式に週(W)を加えたPnYnMnWnDTnHnMnS形式で表記する。ISO8601形式PnYnMnDTnHnMnS形式で表記する。文書では繰り返しありとなっているところをスキーマでは繰り返さなくなっているところを修正した。手術記録モジュール内のエレメントのoccurrence手術記録モジュールの解説文書に記載されているエレメントのoccurrenceとスキーマに記載されているoccurrenceが一部異なっていた。3でも同様に文書とDTDにずれが見られた。検討の結果、DTD、スキーマに文書を合わせることとした。処方箋モジュールで頓用処方の総回数を記載する項目がなかったため追加した。外用処方の場合など、薬剤が繰り返される回数。モジュールの書式は1回量表記がベースとなっているが、システム上、止むを得ない場合に一日総量をdoseに記載し、frequencyPerDayに1として、用法指示に分割指示を記載することも許容することとした。処方箋モジュール、注射モジュールで使用する薬剤コード体系をMML0037テーブルにまとめた。投与開始日ではなく、投与開始日時が記録されるため記述部分でデータ型がdateとなっていたのをdateTime型に修正した。XMLスキーマのリファクタリング。xsdの書式で型定義やoccurrence定義が不十分であったり、冗長であったところを修正した。XMLスキーマとして暗黙的に指定されている型やoccurrenceについても明示的に記載することとした。文字列型からboolean型へ文字列(トークン)型で”true”あるいは”false”と制限をかける制約とboolean型を指定することで、インスタンス内に記載されるデータに差はないが、boolean型として明示的に定義するほうが冗長さも回避できる。deathInfoエレメントなどに上記の変更を行った。文字列型からdate型へMMLの規約として、日付はCCYY-MM-DDのISO8601形式で記載することとしているため、date型で指定するのと同様にインスタンスに記載されるが、明示的に型を指定することによりデータのバリデーションを行うことができるためスキーマの修正を行った。schemaにはほぼ自動変換したものを使用していたが、冗長であったり定義の並びが離れていて分かりづらかったりしたところを修正した。数値化できない場合にはここに記載する。以前から必要性については疑問視されてきていた。SAX系のパーサでは有用とされるが、現行のXMLテンプレートシステムとの相性の悪さや現在主流のXMLパーサでは単に読み飛ばされるだけであるため廃止することとした。XHTML記述の追加XHTML使用可とされているエレメントで、XHTMLが使用できなくなっていたのを修正した。3ではdateTime型でとされていた。Schema仕様にないため、string型に変更した。mmlSm:attrListの属性としてrelationおよびrelatedDocの定義が誤って定義されていた。下記のように修正を行った。3.0のDTDでは1回以上の繰り返しとなっていたため下記のように修正した。スキーマはintegerであった。mmlSm:testResult属性情報のmmlSm:dateがdate/dateTimeとDTDの曖昧さを許容していた。Schemaでは型定義が厳密であることから、dateTime型に統一することとした。3のDTDの定義では、下記のようにnumValueとしては空欄でもデータが異常値であることを示すことができていた。</mmlLb:item>DTDではnil(空白)が許されていたが、mmlLb:numValueをdecimal型としたことで空白の値を取ることが原則許されなくなった。4.1.2ではnumValueにnillable属性をとることした。nillable="true">この場合、インスタンスにはnilであることを明示的に記入する必要がある。mmlLb:normalの属性をもたせることとした。mmlRd:categoryの修正categoryに文字列を記入することができなくなっていたため下記のように修正を行った。mmlSc:personNameのtableId属性qualified指定がされていなかったため、namespace指定が落ちていた。追加して他の属性との整合性をとった。汎用処置モジュールの追加を行った。詳細はモジュール解説を参照。透析モジュールは透析履歴モジュール、透析オーダーモジュール、透析実施記録モジュールに3分割する方針であったが、このリリースでは盛り込めなかった。サンプルインスタンスの追加バイタルサインモジュール、体温表モジュール、報告書モジュール、透析モジュール、汎用処置モジュールのサンプルを追加した。チェックプログラムの追加Rubyでスキーマ、インスタンスの整合性を取るチェックプログラムを作成した。以下の手順でチェックプログラムを操作できる。誤字の修正および表現の修正を行った。2019年度(2019年4月~2020年3月)の会員を募集しています。開発・改訂に参加できます。→正会員申し込み要領および、会費などについてははこちらをご覧ください。メーリングリスト正会員でなくても無料でMLの申し込みができます。メーリングリストでは講習会のお知らせ等のほかに、MMLなどの疑問点の質問ができます。