MML Processing Instructionコマンド解説 mmlResult |
mmlResultMMLデータのQuery, Append, Deleteに対する返信結果に使用されるコマンドとする。
上記3つのコマンドの返信電文としてこのアクションを設定して電文を返す。
mmlResultコマンドには、4つの追加フィールド「status」、「continue」、「partNo」、「reqId」が必要とされる。「reqId」の形式は、前述のqueryと同様。
「reqId」は前述のmmlAppend,mmlDelete,mmlQueryでリクエストされた電文への結果電文であることを区別できるよう、送られてきたときに渡された「reqId」をセットして返す。
「status」には、前述のmmlAppend,mmlDelete,mmlQueryでリクエストされたコマンドでreqIdに対応した電文の受信が成功したかどうかを返す。成功の場合は「success」、失敗の場合は、「failed」が小文字の文字列で返される。オプションのフィールドとして、「errorReason」というフィールドを返すことができる。「errorReason」は、「status」が「failed」の場合のエラーになった理由を返すことができる。
errorRasonの値としては下記の内容が定義されている。値はすべて下記で規定された大文字の文字列とする。
エラー値
説明
SYSTEMERROR
何らかの受信システム側のシステムエラー
HEADERINVALID
<MmlHeader>情報が不正
NOTSUPPORTED
リクエストされた電文の処理をサポートしていない
REQUESTDENIED
リクエストされた電文の処理は拒絶された(現在サービスが停止中等)
「continue」はこの電文ですべてのデータが返ったかどうかを返す。「continue=“true”」で引き続き、この電文以外に同じreqIdの電文があることを示す。
「continue=“false”」はこの電文でreqIdの要求に対する最後の電文であることを示す。
「partNo」は、電文が複数に分かれるときに使われる通し番号をいれて返す。「partNo」は0から始まる数字を入れて返す。
以下にその例を示す。
例:照会要求は受信され,「成功」であったが,診断履歴情報は存在しなかったため,モジュール単位での要求は「失敗」であった例
注:解説に直接関係のない必須エレメントや必須属性が省略されている.
--------------------------------------------------------
<Mml>
<?mmlResult status="success" continue="false" partNo="0"
reqid="0aae5960-667c-11d3-9751-00105a6792e8"?>
<MmlHeader>
<masterId>
<mmlCm:Id
mmlCm:type="facility"
mmlCm:checkDigitSchema="M10"
mmlCm:checkDigit="5"
mmlCm:tableId="JPN453010100003" >
12345678
</mmlCm:Id>
</masterId>
</MmlHeader>
<MmlBody>
<MmlModuleItem type="registeredDiagnosis">
<?mmlItemResult status="failed" errorRason="NOTHINGDATA"
reqid=" 0aae5960-667c-11d3-9751-00105a67"?>
</MmlModuleItem>
</MmlBody>
<Mml>--------------------------------------------------------