How to best be prepared for multiple data standard formats
Updated April 12th 2016
HIMSA’s approach to data standards is to provide a system where updated versions of the standards (updated formats) can be released and used while striving to maintain backward compatibility with existing released applications.
Noah compatible applications are expected not to be hardcoded/fixed to the format of a used data standard but rather at minimum check for the possibility to continue working with assistance from Noah.  In the past, the support for different formats and runtime conversions were strongly tied to a version of Noah 4.  With Noah 4.5+ there will not be a strong bond.  Noah compatible applications need to work with the Noah API to implement a more flexible approach.Â
The logic described in this document applies to all different types of integration APIs that HIMSA provides. Please consult the specific API developer’s SDK for the exact details.
This approach is facilitated by runtime converters being present within Noah. A run-time converter leaves the data (saved in the database) in the format it was originally saved in and translates it temporarily to a more desirable format.
Method
This method is considered very effective and easy to implement.Â
This method is supported by Noah providing a feature that takes the responsibility to convert the data to the requested format. The general idea is that the application always asks Noah to convert the data, even if it does not technically need conversion. By doing so the application will be future-proofed as much as possible. Â
Optional / Consider using the SessionFilter before iterating through the object hierarchy to find the action that you want to use. On the SessionFilter either or both DataTypes and Module can be set. Â Â
Optional / To get the latest Action of a desired type iterate backward in the object hierarchy.Â
Suggestion / only read Public and Private data when the desired action is found. Reading public or private data while iterating through the object hierarchy will invoke a database call on the server. Â Â Â
Once the desired action is found and Public data is to be read include a ConvertData call with the desired format.  It will not give any overhead even if the data format is the same since it’s handled by the ModuleAPI. In the case of the Noah mobile API, the desired format can be included when requesting action data.
Q: What happens if no data is returned/converted?
A: This is unlikely to occur; in order to save data to Noah in a particular format the Noah installation must first contain the correct schema files and runtime converters so in most cases this situation should not occur. However, it could be possible (e.g. data was imported into Noah) and the needed format support tools are not in place. In this case, the Noah installation will need to have the correct schemas and converters included. This is accomplished by using a support package obtained by HIMSA. Noah end users can obtain these packages from HIMSA.com or the application developer is free to distribute them as well.
Q: What will happen if pre-format 500 data is converted up and does not validate against the format 500 or newer XSD schema?
A: HIMSA is not able to promise that formats less than 500 will validate against the desired XSD schema. The ConvertedFromDataStandard attribute for each format 500 and newer can be read to see what version the data was converted from.