166 lines
4.5 KiB
Plaintext
166 lines
4.5 KiB
Plaintext
unit uTIU;
|
|
|
|
interface
|
|
|
|
uses SysUtils, Classes, ORNet, ORFn, rCore, uCore, uConst, ORCtrls, ComCtrls, Controls;
|
|
|
|
type
|
|
|
|
TEditNoteRec = record
|
|
DocType: Integer;
|
|
IsNewNote: boolean;
|
|
Title: Integer;
|
|
TitleName: string;
|
|
DateTime: TFMDateTime;
|
|
Author: Int64;
|
|
AuthorName: string;
|
|
Cosigner: Int64;
|
|
CosignerName: string;
|
|
Subject: string;
|
|
Location: Integer;
|
|
LocationName: string;
|
|
VisitDate: TFMDateTime;
|
|
PkgRef: string; // 'IEN;GMR(123,' or 'IEN;SRF('
|
|
PkgIEN: integer; // file IEN
|
|
PkgPtr: string; // 'GMR(123,' or 'SRF('
|
|
NeedCPT: Boolean;
|
|
Addend: Integer;
|
|
LastCosigner: Int64;
|
|
LastCosignerName: string;
|
|
IDParent: integer;
|
|
ClinProcSummCode: integer;
|
|
ClinProcDateTime: TFMDateTime;
|
|
Lines: TStrings;
|
|
PRF_IEN: integer;
|
|
ActionIEN: string;
|
|
end;
|
|
|
|
TNoteRec = TEditNoteRec;
|
|
|
|
TActionRec = record
|
|
Success: Boolean;
|
|
Reason: string;
|
|
end;
|
|
|
|
TCreatedDoc = record
|
|
IEN: Integer;
|
|
ErrorText: string;
|
|
end;
|
|
|
|
TTIUContext = record
|
|
Changed: Boolean;
|
|
BeginDate: string;
|
|
EndDate: string;
|
|
FMBeginDate: TFMDateTime;
|
|
FMEndDate: TFMDateTime;
|
|
Status: string;
|
|
Author: int64;
|
|
MaxDocs: integer;
|
|
ShowSubject: Boolean;
|
|
SortBy: string;
|
|
ListAscending: Boolean;
|
|
GroupBy: string;
|
|
TreeAscending: Boolean;
|
|
SearchField: string;
|
|
KeyWord: string;
|
|
Filtered: Boolean;
|
|
SearchString: String; // Text Search CQ: HDS00002856
|
|
end ;
|
|
|
|
TNoteTitles = class
|
|
DfltTitle: Integer;
|
|
DfltTitleName: string;
|
|
ShortList: TStringList;
|
|
constructor Create;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
TTIUPrefs = class
|
|
DfltLoc: Integer;
|
|
DfltLocName: string;
|
|
SortAscending: Boolean;
|
|
SortBy: string; // D,R,S,A
|
|
AskNoteSubject: Boolean;
|
|
AskCosigner: Boolean;
|
|
DfltCosigner: Int64;
|
|
DfltCosignerName: string;
|
|
MaxNotes: Integer;
|
|
end;
|
|
|
|
// notes tab specific procedures
|
|
function MakeNoteDisplayText(RawText: string): string;
|
|
function MakeConsultDisplayText(RawText:string): string;
|
|
function SetLinesTo74ForSave(AStrings: TStrings; AParent: TWinControl): TStrings;
|
|
|
|
const
|
|
TX_SAVE_ERROR1 = 'An error was encountered while trying to save the note you are editing.' + CRLF + CRLF + ' Error: ';
|
|
TX_SAVE_ERROR2 = CRLF + CRLF + 'Please try again now using CTRL-SHIFT-S, or ''Save without signature''.' + CRLF +
|
|
'These actions will improve the likelihood that no text will be lost.' + CRLF + CRLF +
|
|
'If problems continue, or network connectivity is lost, please copy all of your text to' + CRLF +
|
|
'the clipboard and paste it into Microsoft Word before continuing or before closing CPRS.';
|
|
TC_SAVE_ERROR = 'Error saving note text';
|
|
|
|
implementation
|
|
|
|
function MakeConsultDisplayText(RawText:string): string;
|
|
var
|
|
x: string;
|
|
begin
|
|
x := RawText;
|
|
Result := Piece(x, U, 2) + ',' + Piece(x, U, 3) + ',' +
|
|
Piece(x, U, 4) + ', '+ Piece(x, U, 5);
|
|
|
|
end;
|
|
|
|
function MakeNoteDisplayText(RawText: string): string;
|
|
var
|
|
x: string;
|
|
begin
|
|
x := RawText;
|
|
if Piece(x, U, 1) = '' then
|
|
Result := FormatFMDateTime('mmm dd,yy', MakeFMDateTime(Piece(x, U, 3))) + ' ' +
|
|
Piece(x, U, 2) + ', ' + Piece(x, U, 6) + ', ' + Piece(Piece(x, U, 5), ';', 2)
|
|
else if Piece(x, U, 1)[1] in ['A', 'N', 'E'] then
|
|
Result := Piece(x, U, 2)
|
|
else
|
|
Result := FormatFMDateTime('mmm dd,yy', MakeFMDateTime(Piece(x, U, 3))) + ' ' +
|
|
Piece(x, U, 2) + ', ' + Piece(x, U, 6) + ', ' + Piece(Piece(x, U, 5), ';', 2);
|
|
end;
|
|
|
|
|
|
{ Progress Note Titles -------------------------------------------------------------------- }
|
|
constructor TNoteTitles.Create;
|
|
{ creates an object to store progress note titles so only obtained from server once }
|
|
begin
|
|
inherited Create;
|
|
ShortList := TStringList.Create;
|
|
end;
|
|
|
|
destructor TNoteTitles.Destroy;
|
|
{ frees the lists that were used to store the progress note titles }
|
|
begin
|
|
ShortList.Free;
|
|
inherited Destroy;
|
|
end;
|
|
|
|
function SetLinesTo74ForSave(AStrings: TStrings; AParent: TWinControl): TStrings;
|
|
var
|
|
ARichEdit74: TRichEdit;
|
|
begin
|
|
Result := AStrings;
|
|
ARichEdit74 := TRichEdit.Create(AParent);
|
|
try
|
|
with ARichEdit74 do
|
|
begin
|
|
Parent := AParent;
|
|
Lines.Text := AStrings.Text;
|
|
Width := 525;
|
|
QuickCopy(ARichEdit74, Result);
|
|
end;
|
|
finally
|
|
ARichEdit74.Free;
|
|
end;
|
|
end;
|
|
|
|
end.
|