Skip to content

An example SwiftUI CareKit app that auto synchronizes iOS/watchOS to the cloud via ParseCareKit and parse-hipaa

Notifications You must be signed in to change notification settings

netreconlab/CareKitSample-ParseCareKit

Repository files navigation

CareKitSample+ParseCareKit

Swift Xcode 14.0+ iOS 16.0+ watchOS 9.0+ CareKit 3.0+ ci

An example application of CareKit's OCKSample synchronizing CareKit data to the Cloud via ParseCareKit.

Similar to the What's New in CareKit WWDC20 video, this app syncs between data between iOS and an Apple Watch (setting the flag isSyncingWithRemote in Constants.swift to isSyncingWithRemote = false. Different from the video, setting isSyncingWithRemote = true (default behavior) in the aforementioned file syncs iOS and watchOS to a Parse Server.

ParseCareKit synchronizes the following entities to Parse tables/classes using Parse-Swift:

  • OCKPatient <-> Patient
  • OCKCarePlan <-> CarePlan
  • OCKContact <-> Contact
  • OCKTask <-> Task
  • OCKHealthKitTask <-> HealthKitTask
  • OCKOutcome <-> Outcome
  • OCKRevisionRecord <-> RevisionRecord

Use at your own risk. There is no promise that this is HIPAA compliant and we are not responsible for any mishandling of your data

Setup Your Parse Server

Heroku

The easiest way to setup your server is using the one-button-click deployment method for parse-hipaa.

Docker

You can setup your parse-hipaa using Docker. Simply type the following to get parse-hipaa running with postgres locally:

  1. Fork parse-hipaa
  2. cd parse-hipaa
  3. docker-compose up - this will take a couple of minutes to setup as it needs to initialize postgres, but as soon as you see parse-server running on port 1337., it's ready to go. See here for details
  4. If you would like to use mongo instead of postgres, in step 3, type docker-compose -f docker-compose.mongo.yml up instead of docker-compose up

Fork this repo to get the modified OCKSample app

  1. Fork CareKitSample-ParseCareKit
  2. Open OCKSample.xcodeproj in Xcode
  3. You may need to configure your "Team" and "Bundle Identifier" in "Signing and Capabilities"
  4. Run the app and data will synchronize with parse-hipaa via http://localhost:1337/parse automatically
  5. You can edit Parse server setup in the ParseCareKit.plist file under "Supporting Files" in the Xcode browser

View your data in Parse Dashboard

Heroku

The easiest way to setup your dashboard is using the one-button-click deployment method for parse-hipaa-dashboard.

Docker

Parse Dashboard is the easiest way to view your data in the Cloud (or local machine in this example) and comes with parse-hipaa. To access:

  1. Open your browser and go to http://localhost:4040/dashboard
  2. Username: parse
  3. Password: 1234
  4. Be sure to refresh your browser to see new changes synched from your CareKitSample app

Note that CareKit data is extremely sensitive and you are responsible for ensuring your parse-server meets HIPAA compliance.

Transitioning the sample app to a production app

If you plan on using this app as a starting point for your produciton app. Once you have your parse-hipaa server in the Cloud behind ssl, you should open ParseCareKit.plist in Xcode and change the value for Server to point to your server(s) in the Cloud. You should also open Info.plist in Xcode and remove App Transport Security Settings and any key/value pairs under it as this was only in place to allow you to test the sample app to connect to a server setup on your local machine. iOS apps do not allow non-ssl connections in production, and even if you find a way to connect to non-ssl servers, it would not be HIPAA compliant.

Extra scripts for optimized Cloud queries

You should run the extra scripts outlined on parse-hipaa here.

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages