Μετρήσεις υγείας - Μορφή εξαγωγής JSON
Τεκμηρίωση για τη δομή μετρήσεων υγείας σε εξαγωγές JSON
Τελευταία ενημέρωση: 31 Οκτωβρίου 2026
Σε αυτή τη σελίδα
Οι εξαγωγές JSON αποθηκεύουν τις μετρήσεις υγείας στον πίνακα metrics.
Μορφή ονόματος μέτρησης
Όλα τα ονόματα μετρήσεων στις εξαγωγές JSON χρησιμοποιούν μορφή snake_case (πεζά γράμματα με κάτω παύλες). Για παράδειγμα:
- Το "Step Count" γίνεται
"step_count" - Το "Blood Pressure" γίνεται
"blood_pressure" - Το "Heart Rate" γίνεται
"heart_rate" - Το "Walking + Running Distance" γίνεται
"walking_running_distance"
Δομή
Ο πίνακας metrics περιέχει αντικείμενα, καθένα από τα οποία αντιπροσωπεύει έναν συγκεκριμένο τύπο μέτρησης υγείας. Οι περισσότερες μετρήσεις υγείας ακολουθούν κοινή δομή:
{
"name": "step_count",
"units": "count",
"data": [
{
"qty": 8500,
"date": "2024-02-06 14:30:00 -0800",
"source": "Apple Watch"
}
]
}
Κοινά πεδία
name(String): Το όνομα της μέτρησης υγείας σε μορφή snake_case (π.χ. "step_count", "heart_rate", "active_energy")units(String): Η μονάδα μέτρησης (π.χ. "count", "count/min", "kcal")data(Array): Πίνακας σημείων δεδομένων, καθένα από τα οποία περιέχει:qty(Number): Η τιμή ποσότηταςdate(Date): Χρονική σήμανση σε μορφήyyyy-MM-dd HH:mm:ss Zsource(String, όταν είναι διαθέσιμο): Η εφαρμογή ή η συσκευή που κατέγραψε το δείγμα
Ειδικές μορφές μετρήσεων
Ορισμένες μετρήσεις υγείας έχουν μοναδικές δομές που διαφέρουν από την κοινή μορφή:
Αρτηριακή πίεση
Οι μετρήσεις αρτηριακής πίεσης περιλαμβάνουν συστολική και διαστολική τιμή:
{
"name": "blood_pressure",
"units": "mmHg",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"start": "2024-02-06 14:30:00 -0800",
"end": "2024-02-06 14:30:00 -0800",
"systolic": 120,
"diastolic": 80,
"source": "Health"
}
]
}
Πεδία:
systolic(Number): Η συστολική (ανώτερη) μέτρηση αρτηριακής πίεσης. Οι συνοψισμένες εξαγωγές χρησιμοποιούν τον μέσο όρο των μετρήσεων στη χρονική ομάδα.diastolic(Number): Η διαστολική (κατώτερη) μέτρηση αρτηριακής πίεσης. Οι συνοψισμένες εξαγωγές χρησιμοποιούν τον μέσο όρο των μετρήσεων στη χρονική ομάδα.
Καρδιακός ρυθμός
Τα δεδομένα καρδιακού ρυθμού περιλαμβάνουν ελάχιστη, μέση και μέγιστη τιμή:
{
"name": "heart_rate",
"units": "count/min",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"Min": 65,
"Avg": 72,
"Max": 85,
"source": "Apple Watch"
}
]
}
Πεδία:
Min(Number): Ελάχιστος καρδιακός ρυθμός κατά την περίοδο μέτρησηςAvg(Number): Μέσος καρδιακός ρυθμός κατά την περίοδο μέτρησηςMax(Number): Μέγιστος καρδιακός ρυθμός κατά την περίοδο μέτρησης
Μεταβλητότητα καρδιακού ρυθμού
Με το Σύνοψη δεδομένων απενεργοποιημένο, οι εξαγωγές JSON της Μεταβλητότητας καρδιακού ρυθμού (SDNN) μπορεί να περιλαμβάνουν διαθέσιμες αναγνώσεις beat-to-beat. Απαιτούν πρόσβαση ανάγνωσης Σειράς καρδιακών παλμών (Heartbeat Series) στο Apple Health.
Οι συνοψισμένες εξαγωγές, οι εξαγωγές CSV και το Recovery HRV δεν περιλαμβάνουν αναγνώσεις beat-to-beat.
Ανάλυση ύπνου
Η δομή δεδομένων ύπνου εξαρτάται από το αν το Σύνοψη δεδομένων είναι ενεργό ή ανενεργό.
Σύνοψη δεδομένων ενεργή
Με το Σύνοψη δεδομένων ενεργό, τα δεδομένα ύπνου συνοψίζονται ανά ημέρα. Οι διάρκειες στο ίδιο στάδιο αθροίζονται. Ο συνολικός ύπνος είναι το άθροισμα των asleep, core, deep και REM. Το JSON διατηρεί κάθε ημέρα. Στο CSV, μια πιο χονδρική χρονική ομάδα εμφανίζει την πιο πρόσφατη ημέρα σε αυτήν την ομάδα:
{
"name": "sleep_analysis",
"units": "hr",
"data": [
{
"date": "2024-02-06 00:00:00 -0800",
"totalSleep": 7.5,
"asleep": 0.5,
"core": 3.5,
"deep": 1.5,
"rem": 2.0,
"sleepStart": "2024-02-05 23:00:00 -0800",
"sleepEnd": "2024-02-06 06:30:00 -0800",
"inBed": 8.0,
"inBedStart": "2024-02-05 22:45:00 -0800",
"inBedEnd": "2024-02-06 06:45:00 -0800",
"awake": 0.0,
"source": "Apple Watch"
}
]
}
Πεδία:
totalSleep(Number): Συνολικός χρόνος ύπνου σε ώρεςasleep(Number): Χρόνος ύπνου χωρίς καταγεγραμμένο στάδιο ύπνου, σε ώρεςcore(Number): Διάρκεια βασικού ύπνου (core) σε ώρεςdeep(Number): Διάρκεια βαθύ ύπνου σε ώρεςrem(Number): Διάρκεια ύπνου REM σε ώρεςawake(Number): Χρόνος αφύπνισης σε ώρεςsleepStart(Date): Πότε ξεκίνησε πραγματικά ο ύπνοςsleepEnd(Date): Πότε τελείωσε πραγματικά ο ύπνοςinBed(Number): Συνολικός χρόνος στο κρεβάτι σε ώρεςinBedStart(Date): Πότε μπήκατε στο κρεβάτιinBedEnd(Date): Πότε βγήκατε από το κρεβάτι
Σύνοψη δεδομένων ανενεργή
Με το Σύνοψη δεδομένων ανενεργό, περιλαμβάνονται μεμονωμένα τμήματα ύπνου:
{
"name": "sleep_analysis",
"units": "hr",
"data": [
{
"date": "2024-02-05 23:00:00 -0800",
"start": "2024-02-05 23:00:00 -0800",
"end": "2024-02-05 23:30:00 -0800",
"startDate": "2024-02-05 23:00:00 -0800",
"endDate": "2024-02-05 23:30:00 -0800",
"qty": 0.5,
"value": "Core",
"source": "Apple Watch"
}
]
}
Πεδία:
date,start,startDate(Date): Ώρα έναρξης του τμήματος ύπνουend,endDate(Date): Ώρα λήξης του τμήματος ύπνουsource(String): Η εφαρμογή ή η συσκευή που κατέγραψε το τμήμαqty(Number): Διάρκεια του τμήματος σε ώρεςvalue(String): Κατάσταση ύπνου — μία από τις:"Awake""Asleep"(μη κατηγοριοποιημένη φάση ύπνου)"In Bed""Core""REM""Deep""Unspecified"
Σημείωση: Το "Asleep" αναφέρεται σε μη κατηγοριοποιημένη φάση ύπνου (και όχι στον συνολικό χρόνο ύπνου). Αυτό μπορεί να συμβεί αν η πηγή δεδομένων δεν υποστηρίζει παρακολούθηση φάσεων ύπνου.
Σάκχαρο αίματος
Οι μετρήσεις σακχάρου αίματος περιλαμβάνουν πληροφορίες χρονισμού γεύματος:
{
"name": "blood_glucose",
"units": "mg/dL",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"start": "2024-02-06 08:00:00 -0800",
"end": "2024-02-06 08:00:00 -0800",
"qty": 95,
"mealTime": "Before Meal",
"source": "Health"
}
]
}
Πεδία:
qty(Number): Επίπεδο σακχάρου αίματοςmealTime(String): Μία από τις:"Before Meal""After Meal""Unspecified"
Διατροφή
Όταν το Σύνοψη δεδομένων είναι ανενεργό, μεμονωμένα δείγματα ποσότητας διατροφής (για παράδειγμα Dietary Energy ή Carbohydrates) μπορεί να περιλαμβάνουν λεπτομέρειες τροφίμων που έχουν καταγραφεί στο Apple Health. Για παράδειγμα:
{
"name": "dietary_energy",
"units": "kcal",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"start": "2024-02-06 08:00:00 -0800",
"end": "2024-02-06 08:00:00 -0800",
"qty": 240,
"source": "Lose It!",
"foodType": "Boneless, Skinless Grilled Chicken Breast"
}
]
}
Πεδία:
qty(Number): Ποσότητα θρεπτικού συστατικού για το δείγμαfoodType(String, προαιρετικό): Όνομα τροφίμου που κατέγραψε η εφαρμογή πηγής, όταν είναι διαθέσιμο
Με το Σύνοψη δεδομένων ενεργό, τα σύνολα διατροφής δεν περιλαμβάνουν foodType.
Σεξουαλική δραστηριότητα
Οι εγγραφές σεξουαλικής δραστηριότητας καταγράφουν τη χρήση προστασίας:
{
"name": "sexual_activity",
"units": "count",
"data": [
{
"date": "2024-02-06 00:00:00 -0800",
"Unspecified": 0,
"Protection Used": 1,
"Protection Not Used": 0,
"source": "Health"
}
]
}
Πεδία:
Unspecified(Number): Πλήθος συμβάντων εκείνη την ημέρα όταν η κατάσταση προστασίας είναι άγνωστηProtection Used(Number): Πλήθος συμβάντων εκείνη την ημέρα όταν χρησιμοποιήθηκε προστασίαProtection Not Used(Number): Πλήθος συμβάντων εκείνη την ημέρα όταν δεν χρησιμοποιήθηκε προστασία
Οι συνοψισμένες εξαγωγές μετράνε κάθε ημερολογιακή ημέρα. Το JSON διατηρεί κάθε ημέρα. Στο CSV, μια πιο χονδρική χρονική ομάδα εμφανίζει την πιο πρόσφατη ημέρα σε αυτήν την ομάδα.
Πλύσιμο χεριών
Τα συμβάντα πλυσίματος χεριών καταγράφουν την κατάσταση ολοκλήρωσης:
{
"name": "handwashing",
"units": "s",
"data": [
{
"date": "2024-02-06 12:00:00 -0800",
"start": "2024-02-06 12:00:00 -0800",
"end": "2024-02-06 12:00:25 -0800",
"qty": 25,
"value": "Completed",
"source": "Apple Watch"
}
]
}
Πεδία:
qty(Number): Διάρκεια σε δευτερόλεπτα. Οι συνοψισμένες εξαγωγές χρησιμοποιούν τη μέση διάρκεια στη χρονική ομάδα.value(String):"Completed"όταν η συνεδρία διαρκεί πάνω από 20 δευτερόλεπτα, διαφορετικά"Incomplete"
Βούρτσισμα δοντιών
Τα συμβάντα βουρτσίσματος δοντιών καταγράφουν την κατάσταση ολοκλήρωσης:
{
"name": "toothbrushing",
"units": "s",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"start": "2024-02-06 08:00:00 -0800",
"end": "2024-02-06 08:02:10 -0800",
"qty": 130,
"value": "Completed",
"source": "Health"
}
]
}
Πεδία:
qty(Number): Διάρκεια σε δευτερόλεπτα. Οι συνοψισμένες εξαγωγές χρησιμοποιούν τη μέση διάρκεια στη χρονική ομάδα.value(String):"Completed"όταν η συνεδρία διαρκεί τουλάχιστον 2 λεπτά, διαφορετικά"Incomplete"
Χορήγηση ινσουλίνης
Οι εγγραφές χορήγησης ινσουλίνης περιλαμβάνουν τον λόγο χορήγησης:
{
"name": "insulin_delivery",
"units": "IU",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"start": "2024-02-06 08:00:00 -0800",
"end": "2024-02-06 08:00:00 -0800",
"qty": 5,
"reason": "Bolus",
"source": "Health"
}
]
}
Πεδία:
qty(Number): Ποσότητα χορηγηθείσας ινσουλίνης. Οι συνοψισμένες εξαγωγές αθροίζουν τις ποσότητες στη χρονική ομάδα.reason(String): Μία από τις:"Bolus"(ινσουλίνη γεύματος)"Basal"(βασική ινσουλίνη)