This is a `Rust` based package to help with the management of complex medicine (pill) management cycles.

Overview

reepicheep

This is a Rust based package to help with the management of complex medicine (pill) management cycles.

reepicheep notifies a person(s) via SMS text message using a twillio account. Many complex treatment plans for those with cancer and other problems require various medications taken at all various times of the day, and on various days during long cycle periods.

It is very challenging to manage these pills via classic "pill dispensers," as even this can be challenging and error-prone when filling the pill dispensers and it is easy to forget with a busy life.

Configuration

See meds.json for the configuration of multiple meds. It more or less looks like ...

{
    "number_of_cycles" : 8,
    "cycle_start_date": "2023-11-28",
    "lenght_of_cycles_in_days": 28,
    "meds": [
        {
            "med_name": "Acyclovir",
            "moring": "True",
            "evening": "True",
            "daily": "True",
            "cycle_days": []
        },
        {
            "med_name": "Dexamethazone",
            "morning": true,
            "evening": false,
            "daily": false,
            "cycle_days": [1,2,8,9,15,16,22,23]
        }, ...
    ]
}

Using reepicheep you can set your cycles and specify their usages and intervals and then use the SMS notifications to help support your cycles to reduce stress and anxiety about missing or mistaking medications.

reepicheep currently supports sending morning and evening notifications in the central timezone around 7am and 530pm.

Twillio

You must have a twillio account and obtain the following creds, which should be placed in a .env file in your root. You will of course need the from phone number and the number you're sending the message too.

TWILIO_AUTH_TOKEN="{}"
TWILIO_ACCOUNT_SID="{}"
TWILIO_PHONE_NUMBER="{}"
RECIPIENT_PHONE_NUMBER="{}"

Messages appear something like ...

Good morning! Please take your Acyclovir, Eliquis,  and Dexamethazone.

SQLite

Rust works very well with SQLite and reepicheep uses SQLite to easily track what medication notifications have been sent or not.

Build and Run

Simply cargo run --release or cargo build ..

You might also like...
STKLR is a tool to help you automatically link up named stuff in your rust docs!

