Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jesseokeya/infermedica
Node interface to the infermedica REST API
https://github.com/jesseokeya/infermedica
conditions-infermedica infermedica infermedica-api infermedica-npm npm phrase-infermedica symptoms symptoms-infermedica triage
Last synced: about 15 hours ago
JSON representation
Node interface to the infermedica REST API
- Host: GitHub
- URL: https://github.com/jesseokeya/infermedica
- Owner: jesseokeya
- License: mit
- Created: 2018-12-06T01:25:34.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T19:07:42.000Z (almost 2 years ago)
- Last Synced: 2023-08-24T03:21:29.894Z (about 1 year ago)
- Topics: conditions-infermedica, infermedica, infermedica-api, infermedica-npm, npm, phrase-infermedica, symptoms, symptoms-infermedica, triage
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/infermedica
- Size: 955 KB
- Stars: 7
- Watchers: 4
- Forks: 2
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Infermedica (unofficial)
Node Interface To The Infermedica Rest Api. [Npm Package](https://www.npmjs.com/package/infermedica)## Description
This is a Node interface to the Infermedica [Rest Api](https://developer.infermedica.com/docs/api).## Installation
```npm install infermedica --save```
## Usage examples
#### Estimate triage level based on provided patient information
```jsconst Infermedica = require('infermedica')
/**
* Provide credentials
* This reference can help you explore the Infermedica API with your own data.
* Make sure that your application id and application key are correct and get started.
* Below they are passed in as environment variables
*/
const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})const context = {
sex: "male",
age: 70,
evidence: [
{
"id": "s_1193",
"choice_id": "present"
},
{
"id": "s_488",
"choice_id": "present"
},
{
"id": "s_418",
"choice_id": "present"
}
]
}infermedica.postTriage(context).then(res => {
console.log(res)
})```
## Infermedica Methods
```js
// Returns a list of all available conditions
infermedica.getConditions()// Returns details of a single condition specified by id parameter
infermedica.getCondition(conditionId)// Suggests possible diagnoses and relevant observations
infermedica.postDiagnosis({
sex,
age,
evidence,
extras,
target,
evaluated_at
})// Explains which evidence impact probability of selected condition
infermedica.postExplain({
sex,
age,
evidence,
extras,
target,
evaluated_at
})// Returns information about data used by diagnostic engine
infermedica.getInfo()// Returns a list of all available lab tests
infermedica.getLabTests()// Returns details of a single lab test specified by id parameter
infermedica.getLabTest(labTestId)// Returns a single observation matching given phrase
infermedica.getLookUp({ phrase, sex })// Returns list of mentions of observation found in given text
infermedica.postParse({
text,
context,
concept_types,
correct_spelling,
include_tokens
})// Returns a list of all available risk factors
infermedica.getRiskFactors()// Returns details of a single risk factor specified by id parameter
infermedica.getRiskFactor(riskFactorId)// Returns list of observations matching the given phrase
infermedica.getSearch({
phrase,
sex,
maxResults,
type
})// Suggests possible symptoms based on provided patient information
infermedica.postSuggest({
sex,
age,
evidence,
extras,
evaluated_at }, max_results)// Returns a list of all available symptoms
infermedica.getSymptoms()// Returns details of a single symptom specified by id parameter
infermedica.getSymptom(symptomId)// Estimates triage level based on provided patient information
infermedica.postTriage({
sex,
age,
evidence,
extras,
evaluated_at
})```
## Actions
### getConditions
Returns a list of all available conditions.```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})infermedica.getConditions().then(conditions => {
console.log(conditions)
})
```### getCondition
Returns details of a single condition specified by id parameter```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})infermedica.getCondition('c_522').then(condition => {
console.log(condition)
})
```### postDiagnosis
Suggests possible diagnoses and relevant observations```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})const context = {
sex: "male",
age: 70,
evidence: [
{
"id": "s_1193",
"choice_id": "present"
},
{
"id": "s_488",
"choice_id": "present"
},
{
"id": "s_418",
"choice_id": "present"
}
]
}infermedica.postDiagnosis(context).then(diagnosis => {
console.log(diagnosis)
})
```### postExplain
Explains which evidence impact probability of selected condition```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})const context = {
sex: "male",
age: 70,
target: "c_49",
evidence: [
{
"id": "s_1193",
"choice_id": "present"
},
{
"id": "s_488",
"choice_id": "present"
},
{
"id": "s_418",
"choice_id": "present"
}
]
}infermedica.postExplain(context).then(explain => {
console.log(explain)
})
```### getInfo
Returns information about data used by diagnostic engine```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})infermedica.getInfo().then(info => {
console.log(info)
})
```### getLabTests
Returns a list of all available lab tests```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})infermedica.getLabTests().then(labTests => {
console.log(labTests)
})
```### getLabTest
Returns details of a single lab test specified by id parameter```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})infermedica.getLabTest('lt_350').then(labTest => {
console.log(labTest)
})
```### getLookUp
Returns a single observation matching given phrase```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})const context = {
sex: "female",
phrase: "headache"
}infermedica.getLookUp(context).then(lookUp => {
console.log(lookUp)
})
```### postParse
Returns list of mentions of observation found in given text```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})const context = {
"text": "I feel smoach pain but no couoghing today",
}infermedica.postParse(context).then(parse => {
console.log(parse)
})
```### getRiskFactors
Returns a list of all available risk factors```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})infermedica.getRiskFactors().then(riskFactors => {
console.log(riskFactors)
})
```### getRiskFactor
Returns details of a single risk factor specified by id parameter```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})infermedica.getRiskFactor('p_28').then(riskFactor => {
console.log(riskFactor)
})
```### getSearch
Returns list of observations matching the given phrase```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})const context = {
sex: "male",
phrase: "stomache pain",
type: "symptom",
maxResults: 8
}infermedica.getSearch(context).then(search => {
console.log(search)
})
```### postSuggest
Suggests possible symptoms based on provided patient information```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})const context = {
sex: "male",
age: 70,
evidence: [
{
"id": "s_1193",
"choice_id": "present"
},
{
"id": "s_488",
"choice_id": "present"
},
{
"id": "s_418",
"choice_id": "present"
}
]
}const maxResults = 8
infermedica.postSuggest(context, maxResults).then(suggest => {
console.log(suggest)
})
```### getSymptoms
Returns a list of all available symptoms```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})infermedica.getSymptoms().then(symptoms => {
console.log(symptoms)
})
```### getSymptom
Returns details of a single symptom specified by id parameter```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})infermedica.getSymptom('s_1190').then(symptom => {
console.log(symptom)
})
```### postTriage
Estimates triage level based on provided patient information```js
const Infermedica = require('infermedica')const infermedica = new Infermedica({
appId: process.env.APP_ID,
appKey: process.env.APP_KEY
})const context = {
sex: "male",
age: 70,
evidence: [
{
"id": "s_1193",
"choice_id": "present"
},
{
"id": "s_488",
"choice_id": "present"
},
{
"id": "s_418",
"choice_id": "present"
}
]
}infermedica.postTriage(context).then(triage => {
console.log(triage)
})
```