MaNaDr for Healthcare Provider – Telemedicine iOS Platform

An iOS telemedicine platform enabling healthcare professionals to conduct secure virtual consultations, manage appointments, and coordinate home care visits with patients via real-time chat and video calls.

iOS Engineer2017 – 20205 min read

Tech Stack

SwiftUIKitMVVM-CPubNubTwilioXCUITestCocoaPodsFastlane

#Overview

MaNaDr for Healthcare Provider is the professional-facing iOS app of the MaNaDr telemedicine ecosystem, developed by Mobile Health Pte Ltd. It gives healthcare professionals a dedicated, secure channel to connect with their patients, manage appointments, and deliver virtual care — all from their iPhone.

As an iOS Engineer on this project, I contributed to the appointment management system, real-time tele-consultation features (chat and video), and the shared infrastructure that powers both the doctor and patient apps. The app is available on the App Store and is used by medical professionals across Southeast Asia.

#Screenshots

MaNaDr for Healthcare Provider app screenshot 1
MaNaDr for Healthcare Provider app screenshot 2

#What We Built

#Appointment Management

I implemented the appointment scheduling and overview system, giving doctors a clear view of their full practice schedule at a glance:

  • Upcoming & past appointments — a unified list that distinguishes between scheduled, completed, and cancelled sessions
  • Real-time status updates — appointment state syncs instantly when patients book, reschedule, or cancel
  • Home care visit management — dedicated view for home visits with integrated map directions and built-in call functionality for direct patient communication
  • Reminders & notifications — timely push notifications ensuring doctors are always prepared before a session starts

The scheduling engine handles concurrent bookings across multiple time zones, a key requirement for a platform serving international users.

#Tele-Consultation: Chat & Video Calls

The heart of the app is the virtual consultation experience. I built and maintained the real-time communication features that allow healthcare professionals to conduct secure sessions from anywhere:

Chat Consultations:

  • Real-time messaging with PubNub for low-latency, reliable message delivery
  • Persistent conversation history so doctors can review past exchanges before a session
  • Typing indicators, read receipts, and delivery status for a polished, professional feel
  • Secure file/image sharing for prescriptions and medical documents

Video Consultations:

  • HD video calling using Twilio, optimized for variable network conditions in Southeast Asia
  • Graceful fallback handling for poor connectivity — degrading video quality before dropping the call
  • In-call controls: mute, camera toggle, speaker routing, and session timer
  • Post-consultation summaries sent automatically to both parties

All communications are encrypted end-to-end using 256-bit SSL, meeting the strict requirements for medical data handling.

#Shared Code Architecture with CocoaPods

Both the doctor and patient apps share a significant amount of business logic, UI components, and networking code. I helped architect and maintain this shared layer using private CocoaPods:

  • Core networking pod — shared API client, authentication, and response parsing used by both apps
  • Shared UI components — reusable chat bubbles, video call overlays, and appointment card components
  • Domain models pod — common data models (appointments, users, consultation sessions) ensuring consistency across both apps
  • Versioned releases — semantic versioning for shared pods prevented breaking changes from propagating unexpectedly

This approach eliminated code duplication, ensured both apps behaved consistently, and dramatically reduced the effort needed to implement features that span both sides of the platform.

#Fastlane CI/CD Integration

I integrated Fastlane to automate the build and release pipeline for both apps:

  • Automated code signing — Match-based certificate and provisioning profile management across the team
  • Build automation — parameterized lanes for dev, staging, and production builds
  • TestFlight distribution — one-command upload to TestFlight for QA and beta testers
  • App Store submission — automated metadata updates and binary submission, reducing release overhead to minutes
  • Slack notifications — build status and release notes posted automatically to the team channel

#Test Automation with XCUITest

I implemented a UI test suite covering the core doctor-facing workflows:

  • Appointment flows — booking, rescheduling, and cancellation
  • Consultation session flows — entering and exiting chat and video sessions
  • API stubbing — deterministic tests that don't depend on backend availability during CI runs
  • Page Object Model — maintainable test structure that isolates UI interaction from test assertions

#Impact & Results

  • Enabled secure virtual consultations for healthcare professionals across Southeast Asia
  • Unified shared codebase via CocoaPods reduced duplication and kept both apps in sync
  • Automated releases with Fastlane cut manual release time from hours to under 10 minutes
  • XCUITest coverage over core appointment and consultation flows caught regressions before production
  • 256-bit SSL encryption throughout all patient-doctor communications met medical data security standards

#Technical Highlights

Why CocoaPods for shared code? With two separate apps serving opposite sides of the same platform, keeping shared logic in sync manually would have been error-prone. Private CocoaPods gave us versioned, isolated modules — each app could upgrade shared dependencies independently, and changes to shared code went through proper review before being adopted by either app.

Why PubNub for chat? Medical consultations require message reliability above all else — a dropped message in a clinical context can have real consequences. PubNub's infrastructure provided persistence, delivery guarantees, and offline queuing out of the box, letting the team focus on clinical UX rather than messaging infrastructure.

Why Fastlane for both apps? Managing certificates, builds, and App Store submissions for two apps manually in a small team is unsustainable. Fastlane standardized these processes, eliminated human error in signing, and made it possible for any engineer to cut a release confidently.

Key Challenges

  • Real-Time Video & Chat Reliability
  • Shared Code Architecture Across Two Apps
  • Appointment Scheduling Complexity
  • CI/CD & Release Automation

Impact & Results

  • Enabled secure teleconsultations for healthcare professionals
  • Unified shared libraries across doctor and patient apps via CocoaPods
  • Streamlined releases with Fastlane automation
  • Reduced regression risk with XCUITest automation

Subscribe to my space 🚀

Stay updated on my Blogs about Automation Test, Swift & iOS, Software Engineering, and book reviews.

100% free. Unsubscribe at any time.