Instructions to use BrazilAI/openmed-br-clinical-pt with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use BrazilAI/openmed-br-clinical-pt with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("token-classification", model="BrazilAI/openmed-br-clinical-pt")# Load model directly from transformers import AutoTokenizer, AutoModelForTokenClassification tokenizer = AutoTokenizer.from_pretrained("BrazilAI/openmed-br-clinical-pt") model = AutoModelForTokenClassification.from_pretrained("BrazilAI/openmed-br-clinical-pt") - Notebooks
- Google Colab
- Kaggle
🇧🇷 OpenMed-BR Clinical NER — Efficient (PT)
Reconhecimento de entidades clÃnicas em português, leve o bastante para rodar em CPU. Extrai doenças, sinais/sintomas, medicamentos, procedimentos e estruturas anatômicas de texto médico livre.
| Tarefa | Token classification / NER (5 tipos) |
| Idioma | Português (BR) |
| Base | OpenMed PT — BioClinicalBERT 110M (Apache-2.0) |
| Parâmetros | 110M — roda em CPU |
| F1 (held-out) | 0.60 |
| Licença | CC BY 4.0 |
| Irmão | BrazilAI/openmed-br-large-pt (maior F1, cross-lingual) |
Por que isto importa
O Brasil gera uma quantidade imensa de texto clÃnico — evoluções, anamneses, laudos, atestados — e quase tudo fica preso em texto livre. Mesmo com 97,6% das UBS já usando prontuário eletrônico, o conteúdo é escrito em linguagem natural, não estruturado. Isso trava tudo que depende de dado organizado:
- Codificação clÃnica (CID-10, CIAP-2, TUSS, SIGTAP) feita à mão, cara e lenta.
- Glosas no setor privado: R$ 5,8 bilhões em 2024 (15,9% do faturado), das quais só ~2% eram justificadas — a maior parte é problema de documentação/código.
- Vigilância e pesquisa que precisam garimpar prontuário manualmente.
- Continuidade do cuidado perdida entre sistemas que não conversam.
O primeiro passo para destravar qualquer um desses problemas é o mesmo: transformar texto clÃnico em entidades estruturadas. É exatamente o que este modelo faz — e faz em português, de forma aberta e rodando em hardware modesto.
Ecossistema de referência (inglês) como o OpenMed não cobre NER clÃnico em português (só de-identificação de PII). O OpenMed-BR preenche esse vazio.
O que o modelo reconhece
| Entidade | Exemplos |
|---|---|
DOENCA |
hipertensão arterial, diabetes mellitus, pneumonia |
SINAL_SINTOMA |
febre, cefaleia, dor abdominal, dispneia |
MEDICAMENTO |
losartana, dipirona, metformina, azitromicina |
PROCEDIMENTO |
tomografia de tórax, hemograma, apendicectomia |
ANATOMIA |
tórax, abdome, ventrÃculo esquerdo |
Aplicações
- Assistente de codificação — sugerir CID-10/CIAP-2 (doenças), TUSS/SIGTAP (procedimentos) e OBM/CATMAT (medicamentos) a partir da nota clÃnica, acelerando faturamento e reduzindo glosa. (O modelo extrai a entidade; o mapeamento ao código é a camada seguinte.)
- Prevenção de glosa — checar se procedimentos/medicamentos citados na evolução estão devidamente registrados na guia.
- Estruturação de prontuário — montar listas de problemas, medicações em uso e procedimentos a partir de texto livre.
- Pesquisa e vigilância — construir coortes e indicadores epidemiológicos a partir de grandes volumes de texto.
- Pipeline de privacidade — combinar com o modelo PII do OpenMed para anonimizar antes de processar (LGPD).
Como usar
from transformers import pipeline
ner = pipeline("token-classification",
model="BrazilAI/openmed-br-clinical-pt",
aggregation_strategy="simple")
texto = "Paciente com hipertensão em uso de losartana; solicitada tomografia de tórax."
for e in ner(texto):
print(e["entity_group"], "->", e["word"], round(e["score"], 2))
Roda em CPU. Para lote, passe uma lista de textos ao pipeline.
Como foi treinado
Estratégia hÃbrida para contornar a escassez de dado clÃnico anotado em PT:
- Base OpenMed — encoder BioClinicalBERT já adaptado ao português (Apache-2.0).
- Dados ouro — fatia médica do MultiCoNER v2 em português (anotação humana).
- Dados prata (destilação) — os 13 modelos clÃnicos
pucpr/clinicalnerpt-*(treinados no corpus SemClinBr) atuam como professores, rotulando texto que é então usado no treino. Assim o conhecimento clÃnico do SemClinBr entra no modelo mesmo com o corpus original sendo de acesso restrito.
Tudo mapeado para um esquema clÃnico unificado de 5 tipos.
Resultados (teste PT held-out, seqeval, nÃvel de entidade)
| Tipo | F1 |
|---|---|
| ANATOMIA | 0.717 |
| MEDICAMENTO | 0.667 |
| DOENCA | 0.564 |
| PROCEDIMENTO | 0.429 |
| SINAL_SINTOMA | 0.421 |
| Geral | 0.598 |
Leitura honesta: este é um ponto de partida sólido, não o estado da arte. O teste
held-out é pequeno (77 frases) → números honestos, porém ruidosos. Para MEDICAMENTO
este modelo é o melhor da famÃlia (0.67). Para doença/procedimento/sintoma, o irmão
openmed-br-large-pt vai melhor.
Qual modelo escolher
| Precisa de… | Use |
|---|---|
| Rodar em CPU, baixo custo, foco em medicamento | este (clinical-pt) |
| Maior F1 geral (GPU), doença/procedimento/sintoma | openmed-br-large-pt |
Uso responsável (leia antes de aplicar em saúde)
- Não é dispositivo médico. É ferramenta assistiva de documentação/estruturação, com humano no circuito. Software não-diagnóstico de apoio administrativo/documental fica fora da ANVISA RDC 657/2022; assim que houver sugestão diagnóstica/terapêutica para um paciente, entra regulação (SaMD).
- LGPD — dado de saúde é sensÃvel. Processe em contexto de tutela da saúde (Art. 11, II, "f") ou anonimize antes (ex.: modelo PII do OpenMed). Prefira execução local/on-device.
- Revisão humana obrigatória — não use para decisão clÃnica.
Roadmap
- Ligação das entidades a CID-10 / TUSS / SIGTAP / OBM (da extração ao código).
- Treino/avaliação sobre texto clÃnico real em PT (ex.: acesso ao SemClinBr cru, parceria hospitalar) rumo ao SOTA (~0.76).
- Teste held-out maior e mais representativo.
Atribuição e citação (obrigatória — CC BY 4.0)
- Base: OpenMed —
OpenMed/OpenMed-PII-Portuguese-BioClinicalBERT-Base-110M-v1(Apache-2.0). - Dados ouro: MultiCoNER v2 — Fetahu et al., arXiv:2310.13213; SemEval-2023 Task 2, arXiv:2305.06586 (CC BY 4.0).
- Dados prata (professores): BioBERTpt / clinicalnerpt / SemClinBr — Schneider et al., 2020 (ClinicalNLP@EMNLP); Oliveira et al., J. Biomed. Semantics, 2022; HAILab-PUCPR.
@misc{openmedbr_clinical_pt,
title = {OpenMed-BR Clinical NER (Efficient, PT)},
author = {OpenMed-BR / BrazilAI},
year = {2026},
howpublished = {\url{https://huggingface.co/BrazilAI/openmed-br-clinical-pt}}
}
Licença
CC BY 4.0 — uso livre (inclusive comercial) com atribuição.
- Downloads last month
- 14
Model tree for BrazilAI/openmed-br-clinical-pt
Base model
emilyalsentzer/Bio_ClinicalBERTDataset used to train BrazilAI/openmed-br-clinical-pt
Papers for BrazilAI/openmed-br-clinical-pt
MultiCoNER v2: a Large Multilingual dataset for Fine-grained and Noisy Named Entity Recognition
SemEval-2023 Task 2: Fine-grained Multilingual Named Entity Recognition (MultiCoNER 2)
Evaluation results
- F1 (entity-level) on MultiCoNER v2 (Portugueseself-reported0.598
- Precision on MultiCoNER v2 (Portugueseself-reported0.573
- Recall on MultiCoNER v2 (Portugueseself-reported0.625