-----------------------------------------------------------------------------
-- |
-- Module      :  PokitDok
-- Copyright   :  (c) PokitDok Inc., 2011-2015
-- License     :  MIT
-- Maintainer  :  gage.swenson@pokitdok.com
-- Stability   :  internal
--
-- The PokitDok module enables a Haskell programmer to make PokitDok API
-- calls from within the Haskell platform. The usage principles are concise
-- and easy to implement.
--
----------------------------------------------------------------------------

{-
SAMPLE USAGE

-- >
-- > -- Each call returns an IO String.
-- > -- Each string contains a json object
-- >
-- > import PokitDok
-- > 
-- > main :: IO ()
-- > main = do
-- >     -- id and secret credentials to access the API
-- >     putStrLn "Enter your PokitDok API ID:"
-- >     id     <- getLine
-- >     putStrLn "Enter your secret key:"
-- >     secret <- getLine
-- >     pd <- refresh $ keyWithIdSecet id secret
-- >
-- >     -- retrieve provider information by NPI
-- >     providersWithNpi pd "1467560003" >>= putStrLn
-- >     
-- >     -- retrieve cash price information by zip and CPT code
-- >     cashPriceJson <- pricesCash pd [("zip_code","85255"),("cpt_code","87799")]
-- >     putStrLn cashPriceJson
-- >
-- >     -- a sample usage of readFile with an API call
-- >     readFile "postdata.json" >>= claims pd
-- >
-- >     -- an example of a non persistent refresh with an API call
-- >     refresh pd >>= (flip activitiesWithId) "5362b5a064da150ef6f2526c"
-- >
-- >     -- an example of a persistent refresh
-- >     pd1 <- refresh pd
-- >     return ()

-}

module PokitDok
    ( module PokitDok.Client
    ) where

import PokitDok.Client