# marikapescosolido-su/iter_hackgt2026 architecture

> Architecture diagram of the GitHub repository marikapescosolido-su/iter_hackgt2026, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/marikapescosolido-su/iter_hackgt2026
- Repository: https://github.com/marikapescosolido-su/iter_hackgt2026

## Overview

ITER is an Android demo for tracking patient medication response through daily check-ins, then presenting trends and clinician reports with optional supporter participation. The main path is patient onboarding and check-ins, in-memory tracking, safety and trend summaries, and clinician review/export; supporters have a separate role-based view and weekly survey. Source confirms the in-memory repository and report calculations; several screen-level connections and advertised AI/research capabilities are represented only where the tree supports them, not as verified backend services.

Main entry points: [`app/src/main/java/com/iter/app/ui/navigation/AppNavHost.kt`](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/navigation/AppNavHost.kt) (App navigation), [`app/src/main/java/com/iter/app/data/DemoRepository.kt`](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/data/DemoRepository.kt) (Demo repository), [`app/src/main/java/com/iter/app/ui/clinician/ReportScreen.kt`](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/clinician/ReportScreen.kt) (Clinician reports), [`app/src/main/java/com/iter/app/MainActivity.kt`](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/MainActivity.kt) (Android entry)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App navigation"]
  node_entry["Android entry<br/>[MainActivity.kt]"]
  node_navigation["App navigation<br/>[AppNavHost.kt]"]
  node_routes["Route catalog<br/>[Routes.kt]"]
end

subgraph group_patient["Patient care"]
  node_onboarding["Patient onboarding"]
  node_checkin["Daily check-in<br/>[CheckInScreen.kt]"]
  node_voice["Voice check-in<br/>[VoiceCheckIn.kt]"]
  node_home["Patient home"]
  node_safety["Safety support<br/>[SafetyScreen.kt]"]
  node_reminders["Check-in reminders<br/>[Reminders.kt]"]
end

subgraph group_shared["Support circle"]
  node_sharing["Sharing controls<br/>[SharingScreen.kt]"]
  node_support_home["Supporter home"]
  node_support_survey["Supporter survey"]
  node_nudge["Supporter nudges<br/>[NudgeScreen.kt]"]
end

subgraph group_clinical["Clinical insights"]
  node_repository[("Demo repository<br/>[DemoRepository.kt]")]
  node_domain["Tracking insights"]
  node_weekly_report["Weekly report<br/>[WeeklyReport.kt]"]
  node_report_ui["Clinician reports<br/>[ReportScreen.kt]"]
  node_med_context["Medication context"]
  node_pdf["PDF export"]
end

node_patient_actor(("Patient"))
node_supporter_actor(("Supporter"))
node_clinician_actor(("Clinician"))

node_patient_actor -->|"opens app"| node_entry
node_supporter_actor -->|"opens app"| node_entry
node_clinician_actor -->|"opens app"| node_entry
node_entry -->|"starts"| node_navigation
node_navigation -->|"uses routes"| node_routes
node_navigation -->|"dispatches"| node_onboarding
node_navigation -->|"dispatches"| node_checkin
node_navigation -->|"dispatches"| node_home
node_navigation -->|"dispatches"| node_safety
node_navigation -->|"dispatches"| node_sharing
node_navigation -->|"dispatches"| node_support_home
node_navigation -->|"dispatches"| node_support_survey
node_navigation -->|"dispatches"| node_nudge
node_navigation -->|"dispatches"| node_report_ui
node_navigation -->|"dispatches"| node_med_context
node_onboarding -->|"updates state"| node_repository
node_checkin -->|"saves answers"| node_repository
node_voice -.->|"records check-in"| node_repository
node_home -->|"reads state"| node_repository
node_safety -->|"reads state"| node_repository
node_sharing -->|"updates sharing"| node_repository
node_support_home -->|"reads state"| node_repository
node_support_survey -->|"saves observation"| node_repository
node_nudge -->|"saves nudge"| node_repository
node_report_ui -->|"builds report"| node_weekly_report
node_weekly_report -->|"uses calculations"| node_domain
node_report_ui -->|"reads records"| node_repository
node_report_ui -->|"exports report"| node_pdf
node_med_context -->|"reads and notes"| node_repository
node_med_context -->|"compares doses"| node_domain
node_reminders -->|"uses reminder state"| node_repository

