Register
Submit a solution
The challenge is finished.

Challenge Overview

INTRODUCTION
This is the next challenge in a series to develop an iOS app and web portal for Total Mama in partnership with the Bill & Melinda Gates Foundation to track maternal health and fetal growth and development during pregnancy.

Total Mama is a new digital health company started and incubated at the University of Oxford whose goal is to provide women with personalized, evidence-based health information on pregnancy and fertility.

The Bill & Melinda Gates Foundation’s Healthy Birth, Growth, and Development knowledge integration (HBGDki) initiative seeks to develop data-driven strategies to accelerate the foundation’s ability to promote healthy birth, growth, and development, in the communities that need it most, by delivering the right interventions to the right child, at the right time, and at the right price.

REQUIREMENTS
For this challenge we will be adding new functionality to the app, including newborn tracking and data export capabilities. You’ll be updating the existing Xcode project with the functionality, changes and updates outlined below.  Use mock data for display as web services integration will be completed in a follow up challenge.

Menu
-- “My Gallery” should display the gallery for the active pregnancy or newborn
-- Rename “Pregnancies” to “Timelines” and move under “My Gallery”
    -- Functionality should remain the same
-- Under “Timelines” add “Edit Pregnancy”
    -- Change to “Edit Newborn” if the active timeline is for a newborn
    -- This should navigate to the edit pregnancy or edit newborn screen
-- Rename “Profile” to “Edit Profile” and move under “Edit Pregnancy”
    -- Functionality should remain the same
-- Remove the “Timeline” option

My Gallery Screens
-- Have the navigation bar visible/active when an image is tapped to zoom
    -- Currently the dimmed background covers the entire screen area
-- Add the stock iOS action button to the right side of the navigation bar when zoomed
-- Tapping the action button should display all services on the device capable of accepting/sharing the selected image

Pregnancy List Screen
-- This list is being renamed to “Timelines”
-- Update the list to include display of both pregnancies and newborns

Create/Edit Pregnancy Screen
-- Add a checkbox for “Add newborn tracking?” and description to allow newborn tracking once the pregnancy is completed
    -- Only allow setting of this value when “Complete Pregnancy” is tapped
    -- Display the create newborn screen if the user completes the pregnancy and the above checkbox is selected

Create/Edit Newborn Screen
-- Form should have similar functionality to adding/editing a pregnancy
-- Tapping the camera icon should prompt for selecting/taking a new photo
-- Display fields for:
    -- Birth Date (date picker)
    -- Name (free text)
    -- Birth Weight (number/weight picker)
    -- Sex (toggle)
    -- Head Circumference (number/length picker)
    -- Crown to Heel Length (number/length picker)
-- Validate all fields are completed before saving the newborn
-- Editing mode should allow:
    -- Deletion of the newborn (prompt user first)
    -- Completion of newborn tracking (prompt user first)

Newborn Timeline Screen
-- This screen functions/displays data in a similar manner to the maternal and fetal timelines
-- Display the newborn’s name in the navigation title
-- Display all measurements at the top of the screen
    -- Tapping a measurement allows editing of the entry
-- Display measurement graphs following the timeline entries
    -- Use Highcharts to display timeline entries
-- Males and females have different growth standards, so you’ll need 4 charts total
    -- Male, metric
    -- Male, imperial
    -- Female, metric
    -- Female, imperial
-- Use the WHO data tables located here for growth standards
-- Maternal and fetal graphs can be used for display and functionality reference
-- Right hand navigation button should be the standard iOS action button
    -- Display an action sheet for exporting data and sharing images
    -- Stub functionality for exporting via CSV and PDF
    -- Images should be able to be shared via any installed app that accepts an image

Newborn Timeline Entry Modal
-- This modal functions/displays similar to the fetal timeline entry modal
-- Display each step and entry field for:
    -- Date (date picker)
    -- Newborn Head Circumference (number/length picker)
    -- Newborn Weight (number/weight picker)
    -- Crown to Heel Length (number/length picker)
    -- Image (optional)
-- Measurements in metric/imperial should be based on the user’s preference as is elsewhere in the app
-- Maternal and fetal timeline entries can be used for functionality/display reference

Newborn My Gallery Screen
-- This screen functions/displays images similar to the maternal and fetal galleries
-- Display all images related to the newborn as added to timeline entries

Newborn Splash Screen
-- Display this screen when the app launches if a newborn is active, similar to the pregnancy splash screen displayed for an active pregnancy
-- Display the newborn’s image, date of birth and first year progress

SETUP
-- See the challenge forums for details on adding yourself to the Total-Mama GitLab group
-- Fork the iOS repository and use the tc_5 branch for the basis of development
-- Add harrywynn as a member of your forked repository with Reporter access
-- All necessary designs and source files can be found in the Resources repository



Final Submission Guidelines

-- Xcode 7.3 project with all screens and functionality as outlined above
-- Code must compile against iOS SDK 9.3 with a deployment target of iOS 8.0
-- Develop for iPhone size classes, with orientation locked to portrait
-- Use storyboards and auto layout for all views and navigation
-- All code must be written in Swift and be well commented
-- Upload your source project as a zip

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30054423