1.0.0 • Published 5 months ago

rxnormie v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

RxNormie

A robust TypeScript client for the RxNorm REST API. This package provides a simple and intuitive way to interact with the RxNorm API, making it easy to search for drugs, check interactions, and more.

Installation

npm install rxnormie

Usage

import { RxNormie } from 'rxnormie';

// Create a new instance with custom options (optional)
const rxnormie = new RxNormie({
  timeout: 5000,
  retries: 3
});

// Or use the default instance
import rxnormie from 'rxnormie';

// Examples

// Find a drug by name
const results = await rxnormie.findByName('Tylenol');

// Find drug by RxCUI
const drug = await rxnormie.findByRxcui('203155');

// Check drug interactions
const interactions = await rxnormie.findInteractions(['207106', '152923', '656659']);

// Get NDC codes
const ndcCodes = await rxnormie.getNDCsByRxcui('203155');

// Get spelling suggestions
const suggestions = await rxnormie.getSpellingSuggestions('setraline');

API Reference

Constructor Options

  • baseUrl: Base URL for the RxNorm API (default: 'https://rxnav.nlm.nih.gov/REST')
  • timeout: Request timeout in milliseconds (default: 10000)
  • retries: Number of retry attempts for failed requests (default: 3)
  • retryDelay: Delay between retries in milliseconds (default: 1000)

Methods

findByName(name: string, searchType?: 'exact' | 'words' | 'startsWith' | 'contains')

Search for drugs by name with optional search type.

findByRxcui(rxcui: string)

Find drug information by RxCUI (RxNorm Concept Unique Identifier).

getAllRelatedByRxcui(rxcui: string)

Get all related concepts for a given RxCUI.

findInteractions(rxcuis: string[])

Find drug interactions between multiple RxCUIs.

getNDCsByRxcui(rxcui: string)

Get National Drug Codes (NDCs) for a given RxCUI.

getSpellingSuggestions(name: string)

Get spelling suggestions for a drug name.

isValidRxcui(rxcui: string)

Check if a specific RxCUI exists and is active.

findByNDC(ndc: string)

Find drug information by National Drug Code (NDC).

getPropertiesByRxcui(rxcui: string, propName?: string)

Get drug properties for a given RxCUI.

getHistoricalNDCsByRxcui(rxcui: string)

Get historical NDCs for a given RxCUI.

Error Handling

The package includes a custom RxNormieError class for handling API errors:

try {
  const drug = await rxnormie.findByRxcui('invalid-rxcui');
} catch (error) {
  if (error instanceof RxNormieError) {
    console.error('API Error:', error.message);
    console.error('Status:', error.status);
    console.error('Response:', error.responseData);
  }
}

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.