Εξουσιοδότηση δεδομένων υγείας στην ανάπτυξη εφαρμογών για κινητά: ουσία, λειτουργία και πρόσβαση στο HealthKit

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-05-22 Χρόνος ανάγνωσης: 8 λεπ

Η εξουσιοδότηση δεδομένων υγείας είναι η διαδικασία λήψης ρητής συγκατάθεσης του χρήστη για ανάγνωση και εγγραφή ιατρικών δεδομένων και δεδομένων φυσικής κατάστασης μέσω των συστημικών API των κινητών πλατφορμών. Στο iOS, η εξουσιοδότηση υλοποιείται μέσω του HealthKit με τις κλάσεις HKHealthStore και HKObjectType, ενώ στο Android μέσω του Google Fit API με OAuth 2.0 και FitnessOptions. Σύμφωνα με το Apple HealthKit Documentation, 2025, τα δεδομένα υγείας ταξινομούνται ως κατηγορία ιδιαίτερα εμπιστευτικών δεδομένων. Ιατρική ακρίβεια και συμμόρφωση με τους κανονισμούς είναι βασικές απαιτήσεις κατά την εργασία με τέτοια δεδομένα.

Κύρια σημεία

  • Health Data Authorization — υποχρεωτική διαδικασία λήψης συγκατάθεσης για πρόσβαση στα ιατρικά δεδομένα του χρήστη.
  • HealthKit — framework της Apple για εργασία με δεδομένα υγείας, συμπεριλαμβανομένων των HKHealthStore και HKObjectType.
  • Google Fit API — πλατφόρμα Android για πρόσβαση σε δεδομένα φυσικής κατάστασης μέσω OAuth 2.0 και FitnessOptions.
  • HKHealthStore — κεντρική κλάση iOS για αίτηση εξουσιοδότησης και εκτέλεση λειτουργιών με δεδομένα υγείας.
  • Συγκατάθεση χρήστη — υποχρεωτικό βήμα κατά το οποίο ο χρήστης επιλέγει συγκεκριμένους τύπους δεδομένων για παροχή πρόσβασης.

Τι είναι η εξουσιοδότηση δεδομένων υγείας;

Η εξουσιοδότηση δεδομένων υγείας είναι ένας μηχανισμός που απαιτεί ρητή και τεκμηριωμένη συγκατάθεση του χρήστη πριν από την πρόσβαση στους ιατρικούς δείκτες και δείκτες φυσικής κατάστασης. Σε αντίθεση με τις τυπικές άδειες (επαφές, ημερολόγιο), τα δεδομένα υγείας ρυθμίζονται από πρόσθετους νομικούς κανόνες: HIPAA στις ΗΠΑ, GDPR στην Ευρώπη και 152-FZ στη Ρωσία.

Στο iOS, η εξουσιοδότηση υγείας υλοποιείται μέσω του HealthKit: ο χρήστης βλέπει μια οθόνη με λίστα όλων των τύπων δεδομένων που ζητά η εφαρμογή και μπορεί να επιλέξει συγκεκριμένες κατηγορίες για παροχή πρόσβασης. Στο Android, χρησιμοποιείται το Google Fit API με εξουσιοδότηση μέσω OAuth 2.0, όπου για κάθε τύπο δεδομένων ζητείται ξεχωριστό πεδίο εφαρμογής.

Σύμφωνα με τα δεδομένα της App Annie (2025), οι εφαρμογές υγείας και φυσικής κατάστασης είναι ένα από τα ταχύτερα αναπτυσσόμενα τμήματα της αγοράς κινητής τηλεφωνίας με ετήσια ανάπτυξη 28%. Ταυτόχρονα, το 71% των χρηστών αρνείται την πρόσβαση σε δεδομένα υγείας εάν η εφαρμογή δεν παρέχει σαφή εξήγηση του σκοπού συλλογής.

Βασική διαφορά της εξουσιοδότησης υγείας από άλλες άδειες — η δυνατότητα παροχής μερικής πρόσβασης. Ο χρήστης μπορεί να επιτρέψει την ανάγνωση βημάτων, αλλά να απαγορεύσει την πρόσβαση σε δεδομένα καρδιακών παλμών ή ιατρικά αρχεία.

