throws HL7Exception {
LOG.debug("Validating message against primitive type rules");
for (Iterator<Structure> iter = ReadOnlyMessageIterator
.createPopulatedSegmentIterator(message); iter.hasNext();) {
Segment s = (Segment) iter.next();
for (int field = 1; field <= s.numFields(); field++) {
Type[] t = s.getField(field);
for (int rep = 0; rep < t.length; rep++) {
Location location = new Location();
location.setSegmentName(s.getName());
location.setField(field);