Chest hemorrhage

I’m trying to model a gunshot wound to the upper-right chest quadrant. Looking at the available compartments, I don’t see one for chest, so I selected RightLung instead (which maps to the string "RightLungVasculature"). This produces these errors:

[ERROR] [2020-07-09 16:02:36,342] [pool-3-thread-1] [CppPulseEngine]  : [0(s)] Removing invalid Hemorrhage due to unsupported compartment : RightLungVasculature
[ERROR] [2020-07-09 16:02:36,346] [pool-3-thread-1] [CppPulseEngine]  : [0.02(s)] Removing invalid Hemorrhage due to unsupported compartment : RightLungVasculatureVasculature
[ERROR] [2020-07-09 16:02:36,349] [pool-3-thread-1] [CppPulseEngine]  : [0.04(s)] Removing invalid Hemorrhage due to unsupported compartment : RightLungVasculatureVasculatureVasculature
[ERROR] [2020-07-09 16:02:36,354] [pool-3-thread-1] [CppPulseEngine]  : [0.06(s)] Removing invalid Hemorrhage due to unsupported compartment : RightLungVasculatureVasculatureVasculatureVasculature
[ERROR] [2020-07-09 16:02:36,359] [pool-3-thread-1] [CppPulseEngine]  : [0.08(s)] Removing invalid Hemorrhage due to unsupported compartment : RightLungVasculatureVasculatureVasculatureVasculatureVasculature
[ERROR] [2020-07-09 16:02:36,362] [pool-3-thread-1] [CppPulseEngine]  : [0.1(s)] Removing invalid Hemorrhage due to unsupported compartment : RightLungVasculatureVasculatureVasculatureVasculatureVasculatureVasculature
[ERROR] [2020-07-09 16:02:36,367] [pool-3-thread-1] [CppPulseEngine]  : [0.12(s)] Removing invalid Hemorrhage due to unsupported compartment : RightLungVasculatureVasculatureVasculatureVasculatureVasculatureVasculatureVasculature
[ERROR] [2020-07-09 16:02:36,374] [pool-3-thread-1] [CppPulseEngine]  : [0.14(s)] Removing invalid Hemorrhage due to unsupported compartment : RightLungVasculatureVasculatureVasculatureVasculatureVasculatureVasculatureVasculatureVasculature

And that continues in spurts until the jvm crashes. I assume the growth in the compartment name is some kind of bug, but very first one has the correct name and says it’s not supported.

Which compartments are supported for hemorrhages (and is that documented somewhere), and do you have a recommendation for what upper-right chest quadrant would map to?

(Java 11 Windows 10 64-bit)

I should also clarify that I have confirmed I am only making a single SEHemorrhage action and submitting it to Pulse once at time 0. We are also making an SETensionPneumothorax action (open, right side) and also submitting it at time 0.

I think I see the issue, I assume you are doing an external hemorrhage correct?

Yes, sorry for the lack of detail.

  • External
  • 70 mL/min
  • RightLung

The issue is the right lung compartment is actually a parent compartment to 3 compartments:
The left lung artery capillaries, and veins.
Currently we do not have a way of distributing the hemorrhage flow across multiple child compartments.

So you would need to distribute that across those 3 compartments that I mentioned
That should solve your problem


I am not sure those compartments can handle that big of a hemorrhage (depends on the flow of those paths, which might not sum to 70 mL/min, but I am really not sure)
We also do not model a lung filling with blood/fluid, FYI

The whole parent hemorrhage and what flow rate should you set will be addressed in the next few months when we implement a resistance/severity based hemorrhage (you provide a compartment and a severity, and we can distribute the hemorrhage severity across the child compartments)

I will let Rachel address the question of what compartments / flows to set to model a gun shot wound to the chest with the current engine


For the upper right chest quadrant, I would hemorrhage from the skin and/or muscle compartments. There is not really an organ or specific region we identify in the cardiovascular model for that area. All of our veins/venous return is mapped to the vena cava compartment so that is also a valid compartment for the hemorrhage. I would avoid the lung, just because it will affect gas diffusion more quickly there. We also do not model the injury there as the lung would generally start having blood internal to the lung if even grazed by a bullet, which would lead to hemothorax and gas exchange issues.

If you are close to a shoulder, you could also use the right arm compartment, but 70mL/min is going to be a biy high for sustained hemorrhage from the arm.

You can verify your hemorrhage rate will work for your selected compartment by looking at the cardiovascular validation table here (Table 2). You cannot exceed the flow rate listed in the table. Keep in mind, as the blood volume drops, the pressure will drop, reducing the flow, so what works at time 0 may not work at time 500 seconds.

As Aaron mentioned, we are reworking hemorrhage to improve these issues and will include a table of valid compartments for internal and external hemorrhage in the documentation.

Let us know if you have more questions.

Thank you, this helps a lot!

So, looking at table 2, I’m not sure I’m understanding it correctly. In another scenario, I’m attempting to simulate an amputation, so I have an external hemorrhage on the left leg compartment with a flow of 100 mL/min, and Pulse makes it about 25 mins before the compartment empties. But table 2 shows a LeftLegVasculature-InFlow of only 2.3 mL/min, with a total volume of 80.4 mL. How am I able to have such a high flow rate for so long?

The inflow is in mL/s so that is approximately. 150mL/min.

Also note the discussion here as to where we get flows, and how to take into account the anatomy in simulating a location flow

Of course, sorry for missing the obvious. I’m trying to follow the validation charts and tables further down the page. Figure 13 says it shows a hemorrhage rate of 250 mL/min, but the legend shows two hemorrhages that only add up to 140 mL/min. Is there more bleeding happening than from those two sources?

Also, Table 11 shows a class IV hemorrhage and says it’s bleeding from a leg and the vena cava, but doesn’t give the precise values for each. I’d like to take a look at the code – I see there is a validation directory in the source with lots of info, but I’m not sure how to figure out what to look at in there for specific figures. Any guidance?

I am still updating the documentation on those so I will have to take a look at that to see where the mismatch is. We have several example scenarios for hemorrhage in the verification suite. I would take a look at those for examples.

If there is something specific you want to do we can set up a call to walk you through it as well.

Thank you! This is all super helpful.