Multi-market pharmaceutical data service for GlobalData POLI database.
This service processes and serves pharmaceutical data from 5 major markets:
- Turkey (TURK)
- United States (US)
- United Kingdom (UK)
- France (FRENCH)
- Germany (GERMAN)
- 173,960 total drug records processed
- 4,874 unique generic drugs
- 2,153 pharmaceutical companies
- 3,371 ATC classification codes
- Cross-market price analysis
- Company portfolio tracking
- Reimbursement status monitoring
- RESTful API with comprehensive endpoints
# Install dependencies
npm install
# Process raw CSV data (first time only)
npm run process
# Start the service
npm start
# Development mode with auto-reload
npm run devService runs on port 3050 by default.
| Endpoint | Description |
|---|---|
GET /health |
Service health status |
GET / |
Service info and endpoints list |
GET /api/stats |
Database statistics |
| Endpoint | Description |
|---|---|
GET /api/drugs |
List all drugs (paginated) |
GET /api/drugs/search?q={query} |
Search drugs by name |
GET /api/drugs/by-market/{market} |
Get drugs by market |
GET /api/drugs/by-atc/{atcCode} |
Get drugs by ATC code |
GET /api/drugs/by-company/{company} |
Get drugs by company |
GET /api/drugs/{id} |
Get specific drug details |
| Endpoint | Description |
|---|---|
GET /api/analysis/cross-market/{genericName} |
Cross-market analysis |
GET /api/analysis/price-comparison |
Price comparison across markets |
| Endpoint | Description |
|---|---|
GET /api/companies |
List all companies |
GET /api/companies/{company}/portfolio |
Get company portfolio |
| Endpoint | Description |
|---|---|
POST /api/reprocess |
Reprocess raw data |
Each drug record contains:
{
id: "TURK_8699756091367",
market: "TURK",
brandName: "ACCUZIDE",
genericName: "HYDROCHLOROTHIAZIDE; QUINAPRIL",
atcCode: "C09BA06",
company: "Pfizer",
dosageForm: "FILM-COATED TABLET",
strength: "12.5 MG; 20 MG",
numberOfUnits: 30,
pricing: {
priceEUR: 3.1,
pricePerUnit: 0.1,
dddCost: null,
exchangeRate: 1
},
regulatory: {
firstApprovalDate: "2000-09-26",
reimbursementStatus: true,
hospitalStatus: false
}
}const axios = require('axios');
// Search for a drug
const response = await axios.get('http://localhost:3050/api/drugs/search?q=escitalopram');
console.log(`Found ${response.data.count} results`);
// Cross-market analysis
const analysis = await axios.get('http://localhost:3050/api/analysis/cross-market/ESCITALOPRAM');
console.log(`Available in: ${analysis.data.marketPresence.join(', ')}`);
console.log(`Price range: €${analysis.data.priceAnalysis.min} - €${analysis.data.priceAnalysis.max}`);
// Company portfolio
const portfolio = await axios.get('http://localhost:3050/api/drugs/by-company/Pfizer');
console.log(`Pfizer has ${portfolio.data.totalProducts} products across ${portfolio.data.markets.length} markets`);Run the test suite:
node test-poli-service.js- Raw CSV files from GlobalData POLI database
- Data includes pricing, reimbursement status, and regulatory information
- Updated with latest market information
Current database contains:
- Turkey: 2,459 drugs
- United States: 35,782 drugs
- United Kingdom: 15,869 drugs
- France: 42,053 drugs
- Germany: 77,797 drugs
Proprietary - GlobalData POLI