HealthPorta's drug reference ingestion service for normalized NDC products, packages, labels, and RxNorm-linked lookup support.
This service maintains the drug-side canonical tables used for:
- NDC product and package search
- FDA label retrieval
- RxNorm-linked product and package lookup
- downstream crosswalk support for other HealthPorta services
Public documentation lives in docs/README.md.
Key pages:
For production documentation and managed commercial access, see HealthPorta Docs.
HealthPorta can be used as:
- a hosted API layer for current drug reference, NDC, package, and label data
- an MCP-backed data service for AI agents and internal enterprise workflows
- a downstream integration point for customer applications, clinical products, and analytics systems that need fresh drug data
For AI-agent connectivity, see HealthPorta MCP.
Use .env.example as the configuration reference.
Local prerequisites:
- PostgreSQL
- Redis
- Python virtual environment with dependencies installed
Typical startup flow:
python main.py server start --host 0.0.0.0 --port 8080Run the imports separately.
NDC / product import:
python main.py start ndc
python main.py worker process.NDC --burstLabel import:
python main.py start label
python main.py worker process.Labeling --burstEach import rebuilds staging tables and then swaps them into the live rx_data schema.
- NDC import publishes
productandpackagetogether. - Label import publishes
labelseparately. - The project uses dedicated ARQ queues for NDC and label imports by default.
- RxNorm lookup support depends on a successful NDC import because
product.rxnorm_idsis populated from OpenFDA payloads during that import.
