Index: cprs/branches/foia-cprs/CPRS-Chart/Vitals/uVitals.pas
===================================================================
--- cprs/branches/foia-cprs/CPRS-Chart/Vitals/uVitals.pas	(revision 459)
+++ cprs/branches/foia-cprs/CPRS-Chart/Vitals/uVitals.pas	(revision 460)
@@ -5,5 +5,7 @@
 
 uses
-  SysUtils, Dialogs, Controls, Windows, Classes, ORClasses, ORCtrls, ORFn, Forms;
+  SysUtils, Dialogs, Controls, Windows, Classes, ORClasses, ORCtrls, ORFn, Forms
+  , TRPCB
+  ;
 
 const
@@ -32,6 +34,7 @@
 procedure SetVitalsMetric(const Value: boolean);
 procedure SetVitCVPmmHg(const Value: boolean);
-function ValidVitalsDate(var ADate: TFMDateTime; SkipFirst: boolean = FALSE): boolean;
+function ValidVitalsDate(var ADate: TFMDateTime; SkipFirst: boolean = FALSE; Show: boolean = true): boolean;
 function IsNumericWeight(const x: string): Boolean;
+procedure CloseVitalsDLL;
 
 const
@@ -77,6 +80,53 @@
   VitalLocationStr = 'VST^HL^';
 
+  SHARE_DIR = '\VISTA\Common Files\';
+  GMV_CONTEXT = 'OR CPRS GUI CHART';
+  GMV_APP_SIGNATURE = 'CPRS';
+  GMV_DEFAULT_TEMPLATE = '';
+
 type
   VitalTags = TAG_VITBP..TAG_VITPAIN;
+
+  TGMV_VitalsEnterForm = function(
+        aBroker:TRPCBroker;
+        aPatient, aLocation, aTemplate,aSignature:String;
+        aDateTime:TDateTime): TCustomForm; stdcall;
+
+  TGMV_VitalsEnterDLG = function(
+        aBroker:TRPCBroker;
+        aDFN, aLocation, aTemplate,aSignature:String;
+        aDateTime:TDateTime;
+        aName,anInfo:String): Integer; stdcall;
+
+  TGFM_VitalsViewDLG = function(
+        aBroker:TRPCBroker;
+        aDFN, aLocation,
+        DateStart, DateStop,
+        aSignature,
+        aContextIn,aContextOut,
+        aName,anInfo,aHospitalName:String): Integer; stdcall;
+
+  TGMV_VitalsViewForm = function(
+        aBroker:TRPCBroker;
+        aDFN, aLocation,
+        DateStart, DateStop,
+        aSignature,
+        aContextIn,aContextOut,
+        aName,anInfo,
+        aDynamicParameter {HospitolName^Vital Type Abbreviation} :String): TCustomForm; stdcall;
+
+  TGMV_LatestVitalsList = function (
+        aBroker:TRPCBroker;
+        aDFN,
+        aDelim:String;
+        bSilent:Boolean
+        ): TStringList; stdcall;
+
+  TGMV_VitalsExit = Procedure;
+
+var
+  VitalsDLLHandle : THandle;
+  DLLForceClose : Boolean = False;
+
 
 const
@@ -128,7 +178,20 @@
 uses
   uCore, rCore, rVitals, Contnrs, mVitBase, mVitMetric, fVitalsDate;
-
+  
 var
   uVitalFrames: TComponentList = nil;
+
+procedure CloseVitalsDLL;
+var
+  VitalsExit : TGMV_VitalsExit;
+begin
+  if VitalsDLLHandle <> 0 then
+  begin
+    @VitalsExit := GetProcAddress(VitalsDLLHandle,PChar('GMV_VitalsExit'));
+    if assigned(VitalsExit) then
+      VitalsExit();
+    DLLForceClose := True;
+  end;
+end;
 
 function VitalErrorText(VType: TVitalType): string;
@@ -545,5 +608,6 @@
 end;
 
-function ValidVitalsDate(var ADate: TFMDateTime; SkipFirst: boolean = FALSE): boolean;
+
+function ValidVitalsDate(var ADate: TFMDateTime; SkipFirst: boolean = FALSE; Show: boolean = true): boolean;   //AGP Change 26.1
 var
   frmVitalsDate: TfrmVitalsDate;
@@ -571,4 +635,5 @@
       try
         frmVitalsDate.dteVitals.FMDateTime := ADate;
+        frmVitalsDate.btnNow.Visible := Show; //AGP Change 26.1
         if frmVitalsDate.ShowModal = mrOK then
           ADate := frmVitalsDate.dteVitals.FMDateTime;
@@ -581,4 +646,5 @@
   end;
 end;
+
 function IsNumericWeight(const x: string): Boolean;
 var