click node_entry "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/MainActivity.kt"
click node_navigation "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/navigation/AppNavHost.kt"
click node_routes "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/navigation/Routes.kt"
click node_onboarding "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/patient/onboarding/OnboardingScreen.kt"
click node_checkin "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/patient/checkin/CheckInScreen.kt"
click node_voice "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/voice/VoiceCheckIn.kt"
click node_home "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/patient/home/PatientHomeScreen.kt"
click node_safety "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/patient/safety/SafetyScreen.kt"
click node_sharing "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/patient/sharing/SharingScreen.kt"
click node_support_home "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/supporter/SupporterHomeScreen.kt"
click node_support_survey "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/supporter/SupporterSurveyScreen.kt"
click node_nudge "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/supporter/NudgeScreen.kt"
click node_repository "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/data/DemoRepository.kt"
click node_domain "https://github.com/marikapescosolido-su/iter_hackgt2026/tree/main/app/src/main/java/com/iter/app/domain"
click node_weekly_report "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/domain/WeeklyReport.kt"
click node_report_ui "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/clinician/ReportScreen.kt"
click node_med_context "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/clinician/MedicationContextScreen.kt"
click node_pdf "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/clinician/pdf/ReportPdfExporter.kt"
click node_reminders "https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/notifications/Reminders.kt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_entry,node_navigation,node_routes toneBlue
class node_onboarding,node_checkin,node_voice,node_home,node_safety,node_reminders toneAmber
class node_sharing,node_support_home,node_support_survey,node_nudge toneMint
class node_repository,node_domain,node_weekly_report,node_report_ui,node_med_context,node_pdf toneRose
class node_patient_actor,node_supporter_actor,node_clinician_actor toneIndigo
```

## Components

### App navigation

- [Android entry](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/MainActivity.kt): `app/src/main/java/com/iter/app/MainActivity.kt`
- [App navigation](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/navigation/AppNavHost.kt): `app/src/main/java/com/iter/app/ui/navigation/AppNavHost.kt`
- [Route catalog](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/navigation/Routes.kt): `app/src/main/java/com/iter/app/ui/navigation/Routes.kt`

### Patient care

- [Patient onboarding](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/patient/onboarding/OnboardingScreen.kt): `app/src/main/java/com/iter/app/ui/patient/onboarding/OnboardingScreen.kt`
- [Daily check-in](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/patient/checkin/CheckInScreen.kt): `app/src/main/java/com/iter/app/ui/patient/checkin/CheckInScreen.kt`
- [Voice check-in](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/voice/VoiceCheckIn.kt): `app/src/main/java/com/iter/app/voice/VoiceCheckIn.kt`
- [Patient home](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/patient/home/PatientHomeScreen.kt): `app/src/main/java/com/iter/app/ui/patient/home/PatientHomeScreen.kt`
- [Safety support](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/patient/safety/SafetyScreen.kt): `app/src/main/java/com/iter/app/ui/patient/safety/SafetyScreen.kt`
- [Check-in reminders](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/notifications/Reminders.kt): `app/src/main/java/com/iter/app/notifications/Reminders.kt`

### Support circle

- [Sharing controls](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/patient/sharing/SharingScreen.kt): `app/src/main/java/com/iter/app/ui/patient/sharing/SharingScreen.kt`
- [Supporter home](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/supporter/SupporterHomeScreen.kt): `app/src/main/java/com/iter/app/ui/supporter/SupporterHomeScreen.kt`
- [Supporter survey](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/supporter/SupporterSurveyScreen.kt): `app/src/main/java/com/iter/app/ui/supporter/SupporterSurveyScreen.kt`
- [Supporter nudges](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/supporter/NudgeScreen.kt): `app/src/main/java/com/iter/app/ui/supporter/NudgeScreen.kt`

### Clinical insights

- [Demo repository](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/data/DemoRepository.kt): `app/src/main/java/com/iter/app/data/DemoRepository.kt`
- [Tracking insights](https://github.com/marikapescosolido-su/iter_hackgt2026/tree/main/app/src/main/java/com/iter/app/domain): `app/src/main/java/com/iter/app/domain`
- [Weekly report](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/domain/WeeklyReport.kt): `app/src/main/java/com/iter/app/domain/WeeklyReport.kt`
- [Clinician reports](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/clinician/ReportScreen.kt): `app/src/main/java/com/iter/app/ui/clinician/ReportScreen.kt`
- [Medication context](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/clinician/MedicationContextScreen.kt): `app/src/main/java/com/iter/app/ui/clinician/MedicationContextScreen.kt`
- [PDF export](https://github.com/marikapescosolido-su/iter_hackgt2026/blob/main/app/src/main/java/com/iter/app/ui/clinician/pdf/ReportPdfExporter.kt): `app/src/main/java/com/iter/app/ui/clinician/pdf/ReportPdfExporter.kt`

### Other components

- **Patient**
- **Supporter**
- **Clinician**

## Connections

- Patient → Android entry: opens app
- Supporter → Android entry: opens app
- Clinician → Android entry: opens app
- Android entry → App navigation: starts
- App navigation → Route catalog: uses routes
- App navigation → Patient onboarding: dispatches
- App navigation → Daily check-in: dispatches
- App navigation → Patient home: dispatches
- App navigation → Safety support: dispatches
- App navigation → Sharing controls: dispatches
- App navigation → Supporter home: dispatches
- App navigation → Supporter survey: dispatches
- App navigation → Supporter nudges: dispatches
- App navigation → Clinician reports: dispatches
- App navigation → Medication context: dispatches
- Patient onboarding → Demo repository: updates state
- Daily check-in → Demo repository: saves answers
- Voice check-in → Demo repository: records check-in
- Patient home → Demo repository: reads state
- Safety support → Demo repository: reads state
- Sharing controls → Demo repository: updates sharing
- Supporter home → Demo repository: reads state
- Supporter survey → Demo repository: saves observation
- Supporter nudges → Demo repository: saves nudge
- Clinician reports → Weekly report: builds report
- Weekly report → Tracking insights: uses calculations
- Clinician reports → Demo repository: reads records
- Clinician reports → PDF export: exports report
- Medication context → Demo repository: reads and notes
- Medication context → Tracking insights: compares doses
- Check-in reminders → Demo repository: uses reminder state
