A comprehensive iOS study app for the Pharmacy Technician Certification Exam (PTCE) — built with SwiftUI and SwiftData.
Synapse PTCE is a native iOS study companion designed to help pharmacy technician students master the content tested on the PTCE. The app focuses heavily on Domain 1: Medications, using proven learning science — spaced repetition, active recall, and chunking — to build long-term retention.
Whether you're a first-time test-taker or retaking the exam, Synapse PTCE gives you a structured, progressive path from foundational drug stem patterns all the way through high-risk medications and drug interactions.
Learn the naming patterns that unlock hundreds of drug names at once. The app covers 25+ PTCE-relevant stems organized by body system, with examples, therapeutic uses, and key clinical points. Progress is tracked automatically as you work through each stem.
A confidence-based flashcard system inspired by spaced repetition methodology. After each card, rate your recall (Again / Hard / Good / Easy) and the app schedules the next review accordingly — reviewing right before you'd forget for maximum efficiency. Review history and next review dates are persisted via SwiftData.
Test yourself on stem recognition just like the real PTCE. Each session generates 10 randomized questions: see a drug name, identify its pharmacological class. Immediate feedback and explanations are provided after each answer, with session scores tracked over time.
Browse drugs organized by physiological system (cardiovascular, CNS, respiratory, etc.). Build the mental frameworks that make drug classification feel intuitive rather than memorized.
Dedicated study section covering the four high-risk categories the PTCE emphasizes:
- NTI — Narrow Therapeutic Index drugs
- High-Alert — ISMP high-alert medications
- REMS — Risk Evaluation and Mitigation Strategies
- LASA — Look-Alike / Sound-Alike pairs
15+ clinically important interactions organized by type (OTC ↔ Rx, herbal ↔ Rx, food ↔ Rx, Rx ↔ Rx), with severity ratings, mechanisms, and patient counseling points.
Look up any drug by name and instantly see its stem, pharmacological class, body system, high-risk status, and known interactions. Includes recent search history and detailed drug profiles.
SwiftData-powered progress tracking across all study modes — stems viewed, flashcards reviewed, quiz accuracy, and study streaks.
The app's study flow is intentionally sequenced to mirror how pharmacy professionals actually learn:
- Drug Stems — Build the foundation. Learn one stem, recognize dozens of drugs.
- Flashcards — Reinforce with spaced repetition. Review right before forgetting.
- Quizzes — Test with active recall. Identify gaps before the real exam does.
- Body Systems — Apply knowledge in physiological context.
- High-Risk Meds — Study what the PTCE emphasizes for patient safety.
- Drug Interactions — Real-world counseling knowledge.
| Layer | Technology |
|---|---|
| Language | Swift |
| UI Framework | SwiftUI |
| Persistence | SwiftData |
| Minimum Target | iOS 17+ |
| Platform | iPhone, iPad, Apple TV (via TVHubView) |
| Architecture | MVVM with environment-injected theme |
- Xcode 15 or later
- iOS 17+ deployment target
- Swift 5.9+
-
Clone the repository:
git clone https://github.com/Gooseboy2234/Synapse-PTCE.git
-
Open the project in Xcode:
open "Synapse PTCE.xcodeproj" -
In your main App file, ensure the SwiftData model container includes the learning models:
.modelContainer(for: [ LearningProgress.self, FlashcardReview.self, QuizResult.self ])
-
Build and run on a simulator or device running iOS 17+.
Synapse PTCE/
├── Models
│ ├── MedicationDataModels.swift # Core data structures (enums, structs)
│ ├── MedicationDatabase.swift # Full medication database (stems, interactions, high-risk)
│ ├── LearningProgressModels.swift # SwiftData models for progress tracking
│ ├── PTCEMedicationModels.swift # PTCE-specific medication models
│ └── PTCEMedicationDatabase.swift # Extended PTCE medication database
│
├── Views
│ ├── GuidedLearningHub.swift # Main entry point — 6 learning modes
│ ├── BodySystemsView.swift # Browse drugs by body system
│ ├── DrugSearchView.swift # Universal drug search
│ ├── DrugStemsView.swift # Drug stem study view
│ ├── FlashcardModeView.swift # Spaced repetition flashcards
│ ├── HighRiskMedicationsView.swift # NTI / High-Alert / REMS / LASA
│ ├── DrugInteractionsView.swift # Drug interaction browser
│ ├── StemQuizView.swift # Stem recognition quiz
│ ├── ConceptualLearningView.swift # Conceptual learning content
│ ├── SimplifiedLearningViews.swift # Consolidated study views
│ └── SettingsView.swift # App settings
│
├── TV
│ ├── TVContentView.swift # Apple TV root view
│ ├── TVHubView.swift # Apple TV hub
│ ├── TVEncounterView.swift # TV encounter/quiz view
│ ├── TVMapView.swift # TV map view
│ └── TVSettingsView.swift # TV settings view
│
└── Utilities
├── StoryManager.swift # Story/narrative flow manager
├── QuickStartIntegration.swift # Integration helpers
└── MultiAngle_D*.swift # Domain content files (D1–D4)
| Platform | Status |
|---|---|
| iPhone (iOS 17+) | ✅ Fully supported |
| iPad | ✅ Fully supported (multitasking) |
| Apple TV | ✅ Supported via TVHubView |
| Mac Catalyst |
Synapse PTCE uses a custom AppTheme environment object for consistent styling across light and dark mode:
- Color-coded categories (by body system, severity, medication type)
- Monospaced fonts for technical/pharmaceutical labels
- SF Symbols throughout
- Expandable card patterns with spring physics animations
- Grid background motifs for visual consistency
Contributions are welcome! If you'd like to add more drug stems, expand the medication database, or improve the UI, feel free to open a pull request.
- Fork the repo
- Create a feature branch (
git checkout -b feature/more-stems) - Commit your changes
- Open a pull request
Synapse PTCE is an educational study tool intended to help students prepare for the PTCE exam. It is not a clinical decision support tool and should not be used for actual patient care decisions. Always refer to current, authoritative clinical references for medication information in practice.
This project is currently unlicensed. All rights reserved by the author.
Built to help pharmacy technician students pass the PTCE — and become competent, confident healthcare professionals. 💊