I just spent around one year writing Wolfpacs, a dicom load balancer in pure Erlang. (In my spare time).
Question: what is your take on the headers that are "undecided"? For example,the headers that have either signed short (ss) or unsigned short (us) value representation. Most of the parsing is "stateless" but a few headers require "rules". "If previous headers X is Y then VR=OW". I wished they could have made the standard better in that regard.