Find Candidates Query

This interaction occurs when an external consuming system queries for a list of matching candidates in the PCR. The interaction allows a user to query for matching patient(s) based on defined demographic criteria such as name, birth date, address, secondary (informational) identifiers, and other patient demographic information (e.g. gender, phone). This interaction is typically used when the consuming system and/or user does not know a unique primary (definitional) person identifier (e.g. PCR Enterprise ID (EID), Ontario Health Number (HN), Medical Record Number (MRN) for standard model hospital, or Corporate ID (CORPID) for a corporate model hospital) required to perform the Get Client Demographics Query interaction.  It is also used to query PCR based on HCN as a secondary identifier, and MRN as a secondary (informational) identifier under a corporate model hospital, when the corresponding CORPID is not known. As the receiver of the interaction request, the PCR is expected to respond with a list of candidates (summary demographic information and active identifiers for each candidate, for the user to select the single correct patient) matching the defined query parameters.


When this interaction sends a query to the Provincial CR requesting a list of candidates that match a particular set of person demographics, the Definitional Identifiers are not permitted to be used in the search criteria. The minimal search set must be met as it is specified in the message payload section (PRPA_MT101103CA - Query by Client Demographics)


Message Type







The following table lists the messages to support the Find Candidates Query/Response transaction. It lists the interaction, and specifies the appropriate transmission wrapper, control event wrapper, and payload message type which, in combination, forms an entire interaction. The trigger event represents the action that causes the interaction to be executed. 



Trigger Event

Transmission Wrapper

Control Event Wrapper


PRPA_IN101103CA Find Candidates Query


Find Candidates Query


Request Transport Wrapper


Registry Query Request Wrapper - Human Initiated


Query by Client Demographics


Find Candidates Response


Find Candidates Response


Application Ack Transport Wrapper


Registry Query Response Wrapper - Device Initiated With Role Payload


Find Candidates Response


Query by Client Demographics


Search by Secondary ID:

  1. Health Card Number (HCN) as defined by the client’s record in the MOH RPDB and across hospitals.


  1. Medical Record Number (MRN) as defined under a corporate or standard model hospital (i.e. used when corporate ID is not known).


 A source OID (ID Issuer) & corresponding ID value must be provided for any secondary IDs in the request.  For example, for MRN:

OID (ID Issuer) = 2.16.840.1.113883. (Brantford Community Healthcare System - Brantford Willett Site)

ID = 123456


Search by Demographics:

  1. First Name + Last Name + Date-of-Birth


  1. First Name + Last Name + Address (minimum of Postal Code)


Note1: Can include optional scored criteria to search by Gender and/or Phone Number if any of the minimum criteria is met above.

Note2: The MOH & IPC have mandated minimum search criteria and maximum candidates returned when querying based on demographics.  The minimum criteria is to query by secondary ID (HCN or MRN) or demographics (First Name + Last Name + Date-of-Birth, or First Name + Last Name + Address (minimum of Postal Code)).  Additional scored criteria (e.g. Gender or Phone Number) may be applied on top of the minimum criteria to further refine a search (i.e. drive the highest scoring candidate to the top of the returned list through additional scored criteria).  The maximum number of returned clients in the candidate list is 5.



Based on exact matching the secondary ID, or probabilistically matching the demographics, pull the entity view for one or more matching clients, up to a maximum of 5 candidates.  For each matching candidate, return the entity view for that client.  Summary ‘golden record’ returned for each client includes the most up-to-date demographics (summary info to select the appropriate candidate from the returned list) across all active members in the entity, and all active identifiers.


Returns the following business attributes (where they exist depending on PCR data density for the given candidate client):

  • Ontario Health Card Number
  • Non-Ontario (Out-of-Province) Health Card Number(s)
  • Corporate ID(s)
  • Medical Record Number(s)
  • Legal Name
  • Date of Birth
  • Gender
  • Address(es):
    • Home
    • Mailing


Note1: Given PCR employs probabilistic logic to match on demographics, more than 1 candidate client may be returned in the response.  Returned candidates are defined in the result set in order of matching score (i.e. highest scoring / most probable candidate first, to lowest scoring candidate / least probable candidate last), up to a maximum of 5 candidates (per MOH / IPC mandate).

