Ứng dụng sức khỏe lấy dữ liệu từ đồng hồ thông minh thế nào?
- Dữ liệu sức khỏe bắt đầu từ đâu trên đồng hồ thông minh?
- Dữ liệu từ đồng hồ truyền sang ứng dụng bằng cách nào?
- Ứng dụng sức khỏe lấy dữ liệu thông qua API và kho dữ liệu trung gian như thế nào?
- Vì sao ứng dụng sức khỏe phải xin quyền truy cập dữ liệu?
- Làm thế nào ứng dụng biết dữ liệu đến từ chiếc đồng hồ nào?
- Khi nào dữ liệu từ đồng hồ xuất hiện trong ứng dụng sức khỏe?
Cách triển khai phụ thuộc vào hệ sinh thái. Với Apple, HealthKit có thể lưu dữ liệu do ứng dụng hoặc thiết bị tạo ra; Apple cũng lưu ý rằng ngoài một số thiết bị Bluetooth LE như máy đo nhịp tim, các thiết bị khác thường cần ứng dụng đồng hành để thu thập và ghi dữ liệu vào HealthKit. Apple Developer 1 Trên Android, Health Connect đóng vai trò lớp trung gian để các ứng dụng đọc và ghi dữ liệu sức khỏe theo quyền mà người dùng cấp.
Dữ liệu sức khỏe bắt đầu từ đâu trên đồng hồ thông minh?
Nguồn đầu tiên là các cảm biến và hệ thống đo lường bên trong đồng hồ. Tùy thiết bị, đồng hồ có thể thu thập những tín hiệu như chuyển động, nhịp tim, nhiệt độ da, độ bão hòa oxy, giấc ngủ hoặc dữ liệu liên quan đến hoạt động thể chất.
Điểm quan trọng là dữ liệu từ cảm biến chưa nhất thiết là dạng dữ liệu mà ứng dụng sức khỏe có thể sử dụng trực tiếp. Đồng hồ thường phải xử lý tín hiệu thành các bản ghi có ý nghĩa hơn, chẳng hạn số bước, khoảng thời gian vận động, nhịp tim hoặc phiên tập luyện.
Trong HealthKit, dữ liệu được biểu diễn thành các đối tượng như mẫu định lượng, mẫu danh mục, dữ liệu tương quan hoặc workout. Mỗi bản ghi còn có thể gắn với thiết bị tạo dữ liệu và nguồn đã ghi dữ liệu vào kho.
Vì vậy, có thể hình dung quá trình đầu tiên như sau:
· Cảm biến tạo tín hiệu
· Đồng hồ xử lý và tạo chỉ số
· Dữ liệu được đóng gói thành bản ghi
· Bản ghi chờ đồng bộ sang lớp dữ liệu tiếp theo
Đây là lý do một ứng dụng sức khỏe thường nhận được dữ liệu đã cấu trúc, chứ không nhất thiết nhận trực tiếp tín hiệu thô từ từng cảm biến.

