{
  "resourceType": "OperationDefinition",
  "id": "MessageHeader-process-message",
  "meta": {
    "lastUpdated": "2017-04-18T21:44:43.294+00:00"
  },
  "text": {
    "status": "generated",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n            <h2>Process Message</h2>\n            <p>OPERATION: Process Message</p>\n            <p>The official URL for this operation definition is: </p>\n            <pre>http://hl7.org/fhir/OperationDefinition/MessageHeader-process-message</pre>\n            <div>\n              <p>This operation accepts a message, processes it according to the definition of the event in the message header, and returns a one or more response messages.  This  operation is described in detail \n                <a href=\"messaging.html#process\">on the messaging page</a>\n              </p>\n\n            </div>\n            <p>URL: [base]/$process-message</p>\n            <p>Parameters</p>\n            <table class=\"grid\">\n              <tr>\n                <td>\n                  <b>Use</b>\n                </td>\n                <td>\n                  <b>Name</b>\n                </td>\n                <td>\n                  <b>Cardinality</b>\n                </td>\n                <td>\n                  <b>Type</b>\n                </td>\n                <td>\n                  <b>Binding</b>\n                </td>\n                <td>\n                  <b>Documentation</b>\n                </td>\n              </tr>\n              <tr>\n                <td>IN</td>\n                <td>content</td>\n                <td>1..1</td>\n                <td>Bundle</td>\n                <td/>\n                <td>\n                  <div>\n                    <p>The message to process (or, if using asynchronous messaging, it may be a response message to accept)</p>\n\n                  </div>\n                </td>\n              </tr>\n              <tr>\n                <td>IN</td>\n                <td>async</td>\n                <td>0..1</td>\n                <td>boolean</td>\n                <td/>\n                <td>\n                  <div>\n                    <p>If 'true' the message is processed using the asynchronous messaging pattern</p>\n\n                  </div>\n                </td>\n              </tr>\n              <tr>\n                <td>IN</td>\n                <td>response-url</td>\n                <td>0..1</td>\n                <td>uri</td>\n                <td/>\n                <td>\n                  <div>\n                    <p>A URL to submit response messages to, if asynchronous messaging is being used, and if the MessageHeader.source.endpoint is not the appropriate place to submit responses</p>\n\n                  </div>\n                </td>\n              </tr>\n              <tr>\n                <td>OUT</td>\n                <td>return</td>\n                <td>0..1</td>\n                <td>Bundle</td>\n                <td/>\n                <td>\n                  <div>\n                    <p>A response message, if synchronous messaging is being used (mandatory in this case). For asynchronous messaging, there is no return value</p>\n\n                  </div>\n                </td>\n              </tr>\n            </table>\n            <div>\n              <p>This operation does not use the parameters resource; the parameters &quot;async&quot; and &quot;response-url&quot; always go in the URL, if they are used, and the message parameter is always the body of the HTTP message</p>\n\n            </div>\n          </div>"
  },
  "url": "http://hl7.org/fhir/OperationDefinition/MessageHeader-process-message",
  "name": "Process Message",
  "status": "draft",
  "kind": "operation",
  "date": "2017-04-18T21:44:43+00:00",
  "publisher": "HL7 (FHIR Project)",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/fhir"
        },
        {
          "system": "email",
          "value": "fhir@lists.hl7.org"
        }
      ]
    }
  ],
  "description": "This operation accepts a message, processes it according to the definition of the event in the message header, and returns a one or more response messages.  This  operation is described in detail [on the messaging page](messaging.html#process)",
  "code": "process-message",
  "comment": "This operation does not use the parameters resource; the parameters \"async\" and \"response-url\" always go in the URL, if they are used, and the message parameter is always the body of the HTTP message",
  "resource": [
    "MessageHeader"
  ],
  "system": true,
  "type": false,
  "instance": false,
  "parameter": [
    {
      "name": "content",
      "use": "in",
      "min": 1,
      "max": "1",
      "documentation": "The message to process (or, if using asynchronous messaging, it may be a response message to accept)",
      "type": "Bundle"
    },
    {
      "name": "async",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "If 'true' the message is processed using the asynchronous messaging pattern",
      "type": "boolean"
    },
    {
      "name": "response-url",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "A URL to submit response messages to, if asynchronous messaging is being used, and if the MessageHeader.source.endpoint is not the appropriate place to submit responses",
      "type": "uri"
    },
    {
      "name": "return",
      "use": "out",
      "min": 0,
      "max": "1",
      "documentation": "A response message, if synchronous messaging is being used (mandatory in this case). For asynchronous messaging, there is no return value",
      "type": "Bundle"
    }
  ]
}