Files
Andrew Charlwood 647d1bfa7f initial commit
2026-05-12 16:40:03 +01:00

50 lines
1.6 KiB
SQL

/*
Medicine reference lookup
=========================
Purpose:
Search DATA_HUB.DWH."DimMedicineAndDevice" for dm+d products and their
related BNF, VTM, VMP, AMP, and pack-level identifiers.
Common uses:
- Find the SNOMED product codes to use in a prescribing or dispensing query.
- Check whether a medicine group is better captured by BNF, VTM, VMP, or
explicit product codes.
- Understand how products roll up through the dm+d hierarchy.
Replace the SEARCH_TEXT and optional BNF_PREFIX before running.
*/
SET SEARCH_TEXT = 'tirzepatide';
SET BNF_PREFIX = NULL;
SELECT DISTINCT
med."ProductSnomedCode",
med."ProductDescription",
med."ProductLevel",
med."TherapeuticMoietySnomedCode",
med."TherapeuticMoietyName",
med."MedicinalLatestSnomedCode",
med."ParentPresentationSnomedCode",
med."BNFCode",
med."BNFParagraphCode",
med."RouteName",
med."StrengthDescription",
med."PackUnitDescription",
med."IndicativePricePerUnit",
med."DrugTariffPricePerUnit"
FROM DATA_HUB.DWH."DimMedicineAndDevice" med
WHERE (
LOWER(med."ProductDescription") LIKE '%' || LOWER($SEARCH_TEXT) || '%'
OR LOWER(med."TherapeuticMoietyName") LIKE '%' || LOWER($SEARCH_TEXT) || '%'
OR med."ProductSnomedCode" = $SEARCH_TEXT
OR med."TherapeuticMoietySnomedCode" = $SEARCH_TEXT
OR med."MedicinalLatestSnomedCode" = $SEARCH_TEXT
)
AND ($BNF_PREFIX IS NULL OR med."BNFCode" LIKE $BNF_PREFIX || '%')
ORDER BY
med."TherapeuticMoietyName",
med."MedicinalLatestSnomedCode",
med."ProductLevel",
med."ProductDescription";