Sağlık Verisi Toplamada Uyum ve Verimlilik İkilemi
Farmaka market-access ekipleri, ödeme analitiği (payer analytics) birimleri ve sağlık teknolojisi şirketleri her gün aynı soruyu sorar: İlaç fiyatlandırması, klinik deney verileri ve sağlayıcı dizinlerine ilişkin kamu verilerini nasıl güvenli, hızlı ve uyumlu şekilde toplayabiliriz? Yanıt, teknik mimari ile düzenleyici sınırların kesişiminde yatar. Bu rehber, yalnızca kamu verilerine odaklanır — hasta verisi, PHI (Korunan Sağlık Bilgileri) veya HIPAA kapsamındaki tanımlanabilir sağlık bilgisi kesinlikle kapsam dışındadır.
GoodRx fiyatları, FDA ilaç veritabanları, ClinicalTrials.gov deney kayıtları, CMS Açık Veri portalları ve NPPES/NPI sağlayıcı dizinleri, farmaka istihbarat scraping faaliyetlerinin ana hedefleridir. Ancak bu kaynakların çoğu agresif anti-bot korumaları uygular; bazı eyalet düzeyinde fiyat şeffaflığı siteleri ise coğrafi hedefleme gerektirir. İşte healthcare data proxies devreye girdiği yer.
Kamu Sağlık Verisi Kaynakları Haritası
Aşağıdaki kaynaklar, hasta verisi içermeyen, kamuya açık sağlık verileridir. Her biri farklı scraping zorlukları taşır:
GoodRx — İlaç Fiyatlandırma Verisi
GoodRx, ABD genelinde eczane indirim kartı fiyatlarını yayınlar ve scrape drug prices hedefi için en zengin kaynaktır. Ancak agresif anti-bot mekanizmaları (Cloudflare, CAPTCHA, davranışsal parmak izi) nedeniyle residential proksiler olmadan toplu veri çekmek neredeyse imkansızdır. Fiyatlar eyalet ve posta koduna göre değişebilir, bu da coğrafi hedeflemeyi zorunlu kılar.
FDA İlaç Veritabanları
FDA'nın Drugs@FDA ve OpenFDA API'leri, onaylı ilaçlar, etiket bilgileri ve advers olay raporları (FAERS) için yapılandırılmış erişim sunar. OpenFDA API'si rate-limitlidir (dakikada 240 istek, günde 120.000). Yüksek hacimli çekimler için proksi rotasyonu ve rate-limit yönetimi gerekir.
ClinicalTrials.gov — Klinik Deney Verileri
NIH'in ClinicalTrials.gov veritabanı, dünya genelindeki kayıtlı klinik denemelerin kamu kaynağıdır. Farmaka istihbarat scraping için deney durumu, faz, sponsor ve sonuç verileri kritiktir. Site scraping'e karşı nispeten toleranslıdır ancak yapılandırılmış API üzerinden erişim tercih edilmelidir.
CMS Açık Veri — Medicare/Medicaid Ödeme Verisi
CMS Open Data portalı, Medicare Part D reçete verileri, hastane ödeme verileri ve sağlayıcı kullanım istatistiklerini yayımlar. Bu veriler hasta düzeyinde tanımlayıcı içermez; toplu (aggregated) ödeme ve kullanım verileridir. Ancak bazı veri setleri yüksek boyutludur ve parçalı indirme gerektirir.
NPPES NPI — Sağlayıcı Dizin Verisi
NPPES NPI Registry, ABD'deki tüm lisanslı sağlık sağlayıcılarının kamu dizinidir. NPI numarası, uzmanlık, adres ve lisans durumu gibi alanlar kamuya açıktır. Provider-directory validation için bu veri kritiktir. Site API tabanlıdır ancak toplu sorgulamalar rate-limit ile korunur.
| Veri Kaynağı | Veri Tipi | Anti-Bot Koruması | Coğrafi Hedefleme İhtiyacı | Önerilen Proksi Tipi |
|---|---|---|---|---|
| GoodRx | İlaç fiyatları | Yüksek (Cloudflare) | Eyalet/posta kodu | Residential + geo-target |
| FDA OpenFDA | Onaylı ilaçlar, FAERS | Orta (rate-limit) | Hayır | Datacenter (rotasyon) |
| ClinicalTrials.gov | Klinik deney kayıtları | Düşük | Hayır | Datacenter |
| CMS Open Data | Ödeme/kullanım istatistikleri | Düşük | Hayır | Datacenter |
| NPPES NPI | Sağlayıcı dizini | Orta (rate-limit) | Hayır | Datacenter (rotasyon) |
| Eyalet fiyat şeffaflığı siteleri | Eyalet bazlı ilaç fiyatları | Değişken (bazıları agresif) | Eyalet düzeyinde | Residential + geo-target |
Neden Residential Proksiler Gerekli?
GoodRx ve bazı eyalet düzeyinde fiyat şeffaflığı siteleri, datacenter IP'leri neredeyse anında engeller. Cloudflare ve benzeri WAF çözümleri, IP itibar skoruna, ASN türüne ve davranışsal sinyallere bakarak trafiği filtreler. Healthcare data proxies olarak residential proksiler, gerçek ISP IP'lerinden gelen trafiği simüle ederek bu korumaları aşmanızı sağlar.
Residential proksilerin kritik avantajları:
- IP itibarı: Gerçek ISP IP'leri, datacenter bloklarına kıyasla çok daha yüksek itibar skoruna sahiptir.
- Coğrafi hedefleme: Eyalet veya şehir düzeyinde IP atayarak, fiyatlandırma verisinin coğrafi varyasyonlarını yakalayabilirsiniz.
- Sticky session desteği: Oturum tabanlı sitelerde (ör. GoodRx sepet/fiyat akışı) aynı IP'yi tutarak tutarlı veri çekebilirsiniz.
- Davranışsal parmak izi uyumu: Residential IP'ler, tarayıcı parmak izi doğrulama sistemlerinde daha az şüphe uyandırır.
Kritik uyarı: Residential proksiler, erişim engellemelerini aşmada etkili olsa da, hedef sitenin kullanım koşullarını (ToS) ihlal etmemek için hız sınırlarına ve sayfa başına gecikme kurallarına uyun. Etik scraping, uzun vadeli veri erişiminin anahtarıdır.
Coğrafi Hedefleme: İlaç Fiyatları Eyaletlere Göre Değişir
ABD'de ilaç fiyatları eyalet, hatta posta kodu düzeyinde önemli farklılıklar gösterebilir. GoodRx indirim fiyatları, yerel eczane zinciri yoğunluğuna ve eyalet düzenlemelerine bağlı olarak değişir. Bazı eyalet fiyat şeffaflığı yasaları (ör. Colorado, Maine, New Mexico) kamuya açık fiyat veritabanları yayımlar; ancak bu siteler genellikle yalnızca kendi eyalet IP'lerinden erişime izin verir.
ProxyHat ile coğrafi hedefleme, kullanıcı adında bayrak eklemek kadar basittir:
- Eyalet hedefleme:
user-country-US-state-CA:pass— Kaliforniya IP'si alır - Şehir hedefleme:
user-country-US-region-new_york-city-new_york_city:pass— New York City IP'si alır - Sticky session:
user-country-US-state-TX-sid-tx2024:pass— Teksas IP'si sabit oturumla
Bu özellik, scrape drug prices iş akışında fiyat varyasyonlarını yakalamak için vazgeçilmezdir. Pazar erişimi (market-access) ekipleri, eyalet bazlı fiyatlandırma haritaları oluşturmak için bu yeteneğe ihtiyaç duyar.
Mimari: Scraping → Normalizasyon → ETL → Veri Ambarı
Pharma intelligence scraping, basit bir veri çekme işinden çok daha fazlasıdır. Çoklu kaynaklardan gelen verilerin şema uyumsuzluklarını çözmek, tekrarları kaldırmak ve analize hazır hale getirmek için sağlam bir ETL mimarisi gerekir.
1. Kaynak Seviyesi: Scraping Katmanı
Her kaynak için özel bir scraper modülü geliştirin. ProxyHat residential proksilerini anti-bot korumalı kaynaklar için, datacenter proksilerini API tabanlı kaynaklar için kullanın. Her modül, kaynak şemasını iç çıktı şemasına dönüştürür.
2. Normalizasyon Katmanı
Farklı kaynaklardan gelen verileri ortak bir şemada birleştirin. Örneğin:
- GoodRx'ten gelen ilaç adı → FDA NDÇ (National Drug Code) ile eşleştir
- ClinicalTrials.gov deney kaydı → FDA onay durumu ile zenginleştir
- NPPES NPI kaydı → CMS ödeme verisi ile birleştir
3. ETL ve Veri Ambarı Katmanı
Normalize edilmiş veriyi BigQuery, Snowflake veya Redshift gibi bir veri ambarına yükleyin. Artımlı (incremental) yükleme, veri kalitesi kontrolleri ve lineage takibi için dbt veya benzeri bir araç kullanın.
4. Analitik ve Raporlama Katmanı
Looker, Tableau veya özel dashboard'lar ile pazar erişimi ekiplerine fiyatlandırma kıyaslamaları, deney manzara raporları ve sağlayıcı dizin doğrulama sonuçları sunun.
Aşağıdaki Python örneği, GoodRx'ten residential proksi ile coğrafi hedefleme yaparak ilaç fiyatı çekme iş akışını gösterir:
import requests
from datetime import datetime, timedelta
# ProxyHat residential proxy - California hedeflemeli
PROXY_URL = "http://user-country-US-state-CA:PASSWORD@gate.proxyhat.com:8080"
PROXIES = {"http": PROXY_URL, "https": PROXY_URL}
def fetch_drug_prices(drug_name, states, session_duration=30):
"""
Birden fazla eyalet için ilaç fiyatı çeker.
Her eyalet için o eyaletin residential IP'sini kullanır.
Sadece kamu fiyatlandırma verisi — hasta verisi yok.
"""
results = []
for state in states:
# Eyalet bazlı residential proksi yapılandırması
proxy_url = (
f"http://user-country-US-state-{state}"
f"-sid-{drug_name[:8]}{state}"
f":PASSWORD@gate.proxyhat.com:8080"
)
proxies = {"http": proxy_url, "https": proxy_url}
try:
# Hedef site: kamu ilaç fiyatlandırma verisi
resp = requests.get(
f"https://www.goodrx.com/{drug_name}",
proxies=proxies,
headers={
"User-Agent": (
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36"
),
"Accept": "text/html,application/xhtml+xml",
"Accept-Language": "en-US,en;q=0.9",
},
timeout=30,
)
results.append({
"drug": drug_name,
"state": state,
"status": resp.status_code,
"scraped_at": datetime.utcnow().isoformat(),
})
except requests.RequestException as e:
results.append({
"drug": drug_name,
"state": state,
"error": str(e),
"scraped_at": datetime.utcnow().isoformat(),
})
# Rate-limit: istekler arası 2-4 saniye bekleme
import time; time.sleep(3)
return results
# Kullanım: 5 eyalet için fiyat karşılaştırması
prices = fetch_drug_prices(
drug_name="ozempic",
states=["CA", "TX", "NY", "FL", "OH"]
)
İkinci örnek, FDA OpenFDA API'sinden datacenter proksi ile onaylı ilaç verisi çekmeyi gösterir:
import requests
import json
# ProxyHat datacenter proxy - rate-limit yönetimi için
PROXY_URL = "http://user:PASSWORD@gate.proxyhat.com:8080"
PROXIES = {"http": PROXY_URL, "https": PROXY_URL}
def fetch_fda_drug_records(drug_name, limit=100):
"""
OpenFDA API'den onaylı ilaç kayıtlarını çeker.
Kamu verisi — hasta verisi içermez.
"""
url = "https://api.fda.gov/drug/ndc.json"
params = {
"search": f"brand_name:{drug_name}",
"limit": limit,
}
try:
resp = requests.get(
url,
params=params,
proxies=PROXIES,
timeout=30,
)
resp.raise_for_status()
data = resp.json()
# Normalize: sadece kamu alanları
records = []
for result in data.get("results", []):
records.append({
"ndc": result.get("product_ndc"),
"brand_name": result.get("brand_name"),
"generic_name": result.get("generic_name"),
"route": result.get("route", []),
"marketing_category": result.get("marketing_category"),
})
return records
except requests.RequestException as e:
print(f"FDA API hatası: {e}")
return []
# Kullanım
fda_records = fetch_fda_drug_records("Ozempic")
print(json.dumps(fda_records[:3], indent=2))
Uyum ve Düzenleyici Sınırlar: HIPAA ve Ötesi
Bu bölüm, pharma intelligence scraping faaliyetlerinin düzenleyici çerçevesini tanımlar. En temel kural: tanımlanabilir hasta verisi (PHI) kesinlikle toplanmaz, işlenmez veya saklanmaz.
HIPAA Sınırları: Ne Yasak, Ne Serbest?
HIPAA (Health Insurance Portability and Accountability Act), Korunan Sağlık Bilgisi (PHI) olarak tanımlanan 18 tanımlayıcı kategorisini korur. Bu tanımlayıcılar arasında hasta adı, SSN, doğum tarihi, e-posta, telefon, tıbbi kayıt numarası, IP adresi ve tam fotoğraflar yer alır.
İzin verilen kamu verisi (HIPAA kapsamı dışında):
- İlaç fiyat listeleri ve indirim kartı fiyatları (GoodRx, SSR Health)
- FDA onaylı ilaç etiket bilgileri ve bileşen verileri
- Klinik deney kayıt ve sonuç verileri (ClinicalTrials.gov)
- CMS toplu ödeme ve kullanım istatistikleri (hasta düzeyinde tanımlayıcı yok)
- NPPES NPI sağlayıcı dizin bilgileri (sağlayıcı kendi rızasıyla kamuya açıklar)
- Eyalet fiyat şeffaflığı veritabanları (toplu fiyat verisi)
Yasak olan veri (kesinlikle kapsam dışı):
- Hasta tıbbi kayıtları veya reçete geçmişi (tanımlanabilir)
- Sigortacı ödeme kayıtları (hasta düzeyinde)
- EHR/EMR verileri
- Advers olay raporlarında hasta tanımlayıcı alanlar
Altın kural: Topladığınız veride herhangi bir bireyin sağlık durumunu, tedavisini veya kimliğini çıkarsamak mümkünse, o veriyi toplamıyorsunuz. Agregasyon ve anonimleştirme yeterli değildir — veri kaynağının kendisi kamu ve tanımlayıcı içermemelidir.
Eyalet Düzeyinde Sağlık Verisi Düzenlemeleri
Bazı ABD eyaletleri, sağlık verisi toplanmasında HIPAA'dan daha katı kurallar uygular:
- Kaliforniya (CCPA/CPRA): Kişisel veri toplanmasında açık rıza gerektirir. Ancak kamu kaynaklardan toplanan iş verisi (ilaç fiyatları, NPI dizini) kapsam dışıdır.
- New York (SHIELD Act): Kişisel sağlık verisi ihlallerini bildirim zorunluluğu. Kamu veri scraping bu kapsamda değildir.
- Teksas (HB 300): PHI'ye erişim kayıt zorunluluğu. Kamu veriye erişim kaydı gerekmez.
Her eyaletin kendi fiyat şeffaflığı yasası ve veri erişim kuralı olabilir. Scraping başlamadan önce hedef sitenin kullanım koşullarını ve ilgili eyalet düzenlemesini inceleyin.
Etik Scraping İlkeleri
- robots.txt'e uyun: Hedef sitenin crawling kurallarına saygı gösterin.
- Rate-limit uygulayın: Saniyede 1-2 istek, çoğu kamu sitesi için güvenli bir üst sınırdır.
- ToS'u inceleyin: Bazı siteler scraping'i açıkça yasaklar; bu durumda API erişimi veya manuel indirme tercih edin.
- Veri minimizasyonu: Yalnızca ihtiyacınız olan alanları toplayın.
- Saklama süresi: Veriyi amacını gerçekleştirdikten sonra silin veya anonimleştirin.
Kullanım Senaryoları
1. Pazar Erişimi Fiyatlandırma Kıyaslaması
Market-access ekipleri, kendi ürünlerinin fiyatlandırmasını rakipler ve jenerik alternatiflerle karşılaştırmak için scrape drug prices iş akışlarını kullanır. GoodRx ve eyalet fiyat şeffaflığı sitelerinden coğrafi hedefleme ile çekilen veriler, eyalet bazlı fiyat haritaları ve WAC (Wholesale Acquisition Cost) kıyaslamaları oluşturur.
Örnek akış:
- Her eyalet için residential proksi ile GoodRx fiyatlarını çek
- FDA NDC verisi ile ilaç tanımlayıcılarını eşleştir
- CMS Part D ortalama ödeme verisi ile kıyasla
- Veri ambarında eyalet × ilaç × fiyat matrisi oluştur
2. Klinik Deney Manzara İzleme
ClinicalTrials.gov'dan düzenli olarak çekilen deney kayıtları, terapötik alandaki rekabetçi manzarayı izlemek için kullanılır. Yeni deney kayıtları, faz geçişleri ve sonuç bildirimleri otomatik uyarılar ile takip edilir. Bu veri, pipeline stratejisi ve BD&L (Business Development & Licensing) kararlarını destekler.
3. Sağlayıcı Dizini Doğrulama
NPPES NPI verisi, ödeme ağları ve hastane sistemleri tarafından sağlayıcı dizinlerinin doğruluğunu denetlemek için kullanılır. NPI kayıtları ile ağ dizinlerini karşılaştırarak, uyumsuz uzmanlık, adres veya lisans durumlarını tespit edin. Bu, No Surprises Act uyumluluğu için de kritiktir.
Proxy Seçimi Karar Matrisi
Farklı kaynaklar için hangi proksi türünün uygun olduğunu belirlemek kritiktir. Aşağıdaki tablo karar vermeye yardımcı olur:
| Senaryo | Residential Proxy | Datacenter Proxy | Mobile Proxy |
|---|---|---|---|
| GoodRx fiyat çekme | ✅ Gerekli (anti-bot) | ❌ Engellenir | ✅ Alternatif |
| Eyalet fiyat şeffaflığı siteleri | ✅ Gerekli (geo-gate) | ❌ Engellenir | ⚠️ Pahalı |
| FDA OpenFDA API | ⚠️ Gereksiz | ✅ Yeterli | ❌ Gereksiz |
| ClinicalTrials.gov | ⚠️ Gereksiz | ✅ Yeterli | ❌ Gereksiz |
| CMS Open Data indirme | ⚠️ Gereksiz | ✅ Yeterli | ❌ Gereksiz |
| NPPES NPI toplu sorgu | ⚠️ Gereksiz | ✅ Yeterli | ❌ Gereksiz |
Performans ve Güvenilirlik Ölçütleri
Pharma intelligence scraping faaliyetlerinde izlenmesi gereken temel metrikler:
- Başarı oranı: Hedeflenen isteklerin %95+'ı başarıyla tamamlanmalı. Residential proksilerde bu oran, proksi kalitesine ve IP havuzu büyüklüğüne bağlıdır.
- Gecikme (latency): Residential proksilerde ortalama 1-3 saniye beklenir. Datacenter proksilerde 200-500ms.
- Eşzamanlılık (concurrency): Aynı anda kaç paralel istek çalıştırabileceğiniz, hedef sitenin toleransına ve proksi havuzunun büyüklüğüne bağlıdır. ProxyHat geniş IP havuzu ile yüksek eşzamanlılığı destekler.
- Veri tazelik: Fiyat verisi günlük veya haftalık, deney verisi haftalık, NPI verisi aylık güncelleme ile takip edilebilir.
Sonraki Adımlar
Pharma intelligence scraping iş akışınızı kurmaya hazır mısınız? ProxyHat residential ve datacenter proksileri ile uygun fiyatlı planlar arasında seçim yapın. Desteklenen lokasyonlar sayfasından ABD eyalet düzeyinde coğrafi hedefleme seçeneklerini inceleyin. Web scraping kullanım senaryoları için rehberimizi ve SERP izleme için SERP tracking sayfamızı ziyaret edin.
Sağlık verisi toplama, teknik yetkinlik ve düzenleyici uyumun birleştiği bir alandır. Doğru proksi altyapısı, sağlam ETL mimarisi ve katı HIPAA sınırları ile, farmaka istihbarat ekipleri kamu verisinden güvenli ve etkili şekilde değer üretebilir.






