diagnosis

mathias-nielsen's avatarfrom mathias-nielsen

An important skill, to help agents assist doctors with diagnosising patients.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 6, 2025⬇️1downloads

When & Why to Use This Skill

The Diagnosis skill for Claude agents is a specialized clinical decision support tool designed to assist medical professionals. It leverages advanced NLP to extract symptoms from unstructured patient notes, identifies potential medical conditions using external clinical resources, and provides evidence-based recommendations for the next steps in the diagnostic process.

Use Cases

  • Clinical Documentation: Automatically extracting medical entities and symptoms from patient intake forms or consultation transcripts to populate electronic health records.
  • Differential Diagnosis Support: Assisting doctors by generating a list of potential diagnoses based on a complex set of gathered symptoms for further clinical review.
  • Care Pathway Guidance: Providing actionable suggestions for follow-up tests or specific medical examinations when initial symptoms lead to inconclusive results.
nameDiagnosis.
descriptionAn important skill, to help agents assist doctors with diagnosising patients.

Diagnosis tasks

Extrapolate symptoms

This action can extrapolate and gather symptoms from natural language input

from langchain.chat_models import init_chat_model
from entities import DetectionEntity, SymptomsOutputState

def extrapolate_symptoms(text: str, score: float = 0.95): -> SymptomsOutputState
  # Documentation: https://docs.aws.amazon.com/comprehend-medical/latest/dev/gettingstarted-api.html
  model = init_chat_model("aws.comprehendmedical.detect-entities-v2");
  response = model.invoke(text);
  high_confidence = []
  low_confidence = []

  for entity in response:
    if entity.score >= score:
      high_confidence.append(entity)
    else:
      low_confidence.append(entity)

  return SymptomsOutputState(
    high_confidence=high_confidence,
    confidence_below_treshold=low_confidence
  )

Find potential diagnosis

This action will find potential diagnosis, based on common external resources

def find_potential_diagnose(symptoms):
  """ This function will return 1 or more diagnosis, based on array of symptoms """
  # Mock Code
  # ...

Suggest Next Steps

In case a diagnosis is inconclusive, but more tests is needed, this task will find the best next step to in the diagnosis

def find_next_steps(symptoms, diagnosis):
  # Mock Code
  # ...