HealthKit Espacio de nombres

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

Clases

HKActivitySummary

Resume la actividad del usuario durante un día específico.

HKActivitySummaryQuery

Obtiene HKActivitySummary instancias que coinciden con un NSPredicateobjeto .

HKActivitySummaryType

Obect que se usa para solicitar permiso para leer HKActivitySummary objetos.

HKAnchoredObjectQuery

Que HKQuery en su llamada inicial devuelve el resultado más reciente y en las llamadas posteriores solo devuelve los datos agregados después de la llamada inicial.

HKBiologicalSexObject

Devuelto por GetBiologicalSex(NSError).

HKBloodTypeObject

Devuelto por GetBloodType(NSError)

HKCategorySample

cuyo HKSample valor es uno de un tipo enumerado.

HKCategoryType

que HKSampleType actualmente solo tiene una forma: análisis de sueño.

HKCategoryTypeIdentifierExtensions

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKCategoryTypeIdentifierKey

Define las claves que se van a identificar HKCategoryType. Actualmente solo la clave para el análisis de suspensión.

HKCdaDocument

Contiene la información que se representa en XML en un documento de mantenimiento del almacén HealthKit.

HKCdaDocumentSample

Contiene la información que se representa en XML en un documento de mantenimiento del almacén HealthKit.

HKCharacteristicType

que HKObjectType especifica un aspecto permanente del usuario.

HKCharacteristicTypeIdentifierExtensions

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKCharacteristicTypeIdentifierKey

Define el nombre de la constante para .HKCharacteristicType

HKClinicalRecord

Muestra de registros clínicos.

HKClinicalType

Tipo de muestra para un registro clínico.

HKClinicalTypeIdentifierExtensions

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKCorrelation

Correlación entre dos fragmentos de datos de salud (por ejemplo, presión arterial).

HKCorrelationQuery

que HKQuery devuelve solo los datos almacenados con correlaciones. (Nota: Las lecturas de presión arterial systolic y diastólica no están correlacionadas).

HKCorrelationType

que HKSampleType especifica una correlación entre dos tipos de datos (por ejemplo, presión arterial).

HKCorrelationTypeIdentifierExtensions

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKCorrelationTypeKey

Define las formas de HKCorrelation.

HKCumulativeQuantitySeriesSample

Una serie de datos acumulativa.

HKDeletedObject

Representa ejemplos que se han eliminado del almacén.

HKDetailedCdaErrors

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKDevice

Hardware que genera o consume datos de HealthKit.

HKDevicePropertyKey

Contiene claves cuyos valores constantes se relacionan con las propiedades de .HKDevice

HKDocumentQuery

Consulta documentos en el almacén de HealthKit.

HKDocumentSample

Documento de mantenimiento abstracto del almacén de HealthKit.

HKDocumentType

Contiene una constante que identifica el tipo de documento CDA.

HKDocumentTypeIdentifierExtensions

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKErrorCodeExtensions

Métodos de extensión para la enumeración HealthKit.HKErrorCode.

HKFhirResource

Representa un recurso de recursos rápidos de interoperabilidad sanitaria (FHIR).

HKFhirResourceTypeExtensions

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKFitzpatrickSkinTypeObject

Contiene datos de tipo de piel.

HKHealthStore

MonoTouch.HealthKit.HKHealthStore Una conexión a la base de datos de información relacionada con el estado del sistema.

HKHealthStore.Notifications

Clase que contiene controladores para las notificaciones del almacén del Kit de mantenimiento.

HKMetadata

Almacén de clave-valor para varios tipos de metadatos relacionados con el estado.

HKMetadataKey

Define las claves en el HKMetadata diccionario clave-valor.

HKObject

Clase base en HKSample, que define los datos de muestreo.

HKObjectType

Clase base para los tipos de datos que se pueden almacenar en la base de datos del Kit de mantenimiento.

HKObserverQuery

que HKQuery se ejecuta una vez inicialmente y, a continuación, se ejecuta automáticamente cuando se agregan datos pertinentes a la base de datos .

HKPredicateKeyPath

Contiene constantes que representan claves que identifican rutas de acceso de clave de predicado para seleccionar valores de HealthKit.

HKQuantity

Representa una cantidad medible de un determinado tipo de unidad, con un double valor y un HKUnit tipo.

HKQuantitySample

que HKSample tiene una magnitud (vea Quantity).

HKQuantitySeriesSampleBuilder

Compila series de muestras de cantidad.

HKQuantitySeriesSampleQuery

Consulta los datos de la serie en una muestra de cantidad.

HKQuantityType

T que representa una muestra acumulativa o discreta.

HKQuantityTypeIdentifierExtensions

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKQuantityTypeIdentifierKey

Tipos de HKQuantityType.

HKQuery

