v2.0

GoRules Version 2 is here - redesigned, now with managed cloud.GoRules Version 2 is here!

Watch the launch videoWatch

Clinical Pathway Selection

Decision system that determines optimal treatment pathways based on diagnosis severity, comorbidities, and patient characteristics for personalized care plans.

Solution

This clinical pathway selection system guides healthcare providers in choosing appropriate treatment regimens tailored to individual patient needs. The system evaluates primary diagnosis and severity score to determine the clinical domain and establish a base risk assessment. It factors in comorbidities, giving special attention to high-risk conditions like kidney disease, COPD, and immunocompromised status to calculate additional risk factors.

The evaluation includes patient-specific factors such as age and BMI to further refine risk stratification. Based on comprehensive risk scoring, the system recommends one of three care pathways: standard, enhanced, or intensive, each with specific follow-up frequencies and monitoring requirements. This ensures patients receive proportionate care based on their clinical needs, optimizing resource allocation while maintaining quality care standards.

How it works

The decision graph evaluates patients through multiple assessment nodes:

  1. Initial Diagnosis Assessment: Categorizes the primary diagnosis (heart failure, pneumonia, diabetes, stroke) into clinical domains and assigns a base risk score.
  2. Comorbidity Evaluation: Counts total comorbidities and identifies high-risk conditions (kidney disease, COPD, immunocompromised status) to calculate a comorbidity risk score.
  3. Patient Factor Analysis: Evaluates age and BMI to determine additional risk factors and assigns a patient risk category.
  4. Pathway Selection: Uses the total risk score to route patients to one of three treatment pathways:
    • Intensive Pathway: Daily follow-up with comprehensive monitoring for high-risk patients
    • Enhanced Pathway: Twice-weekly follow-up with extended monitoring for moderate-risk patients
    • Standard Pathway: Weekly follow-up with basic monitoring for lower-risk patients

Where teams use it

  • Primary care management of chronic conditions
  • Hospital discharge planning and follow-up protocols
  • Integrated care coordination for complex patients
  • Remote patient monitoring program design
  • Clinical resource allocation optimization
  • Standardization of care for common diagnoses
  • Risk stratification for population health management

Inside the decision model

Clinical Pathway Selection ships as a JDM decision graph with 8 nodes, 2 decision tables and 12 rules. Download it, load it into GoRules, and run it as-is on Zen Engine.

Decision graph8 nodes · read-only
input requesttable diagnosisEvaluationexpression comorbidityEvaluationtable patientFactorsEvaluationswitch pathwaySelectionexpression standardPathwayexpression enhancedPathwayexpression intensivePathway
01

Request

input

A single patient object supplies everything the graph needs: primaryDiagnosis and severityScore feed the first table, comorbidities feed the risk expression, and age and bmi feed the patient-factor table, while medications, vital signs, and labs pass through as context.

Sample requestJSON
{
  "patient": {
    "id": "P1234567",
    "primaryDiagnosis": "heart_failure",
    "severityScore": 3,
    "age": 72,
    "bmi": 24,
    "comorbidities": [
      "diabetes",
      "hypertension",
      "kidney_disease"
    ],
    "currentMedications": [
      {
        "name": "Lisinopril",
        "dosage": "10mg",
        "frequency": "daily"
      },
      {
        "name": "Metformin",
        "dosage": "500mg",
        "frequency": "twice daily"
      },
      {
        "name": "Furosemide",
        "dosage": "40mg",
        "frequency": "daily"
      }
    ],
    "vitalSigns": {
      "bloodPressure": {
        "systolic": 142,
        "diastolic": 85
      },
      "heartRate": 88,
      "oxygenSaturation": 94,
      "temperature": 37.1
    },
    "labResults": {
      "bnp": 450,
      "creatinine": 1.4,
      "potassium": 4.2,
      "hba1c": 7.8
    }
  }
}
02

Diagnosis Evaluation

table

Pairs of patient.primaryDiagnosis and patient.severityScore map each condition to a clinical domain and a base risk, first hit wins. 'heart_failure' with severity above 2 scores 8 in the 'cardiac' domain against 5 otherwise, 'pneumonia' splits 7/4 in 'respiratory', 'diabetes' splits 6/3 in 'endocrine' with its severe cut at 8.5, 'stroke' carries the steepest scores of 9 and 6 in 'neurological', and anything unlisted lands in 'general' with a base of 2.

Putting stroke and decompensated heart failure at the top of the base-risk ladder is consistent with how care-management programs stratify: both drive high readmission rates and need early follow-up, and CMS readmission measures specifically target heart failure and pneumonia. The severity splits themselves (2, 1, 8.5, 1) are calibration choices for this model rather than published cutoffs.

