2025/04/02

自分の仕事が無くなった

令和5年度のDPCの退院患者調査が公表された。

令和5年度DPC導入の影響評価に係る調査「退院患者調査」の結果報告について|厚生労働省

ファイルをダウンロードするのは恒例行事。

10年前は、ぽちぽちリンクをクリックして、1つ1つファイル名を変えていた。

5年くらい前からは、pythonのプログラムで、URL取得・ファイルダウンロード・ファイル名変更を行うようにした。

今年も、そのプログラムで作業は終わったのだが、生成AIで、同じような依頼をしたら、ものの10秒でプログラムが出てきた。「ファイル名から括弧書きのファイルサイズを除いて」などの改良を少しだけ追加でお願いしただけだ。



import os
import re
import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin

# 対象のURL
base_url = 'https://www.mhlw.go.jp/stf/shingi2/newpage_00137.html'

# 保存先ディレクトリ
download_dir = 'downloaded_files'
os.makedirs(download_dir, exist_ok=True)

# ファイル名の特殊文字と不要な情報を削除する関数
def sanitize_filename(text):
    # [***KB] や [***MB] の表記を削除(全角・半角両方対応)
    text = re.sub(r'[\[[].*?(KB|MB)[\]]]', '', text)
    # ファイル名に使えない文字を削除
    text = re.sub(r'[\\/*?:"<>|]', '', text)
    return text.strip()  # 前後の空白を削除

# ウェブページを取得
response = requests.get(base_url)
response.raise_for_status()

# BeautifulSoupで解析
soup = BeautifulSoup(response.content, 'html.parser')

# PDFなどのリンクを抽出してダウンロード
for link in soup.find_all('a', href=True):
    href = link['href']
    link_text = link.get_text(strip=True)  # リンクテキストを取得
    if not link_text:
        continue  # テキストがないリンクはスキップ

    file_ext = os.path.splitext(href)[-1]  # ファイルの拡張子を取得
    if file_ext.lower() in ['.pdf', '.xlsx', '.xls', '.docx', '.zip']:  # 必要な拡張子のみ処理
        file_url = urljoin(base_url, href)
        safe_filename = sanitize_filename(link_text) + file_ext  # 安全なファイル名を作成
        file_path = os.path.join(download_dir, safe_filename)

        # ファイルをダウンロードして保存
        with requests.get(file_url, stream=True) as file_response:
            file_response.raise_for_status()
            with open(file_path, 'wb') as file:
                for chunk in file_response.iter_content(chunk_size=8192):
                    file.write(chunk)
        print(f'{file_path} をダウンロードしました。')

動作させてみたが、エラーが出ることもなく、ほぼ完璧(気がついた問題点は「(1)集計条件」のPDFはファイル名が重複して上書きされてしまうくらい)。そういうわけで、自分の仕事は無くなった。喜ぶべきか、悲しむべきか。残念ながら、自分レベルのプログラマーは、ほぼ価値がないだろう(VScodeでContinueを使って・・・といったことで業務に使うどころか、chatGPTで聞くだけで十分になっている。上のコードはchatGPTの返答)

ただコードを書くだけではほぼ価値のない世界で、いかに価値を生み出すかが勝負になったことを考えると、生半可な気持ちでは、早々に飯が食えなくなるということだろう。

2025/03/23

今回の記事は介護のデータ分析で・・・

生産性向上推進体制加算の新設を意識すべきか - CBnewsマネジメント

いつもと違うデータを分析してみた。ただ、示唆に富む内容とは言い難いものを量産してしまった(仮説がおかしい、データの切り口がおかしい、など、精査の余地は多々あり)。そのため、記事に載せたグラフは、わずか2つだけ。あとは厚労省の資料などの引用で、文章を書いた。

データの準備にも分析にも膨大な時間がかかっているのだが、残念ながら、記事に反映できず。とはいえ、色々知見を得ることができたので満足。


いつものことだが、上記の作業なども含め3月はデータ分析作業でバタバタしていた。そのバタバタの最中、宮崎(一部鹿児島も含む)に。下記はたまたま前を通りかかったときに、道路から看板とその施設の一部を撮った写真。

宮崎大学医学部附属病院の患者付添者等宿泊施設
http://the-cross-roads.com/

これから色々な形で集約化の議論が展開されることになるだろう。そのときに、このような施設が果たす役割は重要だと思っている。

2025/03/07

可視化するだけではダメ。実行に移してなんぼですよ(自戒)

最近、ある地域の公立病院の話題をニュースなどでよく見かける。極めて病院経営環境が厳しいだけに、その公立病院などの経営が厳しいのは致し方ないと思う。ただ、コロナ前に、その県内の公立病院などに対するアクション案をまとめ(完全に黒子なので名前は出てこないが)その一部は地方紙のトップにも掲載された。それらのプランは、計画が見直されたものもあれば、スルーされたものもあったのだが、5、6年の時を経て、そのスルーされたプランのいくつかが、そのとおりの検討をはじめたというニュースを見聞きした。何だかなぁ・・・、あのとき実行に移してくれていれば・・・、とちょっと悔しい思いをしている(自分たちの説得力、訴求力が弱かったのか、経営環境の悪化によりお尻に火が着かないとダメだったのか)。

その悔しい思いはどこかで何かに活かせるはずである・・・とぼんやり考えながら、最近も地域の調査と分析をしている。

その分析において、いかに訴求力を高めるか。これは弊社の永遠の課題である。その課題へのチャレンジが、今回のCBnewsの記事。

かかりつけ医機能報告開始前に地域連携の可視化を試みる

外来機能報告や施設基準の届出、NDBオープンデータなどを基に、意図を持って可視化することで、示唆を得ようと試みた。原稿を書いてから、あとで見直したら、もっとよくできたのでは・・・と思う点があった。日々精進するのみだ。