# Rwe Analyze

> A Claude skill from PhenoML/phenoml-skills.

- **Type:** Skill
- **Install:** `agentstack add skill-phenoml-phenoml-skills-rwe-analyze`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [PhenoML](https://agentstack.voostack.com/s/phenoml)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [PhenoML](https://github.com/PhenoML)
- **Source:** https://github.com/PhenoML/phenoml-skills/tree/main/skills/rwe-analyze

## Install

```sh
agentstack add skill-phenoml-phenoml-skills-rwe-analyze
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# RWE Cohort Analysis Skill

This skill provides real-world evidence (RWE) analysis using PhenoML APIs. It enables biopharma analysts to define patient cohorts, generate population statistics, compare cohorts, and assess study feasibility.

## How It Works

A single script (`fetch_cohort.py`) fetches patient data and generates IPS (International Patient Summary) natural language summaries. YOU (Claude) then interpret these summaries to provide whatever analysis the user needs.

## When to Use This Skill

Use this skill when users need to:
- Define and analyze a patient cohort from natural language criteria
- Generate population-level statistics (demographics, conditions, medications)
- Compare two patient cohorts (e.g., treatment vs control groups)
- Assess feasibility of a clinical study against a patient population

## Prerequisites

Before using this skill, ensure:
1. Python 3.10+ is installed
2. Required packages are available: `python-dotenv`, `phenoml`
3. PhenoML credentials are configured (PHENOML_USERNAME, PHENOML_PASSWORD)

## Workflow

### Step 0: Verify Environment

Always start by checking the environment configuration:

```bash
python skills/rwe-analyze/scripts/check_env.py --env-file .env
```

If credentials are missing, guide the user to set up their `.env` file with:
- PHENOML_USERNAME
- PHENOML_PASSWORD
- PHENOML_BASE_URL (defaults to https://experiment.app.pheno.ml)

### Step 1: Fetch Patient Data

Use the single fetch script for all use cases:

**Single cohort:**
```bash
python skills/rwe-analyze/scripts/fetch_cohort.py \
  --cohort "" \
  --env-file .env
```

**Two cohorts for comparison:**
```bash
python skills/rwe-analyze/scripts/fetch_cohort.py \
  --cohort "" \
  --cohort-2 "" \
  --env-file .env
```

### Step 2: Analyze the IPS Summaries

The script outputs IPS natural language summaries. YOU (Claude) then analyze them based on what the user asked for:

**Population Analysis:**
- Total patient count
- Age distribution (mean, range, brackets)
- Gender breakdown
- Most common conditions with prevalence
- Most common medications with prevalence

**Cohort Comparison:**
- Patient counts for each cohort
- Demographics differences
- Condition prevalence differences
- Medication differences

**Study Feasibility:**
1. Parse the user's study criteria (age, required conditions, exclusions, medications)
2. Check each patient's IPS against criteria
3. Generate feasibility report:
   - Total patients in cohort
   - Number and percentage eligible
   - Breakdown by criterion
   - Overall assessment (High ≥70%, Moderate 40-69%, Low <40%)

## Important Guidelines

1. **Always use --env-file**: Pass the `.env` file path explicitly.

2. **Natural language cohort descriptions**: The PhenoML API accepts natural language:
   - "patients with type 2 diabetes"
   - "females over 65 with hypertension"
   - "patients diagnosed with breast cancer in the last 2 years"

3. **IPS format**: The IPS summaries include sections for:
   - Patient demographics (name, DOB, age, gender)
   - Allergies and Intolerances
   - Medication List
   - Problem List (conditions)

## Example Interactions

### Example 1: Basic Cohort Analysis
**User**: "I need to understand our diabetic patient population"

**Response**: Run fetch_cohort.py with `--cohort "patients with diabetes"`, then analyze the IPS summaries to report demographics, common comorbidities, and medication patterns.

### Example 2: Comparing Treatment Groups
**User**: "Compare patients on metformin versus those on insulin"

**Response**: Run fetch_cohort.py with `--cohort "diabetic patients on metformin" --cohort-2 "diabetic patients on insulin"`, then compare the IPS summaries.

### Example 3: Study Feasibility
**User**: "How many diabetics aged 40-70 without kidney problems would qualify for our trial?"

**Response**: Run fetch_cohort.py with `--cohort "patients with diabetes"`, then evaluate each patient's IPS against the criteria (age 40-70, no kidney disease) and report eligibility.

## API Methods Used

| Script | PhenoML APIs |
|--------|--------------|
| fetch_cohort.py | `tools.analyze_cohort()`, `fhir.search()`, `summary.create(mode="ips")` |

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [PhenoML](https://github.com/PhenoML)
- **Source:** [PhenoML/phenoml-skills](https://github.com/PhenoML/phenoml-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-phenoml-phenoml-skills-rwe-analyze
- Seller: https://agentstack.voostack.com/s/phenoml
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
