main
1/// Package to easily store health domain data.
2///
3/// This package provides a safe abstraction over the underlying databases and
4/// is constructed in a way that allows to add new measurement types without
5/// problems. It follows higher standards regarding backwards compatability and
6/// code quality than the rest of the project to prevent data loss.
7///
8/// All data managed by this package is present in [SI-Units](https://en.wikipedia.org/wiki/SI_units)
9/// and dates are rounded to the second.
10///
11/// To get started call `HealthDataStore.load` with a *new* database object. All
12/// database interaction including table setup and versioning will be performed
13/// by this library, to avoid inconsistencies and confusion about
14/// responsibility.
15///
16/// Every type of entry (`BloodPressureRecord`, `MedicineIntake` and `Note`) is
17/// organized in its own repository. The `MedicineRepository` allows to store
18/// medicines used in intakes. Adding medicines to this repository before
19/// storing them in the intake repository is required for the intake repository
20/// to function correctly.
21///
22/// Repositories allow querying all entries in a `DateRange` which is a custom
23/// implementation of flutters `DateTimeRange` due to the fact that this is a
24/// dart library and to facilitate the use of second based timestamps.
25library;
26
27export 'src/health_data_store.dart';
28// repositories
29export 'src/repositories/blood_pressure_repository.dart';
30export 'src/repositories/bodyweight_repository.dart';
31export 'src/repositories/medicine_intake_repository.dart';
32export 'src/repositories/medicine_repository.dart';
33export 'src/repositories/note_repository.dart';
34export 'src/repositories/repository.dart';
35// types
36export 'src/types/blood_pressure_record.dart';
37export 'src/types/bodyweight_record.dart';
38export 'src/types/date_range.dart';
39export 'src/types/full_entry.dart';
40export 'src/types/medicine.dart';
41export 'src/types/medicine_intake.dart';
42export 'src/types/note.dart';
43export 'src/types/units/pressure.dart';
44export 'src/types/units/weight.dart';