initial commit

This commit is contained in:
Andrew Charlwood
2026-05-12 16:40:03 +01:00
commit 647d1bfa7f
38 changed files with 2715 additions and 0 deletions
@@ -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";