File size: 3,177 Bytes
bb69800 56b9b62 bb69800 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 1c65c08 56b9b62 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
---
license: mit
language:
- en
library_name: transformers
pipeline_tag: text-classification
base_model: microsoft/BiomedNLP-PubMedBERT-base-uncased-abstract
tags:
- clinical
- healthcare
- emergency-medicine
- OHCA
- PubMedBERT
- MIMIC
- patient-level-split
model-index:
- name: OHCA Classifier v8 (PubMedBERT fine-tuned)
results:
- task:
type: text-classification
name: Binary OHCA detection (OHCA vs non-OHCA)
dataset:
name: Internal (MIMIC-derived discharge notes)
type: text
split: test (patient-level)
metrics:
- type: recall
name: Sensitivity (Recall)
value: 1.000
- type: specificity
name: Specificity
value: 0.879
- type: precision
name: PPV (Precision)
value: 0.562
- type: npv
name: NPV
value: 1.000
- type: f1
name: F1-score
value: 0.720
- type: auc
name: ROC-AUC
value: 0.971
---
# OHCA Classifier v8 — PubMedBERT fine-tuned for cardiac arrest detection
**Author:** Mona Moukaddem
**Model:** `monajm36/ohca-classifier-v8`
**Task:** Binary text classification — *Out-of-Hospital Cardiac Arrest (OHCA) vs Non-OHCA*
**Base model:** `microsoft/BiomedNLP-PubMedBERT-base-uncased-abstract`
This model predicts whether a discharge note likely describes **out-of-hospital cardiac arrest (OHCA)**.
It was fine-tuned from PubMedBERT on MIMIC-derived discharge notes using **patient-level splits** to prevent leakage.
> ⚠️ For research and decision support only. Not a substitute for clinical judgment.
---
## How to use
```python
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
model_id = "monajm36/ohca-classifier-v8"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSequenceClassification.from_pretrained(model_id)
text = """Chief Complaint: cardiac arrest
History of Present Illness: Patient found unresponsive at home... ROSC after EMS CPR..."""
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=512)
with torch.no_grad():
logits = model(**inputs).logits
probs = torch.softmax(logits, dim=-1).squeeze()
print(probs)
Threshold recommendations
Clinical Goal Threshold Behavior
High Sensitivity 0.28–0.32 Captures nearly all OHCA cases
Balanced 0.36 Validation-optimized
High Precision ≥0.50 Fewer false positives
At 0.36, validation yielded:
Sensitivity (Recall): 1.000
Specificity: 0.879
AUC: 0.971
Data & Training Summary
Source: MIMIC-derived discharge notes
Sections used: Chief Complaint, History of Present Illness
Splits: Train 210, Val 54, Test 66 (patient-level)
Max length: 512 tokens
Epochs: 5
Loss: Weighted cross-entropy
Sampler: Class-balanced
Hardware: CPU
Evaluation (Test Set)
Pred Non-OHCA Pred OHCA
Actual Non 51 7
Actual OHCA 0 9
Metrics:
Recall: 1.000
Specificity: 0.879
Precision: 0.562
NPV: 1.000
F1-score: 0.720
AUC: 0.971
Interpretation: The model captured all OHCA cases at the chosen threshold, with 7 false positives.
License
MIT
Citation
sql
Copy code
M. Moukaddem. OHCA Classifier v8: PubMedBERT fine-tuned for Out-of-Hospital Cardiac Arrest
|