Generate realistic clinical patient data including demographics, encounters, diagnoses, medications, labs, and vitals. Use when user requests: (1) patient records or clinical data, (2) EMR test data, (3) specific clinical cohorts like diabetes or heart failure, (4) HL7v2 or FHIR patient resources.
Use this skill when the user requests clinical patient data, EMR/EHR test data, or medical records. This is the primary skill for generating realistic synthetic patients with complete clinical histories.
When to apply this skill:
Key capabilities:
For specific clinical cohorts, load the appropriate cohort skill from the table below.
PatientSim generates realistic synthetic clinical data for EMR/EHR testing, including:
Request: "Generate a patient"
{
"mrn": "MRN00000001",
"name": { "given_name": "John", "family_name": "Smith" },
"birth_date": "1975-03-15",
"gender": "M",
"address": {
"street_address": "123 Main Street",
"city": "Springfield",
"state": "IL",
"postal_code": "62701"
}
}
Request: "Generate a diabetic patient with complications"
Claude loads diabetes-management.md and produces a complete clinical picture.
Load the appropriate cohort based on user request:
| Cohort | Trigger Phrases | File |
|---|---|---|
| ADT Workflow | admission, discharge, transfer, ADT, patient movement | adt-workflow.md |
| Behavioral Health | depression, anxiety, bipolar, PTSD, mental health, psychiatric, substance use, PHQ-9, GAD-7 | behavioral-health.md |
| Diabetes Management | diabetes, A1C, glucose, metformin, insulin | diabetes-management.md |
| Heart Failure | CHF, HFrEF, HFpEF, BNP, ejection fraction, I50 | heart-failure.md |
| Chronic Kidney Disease | CKD, eGFR, dialysis, nephropathy | chronic-kidney-disease.md |
| Sepsis/Acute Care | sepsis, infection, ICU, critical care | sepsis-acute-care.md |
| Orders & Results | lab order, radiology, ORM, ORU, results | orders-results.md |
| Maternal Health | pregnancy, prenatal, obstetric, labor, delivery, postpartum, GDM, preeclampsia | maternal-health.md |
| Pediatrics |
| Parameter | Type | Default | Description |
|---|---|---|---|
| age | int or range | 18-90 | Patient age or range |
| gender | M/F/O/U | weighted | M=49%, F=51% |
| conditions | list | none | Specific diagnoses to include |
| severity | string | moderate | mild, moderate, severe |
| encounters | int | 1 | Number of encounters to generate |
| timeline | string | 1 year | How far back to generate history |
Demographics extending the Person model with MRN.
Clinical visit with class (I/O/E/U/OBS), timing, location, providers.
ICD-10-CM code with type (admitting, working, final), dates.
Drug with RxNorm code, dose, route, frequency, status.
Test with LOINC code, value, units, reference range, abnormal flag.
Observation with temperature, HR, RR, BP, SpO2, height, weight.
See data-models.md for complete schemas.
PatientSim ensures generated data is clinically realistic:
See validation-rules.md for complete rules.
All PatientSim data is 100% synthetic (fictional and simulated). Enforce these rules at all times:
9999) unless explicitly pulling from NetworkSim reference data.E11.65 not E11.999). Same for CPT, LOINC, and RxNorm -- use real codes, not invented ones.| Mistake | Why It Fails | Correct Approach |
|---|---|---|
| Assigning pregnancy to a male patient | Gender-inappropriate | Check gender before obstetric conditions |
| Metformin without a diabetes diagnosis | Medication without indication | Always pair drugs with supporting Dx |
| A1C of 14.2% on a healthy patient | Lab contradicts condition list | Abnormal values require matching diagnosis |
ICD-10 code E11.999 | Invalid code -- does not exist | Use valid codes like E11.65 (with complications) |
| Discharge date before admission date | Temporal inversion | Ensure chronological ordering of all events |
Using a real SSN (e.g., 078-05-1120) | PHI leak risk | Generate synthetic SSNs in 900-xx-xxxx range |
| Scenario | Behavior |
|---|---|
| Partial data request ("just demographics") | Omit clinical entities (encounters, labs, meds); return only requested subset |
| Age-cohort conflict ("5-year-old with COPD") | Flag the clinical implausibility, suggest an age-appropriate alternative, and ask before proceeding |
Invalid ICD-10 code from user (e.g., E11.999) | Reject the code, suggest the nearest valid code, explain why |
| Missing required fields (no age or gender given) | Apply defaults from Generation Parameters table; note assumptions in output |
| Contradictory instructions ("healthy patient with A1C of 12%") | Prioritize clinical coherence; ask user to clarify intent |
| Unsupported output format ("as X12 837") | Redirect to MemberSim which owns claims formats; explain the boundary |
| Format | Request | Use Case |
|---|---|---|
| JSON | default | API testing |
| FHIR R4 | "as FHIR", "FHIR bundle" | Interoperability |
| HL7v2 ADT | "as HL7", "ADT message" | Legacy EMR |
| CSV | "as CSV" | Analytics |
Add geography (5-digit county FIPS or 11-digit tract FIPS) to ground generation in real CDC PLACES, SVI, and ADI data. See data-integration.md for full patterns, data sources, and provenance tracking.
Request: "Generate a 45-year-old male with an office visit for hypertension"
Output:
{
"patient": {
"mrn": "MRN00000001",
"name": { "given_name": "Michael", "family_name": "Johnson" },
"birth_date": "1980-06-22",
"gender": "M"
},
"encounter": {
"encounter_id": "ENC0000000001",
"patient_mrn": "MRN00000001",
"class_code": "O",
"status": "finished",
"admission_time": "2025-01-15T09:30:00",
"discharge_time": "2025-01-15T10:00:00",
"chief_complaint": "Blood pressure follow-up"
},
"diagnoses": [
{
"code": "I10",
"description": "Essential hypertension",
"type": "final",
"diagnosed_date": "2024-06-15"
}
],
"medications": [
{
"name": "Lisinopril",
"code": "104376",
"dose": "10 mg",
"route": "PO",
"frequency": "QD",
"status": "active"
}
],
"vitals": {
"observation_time": "2025-01-15T09:35:00",
"systolic_bp": 138,
"diastolic_bp": 88,
"heart_rate": 72,
"temperature": 98.4,
"spo2": 98
}
}
Request: "Create an inpatient admission for pneumonia"
Generates a hospital encounter with:
I (inpatient), admission and discharge datesRequest: "Generate a 68-year-old female with diabetes, hypertension, and CKD stage 3"
Claude combines patterns from multiple cohort skills to generate a coherent patient with:
All cohort sub-skills are listed in the Cohort Skills table above. Additional references:
PatientSim clinical encounters generate corresponding claims in MemberSim:
| PatientSim Cohort | MemberSim Skill | Typical Timing |
|---|---|---|
| Office visits | professional-claims.md | Same day |
| Inpatient stays | facility-claims.md | +2-14 days |
| Surgeries | prior-authorization.md, facility-claims.md | PA before, claim after |
| Behavioral health | behavioral-health.md | Same day |
Integration Pattern: Generate clinical encounter in PatientSim first, then use MemberSim to create corresponding claims with matching dates, diagnoses, and procedures.
PatientSim medication orders generate prescription fills in RxMemberSim:
| PatientSim Cohort | RxMemberSim Skill | Typical Timing |
|---|---|---|
| Chronic disease meds | retail-pharmacy.md | Same day or +1-3 days |
| Discharge meds | retail-pharmacy.md | +0-3 days post-discharge |
| Specialty drugs | specialty-pharmacy.md | +1-7 days |
| High-cost drugs | rx-prior-auth.md | PA required first |
Integration Pattern: Generate medication orders in PatientSim, then use RxMemberSim to model pharmacy fills with matching NDCs and appropriate fill timing.
When geography is specified, PatientSim grounds generation in real CDC PLACES, SVI, and ADI data via PopulationSim. See data-integration.md for the full data-driven generation pattern, data files, and provenance tracking.
NetworkSim provides realistic provider and facility entities for clinical encounters:
| PatientSim Need | NetworkSim Skill | Generated Entity |
|---|---|---|
| Attending physician | provider-for-encounter.md | Provider with NPI, credentials |
| Hospital/facility | synthetic-facility.md | Facility with CCN |
| Specialty referral | synthetic-provider.md | Specialist with taxonomy |
Integration Pattern: Generate encounters in PatientSim first, then use NetworkSim to add realistic provider entities with proper NPIs, credentials, and hospital affiliations.
For patients enrolled in clinical trials:
Integration Pattern: Use PatientSim for clinical care journeys. When a patient enrolls in a trial, apply TrialSim skills for trial-specific data (RECIST, SDTM format, randomization).
PatientSim integrates with the Generative Framework for specification-driven generation at scale.
"Use the Medicare diabetic profile to generate 100 patients" — samples demographics, generates clinical attributes, links to NetworkSim providers."Add the diabetic first-year journey to each patient" — generates encounters over time, labs, medication changes, and complication branching.| ↳ Childhood Asthma | asthma, pediatric, inhaler, albuterol, nebulizer, wheeze | pediatrics/childhood-asthma.md |
| ↳ Acute Otitis Media | ear infection, otitis media, AOM, ear pain, amoxicillin pediatric | pediatrics/acute-otitis-media.md |
| Oncology |
| ↳ Breast Cancer | breast cancer, mastectomy, ER positive, HER2, tamoxifen | oncology/breast-cancer.md |
| ↳ Lung Cancer | lung cancer, NSCLC, EGFR, ALK, immunotherapy | oncology/lung-cancer.md |
| ↳ Colorectal Cancer | colon cancer, rectal cancer, FOLFOX, colonoscopy | oncology/colorectal-cancer.md |