R Portfolio (Residency Portfolio)
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:
- Fork the repository
- Create a feature branch
- 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.