clinlp
- 🏥
clinical+ 🇳🇱nl+ 📋NLP= ✨clinlp
- ⭐ NLP tools and algorithms for clinical text written in Dutch
- 📐 Organized in a standardized but flexible framework using
spaCy
- 🚀 Production-ready, performant, well-tested and easy to use
- 💡 Free, open source, created and maintained by the Dutch Clinical NLP community
Contact
If you have questions, need help getting started, found a bug, or have a feature request, please don't hesitate to contact us!
Getting started
Installation
pip install clinlp
Example
import spacy
from clinlp.ie import Term
nlp = spacy.blank("clinlp")
# Normalization
nlp.add_pipe("clinlp_normalizer")
# Sentences
nlp.add_pipe("clinlp_sentencizer")
# Entities
terms = {
"prematuriteit": [
"preterm", "<p3", "prematuriteit", "partus praematurus"
],
"hypotensie": [
"hypotensie", Term("bd verlaagd", proximity=1)
],
"veneus_infarct": [
"veneus infarct", Term("VI", attr="TEXT")
]
}
entity_matcher = nlp.add_pipe("clinlp_rule_based_entity_matcher", config={"attr": "NORM", "fuzzy": 1})
entity_matcher.add_terms_from_dict(terms)
# Qualifiers
nlp.add_pipe("clinlp_context_algorithm", config={"phrase_matcher_attr": "NORM"})
text = (
"Preterme neonaat (<p3) opgenomen, bd enigszins verlaagd, familieanamnese vermeldt eveneens hypotensie "
"bij moeder. Thans geen aanwijzingen voor veneus infarkt wat ook geen "
"verklaring voor de partus prematurus is. Risico op VI blijft aanwezig."
)
doc = nlp(text)
Find information in the Doc object:
from spacy import displacy
displacy.render(doc, style="span", options={'spans_key': 'ents'})
With relevant qualifiers (defaults omitted for readability):
for ent in doc.spans["ents"]:
print(ent, ent._.qualifiers_str)
Pretermeset()<p3set()bd enigszins verlaagdset()hypotensie{'Experiencer.Family'}veneus infarkt{'Presence.Absent'}partus prematurusset()VI{'Temporality.Future'}
Documentation
The full documentation can be found at https://clinlp.readthedocs.io.
Links
Metadata
Release files for clinlp 0.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| clinlp-0.10.0.tar.gz | 421.6 kB | Without provenance | Details for clinlp-0.10.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| clinlp-0.10.0-py3-none-any.whl | Python 3 | none | any | Details for clinlp-0.10.0-py3-none-any.whl |
Total release size: 479.4 kB
Release files / clinlp-0.10.0.tar.gz
| Download URL | clinlp-0.10.0.tar.gz |
|---|---|
| Size | 421.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
57f70353a31e820bb12d852dcb832909de4a6a8578a1b1b143b8ee508e0e2a83
|
|
BLAKE2b-256 checksum How to use checksums |
8b04eeb07e1d44e193be68805eac5108c9ddf12021514fccdc9b0144a539615a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|
Release files / clinlp-0.10.0-py3-none-any.whl
| Download URL | clinlp-0.10.0-py3-none-any.whl |
|---|---|
| Size | 57.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a0f80fea44d7c415fbd3e76c82a9823bfcb47b8fbb8cdd7299b6dbb7ad7a3387
|
|
BLAKE2b-256 checksum How to use checksums |
446f0bad54c434b76df370ce714cc26ab061d159771dc1fb0f47ed1aeba29a47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|
Security for clinlp 0.10.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.