Note2: When querying on secondary ID, PCR is expected to return a single client.

Sample Message

<S:Envelope xmlns:S="" xmlns:xsi="">
<S:Header xmlns:wsa="">
<PRPA_IN101103CA ITSVersion="XML_1.0" xmlns:xsi="" xmlns="urn:hl7-org:v3">
<realmCode code="CA" />
<id specializationType="II.TOKEN" root="F2EC9B45-72DD-4BCD-9C38-44943BF21411" />
<creationTime specializationType="TS.FULLDATETIME" value="20180417170614.044-0400" />
<responseModeCode code="I" />
<versionCode code="V3-2008N" />
<interactionId specializationType="II.PUBLIC" root="2.16.840.1.113883.1.6" extension="PRPA_IN101103CA" />
<profileId root="2.16.840.1.113883.2.20.2" extension="R02.04.03" />
<profileId root="2.16.840.1.113883.3.239.7" extension="V03.00" />
<processingCode code="P" />
<processingModeCode code="T" />
<acceptAckCode code="NE" />
<receiver typeCode="RCV">
<telecom specializationType="TEL.URI" value="" />
<device classCode="DEV" determinerCode="INSTANCE">
<id specializationType="II.BUS" root="2.16.840.1.113883.3.239.2" use="BUS" />
<name mediaType="text/plain" representation="TXT">eHealth Ontario Integration Facility</name>
<agent classCode="AGNT">
<agentOrganization classCode="ORG" determinerCode="INSTANCE">
<id specializationType="II.BUS" root="2.16.840.1.113883.3.239" use="BUS" />
<sender typeCode="SND">
<telecom specializationType="TEL.URI" value="" />
<device classCode="DEV" determinerCode="INSTANCE">
<id specializationType="II.BUS" root="2.16.840.1.113883.3.239.4" extension="UniqueSenderIdentifier" use="BUS" />
<name mediaType="text/plain" representation="TXT">eHealth Ontario Portal Application</name>
<desc mediaType="text/plain" representation="TXT">I hereby accept the service agreement here:</desc>
<controlActEvent classCode="CACT" moodCode="EVN">
<id specializationType="II.BUS" root="22073b79-66c2-4b85-bcb1-096b2479615e" use="BUS" />
<code code="PRPA_TE101103CA" codeSystem="2.16.840.1.113883.1.18" />
<statusCode code="completed" />
<effectiveTime operator="I">
<low value="20180417170614.028-0400" />
<reasonCode code="PATREQ" codeSystem="2.16.840.1.113883.11.14878" />
<languageCode code="eng" codeSystem="2.16.840.1.113883.6.121" />
<author typeCode="AUT" contextControlCode="AP">
<time specializationType="TS.FULLDATETIME" value="20180417170614.028-0400" />
<assignedEntity1 classCode="ASSIGNED">
<id root="" extension="5763665838" displayable="true" use="BUS" />
<assignedPerson classCode="PSN" determinerCode="INSTANCE">
<name specializationType="PN.BASIC" use="L">
<family partType="FAM">LastName</family>
<given partType="GIV">FirstName</given>
<representedOrganization classCode="ORG" determinerCode="INSTANCE">
<id specializationType="II.PUBLIC" root="" extension="123456789012" displayable="true" use="BUS" />
<name mediaType="text/plain" representation="TXT">Mohawk College Hospital</name>
<pertinentInformation typeCode="PERT" contextControlCode="AP" contextConductionInd="false">
<authorizationToken classCode="VERIF" moodCode="EVN">
<id specializationType="II.TOKEN" root="16361A0A-CA93-4812-B2F3-AC27CAE7DB5B" />
<queryId specializationType="II.TOKEN" root="F28E685B-61C4-473B-A452-F0730F6431BA" />
<initialQuantity specializationType="INT.POS" value="10" />
<value specializationType="TS.DATETIME" value="19940115" />
<value specializationType="PN.SEARCH" use="OR">
<given partType="GIV">Madison</given>
<family partType="FAM">Foster</family>

*a valid UniqueSenderIdentifier needs to be replaced in the example above