Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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" } ] } ] }

...

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\" } } ] }"

...

{ "resourceType": "Parameters", "parameter": [ { "name": "patientIdentifier", "valueIdentifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9999999999" } } ] }

...

{ "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" } ] } ] }

...

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"

Create a new patient record

This example demonstrates how to create a new patient record.

  1. Generate an access token by following the OAuth 2.0 walkthrough

    1. The example below assumes you have been granted an access token of: eyJhbGxxxx

  2. Confirm the ID of the Organization

    1. The example below assumes you have an ID of: 235a397b-1ae8-4755-9c77-1a0e2fbc5314

  3. Confirm the contents of the Patient resource

  4. Make the call as detailed below, replacing the access token, organisation ID and Patient resource with your own values

Success

Example request

This example is written for http://sandbox.patientsknowbest.com ; replace the URL as needed if you are connecting to a different environment.

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.

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/phr-fhir/Patient/$process-message" --data "{ \"resourceType\": \"Patient\", \"identifier\": [{ \"extension\": [{ \"url\": \"https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-NHSNumberVerificationStatus-1\", \"valueCodeableConcept\": { \"coding\": [{ \"system\": \"https://fhir.hl7.org.uk/STU3/CodeSystem/CareConnect-NHSNumberVerificationStatus-1\", \"code\": \"01\" }] } }], \"system\": \"https://fhir.nhs.uk/Id/nhs-number\", \"value\": \"9999999999\" }], \"name\": [{ \"family\": \"Doe\", \"given\": [\"John\"], \"prefix\": [\"Mr\"] }], \"telecom\": [ { \"system\": \"phone\", \"value\": \"07123456789\" }, { \"system\": \"email\", \"value\": \"john.smith@example.com\" } ], \"gender\": \"male\", \"birthDate\": \"1990-01-02\", \"address\": [{ \"line\": [\"1 Main Street\", \"The Place\"], \"city\": \"London\", \"postalCode\": \"CB11BC\" }], \"extension\": [{\"url\": \"http://fhir.patientsknowbest.com/structuredefinition/team-alias\", \"valueString": \"team_alias_a\"}, {\"url\": \"http://fhir.patientsknowbest.com/structuredefinition/team-alias\", \"valueString\": \"team_alias_b\"}] }"

Pretty-printed request body

Code Block
{

  "resourceType": "Patient",

  "identifier": [{

    "extension": [{

      "url": "https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-NHSNumberVerificationStatus-1",

      "valueCodeableConcept": {

      "coding": [{

        "system": "https://fhir.hl7.org.uk/STU3/CodeSystem/CareConnect-NHSNumberVerificationStatus-1",

        "code": "01"

      }]

    }

    }],

    "system": "https://fhir.nhs.uk/Id/nhs-number",

    "value": "9999999999"

  }],

  "name": [{

    "family": "Doe",

    "given": ["John"],

    "prefix": ["Mr"]

  }],

  "telecom": [

    {

      "system": "phone",

      "value": "07123456789"

    },

    {

      "system": "email",

      "value": "john.smith@example.com"

    }

  ],

  "gender": "male",

  "birthDate": "1990-01-02",

  "address": [{

    "line": ["1 Main Street", "The Place"],

    "city": "London",

    "postalCode": "CB11BC"

  }],

  "extension": [

    {

      "url": "http://fhir.patientsknowbest.com/structuredefinition/team-alias",

      "valueString": "team_alias_a"

    },

    {

      "url": "http://fhir.patientsknowbest.com/structuredefinition/team-alias",

      "valueString": "team_alias_b"

    }

  ]

}

Example response

Status: 200 OK

Body: Empty

Failure

Example request

Code Block
{

  "resourceType": "Patient",

  "identifier": [{

    "extension": [{

      "url": "https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-NHSNumberVerificationStatus-1",

      "valueCodeableConcept": {

      "coding": [{

        "system": "https://fhir.hl7.org.uk/STU3/CodeSystem/CareConnect-NHSNumberVerificationStatus-1",

        "code": "02"

      }]

    }

    }],

    "system": "https://fhir.nhs.uk/Id/nhs-number",

    "value": "9999999999"

  }],

  "name": [{

    "family": "Doe",

    "given": ["John"],

    "prefix": ["Mr"]

  }],

  "telecom": [

    {

      "system": "phone",

      "value": "07123456789"

    },

    {

      "system": "email",

      "value": "john.smith@example.com"

    }

  ],

  "gender": "male",

  "birthDate": "1990-01-02",

  "address": [{

    "line": ["1 Main Street", "The Place"],

    "city": "London",

    "postalCode": "CB11BC"

  }]

}

Example response

Code Block
{

    "resourceType": "OperationOutcome",

    "id": "5b392b1e-350b-4793-88b6-53b3d4df5cab",

    "issue": [

        {

            "severity": "error",

            "code": "invalid",

            "diagnostics": "NHS number identifier is not verified"

        }

    ]

}
  • Make the call as detailed below, replacing the access token with your own value

  • Your purview will be returned in the operation response

Check the current user's purview

...

  1. 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

  2. Make the call as detailed below, replacing the access token with your own value

  3. 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

...

  1. Generate an access token by following the OAuth 2.0 walkthrough

    1. The example below assumes you have been granted an access token of: eyJhbGxxxx

  2. Confirm the ID of the Organization

    1. The example below assumes you have an ID of: 235a397b-1ae8-4755-9c77-1a0e2fbc5314

  3. Confirm the identifier of the document

    1. The example below assumes an identifier of: 97a25402-622b-47e0-b650-bbbd08de4daf

  4. Make the call as detailed below, replacing the access token, organisation ID and document ID with your own values

    1. 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\" } ] }"

...

{ "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.

...

  1. Generate an access token by following the OAuth 2.0 walkthrough

    1. The example below assumes you have been granted an access token of: eyJhbGxxxx

  2. Confirm the ID of the Organization

    1. The example below assumes you have an ID of: 235a397b-1ae8-4755-9c77-1a0e2fbc5314

  3. Confirm the NHS number of the patient

    1. The example below assumes an NHS number of: 9999999999

  4. Make the call as detailed below, replacing the access token, organisation ID and NHS number with your own values

    1. 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\" } } ] }"

...

{ "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" } ] } ] }

