ศูนย์ช่วยเหลือ HealthyApps
ไทย
ศูนย์ช่วยเหลือ
เว็บไซต์หลัก ↗

ค้นหาหัวข้อช่วยเหลือ

เมตริกสุขภาพ - รูปแบบการส่งออก JSON

เอกสารโครงสร้างเมตริกสุขภาพในการส่งออก JSON

อัปเดตล่าสุด: 31 ตุลาคม 2569

ในหน้านี้
รูปแบบชื่อเมตริก
โครงสร้าง โครงสร้าง ฟิลด์ร่วม
รูปแบบเมตริกพิเศษ รูปแบบเมตริกพิเศษ ความดันโลหิตอัตราหัวใจความแปรปรวนของอัตราหัวใจการวิเคราะห์การนอนน้ำตาลในเลือดโภชนาการกิจกรรมทางเพศการล้างมือการแปรงฟันการให้ยาอินซูลิน
เอกสารที่เกี่ยวข้อง

การส่งออก 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 Z
    • source (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) อาจรวมค่าทีละจังหวะที่มี ต้องมีสิทธิ์อ่าน ชุดอัตราการเต้นของหัวใจ ใน Apple Health

การส่งออกสรุป การส่งออก CSV และ Recovery HRV ไม่รวมค่าทีละจังหวะ

การวิเคราะห์การนอน

โครงสร้างข้อมูลการนอนขึ้นกับว่า สรุปข้อมูล เปิดหรือปิด

สรุปข้อมูลเปิด

เมื่อ สรุปข้อมูล เปิด ข้อมูลการนอนถูกสรุปตามวัน ระยะเวลาในระยะเดียวกันถูกรวม การนอนรวมคือ 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"

โภชนาการ

เมื่อ สรุปข้อมูล ปิด ตัวอย่างปริมาณโภชนาการแต่ละรายการ (เช่น พลังงานจากอาหารหรือคาร์โบไฮเดรต) อาจรวมรายละเอียดอาหารที่บันทึกใน 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" (อินซูลินพื้นฐาน)

เอกสารที่เกี่ยวข้อง