Upgrade to Pro — share decks privately, control downloads, hide ads and more …

新型コロナウイルス感染者情報管理 by Redmine

新型コロナウイルス感染者情報管理 by Redmine

redmine.tokyo 第20回勉強会にて発表した資料です(一部修正しています)

https://redmine.tokyo/issues/1230

6e7bcdf4ac18b2b5d3918353fc59f9b7?s=128

Ysaku

May 22, 2021
Tweet

Transcript

  1. 新型コロナウイルス感染者情報管理 by Redmine redmine.tokyo 第20回勉強会 Ysaku, 2021/5/22

  2. 自己紹介 • 居住地: 山梨県 • 業種: 製造業・生産技術 • Redmine 使用歴:

    約2年 • 様々な業務上での課題の進捗管理に活用
  3. 目次 • サイトの作成経緯 • サイトの紹介 • 概要 • 動作環境 •

    プラグイン • パッチ • 更新の仕組み • 山梨県 • 長野県 • 課題 • 展望
  4. サイトの作成経緯 山梨県/新型コロナウイルス感染症に関する発生状況等 https://www.pref.yamanashi.jp/koucho/coronavirus/info_coronavirus_prevention.html 問題点 • 関連情報の追跡が困難 • 特定の情報の抽出が困難 抜粋 Redmine

    の項目に当てはめれば 見やすくなるのでは…? リ ン ク の 無 い 数 万 行 の 文 字 列 … ただの文字列
  5. サイトの紹介 https://cov19jp.info Theme: • PurpleMine2 Plugins: • redmine_cfreport 0.0.4※ •

    redmine_custom_auto_complete 0.0.1 • redmine_issue_title_changer 0.0.1※ • redmine_message_customize 0.1.0 • redmine_tags 4.0.0※ • view_customize 2.7.0 Patch: • QA #1192: Redmineの活動画面に、チケット の変更を全て表示する。 - Unofficial Redmine Cooking - redmine.tokyo ※独自カスタマイズ
  6. サイトの紹介 都道府県一覧 (プロジェクト一覧) 感染者一覧 (チケット一覧) 感染者情報 (チケット) カレンダー表示

  7. 動作環境 • サーバー: • Conoha VPS(最小構成: 682円/月(1.1円/時)) • メモリ: 512MB

    • CPU: 1Core • OS: • CentOS 8 • Redmine: • RedMica version 1.2.0.devel.f2cb1f1 (based on Redmine 4.1.1.devel.20401) • DB: • PostgreSQL 10.14
  8. プラグイン • Redmine message customize plugin • View Customize plugin

    • Redmine Tags • Redmine Custom Auto- Complete plugin • Redmine CFReport plugin • Redmine Issue Title Changer plugin
  9. プラグイン 一部抜粋 225行のYAMLで管理 • Redmine message customize plugin • View

    Customize plugin • Redmine Tags • Redmine Custom Auto- Complete plugin • Redmine CFReport plugin • Redmine Issue Title Changer plugin source: https://github.com/ishikawa999/redmine_message_customize
  10. プラグイン • Redmine message customize plugin • View Customize plugin

    • Redmine Tags • Redmine Custom Auto- Complete plugin • Redmine CFReport plugin • Redmine Issue Title Changer plugin 様々なJavaScript/CSSを適用中 source: https://github.com/onozaty/redmine-view-customize
  11. プラグイン • Redmine message customize plugin • View Customize plugin

    • Redmine Tags • Redmine Custom Auto- Complete plugin • Redmine CFReport plugin • Redmine Issue Title Changer plugin 感染者一覧表示画面 ID列非表示 モバイル環境で 表示を切り替え IDを題名に置き換え https://cov19jp.info/projects/nagano/issues source: https://github.com/onozaty/redmine-view-customize タイトル(〇〇例目) をIDのデザインに変更
  12. プラグイン • Redmine message customize plugin • View Customize plugin

    • Redmine Tags • Redmine Custom Auto- Complete plugin • Redmine CFReport plugin • Redmine Issue Title Changer plugin 詳細表示画面 履歴非表示 https://cov19jp.info/issues/5340 source: https://github.com/onozaty/redmine-view-customize
  13. プラグイン • Redmine message customize plugin • View Customize plugin

    • Redmine Tags • Redmine Custom Auto- Complete plugin • Redmine CFReport plugin • Redmine Issue Title Changer plugin 詳細表示画面(一覧表示画面、カレンダーでも対応) https://cov19jp.info/issues/5849 source: https://github.com/onozaty/redmine-view-customize
  14. プラグイン • Redmine message customize plugin • View Customize plugin

    • Redmine Tags • Redmine Custom Auto- Complete plugin • Redmine CFReport plugin • Redmine Issue Title Changer plugin 症状等をタグで分類 サマリー表示 (独自カスタマイズ) https://cov19jp.info/projects/nagano/issues source: https://github.com/sk-ys/redmine_tags/tree/test
  15. プラグイン or フィルター (標準) and フィルター (独自カスタマイズ) ※JavaScript 必須 •

    Redmine message customize plugin • View Customize plugin • Redmine Tags • Redmine Custom Auto- Complete plugin • Redmine CFReport plugin • Redmine Issue Title Changer plugin https://cov19jp.info/projects/nagano/issues source: https://github.com/sk-ys/redmine_tags/tree/test
  16. プラグイン • Redmine message customize plugin • View Customize plugin

    • Redmine Tags • Redmine Custom Auto- Complete plugin • Redmine CFReport plugin • Redmine Issue Title Changer plugin テキスト書式カスタムフィールドを検索可能に (View Customize Plugin で暫定カスタマイズ) https://cov19jp.info/projects/yamanashi/issues source: https://github.com/taikii/redmine_custom_auto_complete ViewCustomize#23 • 非公開(ソースコードでは確認可能) • 可能であればプラグインへ反映したい…
  17. プラグイン • Redmine message customize plugin • View Customize plugin

    • Redmine Tags • Redmine Custom Auto- Complete plugin • Redmine CFReport plugin • Redmine Issue Title Changer plugin カスタムフィールドを レポート表示 …課題 https://cov19jp.info/projects/nagano/issues/report source: https://github.com/sk-ys/redmine_cfreport
  18. プラグイン • Redmine message customize plugin • View Customize plugin

    • Redmine Tags • Redmine Custom Auto- Complete plugin • Redmine CFReport plugin • Redmine Issue Title Changer plugin 4031例目 - 長野県 - 新型コロナウイルス感染者情報(非公式) 報告 #5340: 4031例目 - 長野県 - 新型コロナウイルス感染者情報(非公式) コメント: 暫定的に作成したが、汎用性を持たせたプラグインとして 公開出来れば… source: https://github.com/sk-ys/redmine_issue_title_changer
  19. パッチ • QA #1192: Redmineの活動画面に、 チケットの変更を全て表示する。 - Unofficial Redmine Cooking

    - redmine.tokyo https://cov19jp.info/projects/yamanashi/activity?from=2021-05-20 カスタム フィールド https://redmine.tokyo/issues/1192
  20. 更新の仕組み - 山梨県 www.pref.yamanashi.jp cov19jp.info ローカル • WEBから感染者情報を取得 • 山梨県/新型コロナウイルス感染症に関する発生状況等

    • https://www.pref.yamanashi.jp/koucho/coronavirus/info_coronavirus_prevention.html 差分確認 Beautiful Soup • 情報取得経路 • で情報取得~Redmineの更新を行う
  21. 例 - 山梨県 https://cov19jp.info/issues/5105 ↓ ※更新がある場合、書き換えとなる

  22. 例 - 山梨県 https://cov19jp.info/issues/5105 ↓ ※更新がある場合、書き換えとなる

  23. 例 - 山梨県 https://cov19jp.info/issues/5105 ↓ ※更新がある場合、書き換えとなる カテゴリー カスタムフィールド (長いテキスト) 開始日

    期日 題名 関連するチケット ステータス 重要度 感染, 回復, 死亡, 回復または死亡, 不明, 取り下げ カスタムフィールド 説明
  24. 更新の仕組み - 長野県 • 以下のサイトから情報を取得 • 発生状況オープンデータ • https://www.pref.nagano.lg.jp/hoken- shippei/kenko/kenko/kansensho/joho/documents/200000_nagano_covid19_patients.csv

    • 性別、年代、居住地、職業、感染状況、回復フラグ等 • ファイルタイプ: CSV • プレスリリース一覧 • https://www.pref.nagano.lg.jp/kansensho-taisaku/happyou/20210210.html • 性別、年代、居住地、職業、症状、経過、行動歴、接触者、市No.等 • ファイルタイプ: PDF • データに関して • 公開方法の変更が多い • (以前はWeb、RSSから取得していた時期もあった) • フォーマットの変更が多い • PDFは表記ゆれが多いため、なるべく共通項目はCSVから取得
  25. 更新の仕組み - 長野県 www.pref.nagano.lg.jp cov19jp.info 差分確認 長野県 長野市 松本市 オープンデータ

    ローカル オープンデータ x3 PowerQuery • 情報取得経路 • で情報取得~Redmineの更新を行う
  26. Pythonでの更新の様子

  27. 例 – 長野県(松本市) https://cov19jp.info/issues/5944 No 4472 都道府県名 長野県 市区町村名 松本市

    事例確定_年月日 2021/5/19 患者_居住地 松本市 患者_年代 20代 患者_性別 女性 患者_職業 自営業従業員 患者_状態 無症状 患者_渡航歴の有無フラグ 0 患者_退院等済フラグ 0 備考 オープンデータ PDF
  28. No 4472 都道府県名 長野県 市区町村名 松本市 事例確定_年月日 2021/5/19 患者_居住地 松本市

    患者_年代 20代 患者_性別 女性 患者_職業 自営業従業員 患者_状態 無症状 患者_渡航歴の有無フラグ 0 患者_退院等済フラグ 0 備考 例 – 長野県(松本市) https://cov19jp.info/issues/5944 オープンデータ PDF
  29. 課題 • 一部が手動対応のまま • 県や市の更新情報の反映 … 突然フォーマットが変更になるため完全自動化が困難 • 関連する感染者の追加 …

    頑張ればできそう、「100~105例目」等への対応 • タグの追加 … 表記ゆれへの対応、Redmine Tags プラグインのAPI対応 • サマリー関連 • 表示の崩れ、表示速度、モバイル最適化 • サーバーが貧弱 • 暫定的にJavaScript で書き換えている部分が多い → 本体のカスタマイズが必要 • 更新用Python スクリプトが公開できる状態にない
  30. 展望 • 対応都道府県の追加 • サーバー増強 • 更新者の追加 • (各都道府県市町村担当者に対応いただくのが理想?) •

    グラフの追加 • 統計情報の充実 • 関連する感染者のグラフ表示 • 地図表示 • 新型コロナウイルスの一日も早い収束