Πώς λειτουργεί το HealthKit στο iOS

Το HealthKit είναι ένα framework της Apple που παρουσιάστηκε στο iOS 8 και παρέχει ένα ενιαίο κεντρικό αποθετήριο δεδομένων υγείας. Οι εφαρμογές δεν έχουν άμεση πρόσβαση στο HealthKit — ζητούν εξουσιοδότηση μέσω του HKHealthStore και ο χρήστης αποφασίζει ποιους τύπους δεδομένων θα παρέχει. Όλα τα δεδομένα κρυπτογραφούνται στη συσκευή και συγχρονίζονται μέσω iCloud με κρυπτογράφηση από άκρο σε άκρο.

Αίτηση πρόσβασης στο HealthKit

Η διαδικασία εξουσιοδότησης ξεκινά με τη δημιουργία μιας παρουσίας HKHealthStore και την κλήση της μεθόδου requestAuthorization(toShare:read:). Η εφαρμογή στέλνει δύο σύνολα τύπων: για ανάγνωση (HKObjectType που θέλει να διαβάσει η εφαρμογή) και για εγγραφή (HKSampleType που θέλει να αποθηκεύσει η εφαρμογή). Το σύστημα εμφανίζει μια οθόνη συγκατάθεσης όπου ο χρήστης ενεργοποιεί ή απενεργοποιεί κάθε τύπο ξεχωριστά.

Σημαντικό χαρακτηριστικό: Το HealthKit δεν δείχνει στον προγραμματιστή ποιους ακριβώς τύπους επέτρεψε ο χρήστης στην οθόνη συγκατάθεσης. Μετά την κλήση του requestAuthorization, πρέπει να ελέγχεται ξεχωριστά η πρόσβαση σε κάθε τύπο μέσω HKHealthStore.authorizationStatus(for:). Σύμφωνα με το WWDC Session 11108 (2024), η Apple συνιστά τον έλεγχο της κατάστασης εξουσιοδότησης πριν από κάθε λειτουργία ανάγνωσης ή εγγραφής.

Τύποι δεδομένων HKObjectType

Το HealthKit υποστηρίζει εκατοντάδες τύπους δεδομένων χωρισμένους σε κατηγορίες: ποσοτικούς (βήματα, παλμοί, θερμίδες), χαρακτηριστικά (ύψος, βάρος, ημερομηνία γέννησης), κλινικά αρχεία (αλλεργίες, εμβολιασμοί, αποτελέσματα εξετάσεων), συμπτώματα και εμμηνορροϊκό κύκλο. Κάθε τύπος αντιπροσωπεύεται από μια υποκλάση του HKObjectType: HKQuantityType για αριθμητικούς δείκτες και HKCategoryType για κατηγορικά δεδομένα.

Από το iOS 18, η Apple επέκτεινε το HealthKit με υποστήριξη δεδομένων από ιατρικά ιδρύματα μέσω FHIR (Fast Healthcare Interoperability Resources). Οι εφαρμογές μπορούν να ζητήσουν πρόσβαση σε δομημένα ιατρικά αρχεία εάν ο χρήστης έχει συνδέσει το νοσοκομείο ή την κλινική του με την εφαρμογή Υγείας.

Πώς λειτουργεί το Google Fit API στο Android

Το Google Fit είναι μια πλατφόρμα για εργασία με δεδομένα φυσικής κατάστασης στο Android που χρησιμοποιεί εξουσιοδότηση μέσω OAuth 2.0. Σε αντίθεση με το HealthKit, το Google Fit δεν είναι ενσωματωμένο στο λειτουργικό σύστημα σε επίπεδο συστήματος — είναι μια ξεχωριστή υπηρεσία Google Play Services που απαιτεί σύνδεση μέσω του Google Play Console και δημιουργία διαπιστευτηρίων OAuth 2.0.

Google Fit και OAuth 2.0

