AgentSkillsCN

vte-risk-assessment

根据 CMS 和联合委员会的要求,从 FHIR 数据中生成全面的出院总结,涵盖入院与出院诊断、住院过程、所实施的诊疗操作、出院用药及其调整、随访安排,以及患者须知。当用户询问“撰写出院总结”、“创建出院摘要”、“出院文档”、提到“出院文书”、“护理转接文档”,或需要出院相关文档时,可使用此技能。切勿用于入院 H&P、每日病情记录、门诊就诊记录,或转科总结的编写。

SKILL.md
--- frontmatter
name: vte-risk-assessment
description: |
  Assesses venous thromboembolism risk using Wells DVT, Wells PE, Geneva Score, and Caprini Score from FHIR resources.
  Use when user asks to "assess VTE risk", "Wells score", "DVT risk", "PE probability", "Caprini score",
  "clot risk", "thrombosis risk", "VTE prophylaxis", or needs pre-operative VTE assessment.
  Do NOT use for active anticoagulation management, HIT evaluation, or arterial thrombosis assessment.
metadata:
  author: LangCare
  version: 1.0.0
  mcp-server: langcare-mcp-fhir
  category: clinical-decision-support

VTE Risk Assessment

Overview

Calculate VTE risk scores from FHIR Patient, Condition, Observation, Procedure, and MedicationRequest resources. Supports Wells Criteria for DVT, Wells Criteria for PE, Revised Geneva Score for PE, and Caprini Score for surgical VTE prophylaxis. Generate prophylaxis and diagnostic recommendations based on risk stratification. Create a RiskAssessment FHIR resource documenting findings.

FHIR Resources Used

ResourcePurposeKey Fields
PatientAge, genderbirthDate, gender
ConditionActive diagnoses, cancer, prior VTE, immobilizationcode, clinicalStatus, onsetDateTime
ObservationVitals (HR, SpO2), D-dimer, labscode, valueQuantity, effectiveDateTime
ProcedureRecent surgeries, immobilization, central linescode, status, performedDateTime
MedicationRequestHormonal therapy, anticoagulants, contraceptivesmedicationCodeableConcept, status
RiskAssessmentOutput: VTE risk scoresmethod, prediction, basis

Instructions

Step 1: Retrieve Patient Demographics

code
Tool: fhir_read
resourceType: "Patient"
id: "[patient-id]"

Extract age and gender. Age >40 and >60 have incremental Caprini points.

Step 2: Retrieve Active and Historical Conditions

code
Tool: fhir_search
resourceType: "Condition"
queryParams: "patient=[patient-id]&clinical-status=active,recurrence,remission"

Key SNOMED codes for scoring:

  • 128053003: Deep vein thrombosis
  • 59282003: Pulmonary embolism
  • 363346000: Malignant neoplasm (active cancer)
  • 128599005: Thrombophilia (Factor V Leiden, protein C/S deficiency, antithrombin III deficiency, antiphospholipid syndrome)
  • 40733004: Infectious disease (active infection)
  • 22298006: Myocardial infarction (recent)
  • 42343007: Congestive heart failure
  • 84114007: Heart failure (NYHA class III-IV)
  • 128613002: Inflammatory bowel disease
  • 13645005: COPD
  • 44054006: Diabetes mellitus type 2
  • 414916001: Obesity
  • 70691001: Varicose veins
  • 309585006: Immobility
  • 371128001: Leg swelling (current symptom for Wells DVT)
  • 57676002: Hemoptysis (for Wells PE)

Step 3: Retrieve Recent Procedures

code
Tool: fhir_search
resourceType: "Procedure"
queryParams: "patient=[patient-id]&date=ge[30-days-ago]&status=completed"

Identify:

  • Major orthopedic surgery (hip/knee replacement): SNOMED 179344006, 179406003
  • Major abdominal/pelvic surgery: SNOMED 108034002
  • Neurosurgery: SNOMED 392244008
  • Laparoscopic surgery: SNOMED 108191006
  • Central venous catheterization: SNOMED 233527006
  • Arthroscopic surgery: SNOMED 71106006

Step 4: Retrieve Vital Signs

Heart Rate:

code
Tool: fhir_search
resourceType: "Observation"
queryParams: "patient=[patient-id]&code=8867-4&_sort=-date&_count=3"