Clase base para consultar bases de datos del Kit de mantenimiento.

HKQueryAnchor

Representa el ejemplo más reciente devuelto por una consulta de objeto anclado anterior.

HKSample

Medición de la información de salud. Clase base de HKQuantitySample y HKCategorySample.

HKSampleQuery

que HKQuery recupera datos HKSampleType de la base de datos.

HKSampleType

que HKObject representa los datos que se muestrean en un momento específico o muestreados durante un período de tiempo.

HKSeriesBuilder

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKSeriesSample

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKSeriesType

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKSource

Proveedor de datos de estado, como un sensor o una aplicación determinados.

HKSourceQuery

Clase que representa una consulta para los datos de HealthKit.

HKSourceRevision

HKSourceAjusta , agregando información de versión.

HKSourceRevisionInfo

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKStatistics

Proporciona operaciones estadísticas básicas sobre la información de mantenimiento.

HKStatisticsCollection

Un grupo de estadísticas relacionadas (generalmente representa una serie temporal).

HKStatisticsCollectionQuery

que HKQuery genera una colección de estadísticas (por ejemplo, el número de pasos por día del mes anterior).

HKStatisticsQuery

que HKQuery puede calcular estadísticas básicas (como la suma y la media) en sus datos constituyentes.

HKUnit

Definiciones y métodos de utilidad para manipular medidas de masa, longitud, volumen y energía.

HKWheelchairUseObject

Contiene una enumeración que describe el uso de sillas de ruedas.

HKWorkout

Que HKSample representa un entrenamiento físico.

HKWorkoutBuilder

Crea un entrenamiento a partir de datos de entrenamiento a medida que se agrega.

HKWorkoutConfiguration

Contiene información de configuración de entrenamiento.

HKWorkoutEvent

Una pausa o reanudación de un entrenamiento.

HKWorkoutRoute

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKWorkoutRouteBuilder

Clase para agregar datos geográficos a un entrenamiento a medida que cambia la ubicación del usuario.

HKWorkoutRouteQuery

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKWorkoutType

Que HKSampleType representa un entrenamiento.

Enumeraciones

HKAuthorizationRequestStatus

Enumera los valores que indican cuándo una aplicación debe solicitar permiso de usuario para el acceso.

HKAuthorizationStatus

Enumera el permiso de la aplicación para leer o escribir datos de estado.

HKBiologicalSex

Enumera los sexos biológicos.

HKBloodGlucoseMealTime

Enumera los valores que indican si se tomó un nivel de glucosa en sangre antes o después de una comida.

HKBloodType

Enumera los tipos de sangre conocidos.

HKBodyTemperatureSensorLocation

Enumera las posiciones en las que un termómetro toma su lectura.

HKCategoryTypeIdentifier

Enumera los tipos de T:HealthKit.HKCategory; actualmente solo hay el formulario (Análisis de suspensión).

HKCategoryValue

Contiene un único valor que indica que un valor de categoría no es aplicable a la categoría.

HKCategoryValueAppleStandHour

Enumera si el usuario estaba o no durante una hora.

HKCategoryValueCervicalMucusQuality

Enumera la calidad del moco cervical del usuario.

HKCategoryValueMenstrualFlow

Enumera la cantidad de flujo menstrual.

HKCategoryValueOvulationTestResult

Enumera los resultados de una prueba de extrapolación.

HKCategoryValueSleepAnalysis

Enumera los estados del sueño: si están dormidos o simplemente descansando en la cama.

HKCharacteristicTypeIdentifier

Enumera las formas de HKCharacteristicType.

HKClinicalTypeIdentifier

Enumera los identificadores de tipo de registro clínico.

HKCorrelationTypeIdentifier

Contiene constantes que identifican los tipos de correlación de HealthKit.

HKDocumentTypeIdentifier

Enumera los tipos de documento HealthKit.

HKErrorCode

Enumera los errores comunes realizados al acceder a los datos de mantenimiento.

HKFhirResourceType

Enumera los tipos fast Healthcare Interoperability Resources (FHIR).

HKFitzpatrickSkinType

Enumera los tipos de piel mediante la escala de Fitzpatrick.

HKHeartRateMotionContext

Enumera los posibles niveles de actividad asociados a una muestra de frecuencia cardíaca.

HKHeartRateSensorLocation

Enumera las ubicaciones en las que se adjunta un monitor de frecuencia cardíaca.

HKInsulinDeliveryReason

Enumera las razones por las que se proporcionó insulina.

HKMetricPrefix

Enumera los prefijos de métrica, por ejemplo, Centi-, Deca-, Deci-. Se usa con métodos de fábrica de HKUnit.

HKQuantityAggregationStyle

Enumera si una HKQuantityType es una medida acumulativa (por ejemplo, "energía activa quemada") o un valor discreto (como "contenido de alcohol en sangre").

