initial commit
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
-- Snowflake version: Check dispensing by VMP (Virtual Medicinal Product)
|
||||
-- Uses GPMeds dispensing data from NATIONAL.GPMED
|
||||
|
||||
WITH SnomedCodes AS (
|
||||
SELECT "ProductSnomedCode"
|
||||
FROM DATA_HUB.DWH."DimMedicineAndDevice"
|
||||
WHERE "MedicinalLatestSnomedCode" = '40326811000001109' -- Specific VMP
|
||||
),
|
||||
LatestPeriod AS (
|
||||
SELECT MAX("ProcessingPeriodDate") AS MaxPeriodDate
|
||||
FROM NATIONAL.GPMED."MedicinesDispensedInPrimarycare"
|
||||
)
|
||||
SELECT
|
||||
gpm."ProcessingPeriodDate",
|
||||
dos."OrganisationName",
|
||||
COUNT(DISTINCT gpm."PatientPseudonym") AS UniquePatientCount,
|
||||
SUM(gpm."ItemCount") AS TotalItemsDispensed,
|
||||
SUM(gpm."PaidQuantity") AS TotalQuantityDispensed
|
||||
FROM NATIONAL.GPMED."MedicinesDispensedInPrimarycare" gpm
|
||||
INNER JOIN SnomedCodes sc ON gpm."PaiddmdCode" = sc."ProductSnomedCode"
|
||||
LEFT JOIN DATA_HUB.DWH."DimOrganisationAndSite" dos
|
||||
ON gpm."CostCentreODSCode" = dos."SiteCode"
|
||||
CROSS JOIN LatestPeriod lp
|
||||
WHERE gpm."ProcessingPeriodDate" > DATEADD(MONTH, -12, lp.MaxPeriodDate)
|
||||
AND gpm."ProcessingPeriodDate" <= lp.MaxPeriodDate
|
||||
GROUP BY gpm."ProcessingPeriodDate", dos."OrganisationName", gpm."CostCentreODSCode"
|
||||
ORDER BY gpm."ProcessingPeriodDate", dos."OrganisationName";
|
||||
@@ -0,0 +1,29 @@
|
||||
-- Snowflake version: Check dispensing by VTM (Virtual Therapeutic Moiety)
|
||||
-- Uses GPMeds dispensing data from NATIONAL.GPMED
|
||||
|
||||
WITH SnomedCodes AS (
|
||||
SELECT "ProductSnomedCode", "ProductDescription"
|
||||
FROM DATA_HUB.DWH."DimMedicineAndDevice"
|
||||
WHERE "TherapeuticMoietySnomedCode" = '41145911000001106' -- Tirzepatide VTM
|
||||
),
|
||||
LatestPeriod AS (
|
||||
SELECT MAX("ProcessingPeriodDate") AS MaxPeriodDate
|
||||
FROM NATIONAL.GPMED."MedicinesDispensedInPrimarycare"
|
||||
)
|
||||
SELECT *
|
||||
FROM NATIONAL.GPMED."MedicinesDispensedInPrimarycare" gpm
|
||||
INNER JOIN SnomedCodes sc ON gpm."PaiddmdCode" = sc."ProductSnomedCode"
|
||||
CROSS JOIN LatestPeriod lp
|
||||
WHERE gpm."ProcessingPeriodDate" > DATEADD(MONTH, -1, lp.MaxPeriodDate)
|
||||
AND gpm."ProcessingPeriodDate" <= lp.MaxPeriodDate
|
||||
limit 100;
|
||||
|
||||
|
||||
SELECT
|
||||
COUNT(DISTINCT gpm."PatientPseudonym") AS UniquePatientCount,
|
||||
MAX(gpm."ProcessingPeriodDate") AS LatestPeriod
|
||||
FROM NATIONAL.GPMED."MedicinesDispensedInPrimarycare" gpm
|
||||
INNER JOIN SnomedCodes sc ON gpm."PaiddmdCode" = sc."ProductSnomedCode"
|
||||
CROSS JOIN LatestPeriod lp
|
||||
WHERE gpm."ProcessingPeriodDate" > DATEADD(MONTH, -1, lp.MaxPeriodDate)
|
||||
AND gpm."ProcessingPeriodDate" <= lp.MaxPeriodDate;
|
||||
@@ -0,0 +1,19 @@
|
||||
-- Snowflake version: Check prescribing by VMP (Virtual Medicinal Product)
|
||||
-- Uses unified PrimaryCareMedication table (combines EMIS + TPP)
|
||||
|
||||
SET StartDate = '2025-04-01';
|
||||
SET EndDate = '2025-07-31';
|
||||
|
||||
WITH SnomedCodes AS (
|
||||
SELECT "ProductSnomedCode"
|
||||
FROM DATA_HUB.DWH."DimMedicineAndDevice"
|
||||
WHERE "MedicinalLatestSnomedCode" = '40326811000001109' -- Specific VMP
|
||||
)
|
||||
SELECT DISTINCT
|
||||
pcm."PatientPseudonym",
|
||||
pcm."DateMedicationStart" AS EffectiveDate,
|
||||
CAST(pcm."Quantity" AS VARCHAR(20)) AS Quantity
|
||||
FROM DATA_HUB.PHM."PrimaryCareMedication" pcm
|
||||
INNER JOIN SnomedCodes sc ON pcm."SNOMEDCode" = sc."ProductSnomedCode"
|
||||
WHERE pcm."DateMedicationStart" BETWEEN $StartDate AND $EndDate
|
||||
AND pcm."PatientPseudonym" IS NOT NULL;
|
||||
@@ -0,0 +1,30 @@
|
||||
-- Snowflake version: Check prescribing by VTM (Virtual Therapeutic Moiety)
|
||||
-- Uses unified PrimaryCareMedication table (combines EMIS + TPP)
|
||||
|
||||
SET StartDate = '2025-11-01';
|
||||
SET EndDate = '2025-12-31';
|
||||
|
||||
WITH SnomedCodes AS (
|
||||
SELECT "ProductSnomedCode", "ProductDescription"
|
||||
FROM DATA_HUB.DWH."DimMedicineAndDevice"
|
||||
WHERE "TherapeuticMoietySnomedCode" = '41145911000001106' -- Tirzepatide VTM
|
||||
)
|
||||
SELECT DISTINCT
|
||||
dos."OrganisationName",
|
||||
dp."PersonKey",
|
||||
pcm."DateMedicationStart" AS EffectiveDate,
|
||||
sc."ProductDescription",
|
||||
CAST(pcm."Quantity" AS VARCHAR(20)) AS Quantity,
|
||||
pcm."QuantityText" AS Dosage
|
||||
FROM DATA_HUB.PHM."PrimaryCareMedication" pcm
|
||||
INNER JOIN DATA_HUB.DWH."DimPerson" dp
|
||||
ON pcm."PatientPseudonym" = dp."PatientPseudonym"
|
||||
INNER JOIN SnomedCodes sc
|
||||
ON pcm."SNOMEDCode" = sc."ProductSnomedCode"
|
||||
INNER JOIN DATA_HUB.DWH."DimOrganisationAndSite" dos
|
||||
ON dp."CurrentGeneralPractice" = dos."SiteCode"
|
||||
WHERE pcm."DateMedicationStart" BETWEEN $StartDate AND $EndDate
|
||||
AND pcm."PatientPseudonym" IS NOT NULL
|
||||
AND dos."OrganisationSubType" = 'GP Practice'
|
||||
AND dos."IsSiteNorfolkAndWaveney" = 'Yes'
|
||||
AND dos."IsSiteActive" = 'Yes';
|
||||
@@ -0,0 +1,28 @@
|
||||
-- Snowflake version: Check prescribing by VTM (Virtual Therapeutic Moiety)
|
||||
-- Uses unified PrimaryCareMedication table (combines EMIS + TPP)
|
||||
|
||||
SET StartDate = '2025-05-01';
|
||||
SET EndDate = '2025-11-30';
|
||||
|
||||
WITH SnomedCodes AS (
|
||||
SELECT "ProductSnomedCode", "ProductDescription"
|
||||
FROM DATA_HUB.DWH."DimMedicineAndDevice"
|
||||
WHERE "TherapeuticMoietySnomedCode" = '41145911000001106' -- Tirzepatide VTM
|
||||
)
|
||||
SELECT
|
||||
DATE_TRUNC('MONTH', pcm."DateMedicationStart") AS PrescribingMonth,
|
||||
COUNT(DISTINCT dp."PersonKey") AS UniquePatientCount
|
||||
FROM DATA_HUB.PHM."PrimaryCareMedication" pcm
|
||||
INNER JOIN DATA_HUB.DWH."DimPerson" dp
|
||||
ON pcm."PatientPseudonym" = dp."PatientPseudonym"
|
||||
INNER JOIN SnomedCodes sc
|
||||
ON pcm."SNOMEDCode" = sc."ProductSnomedCode"
|
||||
INNER JOIN DATA_HUB.DWH."DimOrganisationAndSite" dos
|
||||
ON dp."CurrentGeneralPractice" = dos."SiteCode"
|
||||
WHERE pcm."DateMedicationStart" BETWEEN $StartDate AND $EndDate
|
||||
AND pcm."PatientPseudonym" IS NOT NULL
|
||||
AND dos."OrganisationSubType" = 'GP Practice'
|
||||
AND dos."IsSiteNorfolkAndWaveney" = 'Yes'
|
||||
AND dos."IsSiteActive" = 'Yes'
|
||||
GROUP BY DATE_TRUNC('MONTH', pcm."DateMedicationStart")
|
||||
ORDER BY PrescribingMonth
|
||||
@@ -0,0 +1,34 @@
|
||||
-- Snowflake version: Check prescribing by VTM for last 3 months
|
||||
-- Uses unified PrimaryCareMedication table (combines EMIS + TPP)
|
||||
-- Dynamically calculates date range from latest data
|
||||
|
||||
WITH LatestDate AS (
|
||||
SELECT DATEADD(DAY, 1, MAX("DateMedicationStart")::DATE) AS EndDate
|
||||
FROM DATA_HUB.PHM."PrimaryCareMedication"
|
||||
WHERE "DateMedicationStart" >= DATEADD(MONTH, -6, CURRENT_DATE())
|
||||
),
|
||||
DateRange AS (
|
||||
SELECT
|
||||
EndDate,
|
||||
DATEADD(MONTH, -3, EndDate) AS StartDate
|
||||
FROM LatestDate
|
||||
),
|
||||
SnomedCodes AS (
|
||||
SELECT "ProductSnomedCode", "ProductDescription"
|
||||
FROM DATA_HUB.DWH."DimMedicineAndDevice"
|
||||
WHERE "TherapeuticMoietySnomedCode" = '775477008' -- Tirzepatide VTM
|
||||
),
|
||||
AllPatients AS (
|
||||
SELECT DISTINCT pcm."PatientPseudonym"
|
||||
FROM DATA_HUB.PHM."PrimaryCareMedication" pcm
|
||||
INNER JOIN SnomedCodes sc ON pcm."SNOMEDCode" = sc."ProductSnomedCode"
|
||||
CROSS JOIN DateRange dr
|
||||
WHERE pcm."DateMedicationStart" > dr.StartDate
|
||||
AND pcm."DateMedicationStart" <= dr.EndDate
|
||||
AND pcm."PatientPseudonym" IS NOT NULL
|
||||
)
|
||||
SELECT
|
||||
COUNT(DISTINCT "PatientPseudonym") AS UniquePatientCount,
|
||||
(SELECT StartDate FROM DateRange) AS StartDate,
|
||||
(SELECT EndDate FROM DateRange) AS EndDate
|
||||
FROM AllPatients;
|
||||
Reference in New Issue
Block a user