2016-09-09 4 views
0

Existe-t-il un moyen d'envoyer un fichier XML (CDA) à l'application de santé à partir d'une autre application? Parce que mon application obtient un fichier xml d'une source et que je veux l'envoyer directement à la nouvelle application de santé (iOS 10).SWIFT: CDA vers iOS 10 Application Santé

Répondre

0

Tout d'abord, vérifier l'autorisation

(void) checkForAuthorization { 
    if ([HKHealthStore isHealthDataAvailable]) { 
    NSSet *setRead = [NSSet setWithObjects [HKObjectTypedocumentTypeForIdentifier:HKDocumentTypeIdentifierCDA], nil]; 
    NSSet *setWrite = [NSSet setWithObjects:[HKObjectType documentTypeForIdentifier:HKDocumentTypeIdentifierCDA], nil]; 
    [_store requestAuthorizationToShareTypes:setWrite readTypes:nil completion:^(BOOL success, NSError * _Nullable error) { 
    if (error) { 
      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:error.localizedDescription delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 
      [alert show]; 
    } else if (success) { 
      [self performSelectorOnMainThread:@selector(addDocumentToHealthApp) withObject:nil waitUntilDone:NO]; 
    } 
     NSLog(@" Success = %@",success? @"YES" : @"NO"); 
    } ]; 
    } else { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Health Kit not supported in device." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 
    [alert show]; 
    } 

}

En second lieu, Ajouter un enregistrement wmthod cela ajoutera un dossier de santé à l'application de la santé.

(void) addRecordToHealthApp 
{ 

NSURL *cdaPath = [[NSBundle mainBundle] URLForResource:@"sample" withExtension:@"xml"]; 

NSString*stringPath = [cdaPath absoluteString]; 
    NSData *dataOfCDAFile = [NSData dataWithContentsOfURL:[NSURL URLWithString:stringPath]]; 

NSDate *now = [NSDate date]; 
int daysToAdd = 7; 
NSDate *newDate1 = [now dateByAddingTimeInterval:60*60*24*daysToAdd]; 

NSError *err; 
HKCDADocumentSample *doc = [HKCDADocumentSample CDADocumentSampleWithData:dataOfCDAFile startDate:[NSDate date] endDate:newDate1 metadata:nil validationError:&err ]; 

UIAlertView *alert; 
if (err) { 
    alert = [[UIAlertView alloc] initWithTitle:@"Error" message:err.localizedDescription delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 
    [alert show]; 
} 





[_store saveObject:doc withCompletion:^(BOOL success, NSError * _Nullable error) { 
    NSLog("Stored %@",[email protected]"YES":@"NO"); 
}]; 

} 
+0

Pouvez-vous le faire en langage rapide? – srbalan