I want to create a (graphical) representation for a custom HL7 v2 message structure. In this scenario, I'm only concerned with the high-level message structure - the arrangement and usage of the segments of a message. The official documents (which are not available unless you pay for them, AFAIK) use a table notation like this:
In this structure, the different brackets denote optional []
and repeatable {}
segments as well as alternatives <x|y|z>
. Our custom structure is built upon this standard and basically appends a few segments and declares that we'll never use certain other segments. So far, we have simply mimicked the table-like structure, but I find that this is hard to read, especially with multiple nestend levels of conditional groups. I was thinking about converting the TikZ file tree example to represent the data structure, but with all the child [missing]
entries and other peculiarities, I was wondering whether there are other (better?) options.
syntax
package causes the entire build process to fail with missing\endcsname
s, and the TikZ approach is way too complicated to be maintained by anyone else. An external tool would not be a great idea for maintenance reasons either...