R Portfolio (Residency Portfolio)

Flutter Dart

Platform Platform Platform Platform Platform Platform

License Status

Current Version: v0.1.0

A personal, open-source Flutter application developed to manage and document medical residency portfolio activities, with specific reference to Italian Residency Schools and their normative and training requirements.

This project is developed and maintained by medlav and will be available in a public GitHub repository. It was created primarily for personal organizational use and is shared openly in case it may be useful to others or serve as a basis for further development.

This is not production-grade software and should not be used as an official reporting system without independent verification.


Context and Scope

Italian medical residency programs require structured documentation of:

  • Clinical procedures
  • Academic activities
  • Teaching sessions
  • Research contributions
  • Competency-based milestones
  • Specialty-specific normative requirements

This application aims to provide a simple, structured, and locally stored system for recording such activities.

It is not affiliated with any university, residency school, or governmental institution.


Normative Context (Italy)

This application is designed to align with Italian postgraduate medical training frameworks (e.g., D.M. 68/2015 and specialty-specific regulations). It facilitates the organization of required competencies, including:

  • Clinical & Procedure Logs: Tracking surgical or diagnostic activities.
  • Academic Progress: Recording teaching, research, and credits.
  • Reporting: Structuring data for school-level competency reviews.

Important Disclaimers

  • Non-Official: This software is not a certified replacement for official university or ministerial documentation systems.
  • No Endorsement: It is not affiliated with or endorsed by any public authority.
  • User Responsibility: Users must verify that all recorded data meets the formal standards required by their specific residency program.

Project Status

  • Development Stage: Pre-Alpha / Early Alpha
  • Platform: Android (Flutter)
  • Stability: Experimental

Expect:

  • Incomplete features
  • Interface changes
  • Schema adjustments
  • Breaking updates

This is a hobby project developed in spare time.


Core Functionality

Portfolio Entry Management

  • Create, edit, and delete portfolio entries
  • Define custom categories aligned with specialty requirements
  • Flexible quantitative tracking (counts, hours, credits)
  • Structured metadata fields (institution, departments, notes)

Temporal Tracking

  • Support for past, ongoing, and planned activities
  • Start and optional end dates
  • ISO 8601 date format handling

Local-First Design

  • SQLite database (sqflite) for structured data
  • SharedPreferences for profile and configuration
  • No cloud services
  • No analytics
  • No tracking
  • No advertising

All data remains stored locally on the user’s device.


Architecture Overview

The application uses:

SQLite

  • Relational storage of categories and portfolio entries
  • Parameterized queries to mitigate injection risks

SharedPreferences

  • User profile data
  • Residency year and specialty
  • Application settings

There is currently no synchronization, encryption layer beyond platform defaults, or institutional integration.


Installation

Clone the public repository:

git clone https://github.com/medlav/residency_portfolio.git
cd residency_portfolio

Install dependencies:

flutter pub get

Run the application:

flutter run

Build release APK:

flutter build apk --split-per-abi

Testing

Example test execution:

flutter test test/database_security_test.dart

Test coverage is currently limited and may evolve over time.


Limitations

  • Android-only (current target) but iOS is easily build with proper flutter config
  • No cloud backup
  • No advanced encryption
  • Not audited for regulatory compliance
  • No formal validation against official residency documentation systems

Users remain responsible for ensuring compliance with their specific institutional or national requirements.


Contributing

Contributions are welcome, including:

  • Bug reports
  • Refactoring suggestions
  • UI improvements
  • Expanded testing
  • Adaptation for other residency systems or countries

To contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request

As this is a personal project, response times may vary. (Also my first FOSS project)


License

This project is licensed under the BSD 3-Clause License.

You are free to use, modify, and redistribute the software under the terms of that license.


Author

Developed and maintained by medlav.

This project was created as a personal tool to better structure and document residency activities in accordance with Italian training requirements. It is shared publicly in the spirit of openness and collaboration.

If it proves useful to others, that is a welcome outcome.


Libraries

l10n\app_localizations
l10n\app_localizations_en
l10n\app_localizations_it
main
residency_portfolio