Facade: Examples (operations)
- 1 Query for the date of last data point for patients by BSN
- 2 Query for the date of last data point for patients by PKB UUID
- 3 Generate an invitation token for a specific patient
- 4 Search for laboratory results, returning at most 1 per day
- 5 Check the current user's purview
- 6 Check whether a specific document has been read
- 7 Check the status of a specific patient
- 8 Trigger a questionnaire request for specific Patient as a System client using national id
- 9 Trigger questionnaire requests for all Patients in a team as a System client using team id
Query for the date of last data point for patients by BSN
Note: whilst every effort has been made to ensure that the examples are correct and useful, they do not form part of the official specification.
Example request
{ "resourceType": "Parameters", "parameter": [ { "name": "patientIdentifier", "valueIdentifier": { "system": "http://fhir.nl/fhir/NamingSystem/bsn", "value": "974189273" } }, { "name": "patientIdentifier", "valueIdentifier": { "system": "http://fhir.nl/fhir/NamingSystem/bsn", "value": "995604381" } } ] }
Example response
{ "resourceType" : "Parameters", "parameter" : [ { "name" : "lastDataPointsResult", "part" : [ { "name" : "patientIdentifier", "valueIdentifier": { "system": "http://fhir.nl/fhir/NamingSystem/bsn ", "value": "974189273" }, "lastRecordUpdate" :"2020-08-01T09:57:34.2112Z" } ] }, { "name" : "lastDataPointsResult", "part" : [ { "name" : "patientIdentifier", "valueIdentifier": { "system": "http://fhir.nl/fhir/NamingSystem/bsn ", "value": "995604381" }, "lastRecordUpdate" :"2020-08-01T09:57:34.2112Z" } ] } ] }
Query for the date of last data point for patients by PKB UUID
Note: whilst every effort has been made to ensure that the examples are correct and useful, they do not form part of the official specification.
Example request
{ "resourceType": "Parameters", "parameter": [ { "name": "patientIdentifier", "valueIdentifier": { "system": "urn:uuid:cd97da65-0aa4-43a6-b695-cfd0c6f3267d", "value": "3d8afd18-0844-459a-b3c2-355d02e54c0a" } }, { "name": "patientIdentifier", "valueIdentifier": { "system": "urn:uuid:cd97da65-0aa4-43a6-b695-cfd0c6f3267d", "value": "f8a1836e-c171-4b33-b8d7-f3f059b63eab" } } ] }
Example response
{ "resourceType" : "Parameters", "parameter" : [ { "name" : "lastDataPointsResult", "part" : [ { "name" : "patientIdentifier", "valueIdentifier": { "system": "urn:uuid:cd97da65-0aa4-43a6-b695-cfd0c6f3267d", "value": "3d8afd18-0844-459a-b3c2-355d02e54c0a" }, "lastRecordUpdate" :"2020-08-01T09:57:34.2112Z" } ] }, { "name" : "lastDataPointsResult", "part" : [ { "name" : "patientIdentifier", "valueIdentifier": { "system": "urn:uuid:cd97da65-0aa4-43a6-b695-cfd0c6f3267d", "value": "f8a1836e-c171-4b33-b8d7-f3f059b63eab" }, "lastRecordUpdate" :"2020-08-01T09:57:34.2112Z" } ] } ] }
Generate an invitation token for a specific patient
This example demonstrates how to generate an invitation token for a single, specific patient based on their NHS number.
Generate an access token by following the OAuth 2.0 walkthrough
The example below assumes you have been granted an access token of: eyJhbGxxxx
Confirm the ID of the Organization
The example below assumes you have an ID of: 235a397b-1ae8-4755-9c77-1a0e2fbc5314
Confirm the NHS number of the patient
The example below assumes an NHS number of: 9999999999
Make the call as detailed below, replacing the access token, organisation ID and NHS number with your own values
The invitation token will be returned
Example request
This example is written for http://sandbox.patientsknowbest.com; replace the URL as needed if you are connecting to a different environment.
curl -X POST --header "Accept: application/fhir+json" --header "Content-Type: application/fhir+json" --header "Authorization: Bearer eyJhbGxxxx" --header "X-Org-Public-Id: 235a397b-1ae8-4755-9c77-1a0e2fbc5314" "https://sandbox.patientsknowbest.com/fhir/Organization/$generate-invitation-tokens" --data "{ \"resourceType\": \"Parameters\", \"parameter\": [ { \"name\": \"patientIdentifier\", \"valueIdentifier\": { \"system\": \"https://fhir.nhs.uk/Id/nhs-number\", \"value\": \"9999999999\" } } ] }"
Note: whilst every effort has been made to ensure that the examples are correct and useful, they do not form part of the official specification.
{ "resourceType": "Parameters", "parameter": [ { "name": "patientIdentifier", "valueIdentifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9999999999" } } ] }
Example response
Note: whilst every effort has been made to ensure that the examples are correct and useful, they do not form part of the official specification.
{ "resourceType": "Parameters", "parameter": [ { "name": "patientTokens", "part": [ { "name": "patientIdentifier", "valueIdentifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9999999999" } }, { "name": "code", "valueString": "aaaaaaaaaa" }, { "name": "token", "valueString": "bbbbbbbbbb" }, { "name": "expiry", "valueDatetime": "2021-01-01T09:29:23.356+00:00" } ] } ] }
Search for laboratory results, returning at most 1 per day
This example demonstrates how to query for laboratory results for a specific patient, within a given date range, returning at most 1 resource per day.
Generate an access token by following the OAuth 2.0 walkthrough
The example below assumes you have been granted an access token of: aaaaa-bbbbb
Confirm the Patient reference of the Patient you are interested in
The example below assumes a reference of: Patient/3d8afd18-0844-459a-b3c2-355d02e54c0a
Confirm the start of the date range you are interested in, and whether the date is inclusive (ge) or exclusive (gt)
The example below assumes a start date of: ge2018-01-01
Confirm the end of the date range you are interested in, and whether the date is inclusive (le) or exclusive (lt)
The example below assumes an end date of: le2018-12-31
Make the call as detailed below, replacing the access token and search parameters with your own values
The matching Consent resources will be returned in the search results
Example request
This example is written for http://sandbox.patientsknowbest.com; replace the URL as needed if you are connecting to a different environment.
curl -X GET --header "Accept: application/fhir+json" --header "Authorization: Bearer aaaaa-bbbbb" "https://sandbox.patientsknowbest.com/fhir/Observation/$group?category=http://fhir.patientsknowbest.com/codesystem/observation-category|LABORATORY&patient=Patient/3d8afd18-0844-459a-b3c2-355d02e54c0a&date=ge2018-01-01&date=le2018-12-31"
Check the current user's purview
This example demonstrates how to execute the Purview operation.
Generate an access token by following the OAuth 2.0 walkthrough
The example below assumes you have been granted an access token of: aaaaa-bbbbb
Make the call as detailed below, replacing the access token with your own value
Your purview will be returned in the operation response
Example request
This example is written for http://sandbox.patientsknowbest.com; replace the URL as needed if you are connecting to a different environment.
curl -X GET --header "Accept: application/fhir+json" --header "Authorization: Bearer aaaaa-bbbbb" "https://sandbox.patientsknowbest.com/fhir/Consent/$purview"
Check whether a specific document has been read
This example demonstrates how to check whether a single, specific document has been read.
Generate an access token by following the OAuth 2.0 walkthrough
The example below assumes you have been granted an access token of: eyJhbGxxxx
Confirm the ID of the Organization
The example below assumes you have an ID of: 235a397b-1ae8-4755-9c77-1a0e2fbc5314
Confirm the identifier of the document
The example below assumes an identifier of: 97a25402-622b-47e0-b650-bbbd08de4daf
Make the call as detailed below, replacing the access token, organisation ID and document ID with your own values
The read indicator will be returned
Example request
This example is written for http://sandbox.patientsknowbest.com; replace the URL as needed if you are connecting to a different environment.
curl -X POST --header "Accept: application/fhir+json" --header "Content-Type: application/fhir+json" --header "Authorization: Bearer eyJhbGxxxx" --header "X-Org-Public-Id: 235a397b-1ae8-4755-9c77-1a0e2fbc5314" "https://sandbox.patientsknowbest.com/fhir/DocumentReference/$read-receipt-query" --data "{ \"resourceType\": \"Parameters\", \"parameter\": [ { \"name\": \"documentIdentifier\", \"valueString\": \"97a25402-622b-47e0-b650-bbbd08de4daf\" } ] }"
Note: whilst every effort has been made to ensure that the examples are correct and useful, they do not form part of the official specification.
{ "resourceType": "Parameters", "parameter": [ { "name": "documentIdentifier", "valueString": "97a25402-622b-47e0-b650-bbbd08de4daf" } ] }
Example response
Note: whilst every effort has been made to ensure that the examples are correct and useful, they do not form part of the official specification.
{ "resourceType" : "Parameters", "parameter" : [ { "name" : "read_receipt", "part" : [ { "name" : "documentIdentifier", "valueString" : "97a25402-622b-47e0-b650-bbbd08de4daf" }, { "name" : "read", "valueBoolean" : true } ] } ] }
Check the status of a specific patient
This example demonstrates how to check the status of a single, specific patient based on their NHS number.
Generate an access token by following the OAuth 2.0 walkthrough
The example below assumes you have been granted an access token of: eyJhbGxxxx
Confirm the ID of the Organization
The example below assumes you have an ID of: 235a397b-1ae8-4755-9c77-1a0e2fbc5314
Confirm the NHS number of the patient
The example below assumes an NHS number of: 9999999999
Make the call as detailed below, replacing the access token, organisation ID and NHS number with your own values
The status information will be returned
Example request
This example is written for http://sandbox.patientsknowbest.com; replace the URL as needed if you are connecting to a different environment.
curl -X POST --header "Accept: application/fhir+json" --header "Content-Type: application/fhir+json" --header "Authorization: Bearer eyJhbGxxxx" --header "X-Org-Public-Id: 235a397b-1ae8-4755-9c77-1a0e2fbc5314" "https://sandbox.patientsknowbest.com/fhir/Patient/$status-query" --data "{ \"resourceType\": \"Parameters\", \"parameter\": [ { \"name\": \"patientIdentifier\", \"valueIdentifier\": { \"system\": \"https://fhir.nhs.uk/Id/nhs-number\", \"value\": \"9999999999\" } } ] }"
Note: whilst every effort has been made to ensure that the examples are correct and useful, they do not form part of the official specification.
{ "resourceType": "Parameters", "parameter": [ { "name": "patientIdentifier", "valueIdentifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9999999999" } } ] }
Example response
Note: whilst every effort has been made to ensure that the examples are correct and useful, they do not form part of the official specification.
{ "resourceType" : "Parameters", "parameter" : [ { "name" : "patientStatus", "part" : [ { "name" : "patientIdentifier", "valueIdentifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9999999999" } }, { "name" : "registered", "valueBoolean" : true }, { "name" : "deceased", "valueBoolean" : false }, { "name" : "dateOfBirth", "valueDate" : "1920-01-01" } ] } ] }
Trigger a questionnaire request for specific Patient as a System client using national id
This example demonstrates how to trigger a questionnaire request for a specific Patient using its national ID. It also uses optional parameters to disable email notification on questionnaire response and adds an external business identifier for the request.
Generate an access token by following the OAuth 2.0 walkthrough
The example below assumes you have been granted an access token of: aaaaa-bbbbb
Confirm the ID of the Organization
The example below assumes you have an Organization ID of: 235a397b-1ae8-4755-9c77-1a0e2fbc5314
Confirm the national ID of the patient
The example below assumes you have one Patient with the following NHS number: 5193233945
Confirm the ID of the Questionnaire, you can do so by using the Questionnaire Search
The example below assumes a Questionnaire ID of: bd17e556-20e3-4f01-8078-30e5f675b0f2
Confirm the ID of the practitioner on behalf of which the communications will be sent to the patient through PKB
This currently needs to be provided by PKB, the example below assumes a practitioner ID of: bdaa24d0-3cd5-469c-aa69-db676fa31bbe
Confirm if the practitioner wants to be notified about the patient filling up a response by email
The example below assumes the practitioner does not want to be notified, so the Notification flag is set to EMAIL_NOTIFICATION_DISABLED
Confirm the additional external business identifier you want to add to the request. This identifier must be FHIR compliant.
The example below assumes the identifier is the following:
system: https://fhir-open.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/ServiceRequest
value: 294672281
Make the call as detailed below, replacing the access token, Organization ID, Patient national ID, Questionnaire ID, Practitioner ID, Notification flag and additional identifier with your own values
The questionnaire request will be created and communications will be sent to the Patient through PKB UI.
Example request
This example is written for http://sandbox.patientsknowbest.com; replace the URL as needed if you are connecting to a different environment.
curl -X POST --header "Accept: application/fhir+json" --header "Content-Type: application/fhir+json" --header "Authorization: Bearer aaaaa-bbbbb" --header "X-Org-Public-Id: 235a397b-1ae8-4755-9c77-1a0e2fbc5314" "https://sandbox.patientsknowbest.com/fhir/Questionnaire/bd17e556-20e3-4f01-8078-30e5f675b0f2/$send-questionnaire-request" --data "{ \"resourceType\":\"Parameters\", \"parameter\":[ { \"name\":\"target\", \"valueReference\":{ \"identifier\":{ \"system\":\"https://fhir.nhs.uk/Id/nhs-number\", \"value\":\"5193233945\" } } }, { \"name\":\"requestor\", \"valueReference\":{ \"reference\":\"Practitioner/bdaa24d0-3cd5-469c-aa69-db676fa31bbe\" } }, { \"name\":\"notificationFlag\", \"valueCode\":\"EMAIL_NOTIFICATION_DISABLED\" }, { \"name\":\"additionalIdentifier\", \"valueIdentifier\":{ \"system\":\"https://fhir-open.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/ServiceRequest\", \"value\":\"294672281\" } } ] }"
Pretty-printed request body
{
"resourceType":"Parameters",
"parameter":[
{
"name":"target",
"valueReference":{
"identifier":{
"system":"https://fhir.nhs.uk/Id/nhs-number",
"value":"5193233945"
}
}
},
{
"name":"requestor",
"valueReference":{
"reference":"Practitioner/bdaa24d0-3cd5-469c-aa69-db676fa31bbe"
}
},
{
"name":"notificationFlag",
"valueCode":"EMAIL_NOTIFICATION_DISABLED"
},
{
"name":"additionalIdentifier",
"valueIdentifier":{
"system":"https://fhir-open.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/ServiceRequest",
"value":"294672281"
}
}
]
}
Example response
Note: whilst every effort has been made to ensure that the examples are correct and useful, they do not form part of the official specification.
{
"resourceType":"Parameters",
"parameter":[
{
"name":"request",
"valueReference":{
"reference":"ProcedureRequest/2f292349-6893-4813-868b-ec00e8318c8c"
}
}
]
}
Trigger questionnaire requests for all Patients in a team as a System client using team id
This example demonstrates how to trigger questionnaire requests for all Patients within a team.
Generate an access token by following the OAuth 2.0 walkthrough
The example below assumes you have been granted an access token of: aaaaa-bbbbb
Confirm the ID of the Organization (organisation)
The example below assumes you have an organisation ID of: 235a397b-1ae8-4755-9c77-1a0e2fbc5314
Confirm the ID of the Organization (team)
The example below assumes you have an team ID of: ca9db36c-1b77-4d12-9246-d78fa5d13e8c
Confirm the ID of the Questionnaire, you can do so by using the Questionnaire Search
The example below assumes a Questionnaire ID of: bd17e556-20e3-4f01-8078-30e5f675b0f2
Confirm the ID of the practitioner on behalf of which the communications will be sent to the patient through PKB
This currently needs to be provided by PKB, the example below assumes a practitioner ID of: bdaa24d0-3cd5-469c-aa69-db676fa31bbe
Make the call as detailed below, replacing the access token, both Organization IDs, Questionnaire ID and Practitioner ID with your own values
The questionnaire requests will be created and communications will be sent to all the Patients in the Organization through PKB UI.
Example request
This example is written for http://sandbox.patientsknowbest.com; replace the URL as needed if you are connecting to a different environment.
curl -X POST --header "Accept: application/fhir+json" --header "Content-Type: application/fhir+json" --header "Authorization: Bearer aaaaa-bbbbb" --header "X-Org-Public-Id: 235a397b-1ae8-4755-9c77-1a0e2fbc5314" "https://sandbox.patientsknowbest.com/fhir/Questionnaire/bd17e556-20e3-4f01-8078-30e5f675b0f2/$send-questionnaire-request" --data "{\"resourceType\":\"Parameters\",\"parameter\":[{\"name\":\"target\",\"valueReference\":{\"reference\":\"Organization/ca9db36c-1b77-4d12-9246-d78fa5d13e8c\"}},{\"name\":\"requestor\",\"valueReference\":{\"reference\":\"Practitioner/bdaa24d0-3cd5-469c-aa69-db676fa31bbe\"}}]}
Pretty-printed request body
{
"resourceType":"Parameters",
"parameter":[
{
"name":"target",
"valueReference":{
"reference":"Organization/ca9db36c-1b77-4d12-9246-d78fa5d13e8c"
}
},
{
"name":"requestor",
"valueReference":{
"reference":"Practitioner/bdaa24d0-3cd5-469c-aa69-db676fa31bbe"
}
}
]
}
Example response
Note: whilst every effort has been made to ensure that the examples are correct and useful, they do not form part of the official specification.