ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
医学研究および健康管理Appの構築、Part 3: 進捗状況の可視化
ResearchKitとCareKitを連携させて、紙のアンケート調査の煩わしさを解消する方法について解説します。Code-Alongの最後の部分に参加しましょう。ケアパイロットAppの仕上げにとりかかります。高度なCareKit APIを使用して、タスクカードの外観や動作をカスタマイズする方法、ResearchKitアンケートの回答をCareKitチャートにプロットする方法、ResearchKitを使用して魅力的な教育的なコンテンツを提示する方法を確認します。 このセッションは、3部構成のCode-Alongシリーズの最終セッションです。このセッションを最大限に活かしていただくためには、、「医学研究および健康管理Appの構築」のパート1とパート2を先に確認いただくことをお勧めします。これらのフレームワークの関連情報については、WWDC19の「ResearchKitおよびCareKitの一新」をご確認ください。
リソース
関連ビデオ
WWDC21
-
ダウンロード
♪ (医学研究および健康管理Appの構築 Part 3:進捗状況の可視化) 医学研究および健康管理Appの Code-Alongにおける 3つ目そして最終の インストールにようこそ! 一緒に先に進むと このAppに対するソースコードを セッションのリソースで 見つけることができます ログインして始めてみましょう 前のセッションではAppに いくつかのタスクを追加しました それ以降Jamieからあらゆる 通知を受け取っています 気になることがあります 確かめてみましょう Jamieがクリニックに10分 以内に到着します Jamieが Motivation Play listを共有しました すばらしいです!見て分かりますが これまで以上に興奮している Jamieが接近し 今まさに臨床医に 会おうとしています Jamieがいくつかの変更を加えて 2つの新機能を追加するように 依頼しているようです 最初の部分は セッション2で実施した 調査の改善についてです Jamieはテスターからいくつか フィードバックをもらったと 言っています 受け取ったフィードバックは テスターが事後にどのような回答を 行ったかが分かるようにしたいと いうものだったと言っています 現時点ではカードは調査が 完了したことだけを示しています 数日前にスクロールバックしても その日にどのような回答をしたかを 確認する方法がありません また 現在の日付の編集を制限 してほしいと言っているそうです 調査の回答を削除したり過去の モーションテストの区分を やり直したりするようなことは できないようにするべきです 同様に 今後に対してスクロール アウトできるようにし 今後の日付に行われる調査に に事前に回答できるようにしても 意味がありません ですからこのフィードバックに 対処し調査を少し改善することから 始めたいと思います このようなタブもあります 現時点ではまだ少しさみしいです Jamieはチャートをいくつか 表示するように求めています 睡眠と痛みの関係を キャプチャするもの 時間の経過と共に現れる 運動範囲の改善を示すものです 最後にJamieが言っています 教育的なコンテンツを用意して 参加者が半月板断裂が何であるかを 理解できるようにするよう医師が 依頼していると言っているのです その際ResearchKitが 支援になると言います 調査を改善するところから 始めたいと思います 患者の回答を表示してみましょう 先に進んでカード内の テキストとして 回答を表示します
CareKitではviewSynchronizerを イニシャライザに 受け渡すことにより タスクカードの 外観を調整します それではカスタムビュー シンクロナイザの作成方法を 見てみましょう 既存のOCKSurveyTask ViewSynchronizer のサブクラスを作成します この クラスにはオーバーライドできる 2つのクラスがあります makeViewとupdateViewです ストアのデータが変更される度に updateViewが 呼び出されます ビューにカスタマイゼーションを 適用できるのはこの部分です スーパークラスの実装を 呼び出すことにより常に開始し それに改善を加えます 完了した結果のあるイベントが あるか確認します ある場合は調査が完了していること を意味します パート2で設定したkindプロパティを 参照することにより 痛みに関する回答と 睡眠に関する回答を捉えます kindプロパティを 設定することにより 後ほどの処理が楽になることに 既に触れています これは私が示唆していた 用途の1つです 回答が手元にあるので 回答をカードの指示ラベルに 挿入するために 文字列補間を使用します これにより回答を表示できます また Jamieは過去のタスクの 編集を無効化するように 依頼しています 実行できる1つの 方法は調査のタスクカードに対して 私達を委譲者としてまず 設定してから デリゲートメソッドに入力する ことです viewController for task shouldAllowDeleting OutcomeForEvent というメソッドです ブール値を返す必要があります これは特定のイベントの成果を 削除させるかどうかを CareKitに伝えます
イベントが実行される日付を 見てみます 日付が今日よりも前に なっている場合 削除できないと言います 今日以降の日付になっている場合 削除できるように許可します このようにして 過去のデータの削除を 防止してきました Jamieが要求した 3つ目のことは 参加者が将来の日付に行われる 調査を完了することを 阻止することです これを行うために同じファイルで タスクビューコントローラを 作成した直前まで更に詳細をつめ なんらかのカレンダーの ユーティリティを利用して コンテンツを入力する日付けが 将来の日付になっているかどうかを 確認します もし将来の日付の場合 タスクカードとの通信を 無効にします 無効になっていることを 視覚的に示すために 不透明度を低減します すばらしいですね! 将来のタスクを完了できるようにも すべきではありません どのような状況なのか 確認してみましょう
最初に気づく点は 調査の回答が 調査のタスクカードで 現在表示されていることです 現在の日付で調査を削除したり やり直したりするオプションが まだあります しかし過去に遡ってスワイプすると やり直すことはできなくなります 将来の方に移動すると 今後のプレビューを表示できますが どの調査も完了することは できません 当社のAppはすばらしいものに なってきています! 対処する必要のある 最後の2つのもの それはチャートや教育向けの コンテンツで 両方ともタブにあります 2つのシリーズの棒グラフから 始めます これは痛みの度合いと睡眠時間を 並べて表示します 2つのOCKDataSeries Configuration オブジェクトを作成する 必要があります 最初のものは痛みに関する シリーズです IDはチャートでプロットする タスクのデータがどれであるかを CareKitに伝えます 凡例のタイトル 色 マーカー サイズも受け渡します これは棒の幅を特定します そしてイベントアグリゲータも 受け渡します イベントアグリゲータは 一定の日に起こる全イベントを 確認してどのYの値がその日に 使用されべきであるかを特定します チェックインタスクに対して 1日につき1つのイベントしか ないことを知っていますので 最初のイベントを使用し 痛みに関する質問に対する回答を 得ればいいだけです 以上で痛みに関するシリーズの 構成の説明は終了です 睡眠についてもこれが必要です 睡眠に関するシリーズは ほとんど同一です 全く同じチェックインタスクから データをプロットします 違いは痛みに関する回答ではなく 眠りに関する回答を 表示することです これらの両方を制御することにより チャートビューコントローラを 構築できます 棒グラフを選択して今日の日付を 設定します もちろん2つのシリーズと リファレンスをストアマネージャに 受け渡す必要もあります これはストアのコンテンツが 変更するに伴いチャートを 最新の状態に保つために 使用されます すばらしいです これが最初のチャートです もう1つ作りましょう! 今回は散布図です 運動範囲を示すものです データシリーズの構成を 作成する必要があります これは前にやったものと同じですが 今回は1つしか必要ありません 唯一の違いはチェックイン タスクではなく 運動範囲のタスクからデータを プロットするという点で 範囲に関する回答をY軸に 使用します 次にビューコントローラを 作成します 今回は散布図で 1つのデータシリーズしか ありません このようにして チャートのセットアップを 両方行いました どのようになっているか 確認してみましょう! タブに移動すると 両方のチャートが レンダリングするように なっているのが分かります 非常にすばらしいです! 戻って いくつかの結果の追加 または削除を行います ここでは火曜日の成果を 両方削除します そしてタブに戻ります チャートが自動的に更新されるのが 分かるはずです 更新されています! 火曜日のために表示される データがなくなりました すばらしいです! チャートはよくできています また Jamieは膝と半月板の 3Dモデルを説明文と共に 表示するオプションを 参加者に提供するように 依頼しています これらはJamieが 臨床パートナーから 受け取ったものです これにはResearchKitを 利用できます 少し時間をとってこのことについて 注意したいと思います ResearchKitの調査を CareKitのスケジュールと 関連付けているわけではありません このコンテンツを参加者が見るべき 特定の時間はありません したがってスケジュールの概念は 必要ありません 同様にCareKitのストアに 残る結果はありませんので CareKitのタスクを 作成したりCareKitの調査の タスクビューコントローラを 使用したりする必要はありません それでもFeature Contentビューを使えます 昨年WWDCでチームメートの Gaviが紹介したものです 自分達を委譲者として設定する 必要があります これにより参加者が機能付きの コンテンツカードを タップしたときに通知されるように なります 参加者がタップしたら kneeModeTaskを作成し ORKTaskView Controllerにラップし 参加者に提示します モデルの表示が完了したら コールバックをここで受けられます これをResearchKit ビューコントローラを終了して 参加者をタブに戻す 機会として利用できます すばらしいです! しかし この膝のタスクに対して 定義がありません Surveys.swiftで これを入力してみましょう わずか2つのステップで 最初のステップは 指示のステップになります この時点で少し馴染みのある ものになってきたことを 願っています 今日既に何回も 使用しているからです 2つ目のステップは 3Dモデルのステップです 3Dモデルのステップを 作成するときは常に modelManagerを 受け渡す必要もあります 上部で受け渡すUSDZモデル マネージャを作成します おもちゃのロボットを 表示することにより 始めます これにより全てが 機能していることを確認します 最後の部分はオーダーされた タスクを両方のステップで 組み立てて戻すことです 現時点ではAppを実行するときに 機能付きのコンテンツカードが タブに表示され それをタップすると指示の ステップが表示され その次におもちゃのロボットの モデルが表示されます 回転しズームすることにより やりとりを行えます... すばらしいです! 3Dモデルマネージャの機能や 自分独自のバージョンを実装する 方法の詳細を確認するには 昨年のParieceのWWDCの セッションを確認してください Appを完成するには おもちゃのロボットの スワップアウトを BioDigitalのモデル マネージャーに対して行います プロジェクトのRead Meに これに関するメモを残します 詳細を確認する場合に備えてです モデルマネージャのこの バージョンでは 臨床医からの教育上のテキストを 提供できます 臨床パートナーが提供した コンテンツの一部を ここで見られます 患者のリファレンスのために 半月板を強調して 怪我について詳細を理解し 回復の経過を理解できるようにも できます Appは本当によく まとまってきています! 以上で説明は終了です! ボックスを全てチェックしています!
ぎりぎりでした! Jamieが別の電話を かけてきているようです Jamie よいタイミングです! 依頼されたことの全てを 終了したところです すばらしいです 今ちょうど 見ていたところです Erik 確認してみましょう... 本当にすばらしいと思います チームの他のメンバーも 感動するでしょう これにより多くの調査の機会が 設けられるでしょう 簡単な質問があります このミーティングに移る前に チームのメンバーにどうするように 伝えるべきでしょうか? メンバーが質問を抱えている 場合にです よい質問です! ResearchKitと CareKitは両方とも オープンソースでチームは GitHubでアクティブです フレームワークについて 質問がある場合 新しい機能を要求したい場合 貢献したい場合は GitHubリポジトリで 新しいissueを 開くように伝えてください 分かりました すばらしいです この情報をチームに受け渡します ところでJamie 研究について詳細を 伝えることを検討すべき ではないでしょうか! researchchand care.orgに移動すると 研究内容により支援できる人 の詳細をAppleに伝えるために 使用できるリンクがあります フレームワークがコミュニティで 使用されている方法についても ぜひ知りたいです インベスティゲーター支援 プログラムもあります 新しい研究を提案する機関に Apple Watchを 授与しています 応募する場合は 当社のWebサイトでも詳細を 確認できます 本当ですか? すばらしいです! 利用させていただくことに なるかと思います Erik すばらしいですが別の 会議に行かなければなりません 2つ目のAppについて 壮大なアイデアが多くあります このことについて後で 意見を聞きたいと思います Apple WatchのAppは どれほど時間がかかるでしょうか? 分かりましたが後でキャッチアップ して議論しましょう 数日中にはしたいです しばらくは業務に追われることに なると思います! はい 今年はWWDCのために Code-Alongもしていると 聞いていますが? 成功を祈っています! また近いうちに話しましょう! 詳細を確認する場合は researchandcare.org で 確認できます ソースコードは GitHubにあります 今年は2つの他のセッションがあり 今ご覧になったものに つながっています 以上で説明は終了です Code-Alongへご参加 いただきありがとうございます! シブリングフレームワークである ResearchKitと CareKitを協力して使用しAppで すばやくイテレーションする方法を 確認しました 新しい機能や最新の ベストプラクティスについても 触れました いくつかのヒントやコツを 今回把握できたことを願っています ここにいるチームの全員が WWDCですばらしいひと時を 過ごせることを願っています! ♪
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。