_____ _______ _ ___ _____ / ____|__ __| |/ / | | __ \ | (___ | | | ' /| | | |__) | \___ \ | | | | | | _ / ___

Rust-powered CLI tool designed to simplify and streamline the release process with help of ChatGPT
Rust-powered CLI tool designed to simplify and streamline the release process with help of ChatGPT

$ releasecraftsman πŸ‘·πŸ»β€β™‚οΈπŸ›  Automate Your Release Process with Precision and Ease. 🎁 Features Generate well-crafted release notes using GPT-3.5 and

Text-based to-do management CLI & language server
Text-based to-do management CLI & language server

β˜‘οΈ Todome (ζ—₯本θͺžη‰ˆγ―こけら) Todome is a notation developed for making and editing to-do lists. It is inspired by Todo.txt, and in fact some of the todome not

A diff-based data management language to implement unlimited undo, auto-save for games, and cloud-apps which needs to retain every change.

Docchi is a diff-based data management language to implement unlimited undo, auto-save for games, and cloud-apps which needs to save very often. User'

Unwrap Macros to help Clean up code and improve production.

unwrap_helpers Unwrap Macros to help Clean up code and improve production. This does include a pub use of https://github.com/Mrp1Dev/loop_unwrap to ga

To help prevent directory traversal attacks

safe_join Use SafeJoin::safe_join in place of Path::join to help prevent directory traversal attacks. A call of the form dir.safe_join(path) returns a

A CLI tool which can help you automatically kill process of your choice. Useful for freeing up memory and CPU usage!
A CLI tool which can help you automatically kill process of your choice. Useful for freeing up memory and CPU usage!

Quickiller There are always programs such as chrome that keep eating up your resources even when closed! The only way to prevent this is to kill all o

A simple cli tool to help with wordle in hard mode

Wordking A simple cli tool to help with wordle in hard mode. Usage Run wordking cargo run Wordking will ask for your guesses thus far. Provide your gu

laydown is a simple CLI application to help you prepare for your next Daily Standup

laydown is a simple CLI application to help you prepare for your next Daily Standup. No longer shall your name be called on only for you to stare into the abyss while you struggle to remember what you did yesterday.

Comments
  • Allow TZ to be set from ENV

    Allow TZ to be set from ENV

    Atm TimeZone is set to Chicago.

    Your project may be useful to other patients from somewhere else and TZ should be configurable for them.

    It may be stored in the an environment variable and parsed from there.

    Something like this may do the trick.

    In ".env"

    TIMEZONE_VARIABLE=America/Chicago
    

    and

    use chrono_tz::Tz;
    use std::env;
    
    fn parse_timezone_from_env() -> Option<Tz> {
        if let Ok(timezone_str) = env::var("TIMEZONE_VARIABLE") {
            if let Ok(timezone) = Tz::from_str(&timezone_str) {
                return Some(timezone);
            }
        }
        None
    }
    
    opened by qkzk 0
Owner
Daniel B
Data Engineer. Data lover. Data warehouse expert. Python, Rust, SQL, Databricks, Delta Lake is all I need in life.
Daniel B
A rust library + CLI tool that tells you when swas will upload new video through complex calculations

A rust library + CLI tool that tells you when swas will upload new video through complex calculations. It also lets you search and play youtube videos of swas and other channels. Searching about youtube channels is also an option. Basically it's a youtube search cli tool written in rust.

midnightFirefly 4 Jun 10, 2022
A simple Rust library for OpenAI API, free from complex async operations and redundant dependencies.

OpenAI API for Rust A community-maintained library provides a simple and convenient way to interact with the OpenAI API. No complex async and redundan

null 6 Apr 4, 2023
Schemars is a high-performance Python serialization library, leveraging Rust and PyO3 for efficient handling of complex objects

Schemars Introduction Schemars is a Python package, written in Rust and leveraging PyO3, designed for efficient and flexible serialization of Python c

Michael Gendy 7 Nov 21, 2023
A program that provides LLMs with the ability to complete complex tasks using plugins.

SmartGPT SmartGPT is an experimental program meant to provide LLMs (particularly GPT-3.5 and GPT-4) with the ability to complete complex tasks without

Corman 8 Apr 19, 2023
A complex numbers, graphing, cli calculator

calc requires gnuplot for graphing history file is stored in ~/.config/.calc_history or C:\\Users\\%USERNAME%\\AppData\\Roaming\\calc.history usage Us

null 6 May 21, 2023
The joker_query is a cute query builder, with Joker can implement most complex queries with sugar syntax

joker_query The joker_query is most sugared query builder of Rust, with joker_query can implement most complex queries with sugar syntax Features βˆ’ (O

DanyalMh 8 Dec 13, 2023
Rust File Management CLI is a command-line tool written in Rust that provides essential file management functionalities. Whether you're working with files or directories, this tool simplifies common file operations with ease.

Rust FileOps Rust File Management CLI is a command-line tool written in Rust that provides essential file management functionalities. Whether you're w

Harikesh Ranjan Sinha 5 May 2, 2024
Fast package resolver written in Rust (CDCL based SAT solving)

Resolvo: Fast package resolver written in Rust Resolvo implements a fast package resolution algorithm based on CDCL SAT solving. If resolvo is unable

Mamba 17 Sep 27, 2023
Ideas => Creations, a multi-language CMS(Content Management System) based on Rust Web stacks, with long-term upgrade and maintenance.

Ideas => Creations δΈ­ζ–‡ RustHub: Rust ideas yesterday, shining creations today! This repository holds source code used to run https://rusthub.org, it's

rusthub.org 4 May 9, 2023
Rustato: A powerful, thread-safe global state management library for Rust applications, offering type-safe, reactive state handling with an easy-to-use macro-based API.

Rustato State Manager A generical thread-safe global state manager for Rust Introduction β€’ Features β€’ Installation β€’ Usage β€’ Advanced Usage β€’ Api Refe

BiteCraft 8 Sep 16, 2024