Decision tablefirst hit policy
Primary Diagnosispatient.primaryDiagnosisSeverity Scorepatient.severityScoreClinical Domainevaluation.clinicalDomainBase Risk Scoreevaluation.baseRiskScore
'heart_failure'> 2'cardiac'8
'heart_failure'-'cardiac'5
'pneumonia'> 1'respiratory'7
'pneumonia'-'respiratory'4
'diabetes'> 8.5'endocrine'6
'diabetes'-'endocrine'3

+3 more rows in the downloadable template

03

Comorbidity Evaluation

expression

Four chained expressions build the running risk total: comorbidityCount takes len(patient.comorbidities ?? []), hasHighRiskComorbidity flags 'kidney_disease', 'copd', or 'immunocompromised', and comorbidityRiskScore weights the count at 2 points each plus 3 for any high-risk hit. The final totalRiskScore adds that to evaluation.baseRiskScore, so multimorbidity compounds the diagnosis risk before pathway selection.

Expressions4 fields
comorbidityCountlen(patient.comorbidities ?? [])
hasHighRiskComorbiditycontains(patient.comorbidities ?? [], 'kidney_disease') or contains(patient.comorbidities ?? [], 'copd') or contains(patient.comorbidities ?? [], 'immunocompromised')
comorbidityRiskScore$.comorbidityCount * 2 + ($.hasHighRiskComorbidity ? 3 : 0)
totalRiskScoreevaluation.baseRiskScore + $.comorbidityRiskScore
04

Patient Factors Evaluation

table

Age and BMI act together in each row: a patient over 80 with a BMI under 20 adds 3 to evaluation.additionalRiskScore and gets a 'high' patientRiskCategory, over 70 with BMI under 25 adds 2 as 'moderate', and everyone else passes with 0 as 'standard'. Because the hit policy is first, a very old underweight patient never falls into the milder row.

Pairing advanced age with low BMI is deliberate: in geriatric assessment, being underweight is a recognized marker of frailty and malnutrition, and it predicts complications far more strongly in an 80-year-old than in a younger adult. The exact 80/20 and 70/25 cutoffs are practical stratification choices rather than a formal frailty index.

Decision tablefirst hit policy
Agepatient.ageBMIpatient.bmiAdditional Risk Scoreevaluation.additionalRiskScorePatient Risk Categoryevaluation.patientRiskCategory
> 80< 203'high'
> 70< 252'moderate'
--0'standard'
05

Pathway Selection

switch

Routing runs on total burden: a totalRiskScore + evaluation.additionalRiskScore of 12 or more branches to the intensive path, 8 or more to enhanced, and the isDefault statement sends everything else to standard. Ordering matters because the first hit policy checks the highest threshold first, so a score of 14 never reaches the enhanced branch.

Branches3 paths
totalRiskScore + evaluation.additionalRiskScore >= 12 Intensive Pathway
totalRiskScore + evaluation.additionalRiskScore >= 8 Enhanced Pathway
otherwise Standard Pathway
06

Standard Pathway

expression

Low-risk patients get the lightest plan: selectedPathway 'standard', a 'weekly' followupFrequency, and recommendedMonitoring limited to 'basic_vitals' and 'medication_adherence'. Keeping this branch minimal reserves clinical time for the two higher tiers.

Expressions3 fields
selectedPathway'standard'
followupFrequency'weekly'
recommendedMonitoring['basic_vitals', 'medication_adherence']
07

Enhanced Pathway

expression

Moderate scorers move to 'twice_weekly' follow-up with recommendedMonitoring extended to 'lifestyle_factors' on top of vitals and adherence checks. This middle tier lets a rising-risk patient be watched more closely without committing daily-visit resources.

Expressions3 fields
selectedPathway'enhanced'
followupFrequency'twice_weekly'
recommendedMonitoring['extended_vitals', 'medication_adherence', 'lifestyle_factors']
08

Intensive Pathway

expression

High-risk patients are seen 'daily' with 'comprehensive_vitals', 'lifestyle_factors', and a 'specialist_consultation' added to the monitoring list. Gating the intensive tier at a combined score of 12 keeps its resource cost proportional to genuine clinical need.

Expressions3 fields
selectedPathway'intensive'
followupFrequency'daily'
recommendedMonitoring['comprehensive_vitals', 'medication_adherence', 'lifestyle_factors', 'specialist_consultation']

Make this template
your own.

Load Clinical Pathway Selection into GoRules, adjust the rules to your policy, and ship it behind your own API.