From 078fdf339826d48ec74c2244a061f27170b2e695 Mon Sep 17 00:00:00 2001 From: dib0 Date: Sun, 12 Apr 2015 17:02:14 +0200 Subject: [PATCH] Update to latest NHapi and bug fixes with that newest version --- Base/IO/HL7InputStreamMessageEnumerator.cs | 6 +- Base/NHapiTools.Base.csproj | 2 - Base/Parser/EnhancedModelClassFactory.cs | 8 ++ Base/Parser/HL7Package.cs | 44 ------- Base/Parser/PackageManager.cs | 112 ------------------ Base/Properties/AssemblyInfo.cs | 6 +- BuildResult/NHapiTools.Model.V21.dll | Bin 86528 -> 86528 bytes BuildResult/NHapiTools.Model.V22.dll | Bin 303616 -> 303616 bytes BuildResult/NHapiTools.Model.V251.dll | Bin 1660928 -> 1660928 bytes BuildResult/Release notes.txt | 5 +- Model.V21/Properties/AssemblyInfo.cs | 6 +- Model.V22/Properties/AssemblyInfo.cs | 6 +- Model.V23/Properties/AssemblyInfo.cs | 6 +- Model.V231/Properties/AssemblyInfo.cs | 4 +- Model.V24/Properties/AssemblyInfo.cs | 6 +- Model.V25/Properties/AssemblyInfo.cs | 4 +- Model.V251/Properties/AssemblyInfo.cs | 4 +- NuGet/NHapiTools.nuspec | 2 +- .../Properties/AssemblyInfo.cs | 4 +- TestApp/App.config | 14 ++- TestApp/Program.cs | 2 +- TestApp/Properties/AssemblyInfo.cs | 6 +- TestApp/TestApp.csproj | 1 + TestApp/TestMessages/ADT_A08.txt | 4 +- 24 files changed, 56 insertions(+), 196 deletions(-) delete mode 100644 Base/Parser/HL7Package.cs delete mode 100644 Base/Parser/PackageManager.cs diff --git a/Base/IO/HL7InputStreamMessageEnumerator.cs b/Base/IO/HL7InputStreamMessageEnumerator.cs index 51089f2..fa6a75e 100644 --- a/Base/IO/HL7InputStreamMessageEnumerator.cs +++ b/Base/IO/HL7InputStreamMessageEnumerator.cs @@ -47,7 +47,11 @@ public IMessage Current { get { - return parser.Parse(enumerator.Current); + string curr = enumerator.Current; + if (string.IsNullOrEmpty(curr)) + return null; + + return parser.Parse(curr); } } diff --git a/Base/NHapiTools.Base.csproj b/Base/NHapiTools.Base.csproj index 7d7d71a..605b45c 100644 --- a/Base/NHapiTools.Base.csproj +++ b/Base/NHapiTools.Base.csproj @@ -77,8 +77,6 @@ - - diff --git a/Base/Parser/EnhancedModelClassFactory.cs b/Base/Parser/EnhancedModelClassFactory.cs index 7aa48f3..c36e819 100644 --- a/Base/Parser/EnhancedModelClassFactory.cs +++ b/Base/Parser/EnhancedModelClassFactory.cs @@ -50,6 +50,14 @@ public override Type GetMessageClass(string theName, string theVersion, bool isE return typeof(NHapiTools.Base.Model.GenericMessageWrapper); } + + public override Type GetSegmentClass(string theName, string theVersion) + { + List l = DefaultModelClassFactory.PackageList("2.3"); + + Type t = base.GetSegmentClass(theName, theVersion); + return t; + } #endregion #region Public properties diff --git a/Base/Parser/HL7Package.cs b/Base/Parser/HL7Package.cs deleted file mode 100644 index b2c1ba7..0000000 --- a/Base/Parser/HL7Package.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; - -namespace NHapiTools.Base.Parser -{ - internal class Hl7Package - { - private string _version; - private string _packageName; - - public string Version - { - get - { - return this._version; - } - set - { - this._version = value; - } - } - - public string PackageName - { - get - { - return this._packageName; - } - } - - public string EventMappingResourceName - { - get - { - return this._packageName + ".EventMapping.EventMap.properties"; - } - } - - public Hl7Package(string packageName, string version) - { - this._version = version; - this._packageName = packageName; - } - } -} diff --git a/Base/Parser/PackageManager.cs b/Base/Parser/PackageManager.cs deleted file mode 100644 index 7a9fae1..0000000 --- a/Base/Parser/PackageManager.cs +++ /dev/null @@ -1,112 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Configuration; -using NHapi.Base; -using NHapi.Base.Model.Configuration; - -namespace NHapiTools.Base.Parser -{ - internal class PackageManager - { - private List _packages = new List(); - private static readonly PackageManager _instance = new PackageManager(); - - public static PackageManager Instance - { - get - { - return PackageManager._instance; - } - } - - static PackageManager() - { - } - - private PackageManager() - { - this.LoadBaseVersions(); - this.LoadAdditionalVersions(); - } - - public IList GetAllPackages() - { - return (IList) this._packages; - } - - private void LoadBaseVersions() - { - string[] strArray = new string[6] - { - "2.2", - "2.3", - "2.3.1", - "2.4", - "2.5", - "2.5.1" - }; - foreach (string str in strArray) - this._packages.Add(new Hl7Package(PackageManager.GetVersionPackageName(str), str)); - } - - private void LoadAdditionalVersions() - { - HL7PackageConfigurationSection configurationSection = ConfigurationManager.GetSection("Hl7PackageCollection") as HL7PackageConfigurationSection; - if (configurationSection == null) - return; - foreach (HL7PackageElement hl7PackageElement in (ConfigurationElementCollection) configurationSection.Packages) - this._packages.Insert(0, new Hl7Package(hl7PackageElement.Name, hl7PackageElement.Version)); - } - - public bool IsValidVersion(string version) - { - version = version.ToUpper().Trim(); - foreach (Hl7Package hl7Package in this._packages) - { - if (hl7Package.Version.ToUpper().Trim().Equals(version)) - return true; - } - return false; - } - - /// - /// Returns the path to the base package for model elements of the given version - /// - e.g. "NHapi.Model.VXXX". - /// This package should have the packages datatype, segment, group, and message - /// under it. The path ends in with a slash. - /// - /// - public static string GetVersionPackagePath(string ver) - { - StringBuilder stringBuilder = new StringBuilder("NHapi.Model.V"); - char[] destinationArray = new char[ver.Length]; - SupportClass.GetCharsFromString(ver, 0, ver.Length, destinationArray, 0); - for (int index = 0; index < destinationArray.Length; ++index) - { - if ((int) destinationArray[index] != 46) - stringBuilder.Append(destinationArray[index]); - } - stringBuilder.Append("/"); - return ((object) stringBuilder).ToString(); - } - - /// - /// Returns the package name for model elements of the given version - e.g. - /// "NHapi.Base.Model.v24.". This method - /// is identical to - /// - /// getVersionPackagePath(...) - /// - /// except that path - /// separators are replaced with dots. - /// - /// - public static string GetVersionPackageName(string ver) - { - return PackageManager.GetVersionPackagePath(ver).Replace('/', '.').Replace('\\', '.'); - } - } -} \ No newline at end of file diff --git a/Base/Properties/AssemblyInfo.cs b/Base/Properties/AssemblyInfo.cs index 25df105..3294962 100644 --- a/Base/Properties/AssemblyInfo.cs +++ b/Base/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("NHapiTools.Base")] -[assembly: AssemblyCopyright("Copyright Division by Zero © 2013 - 2014 - 2014")] +[assembly: AssemblyCopyright("Copyright Division by Zero © 2013 - 2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.5.0.0")] -[assembly: AssemblyFileVersion("1.5.0.0")] +[assembly: AssemblyVersion("1.6.0.0")] +[assembly: AssemblyFileVersion("1.6.0.0")] diff --git a/BuildResult/NHapiTools.Model.V21.dll b/BuildResult/NHapiTools.Model.V21.dll index 5b039e4e78e2287092e3d258468ddf7ef85eb717..3cf0fcdb848e7a72dc46ca8090005db4af96dbbc 100644 GIT binary patch delta 162 zcmZoz!rHKebwUSoZim*!ZoyBCY?J4H@?~V({Q8riw}8&!rPq`NKe;NZbsATA)bszjAql@JsE9vfI34NfPe{zWf&P4?xZs^-0@^&2nu!yuH*b(HUCD9 z?_{pBZ)MwGHEjRj$vA_FlZ^qW4hYz`PxN7|W(1nV>&JK*XzoK0Wj1}QKchLL+4i^o HjKWL+;zKmm delta 162 zcmZoz!rHKebwUSo9pELp&Lc7)__QdotSU0Ck2k009#a%P=x9+(~C-xZ}yl5ESeZ{6XLI?8N?7 zm$m*S$z2aEdA5J>WSqgo$;tp!2L!C!C;Bi}GXhQG^<%sYH1{EhGM&EFpV6Grbo*O> HMqwrZ1c)?O diff --git a/BuildResult/NHapiTools.Model.V22.dll b/BuildResult/NHapiTools.Model.V22.dll index 085bb9a7b30e663ead85b86251f97b4aa6c0115c..6e256c078ffc24c5aca405b47b4bc2d0b97a7aa5 100644 GIT binary patch delta 154 zcmZoTBGhn1XhH{bL5EgjcWXCeYd6!@Zsw1(8QG@S&SCatWZQmv4s-2Q0T}`F0@peV z$N7)v+@Jk$kuLA|Lcrw({EoFEoEeD54<4?#A4e6Z-~2J z6xjDYywUyZLARN&Kjzh>n?K&ZVx>ghGDfrM;sKJjIzYQa8GwKZh-DZV7;^F?8FB(7 z8G?dcg8$uHC&B;H$79Wtg?8IrzPfF12$1Ap;$&k0ssjSH?Gu9}*%=wlw$BWfOa{`^ c|At7KbDA;eF&KdGbipvmBik9nB>yu408!mh+yDRo delta 235 zcmZqJklL^zbwUSo%?!=P?$&O`)^4WOZsyi*mey|8)^4`eZuZu0j@E9@)^4uWZtm7@ zp4M*O)^5JmZvNJ8f!1!p)^4HJZsFE$k*(dL{?{2fF&KdGbipvmBik9nB>yu401>fJ)Bpeg diff --git a/BuildResult/Release notes.txt b/BuildResult/Release notes.txt index 4074e60..68a155c 100644 --- a/BuildResult/Release notes.txt +++ b/BuildResult/Release notes.txt @@ -12,8 +12,11 @@ curve and not everything works as easy as it should. NHapiTools aims to improve - Two sets of context implementation to easily add all or configurable validation rules. 3. Changelog +- V1.6 Release (April 2015) + Updated to work with NuGet. Updated to the latest version of NHapi and fixed some bugs. + - V1.5 Release (April 2015) - Fixzed bug in ERR segment. Added custom ACK message classes for HL7 V2.2 and V2.1 since these seem to be missing from NHapi. + Fixed bug in ERR segment. Added custom ACK message classes for HL7 V2.2 and V2.1 since these seem to be missing from NHapi. - V1.4 Release (December 2014) Added more HL7 versions. Finished documentation. diff --git a/Model.V21/Properties/AssemblyInfo.cs b/Model.V21/Properties/AssemblyInfo.cs index 4f48c68..1f5822a 100644 --- a/Model.V21/Properties/AssemblyInfo.cs +++ b/Model.V21/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("NHapiTools.Model.V23")] -[assembly: AssemblyCopyright("Copyright Division by Zero © 2013 - 2014")] +[assembly: AssemblyCopyright("Copyright Division by Zero © 2013 - 2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.5.0.0")] -[assembly: AssemblyFileVersion("1.5.0.0")] +[assembly: AssemblyVersion("1.6.0.0")] +[assembly: AssemblyFileVersion("1.6.0.0")] diff --git a/Model.V22/Properties/AssemblyInfo.cs b/Model.V22/Properties/AssemblyInfo.cs index 4f48c68..1f5822a 100644 --- a/Model.V22/Properties/AssemblyInfo.cs +++ b/Model.V22/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("NHapiTools.Model.V23")] -[assembly: AssemblyCopyright("Copyright Division by Zero © 2013 - 2014")] +[assembly: AssemblyCopyright("Copyright Division by Zero © 2013 - 2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.5.0.0")] -[assembly: AssemblyFileVersion("1.5.0.0")] +[assembly: AssemblyVersion("1.6.0.0")] +[assembly: AssemblyFileVersion("1.6.0.0")] diff --git a/Model.V23/Properties/AssemblyInfo.cs b/Model.V23/Properties/AssemblyInfo.cs index 4f48c68..1f5822a 100644 --- a/Model.V23/Properties/AssemblyInfo.cs +++ b/Model.V23/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("NHapiTools.Model.V23")] -[assembly: AssemblyCopyright("Copyright Division by Zero © 2013 - 2014")] +[assembly: AssemblyCopyright("Copyright Division by Zero © 2013 - 2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.5.0.0")] -[assembly: AssemblyFileVersion("1.5.0.0")] +[assembly: AssemblyVersion("1.6.0.0")] +[assembly: AssemblyFileVersion("1.6.0.0")] diff --git a/Model.V231/Properties/AssemblyInfo.cs b/Model.V231/Properties/AssemblyInfo.cs index f52f3a9..7e17a8f 100644 --- a/Model.V231/Properties/AssemblyInfo.cs +++ b/Model.V231/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.5.0.0")] -[assembly: AssemblyFileVersion("1.5.0.0")] +[assembly: AssemblyVersion("1.6.0.0")] +[assembly: AssemblyFileVersion("1.6.0.0")] diff --git a/Model.V24/Properties/AssemblyInfo.cs b/Model.V24/Properties/AssemblyInfo.cs index 7329b09..51d3182 100644 --- a/Model.V24/Properties/AssemblyInfo.cs +++ b/Model.V24/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("NHapiTools.Model.V24")] -[assembly: AssemblyCopyright("Copyright Division by Zero © 2013 - 2014")] +[assembly: AssemblyCopyright("Copyright Division by Zero © 2013 - 2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.5.0.0")] -[assembly: AssemblyFileVersion("1.5.0.0")] +[assembly: AssemblyVersion("1.6.0.0")] +[assembly: AssemblyFileVersion("1.6.0.0")] diff --git a/Model.V25/Properties/AssemblyInfo.cs b/Model.V25/Properties/AssemblyInfo.cs index 5ceccc9..c2c2772 100644 --- a/Model.V25/Properties/AssemblyInfo.cs +++ b/Model.V25/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.5.0.0")] -[assembly: AssemblyFileVersion("1.5.0.0")] +[assembly: AssemblyVersion("1.6.0.0")] +[assembly: AssemblyFileVersion("1.6.0.0")] diff --git a/Model.V251/Properties/AssemblyInfo.cs b/Model.V251/Properties/AssemblyInfo.cs index f52f3a9..7e17a8f 100644 --- a/Model.V251/Properties/AssemblyInfo.cs +++ b/Model.V251/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.5.0.0")] -[assembly: AssemblyFileVersion("1.5.0.0")] +[assembly: AssemblyVersion("1.6.0.0")] +[assembly: AssemblyFileVersion("1.6.0.0")] diff --git a/NuGet/NHapiTools.nuspec b/NuGet/NHapiTools.nuspec index d238730..d548a57 100644 --- a/NuGet/NHapiTools.nuspec +++ b/NuGet/NHapiTools.nuspec @@ -2,7 +2,7 @@ NHapiTools - 1.5.0.0 + 1.6.0.0 Division by Zero Division by Zero https://github.com/dib0/NHapiTools/blob/master/LICENSE diff --git a/TestApp.CustomImplementation.V23/Properties/AssemblyInfo.cs b/TestApp.CustomImplementation.V23/Properties/AssemblyInfo.cs index 00589de..14c07b8 100644 --- a/TestApp.CustomImplementation.V23/Properties/AssemblyInfo.cs +++ b/TestApp.CustomImplementation.V23/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.5.0.0")] -[assembly: AssemblyFileVersion("1.5.0.0")] +[assembly: AssemblyVersion("1.6.0.0")] +[assembly: AssemblyFileVersion("1.6.0.0")] diff --git a/TestApp/App.config b/TestApp/App.config index 72f7a66..e28c10b 100644 --- a/TestApp/App.config +++ b/TestApp/App.config @@ -2,19 +2,21 @@ -
+
-
+
-
+
- - - + + + + + diff --git a/TestApp/Program.cs b/TestApp/Program.cs index 4010dde..a486e14 100644 --- a/TestApp/Program.cs +++ b/TestApp/Program.cs @@ -234,8 +234,8 @@ private static void TestGenericMessageWrapper() EnhancedModelClassFactory emch = new EnhancedModelClassFactory(); PipeParser parser = new PipeParser(emch); emch.ValidationContext = parser.ValidationContext; + IMessage im=parser.Parse(txtMessage); - IMessage im = parser.Parse(txtMessage); GenericMessageWrapper gcw = im as GenericMessageWrapper; if (gcw != null) { diff --git a/TestApp/Properties/AssemblyInfo.cs b/TestApp/Properties/AssemblyInfo.cs index 74e3de9..cf03bf3 100644 --- a/TestApp/Properties/AssemblyInfo.cs +++ b/TestApp/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("TestApp")] -[assembly: AssemblyCopyright("Copyright Division by Zero © 2013 - 2014")] +[assembly: AssemblyCopyright("Copyright Division by Zero © 2013 - 2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.5.0.0")] -[assembly: AssemblyFileVersion("1.5.0.0")] +[assembly: AssemblyVersion("1.6.0.0")] +[assembly: AssemblyFileVersion("1.6.0.0")] diff --git a/TestApp/TestApp.csproj b/TestApp/TestApp.csproj index be7068b..0905b66 100644 --- a/TestApp/TestApp.csproj +++ b/TestApp/TestApp.csproj @@ -66,6 +66,7 @@ True + diff --git a/TestApp/TestMessages/ADT_A08.txt b/TestApp/TestMessages/ADT_A08.txt index adb6959..7d65fea 100644 --- a/TestApp/TestMessages/ADT_A08.txt +++ b/TestApp/TestMessages/ADT_A08.txt @@ -1,9 +1,9 @@ -MSH|^~\&|AnotherSoftwareSystem|EmpireMedicalAssociates|pMDsoft|123456|20080717120312||ADT^A08|12320080717120312|P|2.3|||NE|NE +MSH|^~\&|AnotherSoftwareSystem|EmpireMedicalAssociates|pMDsoft|123456|20080717120312||ADT^A08^ADT_A08|12320080717120312|P|2.3|||NE|NE EVN|A08|20080717120312 PID|1|987654||A123456|Smith^John^Q||19600411000000|M|||123 Main St.^^New York^NY^11101~456 Main St.^^Dallas^TX^11102||(123)456-7890^^^^^123^4567890|(321)654-0987X3000^^^^^321^6540987^3000|||||888776666 PV1|1|R|^^^00123||||97^Jones^Mary^Q^MD|12^Baker^Joseph^Q^DO||||||||||||||||||||||||||||||||||||20080715|20080717 -MSH|^~\&|COL|ABC|FWS|ABC|201310250715||ADT^A08|000710428|P|2.3|||||NE||NE +MSH|^~\&|COL|ABC|FWS|ABC|201310250715||ADT^A08^ADT_A08|000710428|P|2.3|||||NE||NE EVN||201310250715||O|911123^TEST^T.E.S.T.|201306171001 PID||0110051528|1234567^^^^PI||&&test23^i^i^^^^D||19800314|F|||Teststreet 5^^A City^^1|| ROL|||PP^Doktor^HL11111|1111^Test,^^^^^^^aaaa|||||||Teststreet 5^^A City^^1|01234567890^WPN^PH