FHIR Release 3 (STU) Current Build
This page is part of FHIR STU 3 (v3.0.1) in it's permanent home (it will always be available at this URL). It has been superceded by R4 . For a full list of available versions, see the Directory of published versions .
Infrastructure And Messaging Work Group Maturity Level : 3 4   Trial Use Security Category : Not Classified Compartments : Device , Practitioner

This resource has 1 operation operations associated with it:

$process-message Process Message

For more information about operations, including how they are invoked, see Operations .

2.47.11.1 Process Message 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 The official URL for this operation definition is http://hl7.org/fhir/OperationDefinition/MessageHeader-process-message Formal Definition (as a OperationDefinition ). URL: [base]/$process-message This is not an idempotent operation In Parameters: Name Cardinality Type Binding Profile Documentation content 1..1 Bundle The message to process (or, if using asynchronous messaging, it may be a response message to accept) async 0..1 boolean If 'true' the message is processed using the asynchronous messaging pattern response-url 0..1 uri 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 Out Parameters: Name Cardinality Type Binding Profile Documentation return 0..1 Bundle A response message, if synchronous messaging is being used (mandatory in this case). For asynchronous messaging, there is no return value Note: as this the only out parameter, it is a resource, and it has the name 'return', the result of this operation is returned directly as a resource 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 2.47.11.1.1 Examples Request to link 2 patients, and respond asynchronously (Request): POST /ehr/fhir/$process-message?aync=true&response-url=http://example.org/clients/ehr-lite [other headers] <?xml version="1.0" encoding="UTF-8"?> <Bundle xmlns="http://hl7.org/fhir"> <id value="10bb101f-a121-4264-a920-67be9cb82c74"/> <type value="message"/> <entry> <fullUrl value="urn:uuid:267b18ce-3d37-4581-9baa-6fada338038b"/> <resource> <MessageHeader> <id value="efdd254b-0e09-4164-883e-35cf3871715f"/> <text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"> <p>This message is a request to link Patient records 654321 (Patient Donald DUCK @ Acme Healthcare, Inc) and 123456 (Patient Donald D DUCK @ Acme Healthcare, Inc)</p> </div> </text> <event> <system value="http://hl7.org/fhir/message-events"/> <code value="patient-link"/> </event> <timestamp value="2015-07-14T11:15:33+10:00"/> <source> <endpoint value="http://example.org/clients/ehr-lite"/> </source> <responsible> <reference value="http://acme.com/ehr/fhir/Practitioner/2323-33-4"/> </responsible> <!-- this message is posted to http://acme.com/ehr/fhir, with an event 'link' to link 2 patient records, and nominates 2 patients on the server --> <focus> <reference value="http://acme.com/ehr/fhir/Patient/pat1"/> </focus> <focus> <reference value="http://acme.com/ehr/fhir/Patient/pat12"/> </focus> </MessageHeader> </resource> </entry> <entry> <fullUrl value="http://acme.com/ehr/fhir/Patient/pat1"/> <resource> <Patient> <id value="pat1"/> <text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"> <p>Patient Donald DUCK @ Acme Healthcare, Inc. MR = 654321</p> </div> </text> <identifier> <use value="usual"/> <type> <coding> <system value="http://hl7.org/fhir/v2/0203"/> <code value="MR"/> </coding> </type> <system value="urn:oid:0.1.2.3.4.5.6.7"/> <value value="654321"/> </identifier> <active value="true"/> <name> <use value="official"/> <family value="Donald"/> <given value="Duck"/> </name> <gender value="male"/> <contact> <relationship> <coding> <system value="http://hl7.org/fhir/patient-contact-relationship"/> <code value="E"/> </coding> </relationship> <organization> <reference value="Organization/1"/> <display value="Walt Disney Corporation"/> </organization> </contact> <managingOrganization> <reference value="Organization/1"/> <display value="ACME Healthcare, Inc"/> </managingOrganization> </Patient> </resource> </entry> <entry> <fullUrl value="http://acme.com/ehr/fhir/Patient/pat12"/> <resource> <Patient> <id value="pat2"/> <text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"> <p>Patient Donald D DUCK @ Acme Healthcare, Inc. MR = 123456</p> </div> </text> <identifier> <use value="usual"/> <type> <coding> <system value="http://hl7.org/fhir/v2/0203"/> <code value="MR"/> </coding> </type> <system value="urn:oid:0.1.2.3.4.5.6.7"/> <value value="123456"/> </identifier> <active value="true"/> <name> <use value="official"/> <family value="Donald"/> <given value="Duck"/> <given value="D"/> </name> <gender value="other"> <extension url="http://example.org/Profile/administrative-status"> <valueCodeableConcept> <coding> <system value="http://hl7.org/fhir/v2/0001"/> <code value="A"/> <display value="Ambiguous"/> </coding> </valueCodeableConcept> </extension> </gender> <managingOrganization> <reference value="Organization/1"/> <display value="ACME Healthcare, Inc"/> </managingOrganization> </Patient> </resource> </entry> </Bundle> Response - since this is asynchronous, the response is empty (Response): 200 OK [other headers] Response - if the message couldn't be accepted (e.g. there'll be no asynchronous response (Response): 500 OK Internal Server Error [other headers] <?xml version="1.0" encoding="UTF-8"?> <OperationOutcome xmlns="http://hl7.org/fhir"> <id value="exception"/> <text> <status value="additional"/> <div xmlns="http://www.w3.org/1999/xhtml"> <p>SQL Link Communication Error (dbx = 34234)</p> </div> </text> <issue> <severity value="error"/> <code value="exception"/> <details> <text value="SQL Link Communication Error (dbx = 34234)"/> </details> </issue> </OperationOutcome>