Skip to main content
Glama
test-csv-implementation.js3.07 kB
/** * Test CSV-based Medicaid MCP Implementation * * Tests the new CSV download + cache architecture */ const { getNADACPricing, getEnrollmentTrends, listAvailableDatasets } = require('./src/medicaid-api'); async function testNADACPricing() { console.log('\n=== Testing NADAC Pricing (CSV-based) ===\n'); try { console.log('Test 1: Search for semaglutide pricing...'); const result = await getNADACPricing({ drug_name: 'semaglutide', limit: 5 }); console.log(`\nSuccess! Found ${result.meta.total_count} records (showing ${result.meta.returned_count})`); console.log('Cache status:', result.meta.cache_status); console.log('\nSample results:'); result.data.slice(0, 3).forEach((drug, idx) => { console.log(`\n${idx + 1}. ${drug.ndc_description || 'N/A'}`); console.log(` NDC: ${drug.ndc || 'N/A'}`); console.log(` Price: $${drug.nadac_per_unit || 'N/A'} per ${drug.pricing_unit || 'unit'}`); console.log(` Effective Date: ${drug.effective_date || 'N/A'}`); }); } catch (error) { console.error('ERROR:', error.message); } } async function testEnrollmentTrends() { console.log('\n\n=== Testing Enrollment Trends (CSV-based) ===\n'); try { console.log('Test 2: Get California enrollment trends...'); const result = await getEnrollmentTrends({ state: 'CA', limit: 5 }); console.log(`\nSuccess! Found ${result.meta.total_count} records (showing ${result.meta.returned_count})`); console.log('\nSample results:'); result.data.slice(0, 3).forEach((record, idx) => { console.log(`\n${idx + 1}. ${record.state || 'N/A'} - ${record.month || record.report_date || 'N/A'}`); console.log(` Total Enrollment: ${record.total_enrollment || 'N/A'}`); }); } catch (error) { console.error('ERROR:', error.message); } } async function testListDatasets() { console.log('\n\n=== Testing List Datasets ===\n'); try { const result = await listAvailableDatasets({}); console.log(`Total datasets: ${result.meta.total_datasets}`); console.log(`Available datasets: ${result.meta.available_datasets}\n`); result.data.forEach(ds => { const status = ds.available ? '✓' : '✗'; console.log(`${status} ${ds.name}`); console.log(` Category: ${ds.category}`); console.log(` Size: ${ds.estimated_size}, Records: ${ds.estimated_records}`); console.log(` Update frequency: ${ds.update_frequency}`); console.log(` Cache time: ${ds.cache_time_hours} hours\n`); }); } catch (error) { console.error('ERROR:', error.message); } } async function runTests() { console.log('='.repeat(70)); console.log('CSV-based Medicaid MCP Server Tests'); console.log('='.repeat(70)); await testListDatasets(); await testNADACPricing(); await testEnrollmentTrends(); console.log('\n' + '='.repeat(70)); console.log('Tests complete!'); console.log('='.repeat(70)); } runTests().catch(error => { console.error('\nFATAL ERROR:', error); process.exit(1); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/openpharma-org/medicaid-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server