Monitoring Notifications

Receive notifications for patients that you are monitoring

You will need to set up your callback endpoint(s) in order to receive Monitoring Notifications for the patients whom you are monitoring. Refer to the Event Notifications documentation on how to set up your endpoint(s).

📘

ADT Notifications follow a different schema than those detailed below. The ADT notification schema is outlined on ADT Notifications.

Proactive Querying & Network Alert Notifications

Proactive Querying & Network Alert Notifications all follow the schema below, and will contain the Particle Patient ID and count of files retrieved.

Query Status Schema

{
  "specversion":"1.0",
  "id": "f834539f-a839-490b-80f9-b441cb9e435d",
  "source": "api/notifications",
  "type":"com.particlehealth.api.v2.query",
  "subject":"Proactive Query",
  "datacontenttype":"application/json",
  "time":"2023-05-15T12:00:14.694292853Z",
  "data":{
    "file_count": "2",
    "patient_id": "9557a65e-55b7-4a3b-b0a1-f4dd2df5a2f8",
    "person_id": "75c771c5-600e-4c4b-a4e9-f932fa2827aa",
    "purpose": "TREATMENT",
    "query_id": "50ee4bd4-bd87-4e66-bab1-7e0309a9a656",
    "status": "COMPLETE"
  }
}
{
  "specversion":"1.0",
  "id": "f834539f-a839-490b-80f9-b441cb9e435d",
  "source": "api/notifications",
  "type":"com.particlehealth.api.v2.query",
  "subject":"Network Alert Query",
  "datacontenttype":"application/json",
  "time":"2023-05-15T12:00:14.694292853Z",
  "data":{
    "file_count": "2",
    "patient_id": "9557a65e-55b7-4a3b-b0a1-f4dd2df5a2f8",
    "person_id": "75c771c5-600e-4c4b-a4e9-f932fa2827aa",
    "purpose": "TREATMENT",
    "query_id": "50ee4bd4-bd87-4e66-bab1-7e0309a9a656",
    "status": "COMPLETE"
  }
}

Referral Alert Notifications

Referral Alert Notifications all follow the schema below, and will contain the Particle Patient ID, Referral Organization name and OID, referral status, and fileIds and resourceIds associated with the referral encounter.

{
  "specversion":"1.0",
  "type":"com.particlehealth.api.v2.referralalert",
  "source": "api/notifications",
  "id": "f834539f-a839-490b-80f9-b441cb9e435d",
  "time":"2023-05-15T12:00:14.694292853Z",
  "datacontenttype":"application/json",
  "data":{
    "network_organization": {
      "name": "Rochester Hospital",
      "oid": "2.16.840.1.113883.3.8391.5.710576"
    },
    "particle_patient_id": "73630f6a-d8e3-4295-bf70-7214d68b4ed7",
    "referral_id": "df76019c-2fd9-42da-98a7-359b4dc66caf",
    "referral_status": "COMPLETE",
    "resources": [
      {
        "resource_ids": [
          "Encounter/e68f30e9-8342-4fb7-9bcb-6cab47d5c6b0"
        ]
      }
    ]
  }

Retrieving Data Deltas

You can retrieve the corresponding encounter data associated with these notifications using the Deltas API, with the option to retrieve the full patient history or only the data delta.

Since Parameter

📌 To retrieve the data delta (*i.e.*, the net new data identified since the last time data was retrieved for the patient), you must pass the `since` parameter in your request.
  • If _since="lastQuery" (case-insensitive) is passed in, Particle will only return data added since the last time data was retrieved for the patient.

  • If a _since="YYYY-MM-DD" parameter is passed in, Particle will only return new data retrieved since that date.

  • If no _since parameter is passed in, all of the Patient's data should be returned.

Retrieve deltas in FHIR

PATHapi.particlehealth.com/deltas/patient/{particle_patient_id}/$everything
METHODGET

Example Request

curl --request GET \
--url [https://api.particlehealth.com/deltas/patient/{particle_patient_id}/$everything](https://api.particlehealth.com/deltas/patient/%7Bparticle_patient_id%7D/$everything) \
--header 'accept: application/json'

Response Model

If there are no updates in the deltas FHIR store, Particle will return an empty response. The empty response is returned as part of the standard API behavior.

NOTE if you only want to retrieve the data delta for a specific FHIR resource, you can also fetch any other GET resource and fetch data from the persisted delta FHIR store https://api.particlehealth.com/deltas/R4/{resource_type}/{resource_id}

Example Requests with Since Parameter

curl --request GET \
     --url [https://api.particlehealth.com/deltas/patient/{particle_patient_id}/$everything](https://api.particlehealth.com/deltas/patient/%7Bparticle_patient_id%7D/$everything)?since=2023-12-31 \
     --header 'accept: application/json'

Retrieve deltas in FLAT

PATH*api.particlehealth.com/deltas/flat/{particle_patient_id}/
METHODGET

Example Request

curl --request GET \
     --url https://api.particlehealth.com/deltas/flat/{particle_patient_id} \
     --header 'accept: application/json'
curl --request GET \
     --url [https://api.particlehealth.com/deltas/patient/{particle_patient_id}/$everything](https://api.particlehealth.com/deltas/patient/%7Bparticle_patient_id%7D/$everything)?since="lastQuery" \
     --header 'accept: application/json'

NOTE if you only want to retrieve the data delta for a specific dataset (e.g. allergies) you can use GET https://api.particlehealth.com/deltas/flat/{particle_patient_id}?[data_sets] to retrieve individual data sets by adding on the specific data set to the end of the API call as a query parameter.

E.g. GET https://api.particlehealth.com/deltas/flat/{particle_patient_id}?**allergies**

Or, GET https://api.particlehealth.com/deltas/flat/{particle_patient_id}?**allergies&encounters**

Example Requests with Since Parameter

curl --request GET \
     --url https://api.particlehealth.com/deltas/flat/{particle_patient_id}?since=2023-12-31 \
     --header 'accept: application/json'
curl --request GET \
     --url https://api.particlehealth.com/deltas/flat/{particle_patient_id}?since="lastQuery" \
     --header 'accept: application/json'

What’s Next