@@ -79,10 +79,25 @@ void HowToHemorrhage()
79
79
bg->GetLogger ()->Info (std::stringstream () <<" Heart Rate : " << bg->GetCardiovascularSystem ()->GetHeartRate (FrequencyUnit::Per_min) << " bpm" );;
80
80
81
81
// Hemorrhage Starts - instantiate a hemorrhage action and have the engine process it
82
- SEHemorrhage hemorrhageLeg;
83
- hemorrhageLeg.SetCompartment (BGE::VascularCompartment::RightLeg);// the location of the hemorrhage
84
- hemorrhageLeg.GetRate ().SetValue (250 ,VolumePerTimeUnit::mL_Per_min );// the rate of hemorrhage
85
- bg->ProcessAction (hemorrhageLeg);
82
+ /* MCIS Code Brief :
83
+ Digit 1 = Severity
84
+ Digit 2 = Body Region(1 = Head, 2 = Torso, 3 = Arms, 4 = Legs, 5 = Multiple(not currently supported)
85
+ Digit 3 = Subregion(not requied for arms or legs)
86
+ In Head : 6 = Vessels
87
+ In Torso : 6 = Vessels, 7 = Chest, 8 = Abdomen, 9 = Pelvis(not currently supported)
88
+ Digit 4
89
+ In Vessels : 1 = Intracranial, 3 - 5 = Carotid / Thoracic / Abdominal arteries(all currently removed from aorta compartment), 6 = VenaCava
90
+ In Chest : 1 = Lungs, 2 = Heart In Abdomen : 1 = Liver, 2 = Spleen, 3 = Pancreas(Splanchnic), 4 = Kidney, 5 = SmallIntestine, 6 = LargeIntestine
91
+ Digit 5 : Wound information too specific for BioGears(any number fine, 0 used here)
92
+
93
+ Stopping a hemorrhage requires Severity = 0 and remainder of code consistent with original wound*/
94
+
95
+ SEHemorrhage hemorrhageAbdominal;
96
+ std::vector<unsigned int > hemorrhageStart = {4 ,2 ,6 ,5 ,0 };
97
+ hemorrhageAbdominal.SetMCIS (hemorrhageStart);
98
+ hemorrhageAbdominal.ProcessMCIS (); // Extracts the injury severity and injury location from the mcis code
99
+
100
+ bg->ProcessAction (hemorrhageAbdominal);
86
101
87
102
// Advance some time to let the body bleed out a bit
88
103
tracker.AdvanceModelTime (300 );
@@ -97,9 +112,10 @@ void HowToHemorrhage()
97
112
bg->GetLogger ()->Info (std::stringstream () <<" Heart Rate : " << bg->GetCardiovascularSystem ()->GetHeartRate (FrequencyUnit::Per_min) << " bpm" );;
98
113
99
114
// Hemorrhage is sealed
100
- hemorrhageLeg.SetCompartment (BGE::VascularCompartment::RightLeg);// location of hemorrhage
101
- hemorrhageLeg.GetRate ().SetValue (0 ,VolumePerTimeUnit::mL_Per_min );// rate is set to 0 to close the bleed
102
- bg->ProcessAction (hemorrhageLeg);
115
+ std::vector<unsigned int > hemorrhageEnd = { 0 ,2 ,6 ,5 ,0 };
116
+ hemorrhageAbdominal.SetMCIS (hemorrhageEnd);
117
+ hemorrhageAbdominal.ProcessMCIS ();
118
+ bg->ProcessAction (hemorrhageAbdominal);
103
119
104
120
105
121
// Advance some time while the medic gets the drugs ready
0 commit comments