Για πρόσβαση στο Google Fit, η εφαρμογή πρέπει να καταχωρήσει ένα αναγνωριστικό πελάτη OAuth 2.0 στο Google Cloud Console. Η εξουσιοδότηση ζητείται μέσω GoogleSignInAccount και GoogleSignIn.requestPermissions(). Ο χρήστης βλέπει την τυπική οθόνη συγκατάθεσης Google με απαρίθμηση των ζητούμενων πεδίων εφαρμογής: fitness.activity.read, fitness.body.read, fitness.nutrition.write και άλλα.

Το Google Fit διαχωρίζει τις άδειες για ανάγνωση και εγγραφή για κάθε τύπο δεδομένων. Η εφαρμογή μπορεί να ζητήσει πρόσβαση για ανάγνωση του αριθμού βημάτων χωρίς να ζητήσει δικαιώματα εγγραφής. Από το Google Fit API v2, όλα τα αιτήματα εξουσιοδότησης πρέπει να περιλαμβάνουν περιγραφή του σκοπού χρήσης δεδομένων — χωρίς αυτό, το αίτημα απορρίπτεται από τη μετριοπάθεια Google.

FitnessOptions και Πεδία Εφαρμογής

Η κλάση FitnessOptions επιτρέπει τον δηλωτικό προσδιορισμό των τύπων δεδομένων στους οποίους απαιτείται πρόσβαση. Για κάθε τύπο μπορεί να οριστεί επίπεδο πρόσβασης: ACCESS_READ, ACCESS_WRITE ή και τα δύο. Το σύνολο αδειών μεταβιβάζεται στο GoogleSignin.requestPermissions() μαζί με τον λογαριασμό χρήστη.

Η λίστα διαθέσιμων τύπων περιλαμβάνει: βήματα (DataType.TYPE_STEP_COUNT_DELTA), θερμίδες (TYPE_CALORIES_EXPENDED), παλμούς (TYPE_HEART_RATE_BPM), απόσταση (TYPE_DISTANCE_DELTA), δραστηριότητα (TYPE_ACTIVITY_SEGMENT) και ύπνο (TYPE_SLEEP_SEGMENT). Κάθε τύπος έχει τη δική του συχνότητα ενημέρωσης και απαιτήσεις αδειών.

Παραδείγματα κώδικα για πρόσβαση σε δεδομένα υγείας

Η υλοποίηση του αιτήματος εξουσιοδότησης δεδομένων υγείας διαφέρει σημαντικά σε iOS και Android. Παρακάτω δίνονται λειτουργικά παραδείγματα για HealthKit και Google Fit API.

HealthKit σε Swift

Στο Swift, το αίτημα εξουσιοδότησης HealthKit εκτελείται μέσω HKHealthStore με καθορισμό τύπων για ανάγνωση και εγγραφή. Το παράδειγμα δείχνει αίτημα πρόσβασης σε δεδομένα βημάτων και παλμών.

swift
import HealthKit

let healthStore = HKHealthStore()

let readTypes: Set<HKObjectType> = [
    HKObjectType.quantityType(forIdentifier: .stepCount)!,
    HKObjectType.quantityType(forIdentifier: .heartRate)!
]

let writeTypes: Set<HKSampleType> = [
    HKObjectType.quantityType(forIdentifier: .stepCount)!
]

guard HKHealthStore.isHealthDataAvailable() else {
    fatalError("Το HealthKit δεν είναι διαθέσιμο σε αυτήν τη συσκευή")
}

healthStore.requestAuthorization(toShare: writeTypes, read: readTypes) { success, error in
    if success {
        // Ελέγχουμε την κατάσταση κάθε τύπου ξεχωριστά
        let status = healthStore.authorizationStatus(for: readTypes.first!)
        print("Εξουσιοδότηση HealthKit: \(status.rawValue)")
    } else {
        print("Σφάλμα εξουσιοδότησης HealthKit: \(error?.localizedDescription ?? "άγνωστο")")
    }
}

Google Fit σε Kotlin

Στο Android, η εξουσιοδότηση Google Fit εκτελείται μέσω GoogleSignIn και FitnessOptions. Το παράδειγμα δείχνει αίτημα πρόσβασης σε δεδομένα βημάτων και θερμίδων.

kotlin
val fitnessOptions = FitnessOptions.builder()
    .addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
    .addDataType(DataType.TYPE_CALORIES_EXPENDED, FitnessOptions.ACCESS_READ)
    .build()

