Byproducts from first aid are doable by jsons alone (rags do it), but they may have problems with stacking. For example, adrenaline injectors stack to 200 or so, but syringes are 1 volume each.
The second one sounds good, though it would require 2 passes for the ‘%’ menu, slowing it down a bit.