HKQuantityTypeIdentifier

Enumera los tipos de HKQuantityType.

HKQueryOptions

Enumera las opciones disponibles para su uso con el GetPredicateForSamples(NSDate, NSDate, HKQueryOptions) método .

HKStatisticsOptions

Enumera las opciones aplicables a HKStatisticsQuery los objetos y HKStatisticsCollectionQuery .

HKSwimmingStrokeStyle

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKUpdateFrequency

Enumera las frequences para la entrega en segundo plano de los datos (vea EnableBackgroundDelivery(HKObjectType, HKUpdateFrequency, Action<Boolean,NSError>)).

HKVO2MaxTestType

Enumera el proceso de prueba usado para establecer VO2 Max.

HKWeatherCondition

Enumera los tipos meteorológicos.

HKWheelchairUse

Enumera constantes que describen el uso de silla de ruedas.

HKWorkoutActivityType

Enumera varias actividades que se consideran entrenamientos.

HKWorkoutEventType

Enumera los eventos que pueden producirse durante un entrenamiento (Pausar, Reanudar).

HKWorkoutSessionLocationType

Enumera las ubicaciones de entrenamiento.

HKWorkoutSwimmingLocationType

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

Delegados

HKAnchoredObjectResultHandler

Controlador de finalización para HKAnchoredObjectQuery(HKSampleType, NSPredicate, nuint, nuint, HKAnchoredObjectResultHandler2).

HKAnchoredObjectResultHandler2

Controlador de finalización para consultas de objetos anclados.

HKAnchoredObjectUpdateHandler

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKCorrelationQueryResultHandler

Controlador de finalización para HKCorrelationQuery.

HKHealthStoreGetRequestStatusForAuthorizationToShareHandler

Controlador que se va a pasar a GetRequestStatusForAuthorizationToShare(NSSet<HKSampleType>, NSSet<HKObjectType>, HKHealthStoreGetRequestStatusForAuthorizationToShareHandler).

HKObserverQueryUpdateHandler

Controlador de actualización para HKObserverQuery objetos.

HKQuantitySeriesSampleBuilderFinishSeriesDelegate

Controlador de finalización para T:HealthKit.HKQuantitySeriesSampleBuilder.FinishSeries.

HKQuantitySeriesSampleQueryQuantityDelegate

Controlador que se va a pasar a HKQuantitySeriesSampleQuery(HKQuantitySample, HKQuantitySeriesSampleQueryQuantityDelegate).

HKSampleQueryResultsHandler

Controlador de resultados para HKSampleQuery.

HKSourceQueryCompletionHandler

Controlador de finalización para HKSourceQuery.

HKStatisticsCollectionEnumerator

Controlador delegado para EnumerateStatistics(NSDate, NSDate, HKStatisticsCollectionEnumerator).

HKStatisticsCollectionQueryInitialResultsHandler

Controlador de resultados para SetInitialResultsHandler(HKStatisticsCollectionQueryInitialResultsHandler) y SetStatisticsUpdateHandler(HKStatisticsCollectionQueryInitialResultsHandler).

HKStatisticsCollectionQueryStatisticsUpdateHandler

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

HKStatisticsQueryHandler

Controlador de resultados para HKStatisticsQuery.

HKStoreSampleAddedCallback

Controlador de finalización para AddSamples(HKSample[], HKWorkout, HKStoreSampleAddedCallback).

HKWorkoutBuilderCompletionHandler

Controlador de finalización para agregar metadatos con HKWorkoutRouteQuery(HKWorkoutRoute, HKWorkoutRouteBuilderDataHandler).

HKWorkoutRouteBuilderAddMetadataHandler

Controlador de finalización para agregar metadatos con HKWorkoutRouteQuery(HKWorkoutRoute, HKWorkoutRouteBuilderDataHandler).

HKWorkoutRouteBuilderDataHandler

El espacio de nombres HealthKit proporciona almacenamiento de datos seguro y recuperación de información relacionada con el estado.

Comentarios

El espacio de nombres del Kit de mantenimiento, introducido en iOS 8, permite que las aplicaciones registren, realicen un seguimiento y accedan a la información relacionada con el estado a un almacén persistente común.

Aprovisionamiento, permisos y perfiles

Para usar los servicios del Kit de mantenimiento, las aplicaciones deben desarrollarse con un "Id. de aplicación explícito" y un perfil de aprovisionamiento que incluya los permisos explícitos de id. y Kit de mantenimiento.

Además, las aplicaciones deben tener una propiedad Entitlements.plist que contenga la clave com.apple.developer.healthkit de tipo Boolean con un valor de true.