val account = GoogleSignIn.getAccountForExtension(this, fitnessOptions)

if (!GoogleSignIn.hasPermissions(account, fitnessOptions)) {
    GoogleSignIn.requestPermissions(
        this,
        REQUEST_GOOGLE_FIT,
        account,
        fitnessOptions
    )
} else {
    // Οι άδειες έχουν ήδη χορηγηθεί — διαβάζουμε δεδομένα
    readGoogleFitData(account)
}

// Επεξεργασία αποτελέσματος αιτήματος αδειών
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == REQUEST_GOOGLE_FIT && resultCode == RESULT_OK) {
        val account = GoogleSignIn.getSignedInAccountFromIntent(data)
        account?.let { readGoogleFitData(it) }
    }
}

Ασφάλεια και συμμόρφωση με κανονισμούς

Τα δεδομένα υγείας ανήκουν σε μια ιδιαίτερα ευαίσθητη κατηγορία προσωπικών δεδομένων. Οι προγραμματιστές εφαρμογών που εργάζονται με HealthKit ή Google Fit υποχρεούνται να συμμορφώνονται με τις κανονιστικές απαιτήσεις που ισχύουν στην περιοχή των χρηστών.

HIPAA και GDPR για δεδομένα υγείας

Στις ΗΠΑ, τα δεδομένα υγείας ρυθμίζονται από το HIPAA (Health Insurance Portability and Accountability Act), το οποίο θέτει αυστηρές απαιτήσεις για αποθήκευση, μεταφορά και επεξεργασία ιατρικών πληροφοριών. Οι εφαρμογές που εργάζονται με HealthKit μπορούν να συμμορφώνονται με το HIPAA εάν τα δεδομένα αποστέλλονται στον διακομιστή σε κρυπτογραφημένη μορφή και η πρόσβαση σε αυτά είναι περιορισμένη.

Στην Ευρωπαϊκή Ένωση, τα δεδομένα υγείας θεωρούνται ειδική κατηγορία προσωπικών δεδομένων σύμφωνα με το GDPR (άρθρο 9). Η επεξεργασία τέτοιων δεδομένων απαιτεί ρητή συγκατάθεση του χρήστη και, στις περισσότερες περιπτώσεις, διεξαγωγή εκτίμησης αντικτύπου για την προστασία δεδομένων. Η παραβίαση των απαιτήσεων GDPR μπορεί να επιφέρει πρόστιμα έως 20 εκατομμύρια ευρώ ή 4% του ετήσιου κύκλου εργασιών της εταιρείας.

Στη Ρωσία, η συλλογή δεδομένων υγείας ρυθμίζεται από το 152-FZ “Για τα προσωπικά δεδομένα”. Από το 2025, όλες οι εφαρμογές που επεξεργάζονται ιατρικά δεδομένα πολιτών της Ρωσικής Ομοσπονδίας υποχρεούνται να χρησιμοποιούν πιστοποιημένα μέσα κρυπτογράφησης και να αποθηκεύουν δεδομένα σε διακομιστές που βρίσκονται στο έδαφος της Ρωσικής Ομοσπονδίας, σύμφωνα με τις απαιτήσεις της Roskomnadzor.

Σύσταση: πριν από τη δημοσίευση μιας εφαρμογής που εργάζεται με δεδομένα υγείας, συμβουλευτείτε το νομικό τμήμα για έλεγχο συμμόρφωσης με τοπικούς κανονισμούς. Η Apple και η Google διατηρούν το δικαίωμα να απορρίψουν την εφαρμογή εάν η πολιτική απορρήτου της δεν πληροί τις απαιτήσεις.

Συχνές Ερωτήσεις

Ποια είναι η διαφορά μεταξύ HealthKit και Google Fit;

HealthKit — ενσωματωμένο framework iOS με τοπικό κρυπτογραφημένο αποθετήριο δεδομένων υγείας. Google Fit — υπηρεσία cloud βασισμένη στο Google Play Services που χρησιμοποιεί OAuth 2.0 για εξουσιοδότηση. Το HealthKit λειτουργεί εκτός σύνδεσης, το Google Fit απαιτεί σύνδεση στο διαδίκτυο για συγχρονισμό.

