QRY A19
QRY A19: Query for patient demographics
Overview
This message can be used to retrieve a list of patients who have medical records in PKB and who are associated with your Organisation or Team.
Note: Self-registered patients that have not been activated will not be returned from an A19 query.
Definition
Segment | Field | Opt | RP/# | Component | Description | Example | Data Model |
---|---|---|---|---|---|---|---|
MSH |
|
|
|
| Message header. This conforms to PKB's standard definition. |
|
|
QRD |
|
|
|
| Query definition |
|
|
| QRD-1 |
|
|
| Timestamp. We do not process this field. However, we will echo the value back to you in our response. |
|
|
| QRD-4 |
|
|
| Query ID. We do not process this field. However, we will echo the value back to you in our response. |
|
|
| QRD-8 | O |
|
| Who subject filter. This will be ignored if APN is provided in QRD-9. |
|
|
|
|
|
| QRD-8.1 | ID number (e.g. NHS number, or an MRN) | 5637453543 | If National ID: If Organisation Level ID: If Team Level ID: |
|
|
|
| QRD-8.2 | Patient family name. We do not process this field. However, we will echo the value back to you in our response. |
|
|
|
|
|
| QRD-8.3 | Patient given name. We do not process this field. However, we will echo the value back to you in our response. |
|
|
|
|
|
| QRD-8.13 | ID number type code. Use "MR" for a local number search. Otherwise, a National ID search is performed, regardless of what this value is. The National ID Type used for the search will be the one associated with the country of the connecting organisation or team. | NH |
|
| QRD-9 | O |
|
| Type of query to perform. Use "DEM" for demographics, or "APN" to request all active patients (including those without an ID). The default is "DEM". |
|
|
|
|
|
| QRD-9.1 | What subject filter | DEM |
|
[ QRF ] |
|
|
|
| Query filter. This will be ignored if APN is provided in QRD-9. |
|
|
| QRF-2 | O |
|
| Start timestamp. This will restrict the returned results to those patients activated or modified since the timestamp. |
|
|
|
|
|
| QRF-2.1 | Start timestamp (inclusive) | 201507012352 |
|
| QRF-3 | O |
|
| End timestamp. This will restrict the returned results to those patients activated or modified before the timestamp. |
|
|
|
|
|
| QRF-3.1 | End timestamp (exclusive) | 201507022351 |
|
Examples
PKB supports a few variations on this query:
1. An "open" query (return all active patients for this institute) -- just leave the search value in the QRD empty to get all active patients with national or hospital IDs:
MSH|^~\&|App|SendingInst|HL7API|PKB|20130219140316||QRY^A19|ABC0000000001|P|2.4||||||||
QRD|20130219140316|R|I|_3B30U4GM1|||||DEM||||
Alternatively, for debugging purposes you may want to see the full list of patients (including those that are still missing national and hospital IDs) -- to get this list, use “APN” instead of “DEM” in the QRD-9.1 field (note: queries filtering on patient name are not currently supported).
2. A timestamp-limited query (return all active patients with a national or hospital ID set or modified in a timestamp range -- use the QRF filter to specify timestamp range)
MSH|^~\&|App|SendingInst|HL7API|PKB|20130219140316||QRY^A19|ABC0000000001|P|2.4||||||||
QRD|20130219140316|R|I|_3B30U4GM1|||||DEM||||
QRF||201302191100|||||||||
3. A single patient query, with NHS number in the QRD
MSH|^~\&|App|SendingInst|HL7API|PKB|20130219140316||QRY^A19|ABC0000000001|P|2.4||||||||
QRD|20130219140316|R|I|_3B30U4GM1||||4444444444^^^^^^^^^^^^NH|DEM||||
4. A single patient query, with hospital ID number in the QRD
MSH|^~\&|App|SendingInst|HL7API|PKB|20130219140316||QRY^A19|ABC0000000001|P|2.4||||||||
QRD|20130219140316|R|I|_3B30U4GM1||||ABC12345^^^^^^^^^^^^MR|DEM||||
Note on ID-based queries: the type of ID search depends on the connecting institution and the QRD-8.13 field. If the QRD-8.13 value is “MR” the hospital ID for the connecting institution is searched. If the QRD-8.13 is any other value, the national ID for the country of the connecting institution is searched.
Response
PKB will respond with an ADR A19 message. This message returns the patient information requested by a QRY A19 message where QRD-9.1 = "DEM" or "APN".
Definition
Segment | Field | Opt | RP/# | Component | Description | Example | Data Model |
---|---|---|---|---|---|---|---|
MSH |
|
|
|
| Message header. This conforms to PKB's standard definition. |
|
|
QRD |
|
|
|
| Query definition |
|
|
| QRD-1 |
|
|
| Timestamp. We do not process this field. However, we will echo the value back to you in our response. |
|
|
| QRD-4 |
|
|
| Query ID. We do not process this field. However, we will echo the value back to you in our response. |
|
|
| QRD-8 | O |
|
| Who subject filter. This will be ignored if APN is provided in QRD-9. |
|
|
|
|
|
| QRD-8.1 | ID number (e.g. NHS number, or an MRN) | 5637453543 | If National ID: If Organisation Level ID: If Team Level ID: |
|
|
|
| QRD-8.2 | Patient family name. We do not process this field. However, we will echo the value back to you in our response. |
|
|
|
|
|
| QRD-8.3 | Patient given name. We do not process this field. However, we will echo the value back to you in our response. |
|
|
|
|
|
| QRD-8.13 | ID number type code. Use "MR" for a local number search. Otherwise, a National ID search is performed, regardless of what this value is. The National ID Type used for the search will be the one associated with the country of the connecting organisation or team. | NH |
|
| QRD-9 | O |
|
| Type of query to perform. Use "DEM" for demographics, or "APN" to request all active patients (including those without an ID). The default is "DEM". |
|
|
|
|
|
| QRD-9.1 | What subject filter | DEM |
|
[ QRF ] |
|
|
|
| Query filter. This will be ignored if APN is provided in QRD-9. |
|
|
| QRF-2 | O |
|
| Start timestamp. This will restrict the returned results to those patients activated or modified since the timestamp. |
|
|
|
|
|
| QRF-2.1 | Start timestamp (inclusive) | 201507012352 |
|
| QRF-3 | O |
|
| End timestamp. This will restrict the returned results to those patients activated or modified before the timestamp. |
|
|
|
|
|
| QRF-3.1 | End timestamp (exclusive) | 201507022351 |
|
|
|
|
| PID-4.1 | Patient ID | XYZ00001 | If Organisation Level ID: If Team Level ID: |
|
|
|
| PID-4.4 | Patient ID assigning authority | ABCHospital | If Organisation Level ID: If Team Level ID: |
|
|
|
| PID-4.5 | Patient ID type code | MR | If Organisation Level ID: If Team Level ID: |
| PID-5 | R |
|
| Name |
|
|
|
|
|
| PID-5.1 | Family name | Smith | [[Patient.Family Name]] |
|
|
|
| PID-5.2 | Given name | John | [[Patient.Given Name]] |
| PID-7 | O |
|
| Date of birth |
|
|
|
|
|
| PID-7.1 | Date of birth | 19800101 | [[Patient.Date of Birth]] |
| PID-11 | O |
|
| Address |
|
|
|
|
|
| PID-11.5 | Postal code | SW1A 1AA | [[Patient.Postal Code]] |
Examples
PKB responds to the QRY A19 with a list of matching patients. Minimal info for each patient is listed -- enough to match records (NHS num, name, DoB).
MSH|^~\&|HL7API|PKB|App|ReceivingInst|201302201100||ADR^A19|ABC0000000002|P|2.4|
MSA|AA|ABC0000000001
QRD|201204201100|R|I|_3B30U4GM1|||||DEM||||
PID||4444444444^^^NHS^NH||1234567^^^ABCHospital^MR|SMITH^MARJORIE||19700101||||^^^^CB1 1BC
PID||5555555555^^^NHS^NH||2345678^^^ABCHospital^MR|DOE^JAMES||195001202||||^^^^CB1 8BL
QRY A19: Query for patient registration status
Overview
This query can be used to retrieve a list of patients including registration status who are associated with your Organisation. A patient will be returned if there is a consent record (whether active or inactive) for any Team in your Organisation.
A patient record will be repeated in the query response when a patient is in more than one Team within your Organisation. I.e. if a patient is in two teams then the response will include two pairs of PID/ZID segments for the one patient record. If the caller wishes to filter out the repeating results then they should inspect ZID-1.1 which is a unique UUID for a patient record (independent of Team association) and remove duplicates before processing the records locally.
Note: Self-registered patients that have not been activated will not be returned from an A19 query.
Definition
Segment | Field | Opt | RP/# | Component | Description | Example | Data Model |
---|---|---|---|---|---|---|---|
MSH |
|
|
|
| Message header. This conforms to PKB's standard definition. |
|
|
QRD |
|
|
|
| Query definition |
|
|
| QRD-1 |
|
|
| Timestamp. We do not process this field. However, we will echo the value back to you in our response. |
|
|
| QRD-4 |
|
|
| Query ID. We do not process this field. However, we will echo the value back to you in our response. |
|
|
| QRD-7 | O |
|
| Quantity Limited Request |
|
|
|
|
|
| QRD-7.1 | The result size to return before a DSC segment is introduced. If a value greater than the system maximum is specified, the system maximum will be used instead. This is currently set to 10,000. | 10000 |
|
|
|
|
| QRD-7.2 | Must be 'RD' | RD |
|
| QRD-9 | O |
|
| "STA" to request results for all patients including registration status custom segment. |
|
|
|
|
|
| QRD-9.1 | What subject filter | STA |
|
| QRD-11 | O |
|
| Registration status filter. |
|
|
|
|
|
| QRD-11.1 | An optional registration status to filter results by when QRD-9.1 = STA. Options: REGISTERED If start timestamp (QRF-2.1) is specified then the query behaviour is to find patients where current registration status = specified value and where that status was set on or after the timestamp specified in QRF-2.1. If there is no date restriction specified within the QRF segment then this is an open status query and results will be returned where current registration status = the value specified. | REGISTERED |
|
[ QRF ] |
|
|
|
| Query filter |
|
|
| QRF-2 | O |
|
| Start timestamp. This will restrict the returned results to those patients whose record has been updated on or after this point in time. |
|
|
|
|
|
| QRF-2.1 | Start timestamp (inclusive) | 201507012352 |
|
| QRF-5 | O |
|
| Last seen patient identifier. This should be used in conjunction with QRF-2.1 when a previous search response has been truncated and a DSC segment provided. Providing the last seen patient identifier from the previous response allows the registration status query to be reinvoked from that last known point (QRF-2.1 + QRF-5.1). The last known patient identifier will not be returned in the response i.e. the search criteria is non inclusive. |
|
|
|
|
|
| QRF-5.1 | Public ID (UUID) for the corresponding patient | 1fd2a0f6-890b-4f68-9fa1-65342f649771 |
|
Examples
PKB supports a few variations on the registration status (STA) query:
1. An open registration status query (return all patients including registration status) for your organisation
MSH|^~\&|App|SendingInst|HL7API|PKB|20190110140316||QRY^A19|ABC0000000001|P|2.4
QRD||||_queryId|||||STA
2. An open registration status query (return all patients including registration status) for your organisation. Limit results to 1000 records per query.
MSH|^~\&|App|SendingInst|HL7API|PKB|20190110140316||QRY^A19|ABC0000000001|P|2.4
QRD||||_queryId|||1000^RD||STA
3. A specific registration status query (return all patients with a registration state set to QRD-11) for your organisation.
MSH|^~\&|App|SendingInst|HL7API|PKB|20190110140316||QRY^A19|ABC0000000001|P|2.4
QRD||||_queryId|||||STA|REGISTERED
4. A timestamp start and registration status specific query (return all patient records with a registration state set to and remaining at value specified in QRD-11 and where the record was updated since defined timestamp -- use the QRF filter to specify timestamp range).
MSH|^~\&|App|SendingInst|HL7API|PKB|20190110140316||QRY^A19|ABC0000000001|P|2.4
QRD||||_queryId|||||STA||REGISTERED
QRF||201811090000
5. A registration status query submitted following a previous truncated response. QRF-2.1 and QRF-5.1 are included as the last known values to search from.
MSH|^~\&|App|SendingInst|HL7API|PKB|20190110140316||QRY^A19|ABC0000000001|P|2.4
QRD||||_queryId|||||STA
QRF||20181001235212.345+0000|||962cb105-8e95-41f1-9ebe-7761b8c5fd93
Response
PKB will respond with an ADR A19 message. This message returns the patient registration status information requested by a QRY A19 message where QRD-9.1 = "STA". The response includes a custom ZID segment and potentially a DSC continuation pointer segment. The returned patients will be sorted first by timestamp of change, and second by patient ID.
Definition
Segment | Field | Opt | RP/# | Component | Description | Example | Data Model |
---|---|---|---|---|---|---|---|
MSH |
|
|
|
| Message header. This conforms to PKB's standard definition. |
|
|
MSA |
|
|
|
| Message acknowledgement |
|
|
| MSA-1 | R |
|
| Acknowledgement code |
|
|
|
|
|
| MSA-1.1 | Acknowledgement code. AA = accepted, AR = rejected, AE = error | AA |
|
| MSA-2 | R |
|
| Message control ID. This is the MSH-10 value that was sent to PKB. |
|
|
|
|
|
| MSA-2.1 | Message control ID | ABC0000000001 |
|
QRD |
|
|
|
| Query definition. A copy of the submitted QRD segment is returned. |
|
|
[ QRF ] |
|
|
|
| Query filter. If a QRF segment was supplied, it will be returned. |
|
|
{ [ PID ] } |
|
|
|
| Patient identification. One PID segment is returned for each matching patient. |
|
|
| PID-3 | O | Y |
| The patient identifiers. A repeating list of national id and any additional local id's connected to the calling organisation |
|
|
|
|
|
| PID-3.1 | Patient ID | 5637453543 | If National ID: If Organisation Level ID: If Team Level ID: |
|
|
|
| PID-3.4 | Patient ID assigning authority (e.g 'NHS') | NHS | If National ID: If Organisation Level ID: If Team Level ID: |
|
|
|
| PID-3.5 | Patient ID type code. (e.g 'NH' for national id.) | NH | If National ID: If Organisation Level ID: If Team Level ID: |
| PID-5 | R |
|
| Name |
|
|
|
|
|
| PID-5.1 | Family name | Smith | [[Patient.Family Name]] |
|
|
|
| PID-5.2 | Given name | John | [[Patient.Given Name]] |
| PID-7 | O |
|
| Date of birth |
|
|
|
|
|
| PID-7.1 | Date of birth | 19800101 | [[Patient.Date of Birth]] |
| PID-11 | O |
|
| Address |
|
|
|
|
|
| PID-11.5 | Postal code | SW1A 1AA | [[Patient.Postal Code]] |
{ [ ZID ] } |
|
|
|
| Custom segment to return registration specific information. One ZID segment per corresponding PID segment. |
|
|
| ZID-1 | R |
|
|
|
|
|
|
|
|
| ZID-1.1 | Public ID (UUID) for the corresponding PID segment. | 1fd2a0f6-890b-4f68-9fa1-65342f649771 | [[User.Public ID]] |
| ZID-2 | R |
|
|
|
|
|
|
|
|
| ZID-2.1 | Registration status | REGISTERED | [[Patient.Registered]] |
| ZID-3 | R |
|
|
|
|
|
|
|
|
| ZID-3.1 | Last modified timestamp | 20190101101112.123+0000 |
|
[ DSC ] |
|
|
|
| Continuation pointer segment. This will be returned if the number of results has exceeded the value specified by the caller in QRD-7.1 or has exceeded the server side max results setting. The calling organisation will need to recognise this segment and programmatically re-query with an amended start timestamp (QRF-2.1) based on the last seen timestamp (ZID-3) and the inclusion of a last seen patient (QRF-5.1) based on the last seen patient UUID (ZID-1.1). |
|
|
| DSC-1 | R |
|
|
|
|
|
|
|
|
| DSC-1.1 | A UUID. Not to be used on subsequent calls. |
|
|
Examples
PKB responds to the QRY A19 with a list of matching patients and their registration status. Minimal info for each patient is listed -- enough to match records (NHS num, name, DoB).
1. Response to query for all patient registration statuses
MSH|^~\&|HL7API|PKB|App|ReceivingInst|201901101100||ADR^A19|E|P|2.4
MSA|AA|ABC0000000001
QRD||||query1|||||STA
PID|||9444444444^^^NHS^NH||SMITH^MARJORIE||19700101||||^^^^CB1 1BC|
ZID|1fd2a0f6-890b-4f68-9fa1-65342f649771|REGISTERED|20180601235212.345+0000
PID|||9555555555^^^NHS^NH||DOE^JAMES||195001202||||^^^^CB1 8BL|
ZID|6e4ba6f5-8c6e-43b9-8de0-601ec833ee83|NOT_REGISTERED|20180601235212.345+0000
PID|||9666666666^^^NHS^NH||BLOGGS^DAVID||195001202||||^^^^CB1 8BL|
ZID|9d90e773-dfe4-4c95-9690-d9b07c62f004|REGISTERED|20180701235212.345+0000
PID|||977777777^^^NHS^NH||JONES^BOB||195001202||||^^^^CB1 8BL|
ZID|962cb105-8e95-41f1-9ebe-7761b8c5fd93|NOT_REGISTERED|20181001235212.345+0000
2. Response to query for all patient registration statuses - result limit exceeded
MSH|^~\&|HL7API|PKB|App|ReceivingInst|201901101100||ADR^A19|E|P|2.4
MSA|AA|ABC0000000001
QRD||||query1|||1000^RD||STA
PID|||1000112C^^^MRN^HOSP~9444444444^^^NHS^NH||SMITH^MARJORIE||19700101||||^^^^CB1 1BC|
ZID|1fd2a0f6-890b-4f68-9fa1-65342f649771|REGISTERED|20180601235212.345+0000
PID|||9555555555^^^NHS^NH||DOE^JAMES||195001202||||^^^^CB1 8BL|
ZID|6e4ba6f5-8c6e-43b9-8de0-601ec833ee83|NOT_REGISTERED|20180601235212.345+0000
PID|||9666666666^^^NHS^NH||BLOGGS^DAVID||195001202||||^^^^CB1 8BL|
ZID|9d90e773-dfe4-4c95-9690-d9b07c62f004|REGISTERED|20180701235212.345+0000
PID|||977777777^^^NHS^NH||JONES^BOB||195001202||||^^^^CB1 8BL|
ZID|962cb105-8e95-41f1-9ebe-7761b8c5fd93|NOT_REGISTERED|20181001235212.345+0000
DSC|c4e61363-45c4-4a3d-a96e-777fe0f1e3e7
3. Response to query for all patients with a current registration status of REGISTERED
MSH|^~\&|HL7API|PKB|App|ReceivingInst|201901101100||ADR^A19|E|P|2.4
MSA|AA|ABC0000000001
QRD||||query1|||||STA||REGISTERED
PID|||1000112C^^^MRN^HOSP~9444444444^^^NHS^NH||SMITH^MARJORIE||19700101||||^^^^CB1 1BC|
ZID|1fd2a0f6-890b-4f68-9fa1-65342f649771|REGISTERED|20180601235212.345+0000
PID|||9666666666^^^NHS^NH||BLOGGS^DAVID||195001202||||^^^^CB1 8BL|
ZID|9d90e773-dfe4-4c95-9690-d9b07c62f004|REGISTERED|20180701235212.345+0000
4. Response to query for patients with a current registration status set to REGISTERED and where the record was updated on or after a defined start date
MSH|^~\&|HL7API|PKB|App|ReceivingInst|201901101100||ADR^A19|E|P|2.4
MSA|AA|ABC0000000001
QRD|||||||||STA||REGISTERED
QRF||201806290000
PID|||9666666666^^^NHS^NH||BLOGGS^DAVID||195001202||||^^^^CB1 8BL|
ZID|9d90e773-dfe4-4c95-9690-d9b07c62f004|REGISTERED|20180701235212.345+0000