-
Notifications
You must be signed in to change notification settings - Fork 111
V3DiagnosisApiで陽性情報登録をすると本来意図しない日付の診断キーを配信することになる #1105
Comments
これ 設定ファイルに分離しておいて良かったけど、つくづく時差がうらめしい。 |
確認の結果、発症日は0日目で良いとのことでした。
|
時差がうらめしいことにつき、全面的に同意します。が、代替案は見つかりません。 ■経緯 1.2.1から、陽性登録時に、発症日又は検査日が入力される。 「診断日」ではないという理解でよいでしょうか? ■2日前
無症状の場合は、検体採取日から2日前。 ■COCOAで通知を受けた者 上記積極的疫学調査実施要領では、 COCOAの通知対象を発症日から2日前にしなければならない明文の根拠は、私は発見できませんでした。どこかにあるのでしょうか。 ■1 発症日 ■2 ExposureConfiguration ■3 近接状態を自由に定義できるなら |
ありがとうございます。発症日または検査日を0日目として、 日本時間で2日前の00:00から24:00をカバーする。 というパラメーターを設定する予定です。一応、論理的にこの値というのはもうありますが、念のため設定した上で診断キーの生成までやってみます。 |
この設定で提案を進めます(決定したわけではありません)。
「発症日または診断日」を 2022-08-10(日本標準時)と置き、 それぞれ日次キーの日時情報(協定世界時)に割り当てたときのDaysSinceOnsetOfSymptomsを導きました。 |
@keiji 図示をありがとうございます。 動作として問題はないと思うのですが、時刻なしの日付入力に対して、なぜそのような振る舞いなのかは、良く判りませんでした。 図示のケースで、
のとき、陽性登録の時刻に応じて、 日本時間で8/6と8/7の場合があるのか、 それとも、 UTC で2022-08-10 09:00:00+00:00 ではなく 引用の-2が、UTCで 2022-08-06 と「常に」なるのか、 または、診断キーの照合時から-2で、照合時刻に応じて-2の対応日が日本時間で両日ありえるのか、 などです。 |
時刻なしの日付入力に対して、どの時刻を当てるか。と言う話だと思います。 やりたいこととして、診断日または検査日に「日本時間の8月10日」を入力する例では、 日本時間の8月8日の00時00分から、 の期間をカバーする日次キーを選択する。と言うことです。 この挙動を実現するために提案したのが上記の値です。 |
対象期間の話なので、特定「時刻」に注目してしまうと混乱してしまいそうですね。 前提として「診断日または検査日」における時刻はおおよそ 00:00:00(JST) 〜 24:00:00(JST) が想定されますが、 |
一方、範囲の開始時間としては本来2日前の 00:00:00(JST) 〜 10日後の 24:00:00(JST) を扱いたい様に見えます。 ここで2つの選択肢が出てきます。
ここでは 1. の選択がなされているようです。 この為、DaysSinceOnsetOfSymptoms を -2 〜 +11 の物を対象とし、診断日または検査日を 8/10 と置いた場合以下の期間が対象になります。
これは日本時間に表すと、以下の様になります。
本来指定したい期間の前9時間と後15時間(合計24時間)の情報が余分に含まれる可能性がありますが、できる限りでの最小の誤差という感じでしょうか。 |
注) 便宜上一日の終わりを 24:00:00 と表記していますが、正確にはその時刻自体は含まないものと読んで頂ければ。 |
基準となる日付として 8/10 を設定した場合、DaysSinceOnsetOfSymptoms の値が 0 の場合の期間として、
となるのが理想であるが、前述の通りJSTでの指定は出来ない。 この場合、UST における対応する期間として以下の2パターンが想定されうる。
現状では 1. を採用している様であるけれど、 2. を採用するケースと比べて重複する時間が少ないようにも思える。 DaysSinceOnsetOfSymptoms をどのように想定すればいいかはドキュメント等からは読み切れないですね。 |
DaysSinceOnsetOfSymptoms は日にちに応じて感染性を事細かに切り替えたいときに使うのですが、いまの運用だと0日目をどこに取るかより、始期と終期を日本時間に当てはめてどこにするかが大事に思います。 0日目として0-9時を取るか9-24時を取るか。少なくとも「0日目」「1日目」「-1日目」の感染性が変わらない現状ではあまり検討する意義はないと思います。仮に将来0, 1, -1で感染性が細かく変わることがあれば、そのときは現在のマップをベースに、それぞれ値を設定する流れになると考えています。 |
御意。 |
その機能リクエストは何らかの問題に関連しますか / Is your feature request related to a problem?
次バージョン(v2.1.0)で利用開始予定のV3DiagnosisApiを通じた陽性登録から診断キーの生成までの一連の流れを確認したところ、V3DiagnosisApiを通じて診断キーを生成したケースで、診断日・検査日から2日前までよりさらに古い期間(4日前から3日前)の診断キーを配信していることがわかった。
陽性情報登録は、次の内容で行った。
陽性情報登録で送信した日次キー 診断日 2022/08/08
"2022/08/09 16:48:35","Info","TemporaryExposureKey count: 12","SubmitDiagnosisKeysAsync","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Services/DiagnosisKeyRegisterServer.cs","53","Android","12","Pixel 3","Physical","APP_VERSION","5"
"2022/08/09 16:48:35","Info","TemporaryExposureKey: RollingStartIntervalNumber: 2765088(1659052800), RollingPeriod: 144, RiskLevel: Invalid","SubmitDiagnosisKeysAsync","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Services/DiagnosisKeyRegisterServer.cs","56","Android","12","Pixel 3","Physical","APP_VERSION","5"
"2022/08/09 16:48:35","Info","TemporaryExposureKey: nHBV+tSftldTB4Fc1g6AEA== RollingStartIntervalNumber: 2765232(1659139200), RollingPeriod: 144, RiskLevel: Invalid","SubmitDiagnosisKeysAsync","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Services/DiagnosisKeyRegisterServer.cs","56","Android","12","Pixel 3","Physical","APP_VERSION","5"
"2022/08/09 16:48:35","Info","TemporaryExposureKey: rIXssHIci+HYJP8thjZGcQ== RollingStartIntervalNumber: 2765376(1659225600), RollingPeriod: 144, RiskLevel: Invalid","SubmitDiagnosisKeysAsync","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Services/DiagnosisKeyRegisterServer.cs","56","Android","12","Pixel 3","Physical","APP_VERSION","5"
"2022/08/09 16:48:35","Info","TemporaryExposureKey: jxpl6EGp9MqQQRphU76Alg== RollingStartIntervalNumber: 2765520(1659312000), RollingPeriod: 144, RiskLevel: Invalid","SubmitDiagnosisKeysAsync","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Services/DiagnosisKeyRegisterServer.cs","56","Android","12","Pixel 3","Physical","APP_VERSION","5"
"2022/08/09 16:48:35","Info","TemporaryExposureKey: ryMSJayZAHr34w1dBPrCOw== RollingStartIntervalNumber: 2765664(1659398400), RollingPeriod: 144, RiskLevel: Invalid","SubmitDiagnosisKeysAsync","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Services/DiagnosisKeyRegisterServer.cs","56","Android","12","Pixel 3","Physical","APP_VERSION","5"
"2022/08/09 16:48:35","Info","TemporaryExposureKey: l8nizj5f9ypNueOG0UixZw== RollingStartIntervalNumber: 2765808(1659484800), RollingPeriod: 144, RiskLevel: Invalid","SubmitDiagnosisKeysAsync","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Services/DiagnosisKeyRegisterServer.cs","56","Android","12","Pixel 3","Physical","APP_VERSION","5"
"2022/08/09 16:48:35","Info","TemporaryExposureKey: yL5odjPCIgjYjsZBoRKp6A== RollingStartIntervalNumber: 2765952(1659571200), RollingPeriod: 144, RiskLevel: Invalid","SubmitDiagnosisKeysAsync","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Services/DiagnosisKeyRegisterServer.cs","56","Android","12","Pixel 3","Physical","APP_VERSION","5"
"2022/08/09 16:48:35","Info","TemporaryExposureKey: lzqQIOd5P+sAfs9vQhJp2w== RollingStartIntervalNumber: 2766096(1659657600), RollingPeriod: 144, RiskLevel: Invalid","SubmitDiagnosisKeysAsync","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Services/DiagnosisKeyRegisterServer.cs","56","Android","12","Pixel 3","Physical","APP_VERSION","5"
"2022/08/09 16:48:35","Info","TemporaryExposureKey: gGF4P4WOTWwcZYC8/L1qfQ== RollingStartIntervalNumber: 2766240(1659744000), RollingPeriod: 144, RiskLevel: Invalid","SubmitDiagnosisKeysAsync","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Services/DiagnosisKeyRegisterServer.cs","56","Android","12","Pixel 3","Physical","APP_VERSION","5"
"2022/08/09 16:48:35","Info","TemporaryExposureKey: hoDNk2rDynp/AnT9N/+nSQ== RollingStartIntervalNumber: 2766384(1659830400), RollingPeriod: 144, RiskLevel: Invalid","SubmitDiagnosisKeysAsync","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Services/DiagnosisKeyRegisterServer.cs","56","Android","12","Pixel 3","Physical","APP_VERSION","5"
"2022/08/09 16:48:35","Info","TemporaryExposureKey: qbNdXj8dageaL+1AnBb9mQ== RollingStartIntervalNumber: 2766528(1659916800), RollingPeriod: 144, RiskLevel: Invalid","SubmitDiagnosisKeysAsync","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Services/DiagnosisKeyRegisterServer.cs","56","Android","12","Pixel 3","Physical","APP_VERSION","5"
"2022/08/09 16:48:35","Info","TemporaryExposureKey: 4TkVuc+eiIV3PnuoBFq3sw== RollingStartIntervalNumber: 2766672(1660003200), RollingPeriod: 144, RiskLevel: Invalid","SubmitDiagnosisKeysAsync","/Users/keiji_ariyama/Projects/cocoa/Covid19Radar/Covid19Radar/Services/DiagnosisKeyRegisterServer.cs","56","Android","12","Pixel 3","Physical","APP_VERSION","5"
生成された診断キーは次の通り。
生成された診断キー
days_since_onset_of_symptoms
が -3 の診断キーが配信されているが、これの示す範囲が 2022-08-04 09:00:00+09:00 から 08-05 09:00:00+09:00 。利用者として設定した診断日または検査日は8月8日なので、8月6日が含まれる日から配信されなければおかしい。解決策についてお書きください / Describe the solution you'd like
サーバー側の環境変数設定 "InfectiousFilterDaysSinceOnsetOfSymptomsFrom" と "InfectiousFilterDaysSinceTestFrom" をそれぞれ
-2
に修正することで対応できると考える。cocoa/src/Covid19Radar.Api/local.settings.json.example
Lines 35 to 38 in 2ba6d59
あなたが考える代替案についてご説明ください / Describe alternatives you've considered
サーバー側の環境変数設定ではなく、ExposureConfigurationの
infectiousness_for_days_since_onset_of_symptoms
で-3
に対応する値を0
(感染性なし)に設定することでも対応可能。その他 / Additional context
V3DiagnosisApiは現在までのバージョンでは利用されていない。
次バージョン(COCOA v2.1.0)で利用を開始する予定。
Internal IDs:
The text was updated successfully, but these errors were encountered: