ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHÂN MỀM BÁO CÁO ĐỒ ÁN ỨNG DỤNG THEO DÕI ĐƯỜNG HUYẾT VÀ KẾT NỐI BỆNH NHÂN ĐÁI THÁO ĐƯỜNG VỚI BÁC SĨ Giảng viên hướng dẫn: Ths Trần Anh Dũng Sinh viên thực hiện: Nguyễn Thế Đan – 19521312 Tp.Hồ Chí Minh, tháng 12 năm 2022 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc lập – Tự – Hạnh phúc CÔNG NGHỆ THÔNG TIN Tp.HCM, ngày 10 tháng 10 năm2022 ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI : Ứng dụng theo dõi đường huyết và kết nối bệnh nhân đái tháo đường với bác sĩ Cán bộ hướng dẫn : ThS Trần Anh Dũng Thời gian thực hiện : Từ ngày 12/9/2022 đến ngày 28/12/2022 Sinh viên thực hiện : Nguyễn Thế Đan – 19521312 Nội dung đề tài Lý chọn đề tài : Ngày nay, đời sống người đã được cải thiện thì sức khỏe là vấn đề được đặt lên hàng đầu Trong thời buổi xã hội phải chống chọi với covid, thì việc luôn ở nhà một thời gian dài đã gây nhiều tác động xấu tới thể suy nhược, béo phì, stress Sức khỏe không được đảm bảo gây nên hàng loạt những bệnh nguy hiểm tới thể Những biểu hiện béo phì, stress, ăn uống không khoa học chính là những nguyên nhân chính gây nên bệnh đái tháo đường hay còn gọi là tiểu đường Nhận thấy hiện nay, rất nhiều người bị tiếu đường, bao gồm cả những người thân gia đình, nên em quyết định phát triển một ứng dụng có chức giúp người dùng kiểm soát, theo dõi để điều chỉnh lại mức đường huyết của mình hằng ngày, kết nối với các bác sĩ chuyên khoa để nhận được lời khuyên kịp thời và chính xác để phòng tránh nguy hiểm sau này Ứng dụng sẽ tập trung cung cấp những chức liên quan đến sức khỏe nói chung và bệnh đái tháo đường nói riêng Ngoài việc theo dõi lượng đường huyết và kết nối với bác sĩ chuyên khoa, ứng dụng sẽ giúp người dùng điều chỉnh khẩu phần ăn mỗi ngày để có một thể chống lại được bệnh đái tháo đường Mục tiêu : 2.1 Xây dựng thuật toán tính toán lượng đường huyết ổn định : - Người dùng dùng các thiết bị chuyên dụng để đo lượng đường huyết và nhập lượng đường huyết vào ứng dụng - Ứng dụng sử dụng thuật toán để tính toán lượng đường huyết hiện tại và những lần đo trước, có đáp ứng được sức khỏe của người dùng hay không - Ứng dụng đưa lời khuyên, khích lệ người dùng trì lượng đường huyết ổn định, và cảnh báo người dùng có lượng đường huyết không ổn định 2.2 Xây dựng hệ thống chatroom cho người bệnh đái tháo đường và bác sĩ chuyên khoa : - Các bác sĩ được cấp các tài khoản sẽ được hiển thị ở mục kết nối với bác sĩ của các người dùng - Người dùng có thể lựa chọn để có cuộc trò chuyện với bác sĩ nào 2.3 Xây dựng hệ thớng kê th́c : - Có database chứa danh sách loại thuốc thông dụng cho triệu chứng bệnh đái tháo đường - Giúp bác sĩ dễ dàng kê th́c cho bệnh nhân của bệnh nhân sẽ dễ dàng quản lý các đơn thuốc của Phạm vi : Phạm vi mơi trường : Ứng dụng di động Phạm vi chức : - Đối với hệ thống tính toán lượng đường huyết ổn định : + Có khả nhập dữ liệu đường huyết chính xác đến phần thập phân + Có khả lưu trữ dữ liệu những lần nhập vào lượng đường huyết trước + Đưa lời khuyên chính xác về lượng đường huyết hiện tại + Nhắc nhở người sử dụng lịch đo đường huyết tuần - Đối với hệ thống chatroom riêng và chatroom cộng đồng : + Trong chatroom, người dùng và bác sĩ đều có thể gửi tin nhắn cho + Có thể lưu trữ tin nhắn - Đối với hệ thống gợi ý khẩu phần ăn : + Cung cấp chỉ số BMI chính xác dựa thông tin được nhập vào + Cung cấp những bữa ăn đủ dinh dưỡng và hợp lý để trì lượng đường huyết ổn định Đối tượng sử dụng : - Tất cả mọi người có mong muốn phòng tránh bệnh đái tháo đường nói chung, cũng các bệnh nhân đái tháo đường nói riêng - Các bác sĩ có chuyên môn về bệnh đái tháo đường có mong muốn được tư vấn, hỗ trợ cho cộng đồng Phương pháp thực hiện : Phương pháp làm việc : - Làm việc một thành viên dưới sự hướng dẫn của giảng viên Phương pháp nghiên cứu : - Phân tích nhu cầu sử dụng của đối tượng người dùng - Nghiên cứu các tài liệu y học liên quan Phương pháp công nghệ : - Tìm hiểu và xây dựng chatroom dựa React-Native-GiftedChat - Xây dựng UI bằng Figma - Quản lý source code qua Github Nền tảng công nghệ : - Frontend : React Native - Backend : NodeJS - Database : Firebase - API : Heroku - Tools : Visual Studio Code, Expo, Figma - Library : React-Navigation, Redux,… Kết quả mong đợi : - Ứng dụng không có lỗi, đáp ứng được tất cả mục tiêu đề ban đầu - Giao diện đẹp mắt, thân thiện với người dùng - Appflow mượt mà, ít delay Hướng phát triển đề tài : - Tính quản lý chế độ tập luyện cùng các bài tập bổ trợ sức khỏe - Chuyển đổi ngôn ngữ - Chuyển đổi chủ đề (theme) - Nâng cấp thêm sự đa dạng món ăn hệ thống quản lý khẩu phần ăn Kế hoạch làm việc: Thời gian thực hiện từ 17/9/2022 tới ngày kết thúc môn Đồ Án Ứng dụng được thực hiện sprint : Sprint Sprint1 Thời gian 17/9/2022 – 2/10/2022 Cơng việc dự kiến Tái định hình lại cấu trúc của ứng dụng chức của ứng dụng Sprint2 2/10/2022 – 16/10/2022 Chuyển từ lưu dữ liệu AsyncStorage qua Reducer sử dụng thư viện Redux Sprint3 16/10/2022 – 30/10/2022 Thay đổi cấu trúc source code , chuyển từ sử dụng data ở mỗi component qua sử dụng data global để cải thiện performance Sprint4 30/10/2022 – 13/11/2022 Cải thiện UI của hình dánh sách Bác sĩ, thêm biểu đồ để thể hiện lượng đường huyết một cách trực quan Sprint5 13/11/2022 – 27/11/2022 Thêm chức danh sách thuốc, và kê đơn thuốc, quản lý đơn thuốc Sprint6 27/11/2022 - Kết thúc môn Testing học Tối ưu hóa UI Viết báo cáo Tp.HCM, ngày 22 tháng 12 năm 2022 LỜI CẢM ƠN Đầu tiên, em xin phép gửi lời cảm ơn đến tập thể quý thầy cô của Trường Đại học Công nghệ Thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh cũng quý thầy cô thuộc Khoa Công nghệ Phần mềm đã giúp em có những kiến thức nền tảng vững chắc để có thể thực hiện đề tài Đặc biệt, em xin gửi lời cảm ơn chân thành đến thầy Trần Anh Dũng, người đã tạo điều kiện hướng dẫn em việc thực hiện đề tài này, một đề tài rất hay và thiết thực cuộc sống hiện Nhờ những kiến thức và kinh nghiệm từ các giảng viên mà em đã có thể tận dụng để thực hiện đề tài Tuy nhiên, quá trình thực hiện đề tài cũng sẽ không thể tránh khỏi những hạn chế, thiếu sót Em mong rằng sẽ nhận được những nhận xét, góp ý từ thầy cũng giảng viên khác, để em có thể ngày một tốt để có thể đóng góp được nhiều nữa Em sẽ rất biết ơn vì điều đó Một lần nữa, em xin trân trọng cảm ơn! Thành phố Hồ Chí Minh, ngày 28 tháng 12 năm 2022 Nguyển Thế Đan Contents LỜI CẢM ƠN Chương TỔNG QUAN 10 1.1 Tên đề tài 10 1.2 Lí chọn đề tài 10 1.3 Mục tiêu: 10 1.3.1 Xây dựng thuật toán tính toán lượng đường huyết ổn định 10 1.3.2 Xây dựng hệ thống chatroom cho người bệnh kết nối tới bác sĩ 11 1.3.3 Xây dựng hệ thống quản lý đơn kê thuốc 11 1.4 Phạm vi 11 1.5 Đối tượng sử dụng 11 1.6 Phương pháp thực hiện 12 1.7 Nền tảng công nghệ 12 Chương CƠ SỞ LÝ THUYẾT 12 2.1 React Native 13 2.2 Cloud Firestore 14 2.3 Redux Toolkit 16 2.4 Áp dụng công nghệ vào đồ án 17 2.4.1 React Native 17 2.4.2 Redux Toolkit 17 2.4.3 Cloud Firestore 17 2.4.4 Cloud Storage 18 Chương MÔ HÌNH USE CASES 18 3.1 Sơ đồ Use Cases 18 3.2 Danh sách actor 18 3.3 Danh sách các use cases 19 3.3 Đặc tả các use cases 19 3.3.1 Đặc tả use-case “Đăng nhập” 19 3.3.2 Đặc tả use-case “Đăng xuất” 20 3.3.3 Đặc tả use-case “Đăng ký” 21 3.3.4 Đặc tả use-case “Quản lý thông tin tài khoản” 22 3.3.5 Đặc tả use-case “Theo dõi đường huyết” 23 3.3.6 Đặc tả use-case “Tính toán BMI” 24 3.3.7 Đặc tả use-case “Quản lý đơn thuốc” 25 3.3.8 Đặc tả use-case “Chatroom” 26 Chương PHÂN TÍCH 30 4.1 Sơ đồ lớp (Class diagram) 30 4.2 Danh sách các lớp đối tượng và quan hệ 30 4.3 Mô tả chi tiết từng lớp đối tượng 31 4.3.1 Lớp “User” 31 4.3.2 Lớp “Health Reports” 31 4.3.3 Lớp “Food” 32 4.3.4 Lớp “Meal Recommend” 33 4.3.5 Lớp “Chatroom” 33 Chương THIẾT KẾ DỮ LIỆU 34 5.1 Sơ đồ Logic 34 5.2 Mô tả chi tiết kiểu kiệu sơ đồ logic 34 5.2.1 Bảng “Users” 34 5.2.2 Bảng “Report” 35 5.2.3 Bảng “Food” 36 5.2.4 Bảng “Meal Recommend” 36 5.2.5 Bảng “Chat” 36 Chương THIẾT KẾ GIAO DIỆN ỨNG DỤNG 37 6.1 Danh sách các màn hình 37 6.2 Mơ tả chi tiết hình 39 6.2.1 Màn hình chờ 39 6.2.2 Màn hình Onboarding 39 6.2.3 Màn hình đăng nhập 41 6.2.4 Màn hình đăng kí 42 6.2.5 Màn hình xác thực OTP 44 6.2.6 Màn hình chính 46 6.2.7 Màn hình bữa ăn 49 6.2.8 Màn hình kết nối bác sĩ 51 6.2.9 Màn hình chatroom với bác sĩ 53 6.2.10 Màn hình Health Reports 54 6.2.11 Màn hình Profile 55 6.2.12 Màn hình sửa Profile 57 6.2.13 Màn hình đổi mật khẩu : 59 Chương KẾT LUẬN 66 7.1 Môi trường phát triển và môi trường triển khai 66 7.1.1 Môi trường phát triển 66 7.1.2 Môi trường triển khai 66 7.2 Ưu điểm 66 7.3 Nhược điểm 66 7.4 Hướng phát triển tương lai 67 TÀI LIỆU THAM KHẢO 67 Chương TỔNG QUAN 1.1 Tên đề tài ỨNG DỤNG THEO DÕI ĐƯỜNG HUYẾT VÀ KẾT NỐI BỆNH NHÂN ĐÁI THÁO ĐƯỜNG VỚI BÁC SĨ 1.2 Lí chọn đề tài Ngày nay, đời sống người đã được cải thiện thì sức khỏe là vấn đề được đặt lên hàng đầu Trong thời buổi xã hội phải chống chọi với covid, thì việc luôn ở nhà một thời gian dài đã gây nhiều tác động xấu tới thể suy nhược, béo phì, stress Sức khỏe không được đảm bảo gây nên hàng loạt những bệnh nguy hiểm tới thể Những biểu hiện béo phì, stress, ăn uống không khoa học chính là những nguyên nhân chính gây nên bệnh đái tháo đường hay còn gọi là tiểu đường Nhận thấy hiện nay, rất nhiều người bị tiếu đường, bao gồm cả những người thân gia đình, nên em quyết định phát triển một ứng dụng có chức giúp người dùng kiểm soát, theo dõi để điều chỉnh lại mức đường huyết của mình hằng ngày, kết nối với các bác sĩ chuyên khoa để nhận được lời khuyên kịp thời và chính xác để phòng tránh nguy hiểm sau này Ứng dụng sẽ tập trung cung cấp những chức liên quan đến sức khỏe nói chung và bệnh đái tháo đường nói riêng Ngoài việc theo dõi lượng đường huyết và kết nối với bác sĩ chuyên khoa, ứng dụng sẽ giúp người dùng điều chỉnh khẩu phần ăn mỗi ngày để có một thể chống lại được bệnh đái tháo đường 1.3 Mục tiêu: 1.3.1 Xây dựng thuật toán tính toán lượng đường huyết ổn định Người dùng dùng các thiết bị chuyên dụng để đo lượng đường huyết và nhập lượng đường huyết vào ứng dụng Ứng dụng sử dụng thuật toán để tính toán lượng đường huyết hiện tại và những lần đo trước, có đáp ứng được sức khỏe của người dùng hay không STT Tên xử lí Ý nghĩa Điều kiện gọi Hiển thị các Lấy các tin nhắn Màn hình tin nhắn cũ giữa tài khoản chatroom được này đã trước đó load Ghi đã được lưu vào database Gửi tin nhắn Gửi tin nhắn Người dùng nhấn người dùng nhập vào chỗ nhập tin vào nhắn và nhập vào từ bàn phím sau đó nhấn SEND Lưu tin Lưu tin nhắn giữa Các tin nhắn mới nhắn mới bác sĩ và người được gửi lên vào dùng và database Database Bảng 6.9 Bảng mô tả thao tác hình chatroom với bác sĩ 6.2.10 Màn hình Health Reports Hình 6.10 Màn hình Health Reports STT Tên xử lí Ý nghĩa Điều kiện gọi Hiển thị các Lấy toàn bộ báo Màn hình Health reports cáo sức khỏe Reports được load Ghi được lưu theo ngày databsae xuống của người dùng Bang 6.10 Bảng mô tả thao tác hình Health Reports 6.2.11 Màn hình Profile Hình 6.11 Màn hình Profile STT Tên xử lí Ý nghĩa Điều kiện gọi Hiển thị Hiển thị avatar, Màn hình Profile người dùng tên và vai trò của được load người dùng Chuyển Chuyển hướng tới Người dùng nhấn hướng tới màn hình chỉnh vào nút EDIT Edit Profile sửa thông tin tài PROFILE khoản Ghi Chuyển Chuyển hướng tới Người dùng nhấn hướng tới màn hình điều vào nút PRIVACY Privacy khoản người dùng POLICY Chuyển Chuyển hướng tới Người dùng nhấn hướng tới màn hình Health vào nút HEALTH màn hình Reports REPORTS Chuyển Chuyển hướng tới Người dùng nhấn hướng tới màn hình đổi mật vào nút CHANGE màn hình khẩu PASSWORD Policy Health Reports Change Password Đăng xuất Người dùng nhấn người dùng vào nút Log Out Bảng 6.11 Bảng mô tả thao tác hình Profile 6.2.12 Màn hình sửa Profile Hình 6.12 Màn hình sửa Profile STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi Hiển thị Lấy thông tin Màn hình sửa thông tin người dùng từ Profile được load người dùng database và hiển thị vào các trường tương ứng Cập nhật Người dùng sửa Người dùng nhấn profile thông tin theo ý vào trường muốn muốn sửa và nhập vào từ bàn phím, hoặc chọn ảnh mới từ thiết bị Lưu profile Lưu thông tin Người dùng nhấn mới mới lên database vào nút Save Bảng 6.12 Bảng mô tả thao tác hình sửa Profile 6.2.13 Màn hình đởi mật khẩu : Hình 6.13 Màn hình đổi mật khẩu STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi Đổi mật Đổi mật khẩu mới Các trường được Mật khẩu cũ khẩu cho tài khoản cung cấp thông tin phải khớp với và người dùng mật khẩu của nhấn vào nút tài khoản , mật CHANGE khẩu mới phải PASSWORD khác mật khẩu cũ, và confirm password phải khớp mới password Bảng 6.12 Bảng mơ tả thao tác hình sửa Profile 6.2.14 Màn hình danh sách th́c Hình 6.14 Màn hình danh sách thuốc STT Tên xử lí Ý nghĩa Điều kiện gọi Xem danh Xem danh sách Vào hình Pill sách th́c các loại th́c có Ghi database Xem mô tả Xem mô tả loại Người dùng nhấn th́c th́c vào mợt th́c bất kì danh sách thuốc Bảng 6.13 Bảng mô tả thao tác hình danh sách thuốc 6.2.15 Màn hình danh sách đơn th́c Hình 6.15 Màn hình danh sách đơn thuốc STT Tên xử lí Ý nghĩa Điều kiện gọi Xem danh Xem danh sách Vào hình Pill sách đơn các đơn th́c đã , chuyển qua mục thuốc được kê cho Pill history Ghi người dùng Xem mô tả Xem mô tả đơn Người dùng nhấn đơn thuốc thuốc vào một đơn thuốc bất kì danh sách thuốc Bảng 6.14 Bảng mơ tả thao tác hình danh sách đơn thuốc 6.2.16 Màn hình tạo mới đơn th́c Hình 6.15 Màn hình tạo đơn thuốc STT Tên xử lí Ý nghĩa Tạo đơn Tạo đơn th́c th́c mới mới cho bệnh cho bệnh nhân Điều kiện gọi Ghi nhân Bảng 6.15 Bảng mô tả thao tác hình tạo đơn thuốc Chương KẾT LUẬN 7.1 Môi trường phát triển và môi trường triển khai 7.1.1 Môi trường phát triển ● ● ● ● Hệ điều hành: Microsoft Windows, macOS Hệ quản trị CSDL: Cloud Firestore Firebase Công cụ xây dựng ứng dụng: Visual Studio Code Các thư viện sử dụng: Redux, React Native, Expo, Nodejs, ExpressJS, 7.1.2 Môi trường triển khai ● Hệ điều hành: Android, iOS ● Cài đặt Android Studio để chạy máy ảo Android, XCode để chạy máy ảo iOS 7.2 Ưu điểm Xây dựng được ứng dụng giúp cho các bệnh nhân đái thái đường nói riêng và những người quan tâm về bệnh đái tháo đường nói chung kiểm soát, theo dõi được diễn biến đường huyết của mình Ứng dụng có các chức bản giúp đáp ứng các nhu cầu của bệnh nhân đái tháo đường : theo dõi đường huyết, theo dõi chỉ số BMI, kết nối với các bác sĩ chuyên khoa, gợi ý khẩu phần ăn, Bên cạnh đó là đầy đủ chức bản của một ứng dụng di động cần có Authentication và Quản lý thông tin Giao diện đẹp, thân thiện với người dùng, dễ sử dụng Code tối ưu hóa, gọn gàng dễ chỉnh sửa và nâng cấp 7.3 Nhược điểm Ứng dụng chưa thực sự đáp ứng được mọi yêu cầu người dùng Chức gợi ý món ăn chưa được tối ưu 7.4 Hướng phát triển tương lai Thêm nhiều chức mà em ôm ấp và có dự định hoàn thành kịp tháng như: • Theme Dark and Light • Call video, call thoại với bác sĩ • Tutorial cho người mới đăng nhập lần đầu TÀI LIỆU THAM KHẢO [1] Giảng viên Nguyễn Tấn Toàn(2022), Bài giảng Lập trình thiết bị di động, Khoa Côngnghệ Phần mềm – Trường Đại học Công nghệ Thông tin [2] Giới thiệu về React Native: Learn the Basics · React Native [3] Ưu nhược điểm React Native: https://itviec.com/blog/react-native-la-gi/ [4] Giới thiệu về Cloud Firestore: Cloud Firestore | Firebase Documentation (google.com) [5] Cách sử dụng Redux Toolkit: https://techmaster.vn/posts/36409/huong-dan-sudung-react-router-va-redux-toolkit [6] The Complete React Native Course 2021: from Zero to Hero Programming with Mash: https://www.youtube.com/watch?v=ANdSdIlgsEw [7] Hướng dẫn Cloud Firestore Firebase – Google: https://www.youtube.com/watch?v=BjtxPj6jRM8 ... tháng 10 năm2022 ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI : Ứng dụng theo dõi đường huyết và kết nối bệnh nhân đái tháo đường với bác sĩ Cán bộ hướng dẫn : ThS Trần Anh Dũng Thời... 67 Chương TỔNG QUAN 1.1 Tên đề tài ỨNG DỤNG THEO DÕI ĐƯỜNG HUYẾT VÀ KẾT NỐI BỆNH NHÂN ĐÁI THÁO ĐƯỜNG VỚI BÁC SĨ 1.2 Lí chọn đề tài Ngày nay, đời sống người... của ứng dụng Màn hình kết nối với bác sĩ Màn hình hiện danh sách bác sĩ 10 Màn hình chatroom Màn hình chứa các tin nhắn giữa người dùng và bác sĩ với bác sĩ 11