...

  1. Generate an access token by following the OAuth 2.0 walkthrough

    1. The example below assumes you have been granted an access token of: aaaaa-bbbbb

  2. Confirm the ID of the Organization (PKB clinical team)

    1. The example below assumes you have an Organization ID of: 235a397b-1ae8-4755-9c77-1a0e2fbc5314

  3. Confirm the ID of the Patient, you can do so by searching it using their NHS number

    1. The example below assumes you have an Patient ID of: ca9db36c-1b77-4d12-9246-d78fa5d13e8c

  4. Confirm the ID of the Questionnaire, you can do so by using the Questionnaire Search

    1. The example below assumes a Questionnaire ID of: bd17e556-20e3-4f01-8078-30e5f675b0f2

  5. Confirm the ID of the practitioner on behalf of which the communications will be sent to the patient through PKB

    1. This currently needs to be provided by PKB, the example below assumes a practitioner ID of: bdaa24d0-3cd5-469c-aa69-db676fa31bbe

  6. If you wish to add an optional Identifier to the Questionnaire Request that will be created during the operation, confirm through your own system the corresponding ID

    1. The example below assumes the following identifier: {"system":"org-uuid","value":"id-value"}

  7. Make the call as detailed below, replacing the access token, Organization ID, Patient ID, Questionnaire ID, Practitioner ID and optional internal ID with your own values

    1. 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\":{\"reference\":\"Patient/ca9db36c-1b77-4d12-9246-d78fa5d13e8c\"}},{\"name\":\"requestor\",\"valueReference\":{\"reference\":\"Practitioner/bdaa24d0-3cd5-469c-aa69-db676fa31bbe\"}},{\"name\":\"additionalIdentifier\",\"valueIdentifier\":{\"system\":\"org-uuid\",\"value\":\"id-value\"}}]}

Pretty-printed request body

Code Block
{
   "resourceType":"Parameters",
   "parameter":[
      {

        "name":"target",

        "valueReference":{
            "reference":"Patient/ca9db36c-1b77-4d12-9246-d78fa5d13e8c"
         }
      },
      {
         "name":"requestor",
         "valueReference":{
            "reference":"Practitioner/bdaa24d0-3cd5-469c-aa69-db676fa31bbe"
         }

     },

      {
         "name":"additionalIdentifier",
         "valueIdentifier":{
            "system":"org-uuid",
            "value":"id-value"
         }
      }
   ]

}

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.

Code Block
{
    "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

...

  1. Generate an access token by following the OAuth 2.0 walkthrough

    1. The example below assumes you have been granted an access token of: aaaaa-bbbbb

  2. Confirm the ID of the Organization (organisation)

    1. The example below assumes you have an organisation ID of: 235a397b-1ae8-4755-9c77-1a0e2fbc5314

  3. Confirm the ID of the Organization (team)

    1. The example below assumes you have an team ID of: ca9db36c-1b77-4d12-9246-d78fa5d13e8c

  4. Confirm the ID of the Questionnaire, you can do so by using the Questionnaire Search

    1. The example below assumes a Questionnaire ID of: bd17e556-20e3-4f01-8078-30e5f675b0f2

  5. Confirm the ID of the practitioner on behalf of which the communications will be sent to the patient through PKB

    1. This currently needs to be provided by PKB, the example below assumes a practitioner ID of: bdaa24d0-3cd5-469c-aa69-db676fa31bbe

  6. Make the call as detailed below, replacing the access token, both Organization IDs, Patient ID, Questionnaire ID and Practitioner ID with your own values

    1. 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

Code Block
{
   "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.

Code Block
{
   "resourceType":"Parameters",

  "parameter":[

     {
         "name":"request",
         "valueReference":{
            "reference":"ProcedureRequest/6a326b8c-d03b-42f5-9e8f-e708ac12a26c"
         }
      },
      {
         "name":"request",
         "valueReference":{
            "reference":"ProcedureRequest/be54a62e-b263-4151-b244-e7e912682c49"
         }

     }

  ]

}