• Stars
    star
    199
  • Rank 196,105 (Top 4 %)
  • Language
    Java
  • License
    GNU General Publi...
  • Created about 11 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Android assistant for personal medication management

Calendula

Calendula is an Android assistant for personal medication management, aimed at those who have trouble following their medication regimen, forget to take their drugs, or have complex schedules that are difficult to remember.

The app is available for download in Google Play, F-Droid and Github.

Get it on Google Play Get it on F-Droid Get it on Github

Visit our web page for more info https://citius.usc.es/calendula/

Calendula News

We have some good news!

Our Regional Public Health Authority (SERGAS) has adopted Calendula to be connected with its Electronic Prescription System, resulting in the extension of previous features from the open source version, to include:

  • Automatic download of the patient medication regime.
  • Access to the medication pickup calendar
  • Automatic recommendation of the best dates to optimize the number of visits to pharmacy
  • Acess to the anticoagulant dosing regime.

The integration process has faced two key issues: interoperability and security.

With regard to the first one, the adoption of the international standard HL7-FHIR (Fast Healthcare Interoperability Resources) will smooth the way for an easy deployment in other healthcare systems.

Regarding security, the OpenID Connect specification has been adopted, allowing Calendula to verify the identity of users based on an authentication performed by an authorization server provided by SERGAS.

Along the way, we have worked on a lot of bug fixes and feature improvements, including:

  • Increase Android API Level to level 29.
  • Update notifications and background services to the latest Android versions.
  • Update Gradle, Kotlin and Java versions.
  • Migrate Android libraries to AndroidX.
  • Update the following libraries: Google, Iconics, Material-Drawer, Fast Adapter, ButterKnife, Caldroid and Android Jobs.
  • Improve the UI to fix update problems and NPEs.
  • Localization updates: new languages will be included and updates will be provided for existing ones.
  • Memory performance updates: bitmaps will be migrated to vectorial formats.
  • Fixes regarding notifications and battery saving mode: added the option to exclude Calendula from battery saving mode, to avoid Calendula to be suspended, and thus still be able to get notifications all the time.
  • Other minor bug fixes.

These will soon be made available in this repository and applied to the version in Google Play. Stay tuned!

Getting Started

These instructions will get you a copy of the project up and running on your local machine ready for development. If you want to help developing the app take a look to the contributing section, at the end.

Development environment setup

We use Android Studio (the official Android IDE) for development, so we recommend it as the IDE to use in your development environment. Once you install Android Studio, you can use the Android SDK Manager to obtain the SDK tools, platforms, and other components you will need to start developing. The most important are:

  • Android SDK Tools and Android SDK Platform-tools (upgrade to their last versions is usually a good idea).
  • Android SDK Build-Tools 27.0.3.
  • Android 8.1 (API Level 27) SDK Platform.
  • Android Support Repository

You can also install other packages like emulators for running the app, if you don't have or don't want to use a real device. The minimum supported Android version is 4.1, Jelly Bean (API level 16).

Building and installing the app

First of all you need to get the source code, so clone this repository on your local machine:

git clone https://github.com/citiususc/calendula.git
cd calendula

Android Studio uses Gradle as the foundation of the build system, but it's not necessary to install it separately. Instead, you can use the included Gradle Wrapper. To build the app, open a terminal in the repository folder and run:

./gradlew clean assembleDevelopDebug

Note: "developDebug" is the build variant that we use for development. To see other variants, please check Calendula/build.gradle.

Then you may install the app on a device or emulator:

adb install Calendula/build/apk/develop/debug/developDebug-[version].apk

These tasks can also be executed from Android Studio with a few clicks.

App versions

We maintain releases of Calendula on Google Play, F-Droid and here on Github.

  • The latest version of the app available on those pages reflects the code of the master branch.
  • Release branches are usually deployed through the Google Play BETA channel before they are made available to everyone. If you want to be a member of the testing community, join the testing group on Google Groups, and you will automatically receive the updates from the BETA channel like normal updates from Google Play.

Join the BETA channel: click here!

Check out the contributing guidelines for more info about the branching model.

How does it look?

We try to follow Material Design principles. Take a look at the result!

Future work

We have a lot of development ideas, and we are open to newer ones. Below are some interesting features that could be very useful:

  • Information about nearby pharmacies, their locations and timetables
  • Trip assistant (how many pills I need for this weekend?)
  • Introducing gamification concepts to improve adherence.

Artwork attribution

We are using the the following resources in the app:

Contributing

Feel free to fork and send a pull request if you want to contribute to this project! Notice that Calendula is licensed under the terms of the GNU General Public License (v3), so by submitting content to the Calendula repository, you release your work under the terms of this license.

Before starting, take a look at our contribution guidelines.

I would like to contribute, but I'm not a developer...

If you're not a developer but you want to help, don't worry! You can help with app translations, by joining the BETA group, and much more! Everyone is welcome!

