Migrate some Apple Health daily data providers to V2.#613
Conversation
|
This pull request is automatically being deployed by Amplify Hosting (learn more). |
lynnfaraday
left a comment
There was a problem hiding this comment.
Sorry it took so long.
Just a few little things and suggestions.
I'm not sure how to check if all of the device type names are correct, so it would be good to have someone more familiar with device data (Vlad maybe?) glance through as well.
|
Thanks for the review @lynnfaraday. I think I have addressed or responded to each of your comments. Please let me know if you have any further concerns. |
|
@lynnfaraday - Any further concerns about this PR? It doesn't want me to proceed with the changes requested marker.
For Apple Health single-type data types, which these all are, the V2 type is the same as the query rule name. These can be found: https://designer.mydatahelps.dev/MiscAdmins/ServiceConfigurationEditor#/HealthKit/HealthKit For Health Connect, you can look at the real time device data queries: https://github.com/CareEvolution/Consumers/blob/master/Mogul/Code/CfhrFramework/Framework/HealthConnectQueries.cs#L1128 |
Overview
This branch migrates a number of Apple Health daily data providers to use the V2 API. I also added a few new ones. To the extent possible, I used the V2 aggregate API.
New Providers:
Apple Health Blood Glucose(V2 type:Blood Glucose, aggregate:avg)Apple Health Min Blood Glucose(V2 type:Blood Glucose, aggregate:min)Apple Health Max Blood Glucose(V2 type:Blood Glucose, aggregate:max)Apple Health Min Heart Rate(V2 type:Hourly Minimum Heart Rate, aggregate:min)Health Connect Blood Glucose(V2 type:blood-glucose, aggregate:avg)Health Connect Min Blood Glucose(V2 type:blood-glucose, aggregate:min)Health Connect Max Blood Glucose(V2 type:blood-glucose, aggregate:max)Combined Blood Glucose- Uses theApple Health Blood GlucoseandHealth Connect Blood Glucosedata providers, prioritizing the value from Apple Health when both are present for a given day.Updated Providers:
Apple Health Max Heart Rate(V2 type:Hourly Maximum Heart Rate, aggregate:max)Apple Health Heart Rate Range- Uses values from the V2 min and max heart rate providers to compute the range for each day.Apple Health Mindful Minutes(V2 type:Mindful Sessions, filter:not SilverCloud CBT)Apple Health Resting Heart Rate(V2 type:Resting Heart Rate, aggregate:avg)Apple Health Sleep Time(V2 type:Sleep Analysis, values:['AsleepCore', 'AsleepREM', 'AsleepDeep', 'Asleep'])Apple Health Core Sleep Time(V2 type:Sleep Analysis, value:AsleepCore)Apple Health REM Sleep Time(V2 type:Sleep Analysis, value:AsleepREM)Apple Health Deep Sleep Time(V2 type:Sleep Analysis, value:AsleepDeep)Apple Health In Bed Time(V2 type:Sleep Analysis, value:InBed)Apple Health Steps(V2 type:Hourly Steps, aggregate:sum)Apple Health Steps While Wearing Device(V2 type:Hourly Steps, aggregate:sum)Combined Mindful Minutes- Updated the criteria for using the V2Apple Health Mindful Minutesprovider.Combined Resting Heart Rate- Updated the criteria for using the V2Apple Health Resting Heart Rateprovider.Combined Sleep Time- Updated the criteria for using the V2Apple Health Sleep Timeprovider.Combined Steps- Updated the criteria for using the V2Apple Health Stepsprovider.Security
No new security risk. Just migrating to use the delegated V2 device data API, which is already accessible to participants.
Testing
This change requires a VB PR to fully test.
Documentation
@CareEvolution/api-docs.