Skip to content

mahirkurt/medicines-poli-data

Repository files navigation

POLI Data Service

Multi-market pharmaceutical data service for GlobalData POLI database.

Overview

This service processes and serves pharmaceutical data from 5 major markets:

  • Turkey (TURK)
  • United States (US)
  • United Kingdom (UK)
  • France (FRENCH)
  • Germany (GERMAN)

Features

  • 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

Quick Start

# 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 dev

Service runs on port 3050 by default.

API Endpoints

Core Endpoints

Endpoint Description
GET /health Service health status
GET / Service info and endpoints list
GET /api/stats Database statistics

Drug Data

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

Analysis

Endpoint Description
GET /api/analysis/cross-market/{genericName} Cross-market analysis
GET /api/analysis/price-comparison Price comparison across markets

Companies

Endpoint Description
GET /api/companies List all companies
GET /api/companies/{company}/portfolio Get company portfolio

Admin

Endpoint Description
POST /api/reprocess Reprocess raw data

Data Structure

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
  }
}

Example Usage

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`);

Testing

Run the test suite:

node test-poli-service.js

Data Sources

  • Raw CSV files from GlobalData POLI database
  • Data includes pricing, reimbursement status, and regulatory information
  • Updated with latest market information

Statistics

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

License

Proprietary - GlobalData POLI

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published