2026年11月14日

診所網站與社群的長期維運節奏

網站社群醫療

常見需求:診所已經有網站、社群專頁或商家檔案,需要有人長期更新文章、照片、門診時間,並維持頁面可用。這類工作看起來像一般社群維運,但在台灣會碰到醫療廣告與網路資訊管理的規範。

本篇只整理維運節奏與檢查方式,不是法律意見。是否構成醫療廣告、能不能發某一則貼文,要由診所負責人或執業醫師判斷,並以當時有效的法規為準。

這次測試到哪裡

content_calendar.py 已在本機把示範主題表轉成日曆,並為需要法遵檢視的列加上提示。沒有登入任何診所後台、社群平台或商家檔案,也沒有代診所發布內容。

三層怎麼分工

層做什麼
收集列出本週要更新的頻道與主題:網站、社群、商家檔案。
檢視標出哪些列是院所資訊、哪些是衛教,哪些可能涉及招徠就醫,交由診所檢視。
發布只發布診所確認過的內容,並留下更新日期與來源。

先分清你在發什麼

依《醫療法》第 9 條,利用傳播媒體或其他方法宣傳醫療業務、以招徠患者為目的,屬於醫療廣告。第 84 條規定,非醫療機構或醫師不得為醫療廣告;醫師也僅能為其執業登記的機構廣告。第 85 條列出醫療廣告可載事項,例如機構名稱、地址、電話、醫師學經歷與證書字號、診療科別與時間等。網際網路資訊另依《醫療機構網際網路資訊管理辦法》管理,並應報所在地主管機關備查。

衛福部曾說明,醫療機構可以設立社群專頁,但內容仍須符合醫療法;專頁並應依管理辦法以超連結連到所屬官方網站(無專屬網站者,得以具備網域或網址的專屬頁面為之)。第 87 條也提到:醫學新知、衛生教育或學術性內容,若未涉及招徠醫療業務,不視為醫療廣告。實務上,衛教一旦配上預約、優惠或療效保證,判斷就會改變。

衛福部 105 年 11 月 17 日衛部醫字第 1051667434 號令,列舉「以其他不正當方式為宣傳」的範圍,包括強調最高級或排名、保證根治、用治療前後比較影像招攬、不實體驗分享,以及優惠、贈送療程等促銷手法。寫貼文時不要用「全台第一」「保證痊癒」「現在預約送療程」這類說法。完整條文請看全國法規資料庫與衛福部公告,不要只靠這篇的摘要。

用日曆固定更新節奏

先把主題寫進表,再產出帶有檢視提示的日曆。價格、療效與活動內容不要寫進腳本的預設文案裡。

sample_topics.csv
date,channel,topic,purpose,needs_legal_review
2026-11-17,網站,門診時間與交通,院所資訊,yes
2026-11-18,網站,醫師學經歷更新,院所資訊,yes
2026-11-19,社群,冬季口腔清潔衛教,衛生教育,yes
2026-11-20,商家檔案,國定假日是否看診,營業資訊,yes
content_calendar.py
#!/usr/bin/env python3
"""把主題表擴成維運日曆,並標出需要法遵檢視的列。"""

from __future__ import annotations

import argparse
import csv
import sys
from pathlib import Path


def main() -> int:
    parser = argparse.ArgumentParser(description="診所內容日曆")
    parser.add_argument("input", type=Path)
    parser.add_argument("-o", "--output", type=Path, required=True)
    args = parser.parse_args()

    with args.input.open(encoding="utf-8-sig", newline="") as handle:
        rows = list(csv.DictReader(handle))
    if not rows:
        print("沒有資料列。", file=sys.stderr)
        return 1

    fieldnames = list(rows[0].keys())
    if "review_note" not in fieldnames:
        fieldnames.append("review_note")
    reviewed = 0
    for row in rows:
        flag = (row.get("needs_legal_review") or "").strip().lower()
        if flag in {"yes", "y", "true", "1"}:
            row["review_note"] = "發佈前由診所負責人或執業醫師檢視,並核對醫療法與網路資訊管理辦法。"
            reviewed += 1
        else:
            row["review_note"] = "仍建議由診所確認事實無誤後再發。"
    args.output.parent.mkdir(parents=True, exist_ok=True)
    with args.output.open("w", encoding="utf-8", newline="") as handle:
        writer = csv.DictWriter(handle, fieldnames=fieldnames)
        writer.writeheader()
        writer.writerows(rows)
    print(f"寫出 {len(rows)} 列到 {args.output},其中 {reviewed} 列標為需要法遵檢視。")
    return 0


if __name__ == "__main__":
    sys.exit(main())

執行

python content_calendar.py sample_topics.csv -o calendar.csv

常見錯誤

下載