Screen for Drug/Drug or Drug/Allergy Interactions
Optional integration to enable drug-drug interaction screening for historical medications
Photon enables customers to screen drafted prescriptions for Drug/Drug or Drug/Allergy interactions :
The sources of data used in screening brought in either from Sync Allergies [currently not supported by UI], Sync Medication History, as well as previously prescribed prescriptions for the patient. These are all optional and a patient not having allergies nor a medical history will still be able to screen for interactions just amongst the Drafted Prescriptions.
This feature by itself does not persist any data and does not maintain records of which warnings were shown to who and how they were handled; that is the responsibility of the front-end displaying the data.
The input used for screening is the patientId
and drafted prescriptions.
Utilizing the endpoint
Step 1: Draft a Prescription
The DraftPrescription
input is the same as the input used to create a prescription so it's encouraged to screen for interactions upon changing the prescription and/or before creating it. Most of the fields except treatment
are optional.
Step 2: Include the drafted prescription(s) in the screen request
Here's an example of the code necessary to make the request. Also feel free to use our apollo client to make the request in your browser.
import { GraphQLClient, gql } from "graphql-request";
// Initialize the GraphQL client
const graphQLClient = new GraphQLClient("https://clinical-api.neutron.health/graphql", {
headers: {
"x-photon-auth-token": "YOUR_TOKEN_HERE", // Replace with your API token
"x-photon-auth-token-type": "auth0"
},
});
// Define the screening query
const prescriptionScreeningQuery = gql`
query Query($draftedPrescriptions: [DraftedPrescriptionInput!]!, $patientId: ID!) {
prescriptionScreen(draftedPrescriptions: $draftedPrescriptions, patientId: $patientId) {
alerts {
description
involvedEntities {
... on PrescriptionScreeningAlertInvolvedAllergen {
id
name
}
... on PrescriptionScreeningAlertInvolvedDraftedPrescription {
id
name
}
... on PrescriptionScreeningAlertInvolvedExistingPrescription {
id
name
}
}
severity
type
}
}
}
`;
// Execute the query
const screeningResults = await graphQLClient.request(prescriptionScreeningQuery, {
"draftedPrescriptions": [{ "treatmentId" : "med_123456" }],
"patientId": "pat_123456"
});
// `screeningResults` will have the screening results from above
console.log(screeningResults);
Step 3: Parse the results
Here's an example response:
{
"data": {
"prescriptionScreen": {
"alerts": [
{
"type": "DRUG",
"description": "Ritonavir may increase the serum concentration of amiodarone.",
"involvedEntities": [
{
"id": "rx_012345",
"name": "Amiodarone HCl Intravenous Solution 900 MG/18ML",
"__typename": "PrescriptionScreeningAlertInvolvedExistingPrescription"
},
{
"id": "med_012345",
"name": "Paxlovid (150/100) Oral Tablet Therapy Pack 10 x 150 MG & 10 x 100MG",
"__typename": "PrescriptionScreeningAlertInvolvedDraftedPrescription"
},
],
"severity": "MAJOR",
"__typename": "PrescriptionScreeningAlert"
},
{
"type": "DRUG",
"description": "Plasma concentrations and pharmacologic effects of ulipristal may be increased by strong CYP3A4 inhibitors (e.g. Paxlovid (150/100) Oral Tablet Therapy Pack 10 x 150 MG & 10 x 100MG). Coadministration of ulipristal used in the treatment of uterine fibroids and strong CYP3A4 inhibitors is not recommended. The clinical significance of this interaction when ulipristal is used as an emergency contraceptive is not known.",
"involvedEntities": [
{
"id": "med_654321",
"name": "Ella Oral Tablet 30 MG",
"__typename": "PrescriptionScreeningAlertInvolvedDraftedPrescription"
},
{
"id": "med_012345",
"name": "Paxlovid (150/100) Oral Tablet Therapy Pack 10 x 150 MG & 10 x 100MG",
"__typename": "PrescriptionScreeningAlertInvolvedDraftedPrescription"
},
],
"severity": "MODERATE",
"__typename": "PrescriptionScreeningAlert"
},
{
"type": "ALLERGEN",
"description": "The use of Ella Oral Tablet 30 MG may result in a reaction based on a reported history of allergy to Ella containing the common ingredient of Ulipristal.",
"involvedEntities": [
{
"id": "alg_12345",
"name": "Ella",
"__typename": "PrescriptionScreeningAlertInvolvedAllergen"
},
{
"id": "med_654321",
"name": "Ella Oral Tablet 30 MG",
"__typename": "PrescriptionScreeningAlertInvolvedDraftedPrescription"
}
],
"severity": "MODERATE",
"__typename": "PrescriptionScreeningAlert"
}
],
"__typename": "PrescriptionScreenResult"
}
}
}
Note that when being given an alert, you can map the involvedEntities
to other sources.
If the involvedEntityType
is a PrescriptionScreeningAlertInvolvedDraftedPrescription
the id
will be a medication id.
If the involvedEntityType
is a PrescriptionScreeningAlertInvolvedExistingPrescription
the id
will be a prescription id.
If the involvedEntityType
is a PrescriptionScreeningAlertInvolvedAllergen
the id
will be an allergen id.
Each will have the full name of the entity for display purposes.
Updated 1 day ago