Health Canada DPD DIN Portfolio Status Event Monitor avatar

Health Canada DPD DIN Portfolio Status Event Monitor

Pricing

from $20.00 / 1,000 dpd din status event delivereds

Go to Apify Store
Health Canada DPD DIN Portfolio Status Event Monitor

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

Daniel Witney

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

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:

  1. GET https://health-products.canada.ca/api/drug/drugproduct/?din={DIN} → drug_code, brand, company, last_update_date
  2. GET https://health-products.canada.ca/api/drug/status/?id={drug_code} → faithful status + 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

EventWhen
DPD_DIN_MARKETEDNew / changed status is Marketed
DPD_DIN_CANCELLEDNew status starts with Cancelled (faithful subtype retained)
DPD_DIN_DORMANTNew status is Dormant
DPD_DIN_APPROVEDNew status is Approved
DPD_DIN_STATUS_CHANGEDOther status flips (e.g. Restricted Access) or drop from API
DPD_COMPANY_CHANGEDcompany_name fingerprint changed
RUN_STATUSNon-billable health row every successful run

Modes

  • sourceMode=fixture (default): Store health / CI. With emitFixtureDemoEvents=false (default) emits only RUN_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 event
  • apify-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.

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.