Healthcare Financial Services IG Edition 1 - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Under some circumstances messages may be queued at nphies rather than being delivered directly to the provider, such as:
The provider may send a Poll Request to nphies which will return any pended messages in a Poll Response. nphies maintains a queue for all messages which could not be delivered to the provider as responses to real-time requests from the provider, see Store and Forward - Queue Management. This is likely to include deferred responses to claim adjudications, prior authorization adjudications, requests for additional information and payment reconciliations. The provider sends a Poll Request to the gateway which responds with the next response message(s) from the queue or with an indication that there are no further messages in the queue.
This is a REAL TIME use case. In addition to returning the requested pended messages, and clearing them from the queue, nphies will provide the Meta Tag: queued-messages should any messages remain in the queue.
The key resources for the message are provided below and all require nphies-profiled resources as provided in the Artifacts. Note: the MessageHeader resource must be the first .entry in the bundle and any other resources may follow in any order.
The key resources for the message are provided below and all require nphies-profiled resources as provided in the Artifacts. Note: the MessageHeader resource must be the first .entry in the bundle and any other resources may follow in any order.
A Poll Request uses a Task resource to provide the parameters for retrieving pended mesages from the queue. The response to such a request is a Poll Response, which is also a Task resource, referring to: zero or more previously undelivered messages or errors in the request message. A simple Poll Request, one which doesn’t specify additional input parameters: include-message-type, exclude-message-type, period or count; would return any single pended message, if there is one in the queue. Specific types of business behaviors may be supported by providing values for the filtering elements in the .input element, for example:
Multiple include-message-type and exclude-message-type parameters may be specified, however, include-message-type and exclude-message-type parameters are mutually exclusive therefore either includes or excludes should be used at a time not both. A combination of parameters may be used and only the parameters necessary should be specified. To obtain responses to a given message, put the business identifier in Task.focus.identifier.
Task Input Type | |||
---|---|---|---|
Parameter | Card. | Element | Description |
count | 0..1 | valuePositiveInt | Maximum number of messages to return from the queue to a limit of 100, 1 if not supplied |
exclude-message-type | 0..* | valueCodeableConcept | Filter: message event types to enclude by event code of the desired types of messages (MessageHeader.event.coding.code) |
include-message-type | 0..* | valueCodeableConcept | Filter: message event types to include by event code of the desired types of messages (MessageHeader.event.coding.code) |
period | 0..1 | valuePeriod | The date range to filter messages based on when the message was received by nphies |
Example | Description |
---|---|
Example #1 Request | Poll Request - simple request for next message from the queue, if any. |
Example #1 Response | Poll Response responding to request #1 for the next message from the queue. |
Example #2 Request | Poll Request - request up to 25 queued messages excluding PaymentReconciliations. |
Example #3 Request | Poll Request - request a response to a specific request message. |
If nphies detects errors in the request message such that the request cannot be processed then the response message will contain an OperationOutcome resource rather than a business-level Poll Response message. Otherwise if nphies detects errors within the request it will return a Poll Response with errors (Task.output.type = ‘error’) and an extension indicating where the error occurred.
Like all other response messages the provider receives from nphies, if there are other messages queued at nphies which have not been delivered to the provider then this will be reflected in the presence of a MessageHeader.meta.tag.