En tiempo de ejecución, la aplicación debe solicitar acceso a los tipos específicos de datos de mantenimiento en los que está interesado. El usuario interactuará con un cuadro de diálogo de permisos en la aplicación Estado que les permite controlar de forma detallada qué información de mantenimiento permitirá.

var temperatureKey = HKQuantityTypeIdentifierKey.BodyTemperature;
var tempQuantityType = HKObjectType.GetQuantityType (temperatureKey);

var hks = new HKHealthStore ();
var success = await hks.RequestAuthorizationToShareAsync (new NSSet (new [] { tempQuantityType }), new NSSet ());

El resultado del método T:HealthKit.HKHealthStore.RequestAuthorizationtoShareAsync indica solo que el usuario interactúó con el cuadro de diálogo de permisos, no indica si el usuario permitió cualquier uso compartido de datos. Para ello, las aplicaciones pueden usar el GetAuthorizationStatus método :

var access = healthKitStore.GetAuthorizationStatus (HKObjectType.GetQuantityType (HKQuantityTypeIdentifierKey.HeartRate));
if (access.HasFlag (HKAuthorizationStatus.SharingAuthorized)) {
//...etc...

Creación y almacenamiento de datos

Una vez concedidos los permisos, la creación y el almacenamiento de datos implica crear un HKSample objeto de un determinado HKSampleType y, a continuación, llamar a SaveObject o SaveObjectAsync.

Diferencias de control de excepciones entre métodos asincrónicos y no asincrónicos

La filosofía de Apple con respecto a los intentos de almacenar o leer información no permitida es que estos intentos no deben causar excepciones en tiempo de ejecución. En su lugar, los métodos como RequestAuthorizationToShare y M:HealthKit.HKStore.SaveObject* se definen con controladores de devolución de llamada de finalización que se pasan a un argumento distinto de null NSError en caso de error. Los desarrolladores de aplicaciones que usan estos métodos deben tener especial cuidado para comprobar el éxito, ya que es muy probable que los usuarios tengan precaución sobre el acceso a sus datos de salud.

En cambio, las versiones asincrónicas de Xamarin de estos métodos (como M:HealthKit.HKHealthStore.RequestAutorizationToShareAsync* y SaveObjectAsync) producirán un NSErrorException error o si el usuario final no permite el método.

//Apple's philosophy: no exception
var myCurrentTemp = HKQuantity.FromQuantity (HKUnit.DegreeFahrenheit, 98.6);
var tempSample = HKQuantitySample.FromType (tempQuantityType, myCurrentTemp, new NSDate (), new NSDate (), new NSDictionary());

hks.SaveObject(tempSample, (success, error) => {
	if(error != null)
	{
   //...etc...
//Xamarin's philosophy: Lack of permissions raises exception
protected async void StoreAsync(HKHealthStore store, HKQuantitySample sample)
{
	try
	{
		var success = await store.SaveObjectAsync (sample);

	}catch(NSErrorException x)
	{
		Console.WriteLine (x);
	}
}

Hay varios tipos de T:HealthKit.HKObjecTypes:

HKCharacteristicType los objetos representan caracteres estáticos del usuario, como la fecha de nacimiento o el tipo de sangre (ver HKCharacteristicTypeIdentifierKey), mientras que HKSampleType los objetos representan datos muestreados a lo largo del tiempo. A partir de iOS 8, solo hay un tipo de HKCategorySample, que es SleepAnalysis. La gran mayoría de los tipos de datos del Kit de mantenimiento se definen en HKQuantityTypeIdentifierKey.

La manipulación de ejemplos de datos implica un HKSampleType objeto y un HKSample para transportar los datos:

HKQuantitySamples puede hacer referencia a una medida instantánea, en cuyo caso sus propiedades P:HealthKit.HKQuantitySample.StartDate yP:HealthKit.HKQuantitySample.EndDate deben establecerse en el mismo valor. Otros ejemplos, como el recuento de pasos, se miden con el tiempo y la hora de inicio y finalización deben establecerse correctamente.

Los datos pueden tener metadatos asociados. Hay varias claves de metadatos predefinidas en HKMetadataKey, pero también se recomienda a los desarrolladores de aplicaciones crear sus propias claves para metadatos.

Unidades de medida y conversión

Health Kit admite unidades de medida en las categorías de masa, longitud, volumen y energía. Esta compatibilidad incluye la conversión de valores entre sistemas de medición (por ejemplo, si un usuario prefiere grados Fahrenheit, pero tiene un sensor que informa de sus datos en Celsius). Esto se admite automáticamente en la aplicación Health, pero también se pueden realizar conversiones explícitas, como se muestra en el ejemplo siguiente:

var myFahrenheitTemp = HKQuantity.FromQuantity (HKUnit.DegreeFahrenheit, 98.6);
var myCelsiusTemp = myFahrenheitTemp.GetDoubleValue (HKUnit.DegreeCelsius);