Ignore:
Timestamp:
Jul 7, 2010, 4:51:54 PM (14 years ago)
Author:
Kevin Toppenberg
Message:

Upgrading to version 27

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cprs/trunk/CPRS-Chart/rCore.pas

    r456 r830  
    104104{ General calls }
    105105
    106 function GetProgramFilesPath: String;
    107106function ExternalName(IEN: Int64; FileNumber: Double): string;
    108107function PersonHasKey(APerson: Int64; const AKey: string): Boolean;
     
    118117function GetUserInfo: TUserInfo;
    119118function GetUserParam(const AParamName: string): string;
     119procedure GetUserListParam(Dest: TStrings; const AParamName: string);
    120120function HasSecurityKey(const KeyName: string): Boolean;
    121121function HasMenuOptionAccess(const OptionName: string): Boolean;
     
    152152procedure ListProviderTop(Dest: TStrings);
    153153function SubSetOfProviders(const StartFrom: string; Direction: Integer): TStrings;
     154function SubSetOfCosigners(const StartFrom: string; Direction: Integer; Date: TFMDateTime;
     155  ADocType: integer; ATitle: integer): TStrings;
    154156procedure ListClinicTop(Dest: TStrings);
    155157function SubSetOfClinics(const StartFrom: string; Direction: Integer): TStrings;
     
    210212function HasRemoteData(const DFN: string; var ALocations: TStringList): Boolean;
    211213function CheckHL7TCPLink: Boolean;
    212 function UseVistaWeb: Boolean;
    213214function GetVistaWebAddress(value: string): string;
    214 procedure ChangeVistaWebParam(value: string);
    215215
    216216implementation
     
    219219
    220220var
    221   uFMToday: TFMDateTime;                         // Today's date in Fileman format.
    222221  uPtListDfltSort: string = '';                  // Current user's patient selection list default sort order.
    223222
     
    225224
    226225function FormatSSN(const x: string): string;
    227  {places the dashes in a social security number }
    228 
     226{ places the dashes in a social security number }
    229227//vwpt code 4/17/0  see below
    230228var
     
    267265{ return the current date in Fileman format }
    268266begin
    269   if uFMToday = 0 then uFMToday := Int(FMNow);
    270   Result := uFMToday;
     267  Result := Int(FMNow);
    271268end;
    272269
     
    318315begin
    319316  CallV('ORWPT CLINRNG', [nil]);
    320   Dest.Assign(RPCBrokerV.Results);
     317  FastAssign(RPCBrokerV.Results, Dest);
    321318end;
    322319
     
    328325
    329326{ General calls }
    330 
    331 function GetProgramFilesPath: String;
    332 Const
    333   CSIDL_PROGRAM_FILES = $0026;
    334 var
    335   Path: array[0..Max_Path] of Char;
    336 begin
    337   Path := '';
    338   SHGetSpecialFolderPath(0,Path,CSIDL_PROGRAM_FILES,false);
    339   Result := Path;
    340 end;
    341327
    342328function ExternalName(IEN: Int64; FileNumber: Double): string;
     
    441427end;
    442428
     429procedure GetUserListParam(Dest: TStrings; const AParamName: string);
     430var
     431  tmplst: TStringList;
     432begin
     433  tmplst := TStringList.Create;
     434  try
     435    tCallV(tmplst, 'ORWU PARAMS', [AParamName]);
     436    FastAssign(tmplst, Dest);
     437  finally
     438    tmplst.Free;
     439  end;
     440end;
     441
    443442function HasSecurityKey(const KeyName: string): Boolean;
    444443{ returns true if the currently logged in user has a given security key }
     
    472471    //UpdateUnsignedOrderAlerts(Patient.DFN);      //moved to AFTER signature and DC actions
    473472    tCallV(tmplst, 'ORWORB FASTUSER', [nil]);
    474     Dest.Assign(tmplst);
     473    FastAssign(tmplst, Dest);
    475474  finally
    476475    tmplst.Free;
     
    593592  CallV('ORQPT SPECIALTIES', [nil]);
    594593  MixedCaseList(RPCBrokerV.Results);
    595   Dest.Assign(RPCBrokerV.Results);
     594  FastAssign(RPCBrokerV.Results, Dest);
    596595end;
    597596
     
    601600  CallV('ORQPT TEAMS', [nil]);
    602601  MixedCaseList(RPCBrokerV.Results);
    603   Dest.Assign(RPCBrokerV.Results);
     602  FastAssign(RPCBrokerV.Results, Dest);
    604603end;
    605604
     
    609608  CallV('ORQPT WARDS', [nil]);
    610609  //MixedCaseList(RPCBrokerV.Results);
    611   Dest.Assign(RPCBrokerV.Results);
     610  FastAssign(RPCBrokerV.Results, Dest);
    612611end;
    613612
     
    623622  CallV('ORWU NEWPERS', [StartFrom, Direction, 'PROVIDER']);
    624623//  MixedCaseList(RPCBrokerV.Results);
     624  Result := RPCBrokerV.Results;
     625end;
     626
     627function SubSetOfCosigners(const StartFrom: string; Direction: Integer; Date: TFMDateTime;
     628  ADocType: integer; ATitle: integer): TStrings;
     629{ returns a pointer to a list of cosigners (for use in a long list box) -  The return value is
     630  a pointer to RPCBrokerV.Results, so the data must be used BEFORE the next broker call! }
     631begin
     632  if ATitle > 0 then ADocType := 0;
     633  // CQ #17218 - Correcting order of parameters for this call
     634  //  CallV('ORWU2 COSIGNER', [StartFrom, Direction, Date, ATitle, ADocType]);
     635  CallV('ORWU2 COSIGNER', [StartFrom, Direction, Date, ADocType, ATitle]);
     636
     637  //  MixedCaseList(RPCBrokerV.Results);
    625638  Result := RPCBrokerV.Results;
    626639end;
     
    726739    end;
    727740    MixedCaseList(tmplst);
    728     Dest.Assign(tmplst);
     741    FastAssign(tmplst, Dest);
    729742  finally
    730743    tmplst.Free;
     
    738751  SortByPiece(TStringList(RPCBrokerV.Results), U, 2);
    739752  MixedCaseList(RPCBrokerV.Results);
    740   Dest.Assign(RPCBrokerV.Results);
     753  FastAssign(RPCBrokerV.Results, Dest);
    741754end;
    742755
     
    747760  SortByPiece(TStringList(RPCBrokerV.Results), U, 2);
    748761  MixedCaseList(RPCBrokerV.Results);
    749   Dest.Assign(RPCBrokerV.Results);
     762  FastAssign(RPCBrokerV.Results, Dest);
    750763end;
    751764
     
    756769  SortByPiece(TStringList(RPCBrokerV.Results), U, 2);
    757770  MixedCaseList(RPCBrokerV.Results);
    758   Dest.Assign(RPCBrokerV.Results);
     771  FastAssign(RPCBrokerV.Results, Dest);
    759772end;
    760773
     
    784797    end;
    785798    MixedCaseList(Results);
    786     Dest.Assign(Results);
     799    FastAssign(Results, Dest);
    787800  end;
    788801end;
     
    800813    SortByPiece(TStringList(RPCBrokerV.Results), U, 2);
    801814  MixedCaseList(RPCBrokerV.Results);
    802   Dest.Assign(RPCBrokerV.Results);
     815  FastAssign(RPCBrokerV.Results, Dest);
    803816end;
    804817
     
    832845
    833846//END VWPT ADDITIONS
     847
    834848procedure ListPtByLast5(Dest: TStrings; const Last5: string);
    835849var
     
    851865  end;
    852866  MixedCaseList(RPCBrokerV.Results);
    853   Dest.Assign(RPCBrokerV.Results);
     867  FastAssign(RPCBrokerV.Results, Dest);
    854868end;
    855869
     
    873887  end;
    874888  MixedCaseList(RPCBrokerV.Results);
    875   Dest.Assign(RPCBrokerV.Results);
     889  FastAssign(RPCBrokerV.Results, Dest);
    876890end;
    877891
     
    902916  end;
    903917  MixedCaseList(RPCBrokerV.Results);
    904   Dest.Assign(RPCBrokerV.Results);
     918  FastAssign(RPCBrokerV.Results, Dest);
    905919end;
    906920
     
    931945  end;
    932946  MixedCaseList(RPCBrokerV.Results);
    933   Dest.Assign(RPCBrokerV.Results);
     947  FastAssign(RPCBrokerV.Results, Dest);
    934948end;
    935949
     
    939953  CallV('ORWPT TOP', [nil]);
    940954  MixedCaseList(RPCBrokerV.Results);
    941   Dest.Assign(RPCBrokerV.Results);
     955  FastAssign(RPCBrokerV.Results, Dest);
    942956end;
    943957
     
    10451059
    10461060function GetPtIDInfo(const DFN: string): TPtIDInfo;  //*DFN*
    1047 { returns the identifiers displayed upon patient selection
    10481061//VWPT ADD HRN   ,ALT HRN (FUTURE)
    1049   Pieces: SSN[1]^DOB[2]^SEX[3]^VET[4]^SC%[5]^WARD[6]^RM-BED[7]^NAME[8]^HRN[9]^ALTHRN[10] }
     1062//  Pieces: SSN[1]^DOB[2]^SEX[3]^VET[4]^SC%[5]^WARD[6]^RM-BED[7]^NAME[8]^HRN[9]^ALTHRN[10] }
    10501063 // Pieces: SSN[1]^DOB[2]^SEX[3]^VET[4]^SC%[5]^WARD[6]^RM-BED[7]^NAME[8] }
    10511064var
     
    11251138  //VWPT add HRN and ALTERNATE HRN used with PID hl7 segments
    11261139  ADMITTIME[10]^CONVERTED[11]^SVCONN[12]^SC%[13]^ICN[14]^Age[15]^TreatSpec[16]^HRN[17]^AltHRN[18] }
    1127 //  BEFORE THIS VWPT WAS         ADMITTIME[10]^CONVERTED[11]^SVCONN[12]^SC%[13]^ICN[14]^Age[15]^TreatSpec[16] }
     1140 //  BEFORE THIS VWPT WAS         ADMITTIME[10]^CONVERTED[11]^SVCONN[12]^SC%[13]^ICN[14]^Age[15]^TreatSpec[16] }
    11281141var
    11291142  x: string;
     
    11481161    ServiceConnected := Piece(x, U, 12) = '1';
    11491162    SCPercent := StrToIntDef(Piece(x, U, 13), 0);
    1150 
    11511163    //VWPT ADD HRN   AltHRN (future)
    11521164    HRN := Piece(x, U, 17);
     
    12291241    MixedCaseList(Results);
    12301242    SetListFMDateTime('mmm dd,yyyy hh:nn', TStringList(Results), U, 2);
    1231     Dest.Assign(Results);
     1243    FastAssign(Results, Dest);
    12321244  end;
    12331245  (*
     
    12451257      Results[i] := x;
    12461258    end;
    1247     Dest.Assign(Results);
     1259    FastAssign(Results, Dest);
    12481260  end;
    12491261  *)
     
    12671279      Results[i] := x;
    12681280    end;
    1269     Dest.Assign(Results);
     1281    FastAssign(Results, Dest);
    12701282  end;
    12711283end;
     
    13011313begin
    13021314  CallV('ORWCIRN FACLIST', [DFN]);
    1303   ALocations.Assign(RPCBrokerV.Results);
     1315  FastAssign(RPCBrokerV.Results, ALocations);
    13041316  Result := not (Piece(RPCBrokerV.Results[0], U, 1) = '-1');
    13051317
     
    13201332 end;
    13211333
    1322 function UseVistaWeb: Boolean;
    1323  begin;
    1324    CallV('ORWCIRN VISTAWEB',[nil]);
    1325    result := RPCBrokerV.Results[0] = '1';
    1326  end;
    1327 
    13281334function GetVistaWebAddress(value: string): string;
    13291335begin
     
    13321338end;
    13331339
    1334 procedure ChangeVistaWebParam(value: string);
    1335   begin
    1336     CallV('ORWCIRN WEBCH',[value]);
    1337   end;
    1338 
    13391340function GetDefaultPrinter(DUZ: Int64; Location: integer): string;
    13401341begin
     
    13421343end;
    13431344
    1344 initialization
    1345   uFMToday := 0;
    1346 
    13471345end.
Note: See TracChangeset for help on using the changeset viewer.