Penjanaan Corak MRN AI HIPAA: Menggunakan LLM untuk Mengenal Pasti Format Rekod Pesakit
Setiap sistem penjagaan kesihatan mempunyai format MRN yang unik. Apabila mengintegrasikan penjagaan kesihatan baru, tim anda mesti menentukan corak pengesanan. Kaedah tradisional:
- Kaji dokumen sampel dari hospital
- Tuliskan corak regex dengan tangan
- Ujian dan selaraskan
Proses ini memakan waktu 2-4 minggu untuk setiap hospital baru.
LLM dapat mengotomatisasi: Hantar dokumen sampel ke Claude atau ChatGPT, minta model untuk mencirikan corak MRN, kemudian terbitkan corak ke Presidio.
Aliran Penjanaan Corak MRN
Langkah 1: Ekstrak Sampel Rekod Pesakit
documents = extract_sample_records(
hospital="Cleveland Clinic",
sample_size=50,
pii_types=["MRN", "SSN", "PHONE"]
)
Langkah 2: Hantar ke LLM dengan Prompt Struktur
prompt = f"""
Analisis 50 sampel rekod pesakit dari Cleveland Clinic. Kenal pasti:
1. Format MRN (contoh: 7-digit, 8-digit + awalan)
2. Perkataan kunci konteks (contohnya "MRN", "Rekod Perubatan")
3. Kehadiran jeda atau pemisah (tanda hubung, ruang, backtick)
4. Contoh nyata MRN dari sampel
Format respons sebagai JSON:
{{
"mrn_format": "7-digit",
"pattern_examples": ["1234567", "2345678"],
"context_words": ["MRN", "Medical Record"],
"separators": [" ", "-"],
"confidence_score": 0.95,
"regex": "..."
}}
"""
response = claude.messages.create(
model="claude-opus",
messages=[{"role": "user", "content": prompt}]
)
pattern_config = json.loads(response.content[0].text)
Langkah 3: Terjemahkan ke Presidio PatternRecognizer
def create_presidio_recognizer_from_llm(pattern_config):
return PatternRecognizer(
entity_type=f"MRN_{pattern_config['hospital'].upper()}",
patterns=[
Pattern(
name=f"mrn-{pattern_config['mrn_format']}",
regex=pattern_config['regex'],
score=pattern_config['confidence_score']
)
],
context=PatternRecognitionContext(
context_words=pattern_config['context_words'],
score_increment=0.15
)
)
Langkah 4: Daftar dengan Presidio
recognizer = create_presidio_recognizer_from_llm(pattern_config)
analyzer.registry.add_recognizer(recognizer)
Langkah 5: Ujian dengan Sampel Baru
test_results = analyzer.analyze(
text="Pesakit Cleveland Clinic MRN 5431289 dirawat pada 2024-01-15",
language="en",
entities=["MRN_CLEVELAND_CLINIC"]
)
if test_results[0].score > 0.8:
print("✓ Corak berkualiti tinggi")
else:
print("✗ Corak memerlukan penalaan")
Kesan Masa HIPAA
Dengan pendekatan AI ini:
- Manual: 2-4 minggu setiap hospital
- AI-dibantu: 2-4 jam setiap hospital
- Skala untuk 200+ sistem penjagaan kesihatan: Otomatisasi penuh
Pertimbangan Keamanan
Apabila menghantar sampel rekod pesakit ke LLM:
- Anonimkan sampel lebih dulu: Buang SSN, nama, maklumat pribadi lain
- Gunakan API private: Jangan gunakan ChatGPT bersama; gunakan API Anthropic di sebalik VPN perusahaan
- Tidak menyimpan sampel: Jangan menyimpan sampel yang dihantar dalam log pelayanan
Kesimpulan: LLM boleh menjana corak Presidio otomatis dari sampel rekod. Pendekatan ini mengurangkan masa onboarding hospital dari berminggu-minggu kepada jam.