Skip to content

Planned Enhancements

MJPete3 edited this page Oct 24, 2013 · 4 revisions
  • The /misc directory is combersome. Split out the message xml files into a /messages directory.

  • Incorporate a new naming schema for the message xml files {transaction identifier}_{major ver}{minor ver}. The minor verison would be optional. Example: a health care 837p message xml file would be name 837p_4010 or 837p_4010X098. The current messages would remain, to provide backwards compatibility.

  • Add Composite methods for accessing and setting.

  • Add Rails-like standard functions with the appropriate behavior (blank?, size, count, length...) Will keep the current methods such as has_content? for backwards compatibility

  • Revamp the error trapping & reporting to raise more comprehensive error messages.

  • Keep the recursion for the loops, however restructure the code to be more readable and less recursion elsewhere.

  • In Parsing, add checks to ensure proper loops / sub-loops are created.

Accessors

Planned accessors to be added:

  • each - iterate through loops and repetitions of segments; already implemented. Will remain in new implementation

  • size - depending on the object, size will return different values. On a message size will return the total number of segments included. On a Loop, it will return the total number of loop iterations. On a specific loop it will return the number of segments. On a root segment it will return the number of instances of that segment type. On a specific segment it will return the number of fields. On a composite it will return the number of fields.

  • length - return the length of the data inside a field.

  • count - this will function exactly like size.

  • blank? - will return true if the loop, segment, composite, field is empty.

  • dup or duplicate - will create another iteration of a loop or segment.

  • to_s - will convert the data in a field to a string

  • to_i - will convert the data in a field to an integer

  • to_d - will ocnvert the data in a field to a decimal

Clone this wiki locally