/aqua-io-python

Official Aqua.io API library client for Python (includes ICD-9 and ICD-10)

Primary LanguagePythonMIT LicenseMIT

aqua-io-python

Official Aqua-io API library client for Python. Currently covers Aqua.io's ICD-9 and ICD-10 APIs.

Getting Started

To use the Aqua.io API, you need to have proper API credentials, which you can get for free by signing up.

You may also want to read up on the API documentation.

Installation

Make sure you have pip installed

$ pip install aqua-io

Versions

Works with [ 2.6 / 2.7 / 3.2 / 3.3 ]

Usage

import aqua_io

# Then we instantiate a client (as shown below)

Build a client

Get an access token using your aqua.io credentials
client = aqua_io.Client({ 'client_id': '09a8b7', 'client_secret': '1a2b3' }, client_options)

token = client.access_token().retrieve()

access_token = {'access_token': token.body['access_token']}
All other API calls require an access token
client = aqua_io.Client(access_token, client_options)

Client Options

The following options are available while instantiating a client:

  • base: Base url for the api
  • user_agent: Default user-agent for all requests
  • headers: Default headers for all requests
  • request_type: Default format of the request body

Response information

All the callbacks provided to an api call will receive the response as shown below

response = client.icd9().top_level_codes()

response.code
# >>> 200

response.headers
# >>> {'x-server': 'nginx/1.6.2', ... }
JSON response

When the response sent by server is json, it is decoded into a dict

response.body
# >>> [{u'short_description': u'INFECTIOUS AND PARASIT...', u'api_path': u'icd9/001-139', u'name': u'001-139', u'description': u'INFECTIOUS AND PARASITIC DISEASES (001-139)'},  ... ]

Method Options

The following options are available while calling a method of an api:

  • headers: Headers for the request
  • query: Query parameters for the url
  • body: Body of the request
  • request_type: Format of the request body

Request body information

Set request_type in options to modify the body accordingly

RAW request

When the value is set to raw, don't modify the body at all.

JSON request

When the value is set to json, JSON encode the body.

ICD-9

Returns an ICD-9 code.

icd9 = client.icd9()
All top-level codes (GET codes/v1/icd9)

Returns all top-level ICD-9 codes. Useful for helping a user navigate down the ICD-9 hierarchy to find a code.

response = icd9.top_level_codes(options)
Retrieve a single code. (GET codes/v1/icd9/:code_name)

Returns a single code matching the name, if any exists. Replace periods with hypens (e.g. '066-4' for '066.4')

The following arguments are required:

  • code_name: name of code
response = icd9.single_code("066-4", options)
Search for codes by name. (GET codes/v1/icd9?q[name_cont]=:query)

Returns all codes whose name contains the search string.

The following arguments are required:

  • query: the search query string
response = icd9.search_by_name("082-2", options)
Search for codes by description. (GET codes/v1/icd9?q[description_cont]=:query)

Returns all codes whose description contains the search string.

The following arguments are required:

  • query: the search query string
response = icd9.search_by_description("eastern equine", options)
Search for codes by name or description. (GET codes/v1/icd9?q[name_or_description_cont]=:query)

Returns all codes whose name or description contains the search string.

The following arguments are required:

  • query: the search query string
response = icd9.search_by_name_or_description("west nile", options)

ICD-10

Returns an ICD-10 code.

icd10 = client.icd10()
All top-level codes (GET codes/v1/icd10)

Returns all top-level ICD-10 codes. Useful for helping a user navigate down the ICD-10 hierarchy to find a code.

response = icd10.top_level_codes(options)
Retrieve a single code. (GET codes/v1/icd10/:code_name)

Returns a single code matching the name, if any exists. Replace periods with hypens (e.g. 'R50-9' for 'R50.9')

The following arguments are required:

  • code_name: name of code
response = icd10.single_code("R50-9", options)
Search for codes by name. (GET codes/v1/icd10?q[name_cont]=:query)

Returns all codes whose name contains the search string.

The following arguments are required:

  • query: the search query string
response = icd10.search_by_name("b05", options)
Search for codes by description. (GET codes/v1/icd10?q[description_cont]=:query)

Returns all codes whose description contains the search string.

The following arguments are required:

  • query: the search query string
response = icd10.search_by_description("mumps", options)
Search for codes by name or description. (GET codes/v1/icd10?q[name_or_description_cont]=:query)

Returns all codes whose name or description contains the search string.

The following arguments are required:

  • query: the search query string
response = icd10.search_by_name_or_description("rubella", options)

Contributors

Here is a list of Contributors

License

MIT

Bug Reports

Report here.

Contact

Michael Carroll at Aqua.io

michael@aqua.io

@aqua_io

This library is generated by alpaca.