Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
新型コロナウイルス感染者情報管理 by Redmine
Search
Ysaku
May 22, 2021
Programming
1
1.7k
新型コロナウイルス感染者情報管理 by Redmine
redmine.tokyo 第20回勉強会にて発表した資料です(一部修正しています)
https://redmine.tokyo/issues/1230
Ysaku
May 22, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
130
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
900
RailsGirls IZUMO スポンサーLT
16bitidol
0
180
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
1k
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
110
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
120
Team operations that are not burdened by SRE
kazatohiei
1
310
すべてのコンテキストを、 ユーザー価値に変える
applism118
3
1.3k
効率的な開発手段として VRTを活用する
ishkawa
0
140
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
140
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
220
ふつうの技術スタックでアート作品を作ってみる
akira888
1
850
Featured
See All Featured
Music & Morning Musume
bryan
46
6.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Language of Interfaces
destraynor
158
25k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Documentation Writing (for coders)
carmenintech
72
4.9k
Practical Orchestrator
shlominoach
189
11k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Transcript
新型コロナウイルス感染者情報管理 by Redmine redmine.tokyo 第20回勉強会 Ysaku, 2021/5/22
自己紹介 • 居住地: 山梨県 • 業種: 製造業・生産技術 • Redmine 使用歴:
約2年 • 様々な業務上での課題の進捗管理に活用
目次 • サイトの作成経緯 • サイトの紹介 • 概要 • 動作環境 •
プラグイン • パッチ • 更新の仕組み • 山梨県 • 長野県 • 課題 • 展望
サイトの作成経緯 山梨県/新型コロナウイルス感染症に関する発生状況等 https://www.pref.yamanashi.jp/koucho/coronavirus/info_coronavirus_prevention.html 問題点 • 関連情報の追跡が困難 • 特定の情報の抽出が困難 抜粋 Redmine
の項目に当てはめれば 見やすくなるのでは…? リ ン ク の 無 い 数 万 行 の 文 字 列 … ただの文字列
サイトの紹介 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 ※独自カスタマイズ
サイトの紹介 都道府県一覧 (プロジェクト一覧) 感染者一覧 (チケット一覧) 感染者情報 (チケット) カレンダー表示
動作環境 • サーバー: • 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
プラグイン • Redmine message customize plugin • View Customize plugin
• Redmine Tags • Redmine Custom Auto- Complete plugin • Redmine CFReport plugin • Redmine Issue Title Changer plugin
プラグイン 一部抜粋 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
プラグイン • 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
プラグイン • 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のデザインに変更
プラグイン • 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
プラグイン • 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
プラグイン • 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
プラグイン 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
プラグイン • 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 • 非公開(ソースコードでは確認可能) • 可能であればプラグインへ反映したい…
プラグイン • 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
プラグイン • 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
パッチ • QA #1192: Redmineの活動画面に、 チケットの変更を全て表示する。 - Unofficial Redmine Cooking
- redmine.tokyo https://cov19jp.info/projects/yamanashi/activity?from=2021-05-20 カスタム フィールド https://redmine.tokyo/issues/1192
更新の仕組み - 山梨県 www.pref.yamanashi.jp cov19jp.info ローカル • WEBから感染者情報を取得 • 山梨県/新型コロナウイルス感染症に関する発生状況等
• https://www.pref.yamanashi.jp/koucho/coronavirus/info_coronavirus_prevention.html 差分確認 Beautiful Soup • 情報取得経路 • で情報取得~Redmineの更新を行う
例 - 山梨県 https://cov19jp.info/issues/5105 ↓ ※更新がある場合、書き換えとなる
例 - 山梨県 https://cov19jp.info/issues/5105 ↓ ※更新がある場合、書き換えとなる
例 - 山梨県 https://cov19jp.info/issues/5105 ↓ ※更新がある場合、書き換えとなる カテゴリー カスタムフィールド (長いテキスト) 開始日
期日 題名 関連するチケット ステータス 重要度 感染, 回復, 死亡, 回復または死亡, 不明, 取り下げ カスタムフィールド 説明
更新の仕組み - 長野県 • 以下のサイトから情報を取得 • 発生状況オープンデータ • 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から取得
更新の仕組み - 長野県 www.pref.nagano.lg.jp cov19jp.info 差分確認 長野県 長野市 松本市 オープンデータ
ローカル オープンデータ x3 PowerQuery • 情報取得経路 • で情報取得~Redmineの更新を行う
Pythonでの更新の様子
例 – 長野県(松本市) https://cov19jp.info/issues/5944 No 4472 都道府県名 長野県 市区町村名 松本市
事例確定_年月日 2021/5/19 患者_居住地 松本市 患者_年代 20代 患者_性別 女性 患者_職業 自営業従業員 患者_状態 無症状 患者_渡航歴の有無フラグ 0 患者_退院等済フラグ 0 備考 オープンデータ PDF
No 4472 都道府県名 長野県 市区町村名 松本市 事例確定_年月日 2021/5/19 患者_居住地 松本市
患者_年代 20代 患者_性別 女性 患者_職業 自営業従業員 患者_状態 無症状 患者_渡航歴の有無フラグ 0 患者_退院等済フラグ 0 備考 例 – 長野県(松本市) https://cov19jp.info/issues/5944 オープンデータ PDF
課題 • 一部が手動対応のまま • 県や市の更新情報の反映 … 突然フォーマットが変更になるため完全自動化が困難 • 関連する感染者の追加 …
頑張ればできそう、「100~105例目」等への対応 • タグの追加 … 表記ゆれへの対応、Redmine Tags プラグインのAPI対応 • サマリー関連 • 表示の崩れ、表示速度、モバイル最適化 • サーバーが貧弱 • 暫定的にJavaScript で書き換えている部分が多い → 本体のカスタマイズが必要 • 更新用Python スクリプトが公開できる状態にない
展望 • 対応都道府県の追加 • サーバー増強 • 更新者の追加 • (各都道府県市町村担当者に対応いただくのが理想?) •
グラフの追加 • 統計情報の充実 • 関連する感染者のグラフ表示 • 地図表示 • 新型コロナウイルスの一日も早い収束