aqua-io

0.1.0 • Public • Published

aqua-io-node-js

Official Aqua-io API library client for node.js/io.js. 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 npm installed.

$ npm install aqua-io

Versions

Works with [ 0.8 / 0.9 / 0.10 / 0.11 ]

Usage

var aquaIo = require('aqua-io');
 
// Then we instantiate a client (as shown below)

Build a client

Get an access token using your aqua.io credentials
var client = aquaIo.client({
    client_id: '09a8b7',
    client_secret: '1a2b3'
}, clientOptions);
 
var token = client.accessToken().retrieve()
All other API calls require an access token
var client = aquaIo.client({
    acess_token: token.body.access_token
}, clientOptions);

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

// You can also omit the 'methodOptions' param below
client.klass('args').method('args', methodOptions, function (err, response) {
    if (err) console.log(err);
 
    response.code;
    // >>> 200
 
    response.headers;
    // >>> {'x-server': 'apache'}
}
JSON response

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

response.body;
// >>> [{"short_description": "INFECTIOUS AND PARASIT...", "api_path": "icd9/001-139", "name": "001-139", "description": "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 api

Returns an ICD-9 code.

var 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.

icd9.topLevelCodes(options, callback);
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
icd9.singleCode("066-4", options, callback);
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
icd9.searchByName("082-2", options, callback);
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
icd9.searchByDescription("eastern equine", options, callback);
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
icd9.searchByNameOrDescription("west nile", options, callback);

ICD-10 api

Returns an ICD-10 code.

var 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.

icd10.topLevelCodes(options, callback);
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
icd10.singleCode("R50-9", options, callback);
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
icd10.searchByName("b05", options, callback);
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
icd10.searchByDescription("mumps", options, callback);
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
icd10.searchByNameOrDescription("rubella", options, callback);

Contributors

Here is a list of Contributors

TODO

License

MIT

Bug Reports

Report here.

Contact

Michael Carroll at Aqua.io

michael@aqua.io

@aqua_io

This library initially generated by alpaca.

Package Sidebar

Install

npm i aqua-io

Homepage

aqua.io

Weekly Downloads

7

Version

0.1.0

License

MIT

Last publish

Collaborators

  • aquaio