Dữ liệu từ đồng hồ truyền sang ứng dụng bằng cách nào?
Có hai mô hình phổ biến.
Mô hình thứ nhất là đồng hồ đồng bộ với ứng dụng đồng hành trên điện thoại. Đồng hồ và điện thoại có thể trao đổi dữ liệu qua kết nối không dây. Ứng dụng của hãng nhận dữ liệu, lưu trữ hoặc xử lý thêm rồi cung cấp dữ liệu cho các ứng dụng sức khỏe khác.
Đây là mô hình quan trọng trong nhiều hệ sinh thái. Chẳng hạn, tài liệu Apple cho biết với các thiết bị không thuộc nhóm Bluetooth LE heart-rate monitor được hỗ trợ trực tiếp, ứng dụng đồng hành là lớp thu thập và lưu dữ liệu vào HealthKit.
Mô hình thứ hai là dữ liệu đi qua dịch vụ đám mây của nhà sản xuất. Một ví dụ là Garmin: sau khi người dùng đồng ý và đồng bộ thiết bị với Garmin Connect, dữ liệu từ thiết bị được tải lên Garmin Connect; ứng dụng hoặc hệ thống bên ngoài có thể sử dụng Health API để lấy dữ liệu ở dạng JSON. Garmin nêu các nhóm dữ liệu như bước chân, nhịp tim, giấc ngủ, calories, stress và một số dữ liệu sức khỏe khác.
Do đó, không có một cơ chế truyền duy nhất cho mọi đồng hồ. Ứng dụng sức khỏe phải tương thích với đường dữ liệu mà hệ sinh thái của thiết bị cung cấp.
Ứng dụng sức khỏe lấy dữ liệu thông qua API và kho dữ liệu trung gian như thế nào?
Đây là lớp quan trọng nhất nếu nhìn từ góc độ phát triển ứng dụng.
Thay vì mỗi ứng dụng phải tự kết nối với từng mẫu đồng hồ, hệ điều hành hoặc nhà sản xuất có thể cung cấp một lớp dữ liệu chung. Ứng dụng sức khỏe chỉ cần xin quyền và đọc những loại dữ liệu mà nền tảng hỗ trợ.
Trên Android, Health Connect cho phép các ứng dụng gửi dữ liệu vào một kho dữ liệu trên thiết bị, sau đó các ứng dụng khác có thể đọc dữ liệu này theo quyền được cấp. Google mô tả rõ mô hình này: ứng dụng gửi dữ liệu vào Health Connect, Health Connect lưu dữ liệu trên thiết bị và cung cấp dữ liệu cho các ứng dụng được phép truy cập.
Trên Apple, ứng dụng sử dụng HealthKit để đọc và ghi các loại dữ liệu sức khỏe mà người dùng đã cấp quyền. Bản ghi còn có thông tin nguồn và thiết bị, giúp ứng dụng xác định dữ liệu được tạo từ đâu.
Một luồng điển hình có thể được hiểu như sau:
Đồng hồ → ứng dụng đồng hành → HealthKit/Health Connect → ứng dụng sức khỏe
Hoặc với một hệ thống cung cấp API riêng:
Đồng hồ → dịch vụ của nhà sản xuất → API → máy chủ hoặc ứng dụng của bên thứ ba
Garmin là ví dụ cho mô hình API riêng, trong đó dữ liệu sau khi được đồng bộ vào Garmin Connect có thể được cung cấp qua Health API dưới dạng JSON.
Vì sao ứng dụng sức khỏe phải xin quyền truy cập dữ liệu?
Dữ liệu từ đồng hồ có thể chứa thông tin sức khỏe nhạy cảm nên hệ thống không mặc định cho mọi ứng dụng đọc toàn bộ dữ liệu.
Trên Health Connect, người dùng có thể quản lý ứng dụng nào được quyền đọc hoặc ghi dữ liệu và kiểm soát từng nhóm dữ liệu được chia sẻ. Google cũng cho phép kiểm tra những ứng dụng gần đây đã đọc hoặc ghi dữ liệu.
Cơ chế này tạo ra một chuỗi kiểm soát:
Dữ liệu tồn tại → ứng dụng xin quyền → người dùng chấp thuận → nền tảng cấp quyền → API trả về dữ liệu được phép đọc
Vì vậy, việc một ứng dụng “hỗ trợ đồng hồ thông minh” không đồng nghĩa với việc ứng dụng đó tự động nhìn thấy toàn bộ dữ liệu của đồng hồ.
Quyền còn có thể phụ thuộc vào loại dữ liệu. Ví dụ, một ứng dụng có thể được phép đọc bước chân nhưng không được phép đọc một nhóm dữ liệu sức khỏe khác. Health Connect cung cấp danh sách quyền đọc và ghi theo từng ứng dụng và từng loại dữ liệu.
Làm thế nào ứng dụng biết dữ liệu đến từ chiếc đồng hồ nào?
Một bản ghi sức khỏe không chỉ chứa giá trị đo. Hệ thống còn có thể lưu thông tin về nguồn dữ liệu và thiết bị tạo ra dữ liệu.
Trong HealthKit, một object có thể chứa device, source hoặc sourceRevision, qua đó xác định thiết bị hoặc ứng dụng đã tạo và lưu mẫu dữ liệu.
Health Connect cũng có metadata về nguồn dữ liệu và thiết bị. Android cung cấp thông tin DataOrigin và metadata thiết bị để xác định nguồn tạo bản ghi.
Điều này đặc biệt quan trọng khi một người dùng có nhiều nguồn dữ liệu. Chẳng hạn, số bước có thể đồng thời được ghi bởi điện thoại và đồng hồ. Health Connect có cơ chế quản lý nguồn và mức độ ưu tiên; khi nhiều ứng dụng cùng ghi một loại dữ liệu, hệ thống có thể hợp nhất dữ liệu và áp dụng thứ tự ưu tiên cho việc tính tổng.
Nhờ metadata nguồn, ứng dụng có thể phân biệt dữ liệu là gì với dữ liệu đến từ đâu.
Khi nào dữ liệu từ đồng hồ xuất hiện trong ứng dụng sức khỏe?
Dữ liệu không nhất thiết xuất hiện ngay sau mỗi lần cảm biến đo.
Quá trình có thể gồm:
Đo → xử lý → lưu tạm → đồng bộ → ghi vào kho sức khỏe → ứng dụng đọc → cập nhật giao diện
Độ trễ phụ thuộc vào thiết bị, kiểu kết nối, ứng dụng đồng hành và chính sách đồng bộ của nhà sản xuất.
Ở mô hình API đám mây, dữ liệu còn có thêm bước tải lên máy chủ trước khi ứng dụng bên ngoài có thể lấy về. Garmin mô tả rõ việc dữ liệu phải được đồng bộ với Garmin Connect trước khi có thể truy cập qua Health API.
Ở mô hình kho dữ liệu trên thiết bị như Health Connect, dữ liệu được các ứng dụng ghi vào kho cục bộ rồi ứng dụng khác đọc lại khi có quyền phù hợp.
Vì vậy, khi người dùng thấy ứng dụng sức khỏe chưa cập nhật dữ liệu, nguyên nhân có thể nằm ở bất kỳ mắt xích nào: đồng hồ chưa đồng bộ, ứng dụng trung gian chưa ghi dữ liệu, quyền truy cập chưa được cấp hoặc ứng dụng đích chưa đọc bản ghi mới.
Tóm lại, ứng dụng sức khỏe lấy dữ liệu từ đồng hồ thông minh chủ yếu thông qua một chuỗi trung gian thay vì truy cập trực tiếp mọi cảm biến. Đồng hồ thu thập và xử lý tín hiệu, dữ liệu sau đó được đồng bộ qua ứng dụng đồng hành hoặc dịch vụ của nhà sản xuất, ghi vào nền tảng sức khỏe như HealthKit hoặc Health Connect, rồi ứng dụng đích đọc dữ liệu thông qua API và quyền truy cập tương ứng. Apple, Google và Garmin đều thể hiện các biến thể của mô hình này trong hệ sinh thái của mình.
Trên thực tế, muốn xây dựng một ứng dụng đọc dữ liệu từ đồng hồ, yếu tố quyết định không chỉ là loại đồng hồ mà còn là nền tảng dữ liệu, API được hỗ trợ, loại dữ liệu được cung cấp và quyền mà người dùng cho phép.
