#!/usr/bin/env python3
"""studiosoft_hc53_carousel_gen.py — StudioSoft Healthcare Carousel hc53.

Topik : "Jasa Digital Marketing RS: Cara Memilih Agensi Tepat"
Artikel: https://studiosoft.id/jasa-digital-marketing-rs/
         (ARTIKEL BARU — publish 1 Okt 2026 08:00Z, WP id 9160, verified HTTP 200
          2 Okt 2026 02:00 WIB; jejak Threads/LinkedIn/Facebook SS = 0 di ketiga platform)

Konteks run 2 Okt 2026 (02:00 WIB / 1 Okt 19:00 UTC):
- hc52 (1 Okt) memakai artikel baru `pembuatan-website-rumah-sakit`.
- Hari ini ADA artikel healthcare baru lagi: `jasa-digital-marketing-rs` (1 Okt 2026) -> FREE di 3 platform.
- AUDIT (hc53_audit.py): 7 artikel HC lama masih DEAD/404 -> 13 artikel HC hidup (12 + artikel baru).

Isi slide diambil dari artikel asli: apa yang sebenarnya dikerjakan agensi RS, tanda agensi yang
paham industri kesehatan, pertanyaan sebelum tanda tangan, dan kesalahan yang paling mahal.

Standar desain Bos 16 Sep 2026: engine ss_carousel_lib.py -> rata kiri, satu blok di tengah
vertikal, TANPA separator, bullet dot, bg BIRU TUA #122B63, judul Poppins-Bold 85 / body 36 /
sub 30, auto-fit. Resolusi 1080x1350 (4:5).
"""
import os
import sys

from PIL import Image

sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import ss_carousel_lib as L

WS = "/home/mantapman/.hermes/profiles/atun/workspace"   # JANGAN pakai expanduser("~")
OUT_DIR = os.path.join(WS, "studiosoft_hc53_carousel")
TAG = "#jasasigitalmarketingrs"
BG = (18, 43, 99)      # #122B63
SKY = L.SKY


def mk(num, total=5):
    return L.Slide(num, total, TAG, bg=BG)


def s1():
    s = mk(1)
    s.title([("JASA DIGITAL", SKY), "MARKETING RS", "BUKAN AGENSI", "BIASA"], after=44)
    s.lead("Memilih agensi digital marketing untuk rumah sakit tidak bisa disamakan dengan "
           "memilih agensi untuk bisnis biasa.", after=34)
    s.para("Ada batas etika promosi kesehatan, ada data pasien yang harus dilindungi, dan ada "
           "istilah medis yang tidak boleh disederhanakan sembarangan.", size=30)
    return s.render("ss_hc53_jasars_01_cover.png", OUT_DIR)


def s2():
    s = mk(2)
    s.title([("APA YANG", SKY), "SEBENARNYA", "DIKERJAKAN?"], after=44)
    s.bullets([
        ("Riset kata kunci kesehatan", "memakai istilah yang benar-benar dicari orang, bukan "
                                       "istilah medis yang hanya dipakai tenaga kesehatan."),
        ("Optimasi halaman layanan", "setiap poliklinik punya halaman sendiri yang jelas dan "
                                     "mudah ditemukan."),
        ("Konten edukasi yang etis", "informatif tanpa melanggar batas promosi layanan "
                                     "kesehatan."),
        ("Pengelolaan reputasi", "menangani ulasan dan komentar di berbagai kanal, termasuk "
                                 "keluhan pasien."),
        ("Pengukuran yang bermakna", "menghubungkan aktivitas digital dengan jumlah pasien, "
                                     "bukan sekadar jumlah tayangan."),
    ], gap=22, name_size=38, desc_size=27)
    return s.render("ss_hc53_jasars_02_tugas.png", OUT_DIR)


def s3():
    s = mk(3)
    s.title([("TANDA AGENSI", SKY), "PAHAM INDUSTRI"], after=44)
    s.bullets([
        ("Bertanya soal verifikasi medis", "siapa yang memeriksa kebenaran isi sebelum tayang, "
                                            "berapa lama prosesnya, dan bagaimana kalau ada "
                                            "koreksi."),
        ("Tahu apa yang tidak boleh", "tidak menjanjikan kesembuhan, tidak memakai foto pasien "
                                      "tanpa izin, dan tidak mengarang testimoni."),
        ("Memahami kerahasiaan data", "jelas soal penyimpanan data pasien dari formulir, "
                                      "percakapan, maupun komentar."),
        ("Mengukur dengan ukuran masuk akal", "jumlah pendaftaran, panggilan masuk, dan "
                                              "kunjungan ke halaman layanan."),
    ], gap=24, name_size=38, desc_size=27)
    return s.render("ss_hc53_jasars_03_tanda.png", OUT_DIR)


def s4():
    s = mk(4)
    s.title([("TANYAKAN SEBELUM", SKY), "TANDA TANGAN"], after=44)
    s.bullets([
        ("Siapa menulis dan memverifikasi konten?", "dan bagaimana alur persetujuannya sebelum "
                                                    "tayang."),
        ("Bagaimana menangani keluhan?", "komentar negatif pasien harus punya alur respons yang "
                                         "jelas."),
        ("Data apa yang diakses dari kami?", "dan bagaimana cara penyimpanannya."),
        ("Apa isi laporan bulanan?", "serta siapa di tim rumah sakit yang benar-benar "
                                     "membacanya."),
        ("Apakah aset tetap milik kami?", "domain, akun iklan, dan media sosial jangan sampai "
                                          "beralih nama."),
    ], gap=22, name_size=38, desc_size=27)
    return s.render("ss_hc53_jasars_04_pertanyaan.png", OUT_DIR)


def s5():
    s = mk(5)
    s.title([("KESALAHAN YANG", SKY), "PALING MAHAL"], after=44)
    s.bullets([
        ("Memilih harga terendah", "lalu berhenti di tengah jalan karena hasilnya tidak terasa."),
        ("Menyerahkan akun tanpa dokumentasi", "akses resmi jadi sulit ditarik kembali."),
        ("Tidak ada penanggung jawab persetujuan", "konten menumpuk menunggu keputusan."),
        ("Menilai dari jumlah pengikut", "padahal ukuran sebenarnya adalah jumlah pasien yang "
                                         "datang."),
    ], gap=24, name_size=38, desc_size=27)
    s.h2("www.studiosoft.id", size=40)
    return s.render("ss_hc53_jasars_05_cta.png", OUT_DIR)


if __name__ == "__main__":
    print("StudioSoft Healthcare Carousel hc53 \u2014 jasa digital marketing RS")
    print("=" * 70)
    for fn in (s1, s2, s3, s4, s5):
        p = fn()
        print("OK %s %s %d bytes" % (p, Image.open(p).size, os.path.getsize(p)))
    print("OK 5 slide -> %s" % OUT_DIR)
