The patient set request / response message structure is divided into three parts:

  1. PSMHeader
  2. Request
  3. Response



For a request message, the <psmheader> and <request> sections are required; while a response message requires only the <response> section.
<i2b2:message_body>
<crc:psmheader>
<request_type></request_type>
</crc:psmheader>
<crc:request>

</crc:request>
<crc:response>

</crc:response>
</i2b2:message_body>

Element Name

Description

psmheader

The header has a <request_type> element, which will carry the operation name. Each operation name has a specific request / response combination.

The following is a list of supported operation names:

  • CRC_QRY_getRequestXml_fromQueryMasterId
  • CRC_QRY_getQueryMasterList_fromUserId
  • CRC_QRY_runQueryInstance_fromQueryDefinition
  • CRC_QRY_getQueryMasterList_fromGroupId
  • CRC_QRY_getQueryResultInstanceList_fromQueryInstanceId
  • CRC_QRY_getQueryInstanceList_fromQueryMasterId
  • CRC_QRY_deleteQueryMaster
  • CRC_QRY_renameQueryMaster
  • CRC_QRY_runQueryInstance_fromQueryMasterId
  • CRC_QRY_getResultDocument_fromResultInstanceId
  • CRC_QRY_getResultType
  • CRC_QRY_runQueryInstance_fromAnalysisDefinition
  • CRC_QRY_cancelQuery
  • CRC_QRY_updateResultInstanceDescription

request

The <request> is modeled as an object using a polymorphic approach. All operation specific request objects inherit a base RequestType object containing a request_type attribute as shown in the object model diagram in the next section.

response

The <response> is also modeled as an object using a polymorphic approach. All operation specific response objects inherit a base ResponseType object containing a StatusType attribute as shown in the object model diagram in the next section.