License

Copyright 2020 CITIUS - USC

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

More Repositories

1

hipster

Hipster4j is a lightweight and powerful heuristic search library for Java and Android. It contains common, fully customizable algorithms such as Dijkstra, A* (A-Star), DFS, BFS, Bellman-Ford and more.
Java
323
star
2

Smarty-GPT

A wrapper of LLMs that biases its behaviour using prompts and contexts in a transparent manner to the end-users
Jupyter Notebook
142
star
3

veryfasttree

Efficient phylogenetic tree inference for massive taxonomic datasets
C++
89
star
4

SparkBWA

SparkBWA is a new tool that exploits the capabilities of a Big Data technology as Apache Spark to boost the performance of one of the most widely adopted sequence aligner, the Burrows-Wheeler Aligner (BWA).
C
69
star
5

Linguakit

Multilingual toolkit for NLP: dependency parser, PoS tagger, NERC, multiword extractor, sentiment analysis, etc.
Perl
64
star
6

construe

An abductive framework for the interpretation of time series, with special application to ECG data.
Python
55
star
7

BigSeqKit

BigSeqKit: a parallel Big Data toolkit to process FASTA and FASTQ files at scale
Go
46
star
8

jflap-lib

An improved version of JFLAP 7.0 to be used as a library as well as a command line tool.
Java
44
star
9

pyplexity

Cleaning tool for web scraped text
Python
39
star
10

BigBWA

BigBWA is a new tool that uses the Big Data technology Hadoop to boost the performance of the Burrows–Wheeler aligner (BWA).
C
30
star
11

stac

Statistical Tests for Algorithms Comparison (STAC) is a new platform for statistical analysis to verify the results obtained from computational intelligence algorithms.
JavaScript
28
star
12

citius-invaders

An old-style HTML5 arcade game for teaching genetic algorithms to kids, made with PhaserJS
JavaScript
25
star
13

voila

Variational Inference for Langevin Equations
R
19
star
14

servando

An open distributed telemedicine platform
Java
19
star
15

SimpleNLG-ES

SimpleNLG-ES is a Java API for Natural Language Generation in Spanish. It is a bilingual English/Spanish adaptation of the SimpleNLG v4.4.8 library, following the structure used in SimpleNLG-EnFr.
Java
16
star
16

composit

Semantic Web Service Composition Engine
Java
12
star
17

DepPattern

Dependency syntactic parser and formal grammar for Natural Languages
Perl
12
star
18

qrsdel

A noise robust QRS delineation algorithm
Python
11
star
19

pastaspark

PASTASpark is an extension to PASTA (Practical Alignments using SATé and TrAnsitivity) that allows to execute it on a distributed memory cluster making use of Apache Spark.
Python
10
star
20

perldoop

Efficient Execution of Perl Scripts on Hadoop Clusters
Java
10
star
21

VERY-NEG-and-VERY-POS-Lexicons

Two lexicons for extreme words
7
star
22

frog

Java library for building Fuzzy Rule Bases
Java
5
star
23

SPLM-Lexicon

5
star
24

servando-core

Servando core modules and data model
Java
4
star
25

calendula-backend

Calendula app backend server
JavaScript
4
star
26

olivia

A Developer-Friendly Lidar Visualizer with 3D Stereo
Java
4
star
27

SimpleNLG-GL

SimpleNLG-GL is a Java API for Natural Language Generation in Galician language. It is a trilingual English/Spanish/Galician adaptation of the SimpleNLG v4.4.8 library, following the structure used in SimpleNLG-EnFr.
Java
4
star
28

fracdet

An R package for the simultaneous estimation of deterministic and fractal components in non-stationary time series
R
3
star
29

explorador-diacronico

Herramienta para observar el cambio de significado en las palabras a lo largo del tiempo. Puede ver más información en: http://tec.citius.usc.es/explorador-diacronico/ o en: http://explorador-diacronico.readthedocs.io/es/latest/
JavaScript
3
star
30

onto-evol-llm

Evaluation of ontology evolution with LLMs
Python
2
star
31

composit-iserve

ComposIT / iServe bindings for integration
Java
2
star
32

ho-mnist

Hardware Oriented CNN for MNIST recognition
Jupyter Notebook
2
star
33

jsonschema2shacl

A Python program that creates SHACL shapes from JSON Schema
Python
2
star
34

poster-svg-template

CiTIUS Poster template (non-official) in SVG format
1
star
35

lastpminer

LA-STPminer algorithm
Java
1
star
36

docker-citius-notebook

Dockerized version of ipython notebook for CiTIUS
Python
1
star
37

polypus

Polypus: a Big Data Self-Deployable Architecture for Microblogging Text Extraction and Real-Time Sentiment Analysis
1
star
38

GPTCopyCheck

Software to test if our books, papers, or whatever online document has been ingested by OpenAI model
Python
1
star