PrescribeIT® Specification and Guide Version 3.0 Revision C


This section explains how to ​query formulary data as well as how to retrieve deferred prescriptions. If you are looking for information on how to query messages from your inbox, please go to Shared Health Polling for Messages section.

In addition to PrescribeIT®'s support for messaging between EMR and PMS systems, PrescribeIT® also supports formulary lookups - in some jurisdictions. A prescriber can specify the drug and the jurisdiction in which the medication will be dispensed. The operation will return an indication of whether the selected product is covered in that jurisdiction and potentially information about the cost of the medication, as well as helpful links about the product and coverage restrictions.

This capability is invoked by using the formulary operation. This is an operation rather than a query because it's more of a decision support operation than a query of existing records. The operation is invoked using an HTTP GET and responds with either an OperationOutcome (if there were errors) or a Parameters instance containing the result.

The request uses two mandatory parameters and one optional parameter:

Parameter name search type Comments
jurisdiction token This mandatory parameter can be sent as just a code because the code system is fixed. Code values are the Canada-Post defined province and territory codes. The code is bound to CanadianJurisdiction (required)
product token This mandatory parameter must be sent as the combination of the product code system and code, separated by "|". The code is bound to PrescriptionMedicinalProduct (extensible).
A Canadian Clinical Drug Data Set (CCDD) Code must be sent if one is available. CCDD values include the following:
  • Manufactured Product (MP) Code
  • Non-Proprietary Therapeutic Product (NTP) Code
  • Therapeutic Moiety (TM) Code
A Health Canada DIN may be sent if a CCDD value is not available for the product being prescribed
representative-Din token This optional boolean parameter may only be sent if the product is a DIN (i.e. If the 'system' portion of the product parameter matches the URL ''). If the value is set to 'true', it indicates that the search should match on all products having the same formulation as the specified manufactured product, regardless of manufacturer or packaging.

Note: The order of the parameters does not matter

The Endpoints will vary by either environment or for Formulary queries, will vary by environment and context. The real URLs will be published at a later point in time. Implementers should make the endpoints' URLs configurable within their systems.

  • GET https://EnvironmentSpecificHost/EnvironmentSpecificPathInbox/$formulary?jurisdiction=AB&product=|2214997
  • GET https://EnvironmentSpecificHost/EnvironmentSpecificPathInbox/$formulary?product=|2241377&jurisdiction=AB
  • GET https://EnvironmentSpecificHost/EnvironmentSpecificPathInbox/$formulary?jurisdiction=AB&product=|00312770&representative-din=true

The results will be a Parameters instance corresponding to the formulary-response profile. An example response can be seen here.

The retrieval of the deferred message is done by querying the same endpoint as is used for directed messages, but in this case, search criteria must be specified. Tags are searched using the '_tag' search criteria. The search must contain the message-key tag (i.e. PrescribeIT® Rx Id) and at least one of the birth-date and last-name tags. Thus the above message could be retrieved using one of the following queries (note the escaping of the ':' in the system URIs):

Further details can be found in the Deferred Prescriptions page

Interaction Message Header 401 - Execute Deferred Prescription from Physician Office diagram
  • GET https://EnvironmentSpecificHost/EnvironmentSpecificPathInbox/Bundle?_tag=http%3A//|S724THSR5LDA,http%3A//|2012-06-07
  • GET https://EnvironmentSpecificHost/EnvironmentSpecificPathInbox/Bundle?_tag=http%3A//|S724THSR5LDA,http%3A//|Smith

The response to the query will be a Non-authoritative Deferred Query Response bundle. An example of such a response can be seen here.

Note: the order of the tags within the search does not matter