LOINC 8867-4 = Heart rate. Used in Revised Geneva Score (75-94 bpm = 3 pts, >=95 = 5 pts).

SpO2:

code
Tool: fhir_search
resourceType: "Observation"
queryParams: "patient=[patient-id]&code=2708-6&_sort=-date&_count=1"

Step 5: Retrieve D-dimer (If Available)

code
Tool: fhir_search
resourceType: "Observation"
queryParams: "patient=[patient-id]&code=48066-5&_sort=-date&_count=1"

LOINC 48066-5 = D-dimer (FEU). Also check 48065-7 (DDU units). Used in diagnostic pathway after clinical probability assessment.

Step 6: Retrieve Active Medications

code
Tool: fhir_search
resourceType: "MedicationRequest"
queryParams: "patient=[patient-id]&status=active"

Identify:

  • Oral contraceptives / HRT (estrogen-containing): increases VTE risk
  • Current anticoagulants (already on prophylaxis/treatment)
  • Chemotherapy agents (increased VTE risk)
  • Tamoxifen/raloxifene (SERMs)

Step 7: Determine Which Scores to Calculate

Clinical ScenarioScore(s)
Suspected DVT (leg swelling, pain)Wells DVT
Suspected PE (dyspnea, chest pain, tachycardia)Wells PE + Revised Geneva
Pre-operative VTE prophylaxisCaprini
Hospitalized medical patientCaprini or Padua (use Caprini)
Post-operative patientCaprini

Refer to references/vte-scoring.md for complete criteria.

Step 8: Calculate Scores and Generate Recommendations

Apply scoring from reference tables. Map to diagnostic pathways and prophylaxis recommendations per references/vte-management.md.

Step 9: Create RiskAssessment Resource

code
Tool: fhir_create
resourceType: "RiskAssessment"
resource: {
  "resourceType": "RiskAssessment",
  "status": "final",
  "subject": {"reference": "Patient/[patient-id]"},
  "occurrenceDateTime": "[current-datetime]",
  "method": {
    "coding": [{"system": "http://snomed.info/sct", "code": "225338004", "display": "Risk assessment"}]
  },
  "prediction": [
    {
      "outcome": {"text": "[Score name]: [value] - [risk level]"},
      "qualitativeRisk": {"coding": [{"system": "http://terminology.hl7.org/CodeSystem/risk-probability", "code": "[low|moderate|high]"}]}
    }
  ],
  "note": [{"text": "[Diagnostic/prophylaxis recommendations]"}]
}

Step 10: Format Output

code
VTE RISK ASSESSMENT
====================
Patient: [name] | Age: [age] | Sex: [sex]
Assessment Date: [datetime]
Clinical Context: [suspected DVT / suspected PE / pre-operative / hospitalized medical]

SCORES
------
[Score Name]: [value] - [risk level]
  Components: [list scored items with individual points]

DIAGNOSTIC PATHWAY
------------------
[Based on score: D-dimer indicated / Imaging indicated / Alternative diagnosis likely]

PROPHYLAXIS RECOMMENDATIONS
----------------------------
[If applicable: pharmacologic / mechanical / combined]

CURRENT ANTICOAGULATION
-----------------------
[Current therapy or none]

RISK FACTORS IDENTIFIED
-----------------------
[List all VTE risk factors found in patient data]

Examples

Example 1: Suspected DVT

User says: "Assess DVT risk for patient 44556, has leg swelling"

Actions:

  1. fhir_read Patient/44556 -- 62M
  2. fhir_search Condition -- active cancer (colon), prior DVT (2022), no immobilization documented
  3. fhir_search Procedure recent -- none in last 30 days
  4. fhir_search Observation D-dimer -- 1.8 mcg/mL FEU (elevated)
  5. fhir_search MedicationRequest -- chemotherapy active (oxaliplatin), no anticoagulant
  6. Calculate: Wells DVT = 4 (active cancer = 1, prior DVT = 1, entire leg swollen = 1, calf >3cm = 1)

Result:

code
VTE RISK ASSESSMENT
====================
Patient: Richard Cole | Age: 62 | Sex: Male
Clinical Context: Suspected DVT

