This package simplifies communication with cTAKES NLP servers which produce matches with UMLS Concepts.
Clinical text fragment or entire physician note.
physician_note = 'Chief Complaint: Patient c/o cough, denies fever, recent COVID test negative. Denies smoking.'
output = await ctakesclient.client.post(physician_note)
Note that ctakesclient
uses an async API.
If your code is not async, you can simply wrap calls in asyncio.run()
:
output = asyncio.run(ctakesclient.client.post(physician_note))
This client parses responses into lists of MatchText and UmlsConcept.
CtakesJSON(output)
list_match() -> List[MatchText]
list_concept() -> List[UmlsConcept]
list_sign_symptom() -> List[MatchText]
list_disease_disorder() -> List[MatchText]
list_medication() -> List[MatchText]
list_procedure() -> List[MatchText]
list_anatomical_site() -> List[MatchText]
MatchText(s) are the character positions in the physician note where a UmlsConcept was found.
You can browse the list of UMLS Semantic Types at the National Library of Medicine.