Visual Studio 2005 C++ Libraries
Symphonia 3.8.6 includes C++ libraries compiled with Visual Studio 2005 (in addition to the libraries compiled with Visual Studio 2003), allowing either C++ development environment to be used.
Map Designer
Installer
| Symptom | Resolution | Reference |
| The .NET component generation plugin is not registered correctly by the installer
In some circumstances the Symphonia .NET Component Generation plugin is not registered correctly in the installer, and so is not available when running EDI Message Designer. This was worked around by manually registering the component. | This bug has been fixed. |
|
Mapping Engine
| Symptom | Resolution | Reference |
| Mapper engine ignores validation error settings of input message definitions
EDI Message Designer allows each type of EDI validation error to be configured as either an error, a warning, or to be ignored. When the Mapper is then used with this definition, it correctly creates the error/warning in its list. However, if the stop on errors flag is set to false, the Mapper will stop processing even if only warnings have been found. | This bug has been fixed so that processing is only halted if errors are found (and the stop on errors flag is on). |
|
EDI Message Designer
| Symptom | Resolution | Reference |
| Changing tabs in the field properties dialog causes the values to be reset
The field properties dialog in EDI Message Designer has two tabs. If values are updated on the first tab, then the second tab is displayed, the newly updated values on the first tab are lost and need to be re-entered. | This bug has been fixed. |
|
| Unable to copy and paste rows from a validation table
If some cells from a validation table are copied and then pasted into a new validation table, all the cells tend to end up in the same cell in the new table. Copying and pasting the values from a table in Word works correctly however. | This bug has been fixed. |
|
Map Designer
| Symptom | Resolution | Reference |
| "Could not load PCF from definition file" when running mapping
The Map Designer compiles a mapping definition, but whenever it is run, a fatal error is generated saying that the PCF could not be loaded from the definition file. | This problem occurred when the input or output definition type (not just the definition file) is changed, but has now been fixed. |
|
| Unable to import XSD with abstract type implementations in a different schema
When importing an XSD into the Map Designer, it says that it cannot find any implementations of an abstract type. These implementations do exist in the schema-set being imported, but are not in the same schema as the abstract type. | This bug has been fixed. |
|
| Unable to import schema with the "mixed" attribute
A schema with the "mixed" attribute used on a complexType with simpleContent cannot be imported into the Map Designer. | This bug has been fixed. |
|
| Attributes on the base complexType are not found
When importing a schema that uses a complex type extending a type defined in another schema but the same namespace, the attributes on the base type are not available for mapping. | This bug has been fixed. |
|
Installer
| Symptom | Resolution | Reference |
| RuntimeKeyReg.exe missing from the installer
The tool used to install a Symphonia runtime key was missing from the Symphonia installer. | This tool is now included in the 'Redistribution' folder. |
|
Map Designer
| Symptom | Resolution | Reference |
| Schemas without a default namespace fail to import
XSD schemas that do not have a default namespace cannot be imported into the Symphonia Map Designer. | This bug has been fixed by using the target namespace as the default if no default namespace is specified in the schema itself. |
|
| Map Designer ignores xmlns attributes on elements
Elements can specify which namespace their type comes from by using the xmlns attribute, however the Map Designer ignores this attribute when importing schemas, meaning that their types cannot be found. Consequently the schemas cannot be loaded. | This bug has been fixed so that the xmlns attribute is now used. |
|
| Circular includes result in duplicate element declarations
XSD schemas are allowed to have circular includes (i.e. schema 'a' includes schema 'b', and schema 'b' includes schema 'a'), but when these are imported into the Map Designer, it complains about duplicate elements, and fails to import the schemas. | This bug has been fixed. |
|
| Unable to import more than one schema with no target namespace
If schema 'a' has target namespace 'ns', and it includes schema 'b' with no target namespace, and schema 'b' includes schema 'c', also with no target namespace, then elements in schema 'a' cannot access elements in schema 'b', even though they should be able to. | This bug has been fixed. |
|
| Map Designer cannot create messages when there are no top-level elements
If there are no top-level elements in the root schema, the Map Designer is unable to create any messages representing them in the internal Mapper structures, despite the schema importing correctly. | This bug has been fixed by allowing the user to select from top-level complexTypes instead. |
|
| Changing the name of a child in a base type prevents the schema being loaded
If a type extends another type, but renames an existing element, the Map Designer detects this as an error and refuses to load the schema. It is technically wrong, but several public schemas do this. | The Map Designer now successfully imports these schemas, but issues a warning about this problem. |
|
| Cannot load schemas where a reference element uses the nillable attribute
If a schema has an element that uses the ref attribute to identify it, and that element also uses the nillable attribute, then the Map Designer cannot load the schema. This is technically wrong, but several public schemas do this. | The Map Designer now successfully imports these schemas, but issues a warning about this problem. |
|
| Cannot load schema with two imports into the same namespace
The Map Designer cannot load a W3C schema that has two import statements that import the schemas into the same target namespace. | This bug has been fixed. |
|
| Cannot load schema that imports the default namespace with providing a location
A schema may have an import statement that references the default XML namespace but without providing a location. However, such a schema cannot be loaded into the Map Designer. | This bug has been fixed. |
|
| Crash when browsing for types based on message paths
When creating a new submap it is possible to browse for the types of the parameters. However, if the "Browse by Path" option is selected for any definitions imported from an XSD, the Map Designer will crash. | This bug has been fixed. |
|
| Unable to import some schemas using abstract types
Some schemas using abstract types cannot be imported as the Map Designer claims that it cannot find any types that extend those abstract types. However, there are such types in the schema. | This bug was caused by a namespace problem, resulting in the subtypes not being found. This bug has been fixed. |
|
Mapping Engine
| Symptom | Resolution | Reference |
| Infinite loop when calling the StrRemove() external function
If the StrRemove() external function is called on the C++ Mapper (or in the Map Designer), and an empty string provided as the string to remove, and Mapper enters an infinte loop, hanging the application. | This bug has been fixed. |
|
EDI Engine
| Symptom | Resolution | Reference |
| NullPointerException when using generic fields in Java or .NET
If generic segments are being used in the Java or .NET engine, some of the methods on the MessageElement API, particularly isEmpty(), cause NullPointerExceptions when called (or NullReferenceExceptions on .NET). | This bug has been fixed. |
|
Installer
| Symptom | Resolution | Reference |
| Uninstall can delete all common shortcuts from the start menu
When uninstalling Symphonia 3.8.2, it was possible for the uninstaller to delete all common shortcuts from the start menu. | This bug has been fixed. |
|
EDI Designer
| Symptom | Resolution | Reference |
| Some message definitions could cause EDI Designer to crash when viewing a segment or message
Some message definitions that had been configured to display custom columns could cause EDI Designer to crash when a segment or message was viewed. | The crash was due to certain columns being displayed multiple times. This bug has been fixed so that duplicate columns can no longer be displayed. |
|
| Miscenallenous HL7 library errors
Incorrect descriptions in validation table HL700003 Incorrect definition of ED composite PR1.ProcedureFunctionalType was required instead of optional Some fields in the OBR and OBX segments were optional instead of conditional | These bugs have been fixed. |
|
| Choice groups are not imported correctly from libraries
Choice groups are not imported correctly from any library definitions. Instead they are always imported as ordered groups. | This bug has been fixed. |
|
EDI Explorer
| Symptom | Resolution | Reference |
| Acknowledgments fail to be generated using the default VB script provided
An error in the default VB script used to generate acknowledgements meant that acknowledgments could not be generated by default for some versions of HL7. | This bug has been fixed. |
|
| The autofill multiple messages dialog had a title of 'Dialog'
The autofill multiple messages dialog had a title of 'Dialog' rather than something more descriptive. | This bug has been fixed. |
|
| Explorer crashes while opening some messages structures up
In some rare cases it was possible for Explorer to crash while expanding a parsed message structure. | This would occur when an internal data structure got out of sync when parsing some complicated message structures. This bug has been fixed. |
|
| Explorer crashes while clearing the contents of a generic composite
If a message was input parsed and it contained some generic composites, clearing them within EDI Explorer would cause it to crash. | This bug has been fixed. |
|
| Saving a flatwire message makes it unloadable
If a flatwire message is input parsed into EDI Explorer, and then the save button is pressed, the flatwire message file is overwritten and then cannot be input parsed. | EDI Explorer was saving the message in its internal format, instead of popping up the Save As dialog. This bug has been fixed. |
|
EDI Engine
| Symptom | Resolution | Reference |
| Threading bug in regular expression library
The version of the jakarta regular expression library used by Symphonia (1.2) had a threading bug where compilation of multiple regular expressions simultaneously would cause a variety of problems. This bug is much more likely to be encountered when using Rhapsody as it loads message definitions more frequently. | The jakarta regular expression library has been upgraded to version 1.3 which does not suffer from this threading problem. |
|
| Calling GetElementAt() causes validation failures on choice groups
When the GetElementAt() method is called on a choice group it would create the element, which could subsequently cause validation errors. | This bug has been fixed. |
|
| Count paths do not work when the count field is in a nested message set
Count paths do not work correctly when the count field is in a nested message set relative to the component that it is counting. | This bug has been fixed. |
|
| NullPointerException while loading a PCF
A message definition using tagged segments but with a message containing no message items fails to load in the Java and .NET engines, causing a NullPointerException. | This bug has been fixed. |
|
Map Designer
| Symptom | Resolution | Reference |
| Upgrading message structures could change existing submaps or main maps incorrectly
In some circumstances it was possible for the upgrade message structures functionality to cause some submaps to be promoted to main maps. | This bug has been fixed. |
|
| Map Designer can corrupt an test XML file when copying it
When an XML file is added as a test message for a mapping project, the Map Designer can corrupt this file when copying it to the input directory, so that it is no longer valid XML. | This bug has been fixed. |
|
| Some large SXD files cannot be loaded into the Map Designer
Some large SXD files cannot be imported into either the Map Designer or Rhapsody. The problem never occurs with small SXD files, and some large files still load correctly as well. | A bug in the loading mechanism could cause a failure on some but not all large files. This bug has been fixed. |
|
| Submap name could be reset while editing its definition
The name of a submap can be automatically reset to a default value when new parameters are added to it, causing existing mapping code to fail to compile. | This bug has been fixed. |
|
| Error numbers are not displayed when an XSD import fails
The Symphonia help files contain a lot of information about possible importer errors and warnings when importing W3C XML schemas. However, only the error descriptions are output to the Map Designer output window, not the error numbers. This makes it very difficult to find them in the help files. | Importer error numbers are now displayed in the Map Designer output window. |
|
| Cannot import an XSD where the any type is extended
The W3C XML schema specification allows extension of the any type, even this is not strictly required. However, the Map Designer would refuse to import schemas where the any type was extended. | This restriction has been removed, so that it is now possible to extend the any type. |
|
| The same toolbar icon was used for multiple buttons
The same toolbar icon was used to view global variables when running a mapping, and to view the entire mapping code. | This has been fixed so that different icons are now used. |
|
| Importing some invalid S3Ds into the Map Designer would result in truncated error messages
Some errors, such as an empty group, would not be displayed correctly in the output window of the Map Designer when importing an invalid S3D. In this case, only the first character of the group name was included in the error message. | An ANSI/Unicode conversion error meant that the full name was not displayed. This bug has now been fixed. |
|
| Importing some complex XSDs with lots of interrelated includes and imports fails
If an attempt was made to import some XSD schemas that used a number of includes and imports that were interrelated, then it was possible for the import to fail complaining that it could not find some types which should have been accessible. | This bug has been fixed. |
|
| Map Designer refuses to import XSD schemas containing invalid regular expressions
The Map Designer would refuse to import XSD schemas that incldued any regular expressions, even though the Mapper does not require these to be valid to run. | This bug has been fixed. |
|
| Map Designer refuses to import XSD schemas when a fixed value is overridden incorrectly
A complex type extension can override the user of an attribute with a fixed value, possibly setting its use to be prohibited. However, the Map Designer refused to import the schema if the fixed value was not explicitly set to the same value as the original declaration. While this is technically invalid, it should not prevent the schemas from importing. | This bug has been fixed. |
|
Mapping Engine
| Symptom | Resolution | Reference |
| Double separator not used for decimal points in the Mapper
The double separator is not used when converting decimal values to strings in the Mapper. | The double separator is now used by default when converting decimal values in the Mapper. |
|
| Mapping Engine disallows custom XML element names containing a full stop
Using type casting it is possible to add additional XML elements into the output message during a mapping. However, the mapping engine would disallow any element names containing a full stop, even though this is a valid character. | Full stop characters are now allowed in XML element names. |
|
| C++ and Java Mapping Engines handling string standard functions differently
An inconsistency between the C++ and Java mapper engine handling of string standard functions meant that some mappings would succeed during testing, but then fail when run using the Java engine (often within Rhapsody). This was due to a different in how the internal C++/Java libraries handle string indexes, specifically negative indexes. | The Java mapper engine has been changed to match the behaviour of the C++ engine. Negative indexes are now generally treated as the end of the string, and will not cause StringIndexOutOfBoundsExceptions. |
|
| Threading issues calling stored procedures from the Mapper
When using the C++ Mapper in a multi-threaded environment with stored procedure calls, race conditions can occur potentially causing transactions to not be committed properly, or in some cases, deadlock can occur. | There was a threading bug relating to how the Mapper called stored procedures which has now been fixed. |
|
XML Designer
| Symptom | Resolution | Reference |
| XML DAG Generator mangles the DLL filename
If the specified filename for the DLL to generate contains multiple full stops, the XML DAG generator ignores everything after the first decimal point, thus generates the DLL in the wrong location. | This bug has been fixed. |
|
Installer
EDI Engine
Mapping Engine
EDI Designer
| Symptom | Resolution | Reference |
| Export to HL7 2.x Schema does not work for all HL7 versions
The Export to HL7 2.x Schema option did not work when using a message definition for any HL7 version other than 2.4. | This bug has been fixed. |
|
| XSD Generator violates unique partical attribution rule
Previously each segment had an ANY element at its end, this caused optional fields at the end of the segment to violate the unique particle attribution rule. | This bug has been fixed. |
|
| XSD Generator incorrectly generates a top level element containing a choice group with all the messages
The messages.xsd mistakenly contained a choice group which referenced each of the messages. The Map Designer does not show top level elements which are referenced elsewhere in the schema. The choice group was useless and caused none of the messages to be displayed in the Mapper's list of messages. | The choice group is no longer output into the messages.xsd file. |
|
EDI Designer Libraries
| Symptom | Resolution | Reference |
| Some EDIFACT messages were defined incorrectly
UNT Segment - NumberOfSegmentsInTheMessage field is defined in the library as a String, but should be a 4 Byte Long. EDIFACT DateTimeOfPreperation was a numeric field when it should have been a string with a validating regular expression. All the required fields had a minimum repeat count of 0 instead of 1. | These bugs has been fixed. |
|
| Missing separators on HIPAA messages
HIPAA (X12) 4010 was missing separators on both the Transactions and Interchange message sets. HIPAA 4010A was missing separators on the Transactions message set. | This bug has been fixed. |
|
| Library wizard displayed the internal HIPAA transactions message set
HIPAA (X12) 4010 and 4010A showed both the Interchange and the Transactions message sets in the Library Wizard while importing. | Now the Transactions are hidden to force selection of the required Interchange message set. |
|
| HL7 2.5 DT composites were not fixed width
The HL7 2.5 DT composites should be marked as fixed width but were not. | This bug has been fixed. |
|
EDI Engine
| Symptom | Resolution | Reference |
| Calling setEncodedValue() repeatedly on the same element eventually fails
If setEncodedValue() was called on a message 330 times it would cause Symphonia to fail on the 331 setEncodedValue() call. Note: this is only an issue if setEncodedValue is called on the same MessageElement tree (i.e.the same message) it is not an issue if setEncodedValue is called 331 times on different messages. | This bug has been fixed. |
|
| .NET engine reports validation errors on separator fields
The .NET engine was incorrectly reporting validation errors on fields designated to hold separators. | This bug has been fixed. |
|
| .NET and Java engines do not always check situational rules
The Java and .NET engines didn't check Situational Rules on fields inside composites. The C++/COM engines did. | This bug has been fixed. |
|
| Character range violations do not include the element path
If a field contained a value outside of the fields Character Range, the validation errors would not contain a path. | This bug has been fixed. |
|
| Name value pairs could cause NullPointerExceptions
Messages with Name Value pairs would cause a NullPointerException for the Java Engine. The .NET engine suffered the same issue but instead of crashing gave incorrect results in some cases when Name Value pairs were used. The C++/COM engines were not effected by this issue. | This bug has been fixed. |
|
| Java engine could report InvalidKeyException with incorrect nested exception
In rare cases the Java Engine would report an InvalidKeyException with a nested NullPointerException instead of a nested UnknownHostException. | This bug has been fixed. |
|
| License checks used case-sensitive comparisons for the hostname
The license checking mechanism used case-sensitive comparisons for the hostname would could potentially cause problems. | Case-insensitive hostname comparisons are now performed. |
|
Mapping Engine
| Symptom | Resolution | Reference |
| Outputting doubles in XML can have undesired trailing zeros after the decimal point
When a double is outputted into the XML structure the trailing zeros are removed. If all the numbers to the right of the decimal point are zeros the number outputted will have a trailing decimal point. E.g. '24100.00' is outputted '24100.' | Changed so that the trailing decimal point is removed in the C++ version. In the Java version output is what Double.toString() outputs which is often different from the C++ version. |
|
Map Designer
| Symptom | Resolution | Reference |
| Main map changed to submap after updating message structures
After updating the message structure with multiple inputs, a main map was changed to a submap. This happened if any of the main maps referenced messages that were not defined in the first namespace (but in subsequent namespaces). | This bug has been fixed. |
|
| Datatypes can become mixed up after updating message structures
After updating the message structures with multiple namespaces and the same types in the first namespace and another namespace, the types would always refer to the first namespace, even when they should have referred to another one. | This bug has been fixed. |
|
| Annotations in an xsd after an include or import will cause the xsd to fail to import
If importing an xsd schema in the Map Designer that contains an annotation element after an import or an include element the import would fail. | This bug has been fixed. |
|
| Some valid complex type derivations were rejected by the importer
When importing an xsd containing complex type derivations, sometimes the importer would reject valid derivations. | This bug has been fixed. |
|
| Child attributes not always linked up correctly
The XPF generation could fail to link up appropriate child attributes of an element in some cases. | This bug has been fixed. |
|
| Repeats of a local simple type in a restricted attribute were not allowed
Repeats of a local simple type in a restricted attribute were not allowed as Xerces thinks they make a schema invalid. | This bug has been fixed. |
|
Mapper Service
| Symptom | Resolution | Reference |
| Preceding junk in a message received by TCP caused the message to be lost
If the mapper service sends the test message: 'leading junk[0B]message[1C][0D]trailing junk', the presence of the leading junk caused the Mapper Service to garble the message. | The wrapping has been fixed so that preceding junk is now ignored and still allows the message to be processed correctly. |
|
EDI Message Designer
EDI Explorer
EDI Engine
Mapping Engine
Map Designer
Installer
| Symptom | Resolution | Reference |
| Long filename registration can be lost
The long filename registration can be lost when double-clicking on an MDF or S3D, resulting in old DOS 8.3 filenames being used subsequently. | This was due to incorrect filename registration in the installer and has now been fixed. |
|
| Installer hangs when installing with Visual Studio .NET 2002 present
The Symphonia installer would hang early on in the installation process if Visual Studio .NET 2002 was installed. | This bug has been fixed. |
|
EDI Message Designer
| Symptom | Resolution | Reference |
| Assemblies generated by the .NET Component Generator could throw FormatExceptions when retrieving a value
Assemblies generated by the .NET Component Generator would throw FormatExceptions when retrieving the value from an empty numeric primitive field. | A zero is now returned instead when the value is empty and no default value is defined. |
|
| Cannot generate .NET assembly with variable type fields and multiple message sets
The .NET Component Generator would fail to generate assemblies that used both variable type fields and multiple message sets. | This bug has been fixed. |
|
| EDI Message Designer hangs when generating Java classes
In some circumstances the EDI Message Designer would hang while generating the Java classes for a message definition. | This bug has been fixed. |
|
| Clicking on the hyperlink to edit a syntax rule does not work
Clicking on the hyperlink to edit a syntax rule did not work, so syntax rules could only be edited using the formal syntax. | This bug has been fixed. |
|
| EDI Message Designer hangs while editing the Message Type fields
In some rare circumstances, EDI Message Designer would hang and consume all CPU while editing the Message Type fields. | This bug has been fixed. |
|
| Incorrect required flags in some X12 libraries
Some of the X12 libraries had the required/optional flags inverted. | This bug has been fixed. |
|
| Typos in some HIPAA validation tables
Two HIPAA validation tables had a typo: Tbl_837PRO_2300_CLM_05_1 and Tbl_837PRO_2400_SV1_05. Both tables contained an 82 instead of an 81. | This bug has been fixed. |
|
| Invalid allocation size when using Gap Compliance plugin
"Invalid allocation size" bugs that caused composer to crash could occur when double clicking on a list in the Gap Compliance Plugin. (The Gap Compliance Plugin is a custom plugin created for McKesson). | This bug has been fixed. |
|
| EDI Message Designer crash when the main window is very small
The EDI Message Designer would sometimes crash when open a window when the main window is small. | This bug has been fixed. |
|
| DAG Generation would sometimes fail
DAG generation fails on composites that only contain a single field when the field is also a composite. | This bug has been fixed. |
|
| The force count update engine option did not work correctly with minimise changes
The forceCountUpdate engine option was using the counts that would have been used if MinimizeChanges was not on. Since MinimizeChanges is on, missing segments and fields will not automatically be created, so the counts need to not include the missing segments. | This bug has been fixed. |
|
| HL7 libraries used NM datatype for components of DTTM composites
There was a minor issue with the HL7 message libraries: DT, TM, DTTM and TS composites use NM (floating point) type for the date time components (year, month, day, hours, minutes...). | This revision changes these components to use integers instead of floats. This should make mapping of these fields much cleaner as DoubleToInt conversions will no longer be required. |
|
| Wildcard ACKs do not always work
Wildcard ACKs only work when the Message Type fields point at actual fields instead of composites. | This revision changes the HL7v2.1, 2.2 and 2.3 (but not 2.3.1 or greater) messages to have individual message type fields instead of composites so wild ACKs will work on the older HL7 messages. |
|
EDI Explorer
| Symptom | Resolution | Reference |
| Autofilling a message in a test set does not work
A message cannot be autofilled if it is part of a test set. | This bug has been fixed. |
|
| Explorer can crash when test set ignore paths are used
In some circumstances, EDI Explorer can crash when using ignore paths for a message definition inside a test set. | This bug has been fixed. |
|
| Manual acknowledgments has no default ACK codes
When manual acknowledgments are configured in EDI Explorer, it has an empty list of possible ACK codes by default. | The list now includes the normally used ACK codes of AA, AR, and AE. |
|
EDI Engine
| Symptom | Resolution | Reference |
| Threading problem when using regular expressions
The Java EDI engine uses the Jakarta regular expression library for processing regular expressions, but is not thread-safe. Consequently there was threading bug in the Symphonia Java EDI engine that would normally manifest itself by message, segment, or message item match lists failing to match correctly. | This bug has been fixed by making the relevant calls thread-safe. |
|
| Java engine fails to parse messages larger than 25MB
When parsing from a stream in the EDI Java Engine it was possible for the MessageFactory to fail to parse parts of the message when the message was over 25MB. | This was due to the caching mechanism of the stream and has now been fixed. |
|
| Fields with an empty validation table would always cause validation errors
It was possible to configure fields to validate against a validation table and then remove all entries from the table, thus causing the field to fail validation every time. | Empty validation tables are now ignored by the engine. |
|
| Could not change the value of a null field
Once a field value was set to null, it was impossible to change it by simply setting a new value. | This bug has been fixed. |
|
| Memory leak in EDI COM engine
A memory leak would occur in the EDI COM engine if an invalid message path was passed to the GetElementAt() method. | This bug has been fixed. |
|
| Junk after a composite field of a specific length caused parsing to fail
If there was junk after a composite field that the engine was configured to ignore, and that junk had a length of 81, 82, or 83 characters, it would cause parsing to fail. | This bug has been fixed. |
|
| Java engine was built with JDK 1.4
The Java engine was built with JDK 1.4 and would not run on JRE 1.3. | This bug has been fixed. |
|
Mapping Engine
| Symptom | Resolution | Reference |
| Extracting doubles from EDI messages could fail on non-English systems
Extracting doubles from EDI messages was locale dependent, as it used the system value for the decimal character. | This has been changed to use the decimal separator from the EDI message when it is present. When a decimal separator was not defined on the message the system locale is used as a default. |
|
| Error when concatenating empty strings or elements
If two empty strings (or message elements containing empty strings) were concatenated together in the mapping code, the result would be an empty element (with no type) rather than an empty string. This would cause an error in some cases when passing the result to an external function or assigning it to particular components. | This bug has been fixed. |
|
| Calling setInput(byte[]) can cause a ClassCastException
Ff setInput(byte[]) was used for the old XML, it would run both the old and new XML, causing a ClassCastException. | This bug has been fixed. |
|
| Java engine was built with JDK 1.4
The Java engine was built with JDK 1.4 and would not run on JRE 1.3. | This bug has been fixed. |
|
Map Designer
| Symptom | Resolution | Reference |
| Automation schema was technically invalid
The XML schema used for automating the Map Designer was incorrect. | The xsd:all elements have been replaced with xsd:sequence elements to resolve this. |
|
| Incorrect header files provided for building custom external functions
The wrong version of the header files for writing custom external functions were released with the Mapper. | The correct versions are now included in this release. |
|
| Map Designer automatically switches to the test results even if the test was cancelled
When cancelling debugging a mapping, the Map Designer would automatically switch back to the test results window even though there are no results to show. | This bug has been fixed. |
|
| Auto-mapper can create invalid type casts
The auto-mapper is able to use the explicit type casts supported by the Symphonia Mapper, but in some cases would do so incorrectly. | This bug has been fixed. |
|
| Symphonia DAG objects could not be imported into the Map Designer
Symphonia DAG objects contain all the EDI message information, but could not be imported into the Map Designer as an input or output definition, even though they could previously. | This bug has been fixed. |
|
| Up arrow in debug variables windows does not always work
There are hidden rows in the variables windows to handle expanding and contracting of complex types. When hidden rows were present, the up arrow did not always work correctly. | The up arrow now works even if hidden rows are present. |
|
| Accelerator keys do not work if the output window has the focus
Accelerator keys allow common actions to be performed quickly (e.g. Ctrl+S to Save) but did not work correctly when the output window had the input focus. | This bug has been fixed. |
|
W3C XML support within the Mapper (includes support for HL7 v3)
The Mapper will allow W3C XML schema to imported directly into the Symphonia Map Builder, and treated the same as any other message definition within the Mapper. As HL7 v3 is defined using W3C XML schema, the Mapper will support the mapping of HL7 v3 messages to or from other EDI or XML messages.
Symphonia EDI .NET Engine
A version of the Symphonia dynamic EDI engine has been written completely in C# for those wanting to use a pure .NET component. This component has a similar interface to the existing C++/COM/Java dynamic engines, but with appropriate changes to fit in with .NET API guidelines.
Symphonia .NET Component Generator
Symphonia will be able to dynamically generated .NET components with a static interface corresponding to the message definition being used. This is a .NET version of the Dynamic ActiveX Generation introduced in a prior version of Symphonia. This feature will allow the user to generate a static interface around the Symphonia .NET Engine, making it very easy to use, and greatly reducing development time.
Support for NCPDP v5.1
A new type of segment called a 'Tagged Segment' has been introduced to support the NCPDP v5.1 standard. This type of segment provides some special handling for NCPDP repeating fields and for the identification of NCPDP fields, allowing NCPDP v5.1 to be processed correctly.
Type casting in the Mapper
The Mapper will support type casting between similar or identical datatypes, therefore allowing more generic mapping code to be written. This is particularly useful when the message definition has lots of identical datatypes which can be treated in the same way (this is often the case for XML definitions).
Symphonia Map Builder automation via XML command file
The Symphonia Map Builder application can be passed an XML file on the command line containing a number of commands to execute. This allows the user to automate the updating of message definitions and recompilation of the mapping definition. This feature has mainly been added for Rhapsody to allow the Administrator to easily create new mapping definitions, automap them, and then compile them.
Improved handling of HL7 ACKs
HL7 defines over 100 acknowledgment messages: one for each trigger event that can occur (for example, ACKA01, ACKA01...). However, each of these messages has exactly the same structure as the basic ACK message, even though Symphonia thinks that they are different types. Symphonia now supports a wildcard message matching mechanism, allowing the basic ACK message to match any other type of ACK if that particular acknowledgment type is not present in the message definition. This means that the number of messages required in the message definition, and the development effort required can potentially be significantly reduced.
Improved support for CSV files
EDI Message Designer will introduce a new basic datatype called 'Quoted String' which has been designed especially for handling comma-separated value messages (such as a CSV file exported from Microsoft Excel). This quoted string datatype can use double-quotes to surround field values, so that the values are handled correctly even if they contain commas.
Improved support for batch messages in Explorer
Explorer will be able to import a file containing multiple messages much more easily that it could be done previously. The Import Batch Message command allows the user to specify how the messages within the file are separated (for example, the messages are separated by a blank line). Explorer will then parse each message in turn and show each one in a separate window.