SCORES
------
Wells DVT: 4 - HIGH PROBABILITY (DVT likely)
  Active cancer (+1): Colon cancer, on chemotherapy
  Prior documented DVT (+1): DVT 2022
  Entire leg swollen (+1): Per clinical assessment
  Calf swelling >3cm (+1): Per clinical assessment
  Paralysis/paresis (0), Recently bedridden (0), Localized tenderness (0)
  Pitting edema (0), Collateral veins (0), Alternative diagnosis (-2): NOT applied

DIAGNOSTIC PATHWAY
------------------
Wells >= 2 (DVT likely): Proceed directly to compression ultrasound.
D-dimer (1.8 mcg/mL FEU): Elevated, but D-dimer not useful in "likely" category -- imaging required regardless.
If ultrasound negative but high suspicion: repeat in 5-7 days or consider venography.

RISK FACTORS IDENTIFIED
-----------------------
- Active malignancy (colon cancer)
- Prior VTE history
- Active chemotherapy
- Age >60

Example 2: Pre-Operative VTE Prophylaxis

User says: "Caprini score for patient 78901, scheduled for hip replacement"

Actions:

  1. fhir_read Patient/78901 -- 71F, BMI 34
  2. fhir_search Condition -- obesity, varicose veins, HTN, no prior VTE, no cancer
  3. fhir_search Procedure -- elective total hip arthroplasty scheduled
  4. fhir_search MedicationRequest -- HRT (conjugated estrogens) active
  5. Calculate: Caprini = 9 (age 61-74 = 2, major surgery >45min = 2, BMI >25 = 1, varicose veins = 1, hip arthroplasty = 5... note: some items overlap)

Result:

code
VTE RISK ASSESSMENT
====================
Patient: Patricia Wong | Age: 71 | Sex: Female
Clinical Context: Pre-operative (total hip arthroplasty)

SCORES
------
Caprini: 9 - HIGHEST RISK
  Age 61-74 (+2), Female (+1 if applicable in scoring), BMI >25 (+1),
  Varicose veins (+1), Major surgery >45min (+2),
  Hip arthroplasty (+5)
  Note: Score may vary by institutional Caprini version.

PROPHYLAXIS RECOMMENDATIONS
----------------------------
Caprini >= 5 (Highest Risk):
- Pharmacologic: LMWH (enoxaparin 40mg SQ daily) or rivaroxaban 10mg daily
- Start: 12 hours pre-op or 6-12 hours post-op per protocol
- Duration: Extended prophylaxis 35 days for hip arthroplasty
- Mechanical: Intermittent pneumatic compression devices intra-op and post-op
- Discontinue HRT: Recommend stopping conjugated estrogens >=4 weeks pre-op if elective
- Early mobilization protocol

Troubleshooting

Prior VTE History Not Found in Conditions

  • VTE may be documented as resolved/inactive. Search without clinical-status filter:
    code
    Tool: fhir_search
    resourceType: "Condition"
    queryParams: "patient=[patient-id]&code=128053003,59282003"
    
  • Check for ICD-10 mapped conditions: I26.x (PE), I82.x (DVT). Some FHIR servers use ICD-10 coding system http://hl7.org/fhir/sid/icd-10-cm.

D-dimer Units Vary Between Labs

  • FEU (fibrinogen equivalent units): normal <0.5 mcg/mL or <500 ng/mL
  • DDU (D-dimer units): normal <0.25 mcg/mL or <250 ng/mL
  • FEU = approximately 2x DDU
  • Check valueQuantity.unit to determine which unit system. LOINC 48066-5 = FEU, 48065-7 = DDU.
  • Age-adjusted D-dimer cutoff: age x 10 ng/mL FEU for patients >50 years (e.g., 70-year-old: cutoff = 700 ng/mL FEU).

Cancer Status Unclear

  • Search for any malignant neoplasm conditions regardless of clinical status. Active cancer includes: currently receiving treatment, diagnosed within 6 months, or receiving palliative care. Conditions in remission for >6 months without active treatment are generally not scored as "active cancer" for Wells criteria.

Related Skills

  • clinical-summary-generator -- for full patient context before VTE assessment
  • medication-reconciliation -- to verify anticoagulation therapy and identify hormonal risk factors
  • drug-interaction-checker -- when initiating anticoagulant therapy