Curaway Prompt Graph¶
AUTO-GENERATED. Edit
scripts/generate_prompt_graph.pyand regenerate; do not hand-edit this file. Drift CI (tests/test_prompt_graph_drift.py) blocks PRs that ship out-of-sync output.
Source files projected here:
- config/prompts/sops/*.yaml
- config/intake_fields.yaml
- config/document_types.yaml
- config/prompts/stages.yaml
- config/prompts/knowledge/*.yaml
Design: ADR-0028 (YAML source of truth + build-time graph projection) + design spec §5.
SOP Inventory¶
| SOP id | Procedure codes | Parent | Layers | FAQs | reviewed_at | Data source |
|---|---|---|---|---|---|---|
acl_repair |
29888, ACL repair, ACL reconstruction, ACL tear, torn ACL, ACL injury, S83.51, S83.519 |
— |
5 | 10 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
bilateral_knee_replacement |
27447-BIL, bilateral knee replacement, bilateral TKR, BKR, M17.0 |
— |
5 | 15 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
cervical_decompression |
63045, cervical decompression, ACDF, M50 |
— |
5 | 11 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
fracture_fixation |
27245, ORIF, FRACTURE-FIXATION, S72.001A, S72.002A |
— |
7 | 47 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
knee_arthroscopy |
29870, knee arthroscopy, diagnostic arthroscopy |
— |
5 | 10 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
laminectomy |
63005, laminectomy, M48, M48.06 |
— |
5 | 10 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
lumbar_decompression |
63047, lumbar decompression, lumbar microdiscectomy, disc surgery, slipped disc surgery, herniated disc surgery, M51 |
— |
5 | 11 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
meniscus_repair |
29882, meniscus repair, meniscectomy, meniscus tear, torn meniscus, meniscal tear, S83.2 |
— |
5 | 10 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
post_surgical_rehab |
REHAB-POSTOP-001, POST-SURGICAL-REHAB, Z47.1, Z48.89 |
— |
8 | 50 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
robotic_hip_replacement |
27130-ROBO, robotic hip replacement, robotic THR |
— |
5 | 12 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
robotic_knee_replacement |
27447-ROBO, robotic knee replacement, robotic TKR |
— |
5 | 12 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
rotator_cuff_repair |
23420, rotator cuff repair, rotator cuff tear, torn rotator cuff, rotator cuff injury, M75.100, M75.101 |
— |
6 | 51 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
scoliosis_correction |
22800, scoliosis correction, scoliosis surgery, M41.9 |
— |
5 | 11 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
shoulder_arthroscopy |
29805, shoulder arthroscopy, shoulder scope |
— |
6 | 41 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
shoulder_replacement |
23472, shoulder replacement, shoulder arthroplasty, M19.011, M19.012 |
— |
6 | 59 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
spinal_fusion |
22612, SPINAL_FUSION, M47.816, M48.06, M43.16 |
— |
7 | 58 | 2026-05-25 | ⚠️ fabricated_pending_naidu_review_2026_05_25 |
thr |
27130, THR, hip replacement, total hip replacement, hip arthroplasty, M16.11, M16.10, M16.12 |
— |
6 | 60 | 2026-05-22 | ⚠️ fabricated_pending_naidu_review_2026_05_22 |
tkr |
27447, TKR, knee replacement, total knee replacement, knee arthroplasty, M17.11, M17.10, M17.12 |
— |
6 | 58 | 2026-05-22 | ⚠️ fabricated_pending_naidu_review_2026_05_22 |
SOP Inheritance¶
No SOPs declare a parent: today. (Phase 1 supports ONE level of inheritance only per spec Risk 7.)
SOP Layer → Intake Field Wiring¶
acl_repair (config/prompts/sops/acl_repair.yaml)¶
flowchart LR
mobility_conditioning["L1: mobility_conditioning @ 0.7"]
mobility_conditioning --> primary_complaint([primary_complaint])
mobility_conditioning --> affected_side([affected_side])
mobility_conditioning --> symptom_duration_months([symptom_duration_months])
mobility_conditioning --> functional_capacity([functional_capacity])
mobility_conditioning --> activity_profile([activity_profile])
radiology["L2: radiology"]
radiology --> imaging_mri([imaging_mri])
radiology --> imaging_xray([imaging_xray])
radiology --> radiology_findings([radiology_findings])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> injury_mechanism([injury_mechanism])
etiology --> underlying_condition([underlying_condition])
etiology --> prior_treatment_history([prior_treatment_history])
comorbidities_meds["L4: comorbidities_meds"]
comorbidities_meds --> active_medications([active_medications])
comorbidities_meds --> chronic_conditions([chronic_conditions])
logistics["L5: logistics"]
logistics --> travel_companion_available([travel_companion_available])
logistics --> timing_flexibility([timing_flexibility])
bilateral_knee_replacement (config/prompts/sops/bilateral_knee_replacement.yaml)¶
flowchart LR
mobility_conditioning["L1: mobility_conditioning @ 0.7"]
mobility_conditioning --> primary_complaint([primary_complaint])
mobility_conditioning --> affected_side([affected_side])
mobility_conditioning --> symptom_duration_months([symptom_duration_months])
mobility_conditioning --> pain_score([pain_score])
mobility_conditioning --> functional_capacity([functional_capacity])
radiology["L2: radiology @ 0.6"]
radiology --> imaging_xray([imaging_xray])
radiology --> imaging_mri([imaging_mri])
radiology --> radiology_findings([radiology_findings])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology @ 0.6"]
etiology --> underlying_condition([underlying_condition])
etiology --> prior_treatment_history([prior_treatment_history])
comorbidities_meds["L4: comorbidities_meds @ 0.7"]
comorbidities_meds --> active_medications([active_medications])
comorbidities_meds --> chronic_conditions([chronic_conditions])
comorbidities_meds --> anticoagulant_use([anticoagulant_use])
comorbidities_meds --> bmi([bmi])
logistics["L5: logistics @ 0.5"]
logistics --> travel_companion_available([travel_companion_available])
logistics --> destination_preferences([destination_preferences])
logistics --> timing_flexibility([timing_flexibility])
cervical_decompression (config/prompts/sops/cervical_decompression.yaml)¶
flowchart LR
neuro_assessment["L1: neuro_assessment @ 0.7"]
neuro_assessment --> primary_complaint([primary_complaint])
neuro_assessment --> pain_score([pain_score])
neuro_assessment --> radiating_pain([radiating_pain])
neuro_assessment --> nerve_distribution([nerve_distribution])
neuro_assessment --> numbness_tingling([numbness_tingling])
neuro_assessment --> limb_weakness([limb_weakness])
neuro_assessment --> bladder_bowel_symptoms([bladder_bowel_symptoms])
radiology["L2: radiology"]
radiology --> imaging_mri([imaging_mri])
radiology --> radiology_findings([radiology_findings])
radiology --> spine_level([spine_level])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> underlying_condition([underlying_condition])
etiology --> conservative_treatment_history([conservative_treatment_history])
comorbidities_meds["L4: comorbidities_meds"]
comorbidities_meds --> active_medications([active_medications])
comorbidities_meds --> chronic_conditions([chronic_conditions])
comorbidities_meds --> anticoagulant_use([anticoagulant_use])
logistics["L5: logistics"]
logistics --> travel_companion_available([travel_companion_available])
logistics --> timing_flexibility([timing_flexibility])
fracture_fixation (config/prompts/sops/fracture_fixation.yaml)¶
flowchart LR
acute_injury_context["L1: acute_injury_context @ 0.7"]
acute_injury_context --> primary_complaint([primary_complaint])
acute_injury_context --> affected_side([affected_side])
acute_injury_context --> injury_mechanism([injury_mechanism])
acute_injury_context --> injury_time_hours_ago([injury_time_hours_ago])
acute_injury_context --> pain_score([pain_score])
stabilization_status["L2: stabilization_status @ 0.6"]
stabilization_status --> stabilization_status([stabilization_status])
stabilization_status --> fracture_status([fracture_status])
stabilization_status --> weight_bearing_status([weight_bearing_status])
radiology["L3: radiology @ 0.6"]
radiology --> imaging_type([imaging_type])
radiology --> fracture_status([fracture_status])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
urgency_triage["L4: urgency_triage"]
urgency_triage --> urgency_level([urgency_level])
comorbidities_meds["L5: comorbidities_meds @ 0.7"]
comorbidities_meds --> comorbidities([comorbidities])
comorbidities_meds --> medications([medications])
comorbidities_meds --> anticoagulant_use([anticoagulant_use])
comorbidities_meds --> bone_density_status([bone_density_status])
comorbidities_meds --> allergies([allergies])
comorbidities_meds --> smoking_status([smoking_status])
logistics["L6: logistics"]
logistics --> country_of_residence([country_of_residence])
logistics --> preferred_corridors([preferred_corridors])
logistics --> travel_window([travel_window])
financial["L7: financial"]
financial --> funding_source([funding_source])
financial --> budget_range([budget_range])
knee_arthroscopy (config/prompts/sops/knee_arthroscopy.yaml)¶
flowchart LR
mobility_conditioning["L1: mobility_conditioning @ 0.6"]
mobility_conditioning --> primary_complaint([primary_complaint])
mobility_conditioning --> affected_side([affected_side])
mobility_conditioning --> symptom_duration_months([symptom_duration_months])
mobility_conditioning --> pain_score([pain_score])
radiology["L2: radiology"]
radiology --> imaging_mri([imaging_mri])
radiology --> imaging_xray([imaging_xray])
radiology --> radiology_findings([radiology_findings])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> injury_mechanism([injury_mechanism])
etiology --> underlying_condition([underlying_condition])
comorbidities_meds["L4: comorbidities_meds"]
comorbidities_meds --> active_medications([active_medications])
comorbidities_meds --> chronic_conditions([chronic_conditions])
logistics["L5: logistics"]
logistics --> timing_flexibility([timing_flexibility])
laminectomy (config/prompts/sops/laminectomy.yaml)¶
flowchart LR
neuro_assessment["L1: neuro_assessment @ 0.7"]
neuro_assessment --> primary_complaint([primary_complaint])
neuro_assessment --> pain_score([pain_score])
neuro_assessment --> radiating_pain([radiating_pain])
neuro_assessment --> nerve_distribution([nerve_distribution])
neuro_assessment --> numbness_tingling([numbness_tingling])
neuro_assessment --> limb_weakness([limb_weakness])
neuro_assessment --> bladder_bowel_symptoms([bladder_bowel_symptoms])
radiology["L2: radiology"]
radiology --> imaging_mri([imaging_mri])
radiology --> imaging_xray([imaging_xray])
radiology --> radiology_findings([radiology_findings])
radiology --> spine_level([spine_level])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> underlying_condition([underlying_condition])
etiology --> conservative_treatment_history([conservative_treatment_history])
etiology --> sitting_tolerance([sitting_tolerance])
comorbidities_meds["L4: comorbidities_meds"]
comorbidities_meds --> active_medications([active_medications])
comorbidities_meds --> chronic_conditions([chronic_conditions])
comorbidities_meds --> anticoagulant_use([anticoagulant_use])
logistics["L5: logistics"]
logistics --> travel_companion_available([travel_companion_available])
logistics --> timing_flexibility([timing_flexibility])
lumbar_decompression (config/prompts/sops/lumbar_decompression.yaml)¶
flowchart LR
neuro_assessment["L1: neuro_assessment @ 0.7"]
neuro_assessment --> primary_complaint([primary_complaint])
neuro_assessment --> pain_score([pain_score])
neuro_assessment --> radiating_pain([radiating_pain])
neuro_assessment --> nerve_distribution([nerve_distribution])
neuro_assessment --> numbness_tingling([numbness_tingling])
neuro_assessment --> limb_weakness([limb_weakness])
neuro_assessment --> bladder_bowel_symptoms([bladder_bowel_symptoms])
radiology["L2: radiology"]
radiology --> imaging_mri([imaging_mri])
radiology --> radiology_findings([radiology_findings])
radiology --> spine_level([spine_level])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> underlying_condition([underlying_condition])
etiology --> conservative_treatment_history([conservative_treatment_history])
etiology --> sitting_tolerance([sitting_tolerance])
comorbidities_meds["L4: comorbidities_meds"]
comorbidities_meds --> active_medications([active_medications])
comorbidities_meds --> chronic_conditions([chronic_conditions])
comorbidities_meds --> anticoagulant_use([anticoagulant_use])
logistics["L5: logistics"]
logistics --> travel_companion_available([travel_companion_available])
logistics --> timing_flexibility([timing_flexibility])
meniscus_repair (config/prompts/sops/meniscus_repair.yaml)¶
flowchart LR
mobility_conditioning["L1: mobility_conditioning @ 0.7"]
mobility_conditioning --> primary_complaint([primary_complaint])
mobility_conditioning --> affected_side([affected_side])
mobility_conditioning --> symptom_duration_months([symptom_duration_months])
mobility_conditioning --> pain_score([pain_score])
radiology["L2: radiology"]
radiology --> imaging_mri([imaging_mri])
radiology --> imaging_xray([imaging_xray])
radiology --> radiology_findings([radiology_findings])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> injury_mechanism([injury_mechanism])
etiology --> underlying_condition([underlying_condition])
comorbidities_meds["L4: comorbidities_meds"]
comorbidities_meds --> active_medications([active_medications])
comorbidities_meds --> chronic_conditions([chronic_conditions])
logistics["L5: logistics"]
logistics --> timing_flexibility([timing_flexibility])
post_surgical_rehab (config/prompts/sops/post_surgical_rehab.yaml)¶
flowchart LR
current_function["L1: current_function @ 0.7"]
current_function --> primary_complaint([primary_complaint])
current_function --> affected_side([affected_side])
current_function --> pain_score([pain_score])
current_function --> current_rom_status([current_rom_status])
current_function --> current_mobility_aids([current_mobility_aids])
current_function --> recovery_concern([recovery_concern])
surgical_history["L2: surgical_history @ 0.7"]
surgical_history --> prior_surgery_type([prior_surgery_type])
surgical_history --> prior_surgery_months_ago([prior_surgery_months_ago])
surgical_history --> discharge_restrictions([discharge_restrictions])
pt_progress["L3: pt_progress @ 0.6"]
pt_progress --> pt_sessions_completed([pt_sessions_completed])
pt_progress --> pt_frequency_per_week([pt_frequency_per_week])
pain_management["L4: pain_management @ 0.6"]
pain_management --> current_pain_meds([current_pain_meds])
wound_status["L5: wound_status @ 0.5"]
wound_status --> wound_status([wound_status])
wound_status -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
comorbidities_meds["L6: comorbidities_meds @ 0.7"]
comorbidities_meds --> comorbidities([comorbidities])
comorbidities_meds --> medications([medications])
comorbidities_meds --> allergies([allergies])
comorbidities_meds --> smoking_status([smoking_status])
comorbidities_meds --> bmi([bmi])
logistics["L7: logistics"]
logistics --> country_of_residence([country_of_residence])
logistics --> preferred_corridors([preferred_corridors])
logistics --> travel_window([travel_window])
financial["L8: financial"]
financial --> funding_source([funding_source])
financial --> budget_range([budget_range])
robotic_hip_replacement (config/prompts/sops/robotic_hip_replacement.yaml)¶
flowchart LR
mobility_conditioning["L1: mobility_conditioning @ 0.7"]
mobility_conditioning --> primary_complaint([primary_complaint])
mobility_conditioning --> affected_side([affected_side])
mobility_conditioning --> symptom_duration_months([symptom_duration_months])
mobility_conditioning --> pain_score([pain_score])
mobility_conditioning --> functional_capacity([functional_capacity])
radiology["L2: radiology"]
radiology --> imaging_xray([imaging_xray])
radiology --> imaging_mri([imaging_mri])
radiology --> radiology_findings([radiology_findings])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> underlying_condition([underlying_condition])
etiology --> prior_treatment_history([prior_treatment_history])
comorbidities_meds["L4: comorbidities_meds @ 0.7"]
comorbidities_meds --> active_medications([active_medications])
comorbidities_meds --> chronic_conditions([chronic_conditions])
comorbidities_meds --> anticoagulant_use([anticoagulant_use])
logistics["L5: logistics"]
logistics --> travel_companion_available([travel_companion_available])
logistics --> destination_preferences([destination_preferences])
logistics --> timing_flexibility([timing_flexibility])
robotic_knee_replacement (config/prompts/sops/robotic_knee_replacement.yaml)¶
flowchart LR
mobility_conditioning["L1: mobility_conditioning @ 0.7"]
mobility_conditioning --> primary_complaint([primary_complaint])
mobility_conditioning --> affected_side([affected_side])
mobility_conditioning --> symptom_duration_months([symptom_duration_months])
mobility_conditioning --> pain_score([pain_score])
mobility_conditioning --> functional_capacity([functional_capacity])
radiology["L2: radiology @ 0.6"]
radiology --> imaging_xray([imaging_xray])
radiology --> imaging_mri([imaging_mri])
radiology --> radiology_findings([radiology_findings])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> underlying_condition([underlying_condition])
etiology --> prior_treatment_history([prior_treatment_history])
comorbidities_meds["L4: comorbidities_meds @ 0.7"]
comorbidities_meds --> active_medications([active_medications])
comorbidities_meds --> chronic_conditions([chronic_conditions])
comorbidities_meds --> anticoagulant_use([anticoagulant_use])
logistics["L5: logistics"]
logistics --> travel_companion_available([travel_companion_available])
logistics --> destination_preferences([destination_preferences])
logistics --> timing_flexibility([timing_flexibility])
rotator_cuff_repair (config/prompts/sops/rotator_cuff_repair.yaml)¶
flowchart LR
mobility_conditioning["L1: mobility_conditioning @ 0.7"]
mobility_conditioning --> primary_complaint([primary_complaint])
mobility_conditioning --> affected_side([affected_side])
mobility_conditioning --> dominant_arm([dominant_arm])
mobility_conditioning --> symptom_duration_months([symptom_duration_months])
mobility_conditioning --> pain_score([pain_score])
mobility_conditioning --> range_of_motion_baseline([range_of_motion_baseline])
mobility_conditioning --> activity_profile([activity_profile])
radiology["L2: radiology @ 0.6"]
radiology --> imaging_type([imaging_type])
radiology --> joint_space_status([joint_space_status])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> etiology([etiology])
comorbidities_meds["L4: comorbidities_meds @ 0.7"]
comorbidities_meds --> comorbidities([comorbidities])
comorbidities_meds --> medications([medications])
comorbidities_meds --> allergies([allergies])
comorbidities_meds --> smoking_status([smoking_status])
comorbidities_meds --> bmi([bmi])
logistics["L5: logistics"]
logistics --> country_of_residence([country_of_residence])
logistics --> preferred_corridors([preferred_corridors])
logistics --> travel_window([travel_window])
financial["L6: financial"]
financial --> funding_source([funding_source])
financial --> budget_range([budget_range])
scoliosis_correction (config/prompts/sops/scoliosis_correction.yaml)¶
flowchart LR
neuro_assessment["L1: neuro_assessment @ 0.7"]
neuro_assessment --> primary_complaint([primary_complaint])
neuro_assessment --> pain_score([pain_score])
neuro_assessment --> radiating_pain([radiating_pain])
neuro_assessment --> numbness_tingling([numbness_tingling])
neuro_assessment --> limb_weakness([limb_weakness])
neuro_assessment --> bladder_bowel_symptoms([bladder_bowel_symptoms])
radiology["L2: radiology"]
radiology --> imaging_xray([imaging_xray])
radiology --> imaging_mri([imaging_mri])
radiology --> radiology_findings([radiology_findings])
radiology --> spine_level([spine_level])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> underlying_condition([underlying_condition])
etiology --> prior_treatment_history([prior_treatment_history])
etiology --> conservative_treatment_history([conservative_treatment_history])
comorbidities_meds["L4: comorbidities_meds"]
comorbidities_meds --> active_medications([active_medications])
comorbidities_meds --> chronic_conditions([chronic_conditions])
comorbidities_meds --> anticoagulant_use([anticoagulant_use])
comorbidities_meds --> bone_density_status([bone_density_status])
logistics["L5: logistics"]
logistics --> travel_companion_available([travel_companion_available])
logistics --> caregiver_availability([caregiver_availability])
logistics --> bracing_acceptance([bracing_acceptance])
shoulder_arthroscopy (config/prompts/sops/shoulder_arthroscopy.yaml)¶
flowchart LR
mobility_conditioning["L1: mobility_conditioning @ 0.7"]
mobility_conditioning --> primary_complaint([primary_complaint])
mobility_conditioning --> affected_side([affected_side])
mobility_conditioning --> dominant_arm([dominant_arm])
mobility_conditioning --> symptom_duration_months([symptom_duration_months])
mobility_conditioning --> pain_score([pain_score])
mobility_conditioning --> range_of_motion_baseline([range_of_motion_baseline])
mobility_conditioning --> activity_profile([activity_profile])
radiology["L2: radiology @ 0.6"]
radiology --> imaging_type([imaging_type])
radiology --> joint_space_status([joint_space_status])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> etiology([etiology])
comorbidities_meds["L4: comorbidities_meds @ 0.7"]
comorbidities_meds --> comorbidities([comorbidities])
comorbidities_meds --> medications([medications])
comorbidities_meds --> allergies([allergies])
comorbidities_meds --> smoking_status([smoking_status])
comorbidities_meds --> bmi([bmi])
logistics["L5: logistics"]
logistics --> country_of_residence([country_of_residence])
logistics --> preferred_corridors([preferred_corridors])
logistics --> travel_window([travel_window])
financial["L6: financial"]
financial --> funding_source([funding_source])
financial --> budget_range([budget_range])
shoulder_replacement (config/prompts/sops/shoulder_replacement.yaml)¶
flowchart LR
mobility_conditioning["L1: mobility_conditioning @ 0.7"]
mobility_conditioning --> primary_complaint([primary_complaint])
mobility_conditioning --> affected_side([affected_side])
mobility_conditioning --> dominant_arm([dominant_arm])
mobility_conditioning --> symptom_duration_months([symptom_duration_months])
mobility_conditioning --> pain_score([pain_score])
mobility_conditioning --> range_of_motion_baseline([range_of_motion_baseline])
mobility_conditioning --> activity_profile([activity_profile])
radiology["L2: radiology @ 0.6"]
radiology --> imaging_type([imaging_type])
radiology --> joint_space_status([joint_space_status])
radiology --> deformities([deformities])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> etiology([etiology])
comorbidities_meds["L4: comorbidities_meds @ 0.7"]
comorbidities_meds --> comorbidities([comorbidities])
comorbidities_meds --> medications([medications])
comorbidities_meds --> allergies([allergies])
comorbidities_meds --> smoking_status([smoking_status])
comorbidities_meds --> bmi([bmi])
comorbidities_meds --> prior_surgeries([prior_surgeries])
logistics["L5: logistics"]
logistics --> country_of_residence([country_of_residence])
logistics --> preferred_corridors([preferred_corridors])
logistics --> travel_window([travel_window])
financial["L6: financial"]
financial --> funding_source([funding_source])
financial --> budget_range([budget_range])
spinal_fusion (config/prompts/sops/spinal_fusion.yaml)¶
flowchart LR
neuro_assessment["L1: neuro_assessment @ 0.7"]
neuro_assessment --> primary_complaint([primary_complaint])
neuro_assessment --> pain_score([pain_score])
neuro_assessment --> symptom_duration_months([symptom_duration_months])
neuro_assessment --> radiating_pain([radiating_pain])
neuro_assessment --> nerve_distribution([nerve_distribution])
neuro_assessment --> limb_weakness([limb_weakness])
neuro_assessment --> numbness_tingling([numbness_tingling])
neuro_assessment --> bladder_bowel_symptoms([bladder_bowel_symptoms])
radiology["L2: radiology @ 0.6"]
radiology --> imaging_type([imaging_type])
radiology --> spine_level([spine_level])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> etiology([etiology])
etiology --> prior_spine_intervention([prior_spine_intervention])
etiology --> conservative_treatment_history([conservative_treatment_history])
functional_capacity["L4: functional_capacity @ 0.6"]
functional_capacity --> walking_distance([walking_distance])
functional_capacity --> sitting_tolerance([sitting_tolerance])
functional_capacity --> sleep_impact([sleep_impact])
functional_capacity --> oswestry_score_estimate([oswestry_score_estimate])
comorbidities_meds["L5: comorbidities_meds @ 0.7"]
comorbidities_meds --> comorbidities([comorbidities])
comorbidities_meds --> medications([medications])
comorbidities_meds --> allergies([allergies])
comorbidities_meds --> smoking_status([smoking_status])
comorbidities_meds --> bmi([bmi])
comorbidities_meds --> bone_density_status([bone_density_status])
logistics["L6: logistics"]
logistics --> country_of_residence([country_of_residence])
logistics --> preferred_corridors([preferred_corridors])
logistics --> travel_window([travel_window])
logistics --> caregiver_availability([caregiver_availability])
logistics --> bracing_acceptance([bracing_acceptance])
financial["L7: financial"]
financial --> funding_source([funding_source])
financial --> budget_range([budget_range])
thr (config/prompts/sops/thr.yaml)¶
flowchart LR
mobility_conditioning["L1: mobility_conditioning @ 0.7"]
mobility_conditioning --> primary_complaint([primary_complaint])
mobility_conditioning --> affected_side([affected_side])
mobility_conditioning --> symptom_duration_months([symptom_duration_months])
mobility_conditioning --> pain_score([pain_score])
mobility_conditioning --> walking_distance([walking_distance])
mobility_conditioning --> stairs_ability([stairs_ability])
radiology["L2: radiology @ 0.6"]
radiology --> imaging_type([imaging_type])
radiology --> joint_space_status([joint_space_status])
radiology --> deformities([deformities])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> etiology([etiology])
comorbidities_meds["L4: comorbidities_meds @ 0.7"]
comorbidities_meds --> comorbidities([comorbidities])
comorbidities_meds --> medications([medications])
comorbidities_meds --> allergies([allergies])
comorbidities_meds --> smoking_status([smoking_status])
comorbidities_meds --> bmi([bmi])
logistics["L5: logistics"]
logistics --> country_of_residence([country_of_residence])
logistics --> preferred_corridors([preferred_corridors])
logistics --> travel_window([travel_window])
financial["L6: financial"]
financial --> funding_source([funding_source])
financial --> budget_range([budget_range])
tkr (config/prompts/sops/tkr.yaml)¶
flowchart LR
mobility_conditioning["L1: mobility_conditioning @ 0.7"]
mobility_conditioning --> primary_complaint([primary_complaint])
mobility_conditioning --> affected_side([affected_side])
mobility_conditioning --> symptom_duration_months([symptom_duration_months])
mobility_conditioning --> pain_score([pain_score])
mobility_conditioning --> walking_distance([walking_distance])
mobility_conditioning --> stairs_ability([stairs_ability])
radiology["L2: radiology @ 0.6"]
radiology --> imaging_type([imaging_type])
radiology --> joint_space_status([joint_space_status])
radiology -. boost on .-> documents_uploaded_imaging_present{documents_uploaded.imaging_present}
etiology["L3: etiology"]
etiology --> etiology([etiology])
comorbidities_meds["L4: comorbidities_meds @ 0.7"]
comorbidities_meds --> comorbidities([comorbidities])
comorbidities_meds --> medications([medications])
comorbidities_meds --> allergies([allergies])
comorbidities_meds --> smoking_status([smoking_status])
comorbidities_meds --> bmi([bmi])
logistics["L5: logistics"]
logistics --> country_of_residence([country_of_residence])
logistics --> preferred_corridors([preferred_corridors])
logistics --> travel_window([travel_window])
financial["L6: financial"]
financial --> funding_source([funding_source])
financial --> budget_range([budget_range])
Intake Field Registry¶
| Field id | Type | Range / Enum | Locations |
|---|---|---|---|
age |
int |
[0, 120] | layer_state.medical_status.data.ageehr_snapshot.demographics.ageextra_metadata.collected_fields.age |
gender |
str |
— | layer_state.medical_status.data.patient_demographics.genderehr_snapshot.demographics.gender |
bmi |
float |
[10, 80] | ehr_snapshot.medical_history.bmiextra_metadata.collected_fields.bmi |
country_of_residence |
str |
— | ehr_snapshot.demographics.country_of_residenceextra_metadata.collected_fields.country_of_residence |
primary_complaint |
str |
— | layer_state.medical_status.data.symptomsehr_snapshot.medical_history.primary_complaint |
affected_side |
enum |
left, right, bilateral | layer_state.medical_status.data.procedure.body_siteehr_snapshot.primary_condition.laterality |
symptom_duration_months |
int |
[0, 1200] | layer_state.medical_status.data.symptom_durationehr_snapshot.medical_history.symptom_duration_months |
pain_score |
int |
[0, 10] | layer_state.medical_status.data.pain_scoreehr_snapshot.medical_history.pain_score |
walking_distance |
str |
— | layer_state.medical_status.data.functional_status.walking_distanceextra_metadata.collected_fields.walking_distance |
stairs_ability |
str |
— | layer_state.medical_status.data.functional_status.stairs_abilityextra_metadata.collected_fields.stairs_ability |
support_needs |
str |
— | layer_state.medical_status.data.functional_status.support_needsextra_metadata.collected_fields.support_needs |
rom_assessment |
str |
— | ehr_snapshot.medical_history.rom_assessment |
dominant_arm |
enum |
left, right, ambidextrous | layer_state.medical_status.data.functional_status.dominant_armehr_snapshot.medical_history.dominant_armextra_metadata.collected_fields.dominant_arm |
range_of_motion_baseline |
str |
— | layer_state.medical_status.data.functional_status.range_of_motion_baselineehr_snapshot.medical_history.range_of_motion_baselineextra_metadata.collected_fields.range_of_motion_baseline |
activity_profile |
str |
— | layer_state.medical_status.data.activity_profileehr_snapshot.medical_history.activity_profileextra_metadata.collected_fields.activity_profile |
imaging_type |
str |
— | ehr_snapshot.imaging.modalityextra_metadata.documents.imaging_type |
joint_space_status |
str |
— | ehr_snapshot.imaging.joint_space_status |
deformities |
str |
— | ehr_snapshot.imaging.deformities |
etiology |
str |
— | layer_state.medical_status.data.procedure.etiologyehr_snapshot.primary_condition.etiology |
comorbidities |
list |
— | layer_state.medical_status.data.comorbiditiesehr_snapshot.medical_history.comorbidities |
smoking_status |
enum |
never, former, current | layer_state.medical_status.data.smokingehr_snapshot.medical_history.smoking_status |
prior_surgeries |
list |
— | ehr_snapshot.medical_history.prior_surgeriesextra_metadata.collected_fields.prior_surgeries |
decision_stage |
enum |
just_exploring, comparing_options, ready_to_commit, decided_on_destination | layer_state.intent_capture.data.decision_stage |
medications |
list |
— | layer_state.medical_status.data.medicationsehr_snapshot.medical_history.medications |
allergies |
list |
— | layer_state.medical_status.data.allergiesehr_snapshot.medical_history.allergies |
preferred_corridors |
list |
— | layer_state.travel_readiness.data.preferred_corridors |
travel_window |
str |
— | layer_state.travel_readiness.data.travel_window |
budget_range |
str |
— | layer_state.financial_readiness.data.budget_range |
funding_source |
str |
— | layer_state.financial_readiness.data.funding_source |
injury_mechanism |
str |
— | layer_state.medical_status.data.injury_mechanismextra_metadata.collected_fields.injury_mechanism |
injury_time_hours_ago |
int |
[0, 8760] | layer_state.medical_status.data.injury_time_hours_agoextra_metadata.collected_fields.injury_time_hours_ago |
fracture_status |
str |
— | layer_state.medical_status.data.fracture_statusehr_snapshot.imaging.fracture_status |
stabilization_status |
str |
— | layer_state.medical_status.data.stabilization_statusextra_metadata.collected_fields.stabilization_status |
urgency_level |
enum |
elective, urgent, emergent | layer_state.medical_status.data.urgency_levelextra_metadata.collected_fields.urgency_level |
anticoagulant_use |
str |
— | layer_state.medical_status.data.anticoagulant_useehr_snapshot.medical_history.anticoagulant_use |
bone_density_status |
str |
— | ehr_snapshot.medical_history.bone_density_statusextra_metadata.collected_fields.bone_density_status |
weight_bearing_status |
str |
— | layer_state.medical_status.data.weight_bearing_statusextra_metadata.collected_fields.weight_bearing_status |
prior_surgery_type |
str |
— | layer_state.medical_status.data.prior_surgery_typeehr_snapshot.medical_history.prior_surgery_type |
prior_surgery_months_ago |
int |
[0, 240] | layer_state.medical_status.data.prior_surgery_months_agoehr_snapshot.medical_history.prior_surgery_months_ago |
current_pain_meds |
list |
— | layer_state.medical_status.data.current_pain_medsehr_snapshot.medical_history.current_pain_meds |
pt_sessions_completed |
int |
[0, 500] | layer_state.medical_status.data.pt_sessions_completedextra_metadata.collected_fields.pt_sessions_completed |
pt_frequency_per_week |
int |
[0, 14] | layer_state.medical_status.data.pt_frequency_per_weekextra_metadata.collected_fields.pt_frequency_per_week |
current_rom_status |
str |
— | layer_state.medical_status.data.current_rom_statusextra_metadata.collected_fields.current_rom_status |
current_mobility_aids |
list |
— | layer_state.medical_status.data.current_mobility_aidsextra_metadata.collected_fields.current_mobility_aids |
wound_status |
str |
— | layer_state.medical_status.data.wound_statusextra_metadata.collected_fields.wound_status |
recovery_concern |
str |
— | layer_state.medical_status.data.recovery_concernextra_metadata.collected_fields.recovery_concern |
discharge_restrictions |
str |
— | layer_state.medical_status.data.discharge_restrictionsextra_metadata.collected_fields.discharge_restrictions |
nerve_distribution |
str |
— | layer_state.medical_status.data.nerve_distributionehr_snapshot.medical_history.nerve_distribution |
radiating_pain |
str |
— | layer_state.medical_status.data.radiating_painehr_snapshot.medical_history.radiating_pain |
limb_weakness |
str |
— | layer_state.medical_status.data.limb_weaknessehr_snapshot.medical_history.limb_weakness |
numbness_tingling |
str |
— | layer_state.medical_status.data.numbness_tinglingehr_snapshot.medical_history.numbness_tingling |
bladder_bowel_symptoms |
str |
— | layer_state.medical_status.data.bladder_bowel_symptomsehr_snapshot.medical_history.bladder_bowel_symptoms |
oswestry_score_estimate |
str |
— | layer_state.medical_status.data.oswestry_score_estimateextra_metadata.collected_fields.oswestry_score_estimate |
sitting_tolerance |
str |
— | layer_state.medical_status.data.sitting_toleranceextra_metadata.collected_fields.sitting_tolerance |
sleep_impact |
str |
— | layer_state.medical_status.data.sleep_impactextra_metadata.collected_fields.sleep_impact |
spine_level |
str |
— | layer_state.medical_status.data.spine_levelehr_snapshot.medical_history.spine_level |
prior_spine_intervention |
str |
— | layer_state.medical_status.data.prior_spine_interventionehr_snapshot.medical_history.prior_spine_intervention |
conservative_treatment_history |
str |
— | layer_state.medical_status.data.conservative_treatment_historyextra_metadata.collected_fields.conservative_treatment_history |
bracing_acceptance |
str |
— | layer_state.travel_readiness.data.bracing_acceptanceextra_metadata.collected_fields.bracing_acceptance |
caregiver_availability |
str |
— | layer_state.travel_readiness.data.caregiver_availabilityextra_metadata.collected_fields.caregiver_availability |
functional_capacity |
str |
— | layer_state.medical_status.data.functional_capacityehr_snapshot.medical_history.functional_capacity |
imaging_mri |
str |
— | ehr_snapshot.documents.imaging_mriextra_metadata.documents.imaging_mri |
imaging_xray |
str |
— | ehr_snapshot.documents.imaging_xrayextra_metadata.documents.imaging_xray |
radiology_findings |
str |
— | ehr_snapshot.medical_history.radiology_findingsextra_metadata.collected_fields.radiology_findings |
underlying_condition |
str |
— | layer_state.medical_status.data.underlying_conditionehr_snapshot.medical_history.underlying_condition |
prior_treatment_history |
str |
— | layer_state.medical_status.data.prior_treatment_historyehr_snapshot.medical_history.prior_treatment_history |
active_medications |
str |
— | ehr_snapshot.medical_history.active_medicationsextra_metadata.collected_fields.active_medications |
chronic_conditions |
str |
— | ehr_snapshot.medical_history.chronic_conditionsextra_metadata.collected_fields.chronic_conditions |
travel_companion_available |
str |
— | layer_state.logistics.data.travel_companion_availableextra_metadata.collected_fields.travel_companion_available |
destination_preferences |
str |
— | layer_state.logistics.data.destination_preferencesextra_metadata.collected_fields.destination_preferences |
timing_flexibility |
str |
— | layer_state.logistics.data.timing_flexibilityextra_metadata.collected_fields.timing_flexibility |
Document Type Registry¶
| Key | Description | Populated by |
|---|---|---|
imaging_present |
Any radiology imaging (X-ray, MRI, CT, ultrasound) uploaded for this case. | tbd — document pipeline (Phase 2 integration) |
v6 Stages¶
| Stage id | re_offer_on_turn | Description |
|---|---|---|
discovery |
[2, 3] | |
procedure_identification |
[2, 3] | |
records_collection |
— | |
match_review |
— | |
consent_capture |
— | |
mso_offer |
— | |
scheduling |
— | |
pre_travel |
— | |
in_treatment |
— | |
recovery_offer |
— | |
recovery_followup |
— | |
support |
— |
Knowledge Addendums¶
| Addendum id | Trigger summary | Path |
|---|---|---|
financial_options |
Patient asked about cost, pricing, payment, financing, or budget | config/prompts/knowledge/financial_options.yaml |
insurance_handling |
Patient asked about insurance OR mentioned insurance coverage | config/prompts/knowledge/insurance_handling.yaml |
mso_second_opinion |
flag=mso_patient_offer_enabled |
config/prompts/knowledge/mso_second_opinion.yaml |
post_travel_logistics |
stage_active in | config/prompts/knowledge/post_travel_logistics.yaml |
knee_replacement |
Patient.procedure == 'Total Knee Replacement' OR ICD M17.11 / M17.12 | config/prompts/knowledge/procedure_clinical_facts/knee_replacement.yaml |
Drift Indicators¶
Orphan intake fields (declared but unreferenced)¶
Expected pre-Phase 2 — most fields wait for SOPs to claim them.
agedecision_stagegenderrom_assessmentsupport_needs
SOPs flagged as pending clinical review¶
acl_repairbilateral_knee_replacementcervical_decompressionfracture_fixationknee_arthroscopylaminectomylumbar_decompressionmeniscus_repairpost_surgical_rehabrobotic_hip_replacementrobotic_knee_replacementrotator_cuff_repairscoliosis_correctionshoulder_arthroscopyshoulder_replacementspinal_fusionthrtkr
Stale clinical reviews (>365 days)¶
None — every SOP review is fresh.
Document types declared but no SOP boosts on them¶
None — every declared document type is referenced.