Μπορεί ο χρήστης να παρέχει μερική πρόσβαση σε δεδομένα υγείας;

Ναι, και στις δύο πλατφόρμες. Στο iOS, ο χρήστης επιλέγει συγκεκριμένους τύπους δεδομένων (βήματα, παλμούς, ύπνο) στην οθόνη συγκατάθεσης HealthKit. Στο Android, ο χρήστης βλέπει τη λίστα πεδίων εφαρμογής Google Fit και μπορεί να ανακαλέσει μεμονωμένες άδειες μέσω των ρυθμίσεων λογαριασμού Google.

Τι είναι το HKHealthStore και σε τι χρησιμεύει;

HKHealthStore — η κεντρική κλάση του framework HealthKit στο iOS. Διαχειρίζεται την εξουσιοδότηση, ανάγνωση και εγγραφή όλων των δεδομένων υγείας. Η εφαρμογή δεν μπορεί να έχει άμεση πρόσβαση στο αποθετήριο HealthKit — όλες οι λειτουργίες γίνονται μέσω HKHealthStore, γεγονός που εγγυάται μια ενοποιημένη διεπαφή πρόσβασης και τήρηση των δικαιωμάτων πρόσβασης του χρήστη.

Πώς ανακαλείται η πρόσβαση Google Fit για μια εφαρμογή;

Ο χρήστης μπορεί να ανακαλέσει την πρόσβαση μέσω Ρυθμίσεων Google — Διαχείριση λογαριασμού — Ασφάλεια — Εφαρμογές τρίτων με πρόσβαση. Επιλέξτε την εφαρμογή και κάντε κλικ στο “Κατάργηση πρόσβασης”. Επίσης, μπορείτε να ανακαλέσετε την πρόσβαση μέσω του Google Play Console: Συνδεδεμένες υπηρεσίες — Google Fit — Διαχείριση εφαρμογών.

Είναι υποχρεωτική η συμμόρφωση με HIPAA για εφαρμογές με HealthKit;

Εάν η εφαρμογή επεξεργάζεται δεδομένα υγείας χρηστών στις ΗΠΑ και τα αποστέλλει σε διακομιστή, η συμμόρφωση με HIPAA είναι υποχρεωτική. Εάν όλα τα δεδομένα παραμένουν τοπικά στη συσκευή και δεν μεταδίδονται σε τρίτους, η εφαρμογή ενδέχεται να μην απαιτεί συμμόρφωση με HIPAA, αλλά η Apple συνιστά την τήρηση βέλτιστων πρακτικών ασφαλείας ανεξάρτητα από τη δικαιοδοσία.

Περίληψη

  • Health Data Authorization — υποχρεωτική διαδικασία λήψης ρητής συγκατάθεσης του χρήστη για πρόσβαση σε ιατρικά δεδομένα.
  • HealthKit — framework της Apple για εργασία με δεδομένα υγείας μέσω HKHealthStore στο iOS.
  • Google Fit API — πλατφόρμα Android για πρόσβαση σε δεδομένα φυσικής κατάστασης μέσω OAuth 2.0 και FitnessOptions.
  • Τύποι δεδομένων — το HealthKit υποστηρίζει ποσοτικά, κατηγορικά και κλινικά δεδομένα· το Google Fit — βήματα, θερμίδες, παλμούς, δραστηριότητα και ύπνο.
  • Μερική πρόσβαση — ο χρήστης μπορεί να παρέχει πρόσβαση σε ορισμένους τύπους δεδομένων ενώ αρνείται άλλους, και στις δύο πλατφόρμες.
  • HIPAA και GDPR — υποχρεωτικές κανονιστικές απαιτήσεις κατά την επεξεργασία δεδομένων υγείας στην επικράτεια των ΗΠΑ και της Ευρωπαϊκής Ένωσης.
  • Ρωσική ρύθμιση — το 152-FZ απαιτεί πιστοποιημένη κρυπτογράφηση και αποθήκευση δεδομένων σε διακομιστές στη Ρωσική Ομοσπονδία κατά την εργασία με ιατρικά δεδομένα πολιτών της Ρωσίας.

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης