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.5k
新型コロナウイルス感染者情報管理 by Redmine
redmine.tokyo 第20回勉強会にて発表した資料です(一部修正しています)
https://redmine.tokyo/issues/1230
Ysaku
May 22, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
モジュラモノリス、その前に / Modular monolith, before that
euglena1215
6
630
M5Stack に色々な M5ユニットをつないで扱う為の新たなアプローチ
gob
0
200
What is TDD?
urakawa_jinsei
1
200
Frontend Magic mit CSS Houdini
joergneumann
0
420
2024-10-02 dev2next - Application Observability like you've never heard before
jonatan_ivanov
0
160
MLOps in Mercari Group’s Trust and Safety ML Team
cjhj
1
110
Pydantic x Database API:turu-pyの開発
yassun7010
1
510
Rails 8 Frontend: 10 commandments & 7 deadly sins in 2025
yshmarov
1
600
DevFest Android in Korea 2024 - 안드로이드의 문단속 : 앱을 지키는 암호화 이야기
mdb1217
1
130
Flutterアプリを生成AIで生成する勘所
rizumita
0
250
.NET Aspireのクラウド対応検証: Azureと他環境での実践
ymd65536
1
290
Remix × Cloudflare Pages × Sentry 奮闘記 / remix-pages-sentry
nkzn
1
380
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
136
6.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
44
2k
Automating Front-end Workflow
addyosmani
1365
200k
Being A Developer After 40
akosma
84
590k
Scaling GitHub
holman
458
140k
Code Review Best Practice
trishagee
62
16k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Speed Design
sergeychernyshev
22
470
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
327
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
For a Future-Friendly Web
brad_frost
174
9.3k
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 スクリプトが公開できる状態にない
展望 • 対応都道府県の追加 • サーバー増強 • 更新者の追加 • (各都道府県市町村担当者に対応いただくのが理想?) •
グラフの追加 • 統計情報の充実 • 関連する感染者のグラフ表示 • 地図表示 • 新型コロナウイルスの一日も早い収束