HL7StringAnalyzer Class

Class Name: HL7StringAnalyzer

Scope: Public - Restricted ( License Required )

 

Overview: It will analyze a string (or a LoadFromFile method) and carve out HL7 messages. It also has some interfaces to the SQLHL7Importer and SchemaTrainer classes.

 

NOTE: The object has a maximum capacity of 30 megabytes. It won't accept a string or a file containing a string > than that. See Exception Handling.

 

Creating the ObjectImplementation

 

Public PropertiesPublic Properties (ReadOnly)

 

Public PropertiesPublic Properties (Get / Set)

 

Public PropertiesPublic Methods()

 


 

EventsEvents

 

 

 


 

 

 

Exception Handling: Follows the Common Exceptions Interface.

 

Programming Notes

 

For best performance (for reasons which WILL be explained in detail in the near future) you should whenever possible keep these objects in-scope and reuse them and let them fall out of scope when you must.

 

Example Pseudocode:

 

<Class MyMainClass>

@Scope - Class

<Create your SQLSchemaAPIKey>

<Use Key object to create needed objects>

<HL7MessageEncoder>

<HL7StringAnalyzer>

...And so on

<Your Process Code Which will reuse the Objects>

<Processes>

<Processes>

<Processes>

......And so on

<Process Ends>

<Class Ends>

 

Now every time you create <Class MyMainClass> there's some overhead loading the objects up. This is mainly from the UPSInfo class which is used extensively internally and is the base class for the SQLHL7Importer and the SchemaTrainer derived classes. This is the object that has to query system information tables and loads up the schema definition tables structures into memory for every table, every column, etc.

 

Performance wise you might notice that if you were to recreate <Class MyMainClass> every time you have a HL7 message ready to import it might take 1/2 second or more to import a basic ADT message. However, if you followed the example above, you might see 1/2 second or more on the FIRST message dropping down to milliseconds on subsequent imports.

 

 

 

 

 

 

© 2015 HermeTech International
(a Division of TransWorld Scribes)