package com.apothesource.pillfill.rxnorm.service.interaction;
import com.apothesource.pillfill.rxnorm.datamodel.interaction.InteractionDrugResponse;
import com.apothesource.pillfill.rxnorm.datamodel.interaction.InteractionListResponse;
import java.io.IOException;
import java.util.List;
/**
* The Drug Interaction RESTful web API is a simple web service implemented using HTTP and can be thought of as a
* collection of resources, specified as URIs.
* <br/>
* <a href="http://rxnav.nlm.nih.gov/InteractionAPIREST.html">NIH Documentation.</a>
* <br/>
* Note: Some of the parameters & ordering in this interface are intentionally inconsistent to match the NIH documentation.
*
* Created by Michael Ramirez (michael@pillfill.com) on 7/21/15.
*/
public interface InteractionService {
/**
* Find the interactions between a list of drugs.
*
* @param rxcuis the list of RxNorm drugs, specified by the RxNorm identifiers. The identifiers can represent
* ingredients (e.g. simvastatin), brand names (e.g. Tylenol) or branded or clinical drugs (e.g.
* Morphine 50 mg oral tablet). A maximum of 50 identifiers is allowed.
* @return A list of potential interactions between the specified concepts
*/
InteractionListResponse findInteractionsFromList(List<String> rxcuis) throws IOException;
/**
* Get the drug interactions for a specified drug.
*
* @param rxcui the RxNorm identifier of the drug.
* @return A list of potential interactions for the specified drug
*/
InteractionDrugResponse findDrugInteractions(String rxcui) throws IOException;
}