Health Canada DPD DIN Portfolio Status Event Monitor
Pricing
from $20.00 / 1,000 dpd din status event delivereds
Health Canada DPD DIN Portfolio Status Event Monitor
Watch Drug Identification Numbers (DIN) and emit typed Marketed/Cancelled/Dormant/Approved/company events from the official Health Canada Drug Product Database (DPD) API. Not a flat DPD dump; not recalls; not openFDA; not unpaid formulary SaaS.
Pricing
from $20.00 / 1,000 dpd din status event delivereds
Rating
0.0
(0)
Developer
Daniel Witney
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
Watch a book of Drug Identification Numbers (DIN) and emit typed status/company events when the official Health Canada Drug Product Database (DPD) API shows a DIN becoming Marketed, moving to Cancelled* / Dormant / Approved, or changing company.
Not a flat nationwide DPD dump billed as rows. Not a Health Canada recalls ticker. Not an openFDA clone. Not unpaid formulary SaaS scrape.
DIN ↔ drug_code join (honest)
DPD separates product identity from status history:
GET https://health-products.canada.ca/api/drug/drugproduct/?din={DIN}→drug_code, brand, company,last_update_dateGET https://health-products.canada.ca/api/drug/status/?id={drug_code}→ faithfulstatus+history_date/original_market_date
This Actor always joins those two endpoints for each watched DIN. Status strings are faithful to DPD (e.g. Cancelled Post Market, Cancelled Pre Market, Cancelled (Unreturned Annual) — not collapsed away). Typed PPE event names map new status → DPD_DIN_MARKETED / DPD_DIN_CANCELLED / DPD_DIN_DORMANT / DPD_DIN_APPROVED (other rare statuses → DPD_DIN_STATUS_CHANGED); the raw DPD string is retained on event_subtype / status.
Optional bulk extract files exist for bootstrap of very large books; live portfolio mode uses per-DIN API lookups only.
Coverage honesty
- Public DPD API only — not a private formulary case file; not recalls; not openFDA (US).
- Cadence = scheduled snapshot poll (not streaming).
- Absence from DPD ≠ proof of every possible market-authorization state outside published DPD.
- First observation of a DIN stores a baseline only (no product charge).
Events
| Event | When |
|---|---|
DPD_DIN_MARKETED | New / changed status is Marketed |
DPD_DIN_CANCELLED | New status starts with Cancelled (faithful subtype retained) |
DPD_DIN_DORMANT | New status is Dormant |
DPD_DIN_APPROVED | New status is Approved |
DPD_DIN_STATUS_CHANGED | Other status flips (e.g. Restricted Access) or drop from API |
DPD_COMPANY_CHANGED | company_name fingerprint changed |
RUN_STATUS | Non-billable health row every successful run |
Modes
sourceMode=fixture(default): Store health / CI. WithemitFixtureDemoEvents=false(default) emits onlyRUN_STATUS/FIXTURE_HEALTH→ 0 product charges.sourceMode=live: Official Health Canada DPD API (no API key). Portfolio-safe — does not download the national extract by default.
Pricing (Model A)
dpd-din-status-event-delivered@ $0.02 / unique delivered eventapify-actor-start@ $0.00005- Quiet books ≈ $0 product charge
Input
See .actor/input_schema.json. Primary field: dins (1–8 digits; normalized to 8-digit zero-padded). Optional signalGroups: status, company.
Legal
GREEN — Health Canada DPD public API / Open Government Licence — Canada. Cite Health Canada + retrieval date. Default product fields = DIN + drug_code + brand + company + status (product/org data).
A1b wedge
DIN watchlist × scheduled official DPD API status snapshot diff → typed status/company events only for the book. Existing Store shelf is a flat DPD dump @1 MAU + recalls scrapers (wrong job). See opportunity/reports/phase3-a1b-next3-v12.md.