MML Processing Instructionコマンド解説 mmlItemResult |
mmlItemResultMMLデータのQuery, Append, Deleteに対する各MmlModuleItemの結果を返すときに使用する。
上記3つのコマンドの返信電文としてこのアクションを設定して電文を返す。
mmlItemResultコマンドには、2つの追加フィールド「status」、「reqId」が必要とされる。「reqId」の形式は、前述のqueryと同様。
「reqId」は前述のmmlAppend,mmlDelete,mmlQueryでリクエストされた電文への結果電文であることを区別できるよう、送られてきたときに渡された「reqId」をセットして返す。
「status」には、各MmlModuleItemの内容について成功したかどうかを返す。成功の場合は「success」、失敗の場合は、「failed」の各文字列が小文字で返される。オプションのフィールドとして、「errorReason」というフィールドを返すことができる。「errorReason」は、「status」が「failed」の場合のエラーになった理由を返すことができる。
errorReasonの値としては下記の内容が定義されている。値はすべて下記で規定された大文字の文字列とする。
エラー値
説明
SYSTEMERROR
何らかのシステムエラー
HEADERINVALID
<MmlHeader>情報が不正
NOTHINGDATA
返すデータが存在しない
ACCESSDENIED
該当データにはセキュリティー上アクセスできない
NOTSUPPORTED
リクエストされた電文の処理をサポートしていない
mmlItemResultコマンドは、<MmlBody>中の各<MmlModuleItem>タグの最初の子要素のエレメントより前に存在し、そのアイテムが正しく処理されたかどうかの結果が入る。
以下に例として、3つの<MmlModuleItem>を1つの電文でリクエストする例と、その返答電文で、電文は正しく認識されたが、MmlModuleItemのlifestyleの情報はデータ取得成功で返信し、その他の2つの内容が返す情報が存在しなかったときの返信電文の例をしめす。
例:リクエスト電文例
注:解説に直接関係のない必須エレメントや必須属性が省略されている.
--------------------------------------------------------
<Mml>
<?mmlQuery type="patient" 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"/>
<MmlModuleItem type="lifestyle"/>
<MmlModuleItem type="healthInsurance"/>
</MmlBody>
</Mml>--------------------------------------------------------
例:返信電文例
注:解説に直接関係のない必須エレメントや必須属性が省略されている.
--------------------------------------------------------
<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="registerdDiagnosis">
<?mmlItemResult status="failed" errorReason="NOTHINGDATA"
reqid="0aae5960-667c-11d3-9751-00105a6792e8"?>
</MmlModuleItem><MmlModuleItem type="lifestyle">
<?mmlItemResult
status="success"
reqid="0aae5960-667c-11d3-9751-00105a6792e8"?>
<docInfo>
:
</docInfo>
<content>
<mmlLs:LifestyleModule>
<mmlLs:occupation> forester
</mmlLs:occupation>
<mmlLs:tobacco>
20 cigarettes per day for 30 years
</mmlLs:tobacco>
<mmlLs:alcohol>4 dl of sake per day
</mmlLs:alcohol>
</mmlLs:LifestyleModule>
</content>
</MmlModuleItem><MmlModuleItem type="healthInsurance">
<?mmlItemResult status="failed" errorRason="NOTHINGDATA"
reqid="0aae5960-667c-11d3-9751-00105a6792e8"?>
</MmlModuleItem></MmlBody>
</Mml>
--------------------------------------------------------