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.6k
新型コロナウイルス感染者情報管理 by Redmine
redmine.tokyo 第20回勉強会にて発表した資料です(一部修正しています)
https://redmine.tokyo/issues/1230
Ysaku
May 22, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
110
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
520
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
EventSourcingの理想と現実
wenas
6
2.3k
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
100
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.1k
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.2k
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
1.9k
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
290
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Code Reviewing Like a Champion
maltzj
520
39k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Embracing the Ebb and Flow
colly
84
4.5k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Navigating Team Friction
lara
183
14k
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 スクリプトが公開できる状態にない
展望 • 対応都道府県の追加 • サーバー増強 • 更新者の追加 • (各都道府県市町村担当者に対応いただくのが理想?) •
グラフの追加 • 統計情報の充実 • 関連する感染者のグラフ表示 • 地図表示 • 新型コロナウイルスの一日も早い収束