Skip to main content

The cardiovascular unified real-time intelligent system

Project description

Curtis - The engine

Python package Upload Python Package Python PyPi License

The cardiovascular unified real-time intelligent system is an AI-based engine whose purpose is to analyze the cardiovascular health of a given person, this is done through ECG analysis (an existent ECG measuring system is needed to obtain the required values).

How does it work?

Curtis acts as an expert system, a rule-based program that emulates a real-life expert way of thinking about a certain topic, those rules were obtained for Curtis using the "decision tree approach", in which some existent data was given to a decision tree classifier, and it categorized the data into branches of rules and decisions.

Usage

First, install the curtis-engine package:

$ pip install curtis-engine

To start using Curtis, the CurtisEngine class must be imported, as well as CurtisFacts for the facts declaration:

>>> from curtis import CurtisEngine, CurtisFacts
>>> curtis = CurtisEngine()

After that, use curtis.declare_facts method to declare a new CurtisFacts object, which should contain all the ECG values needed for a diagnosis to be performed:

>>> curtis.declare_facts(
...    CurtisFacts(
...         sex=1,
...         age=89,
...         height=140,
...         weight=30,
...         HR=56,
...         Pd=122,
...         PQ=164,
...         QRS=118,
...         QT=460,
...         QTcFra=451
...     )
... )

Finally, to get a diagnosis over the declared fact, use the curtis.diagnose method:

>>> diagnosis = curtis.diagnose()
>>> print(diagnosis)
60

The curtis.diagnose method returns a number (as seen). This number is a diagnosis index, which means it's a unique index for a given diagnosis. To see which diagnosis belongs to that index, import the diagnosis_indexes dictionary from the curtis.utils.encoding package, and use the diagnosis as the index:

>>> from curtis.utils.encoding import diagnosis_indexes
>>> print(diagnosis_indexes[diagnosis])
Unifocal premature ventricular complexes

And voilà! you've made your first Curtis diagnosis. 🎉

Docs

To see the docs, you can clone the repo and open the docs folder to serve it as a website.

Using serve:

$ git clone github.com/gantoreno/curtis-engine.git
$ cd curtis-engine
$ serve docs/curtis

The documentation should now be available at http://localhost:5000.

License

This project is licensed under the GNU GPLv3 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

curtis-engine-1.0.0.tar.gz (29.1 kB view hashes)

Uploaded Source

Built Distribution

curtis_engine-1.0.0-py3-none-any.whl (43.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page