@eka-care/ekascribe-ts-sdk 1.5.49 → 1.5.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -30,7 +30,6 @@ const setEnv = ({ env, clientId, auth_token, }) => {
|
|
|
30
30
|
auth = auth_token;
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
|
-
console.log(envVar, 'dev');
|
|
34
33
|
export const GET_S3_BUCKET_NAME = () => envVar.S3_BUCKET_NAME;
|
|
35
34
|
export const GET_CLIENT_ID = () => client_id;
|
|
36
35
|
export const GET_AUTH_TOKEN = () => auth;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TGetStatusResponse } from './api/transaction/get-voice-api-v3-status';
|
|
2
2
|
import { TEndRecordingResponse, TEventCallback, TGetTransactionHistoryResponse, TPatchTransactionRequest, TPatchVoiceApiV2ConfigRequest, TPatchVoiceApiV3StatusRequest, TPostTransactionResponse, TPostV1ConvertToTemplateRequest, TPostV1TemplateRequest, TPostV1TemplateSectionRequest, TPostV1UploadAudioFilesRequest, TStartRecordingRequest, TVadFrameProcessedCallback, TVadFramesCallback } from './constants/types';
|
|
3
|
-
import { TSearchSessionsByPatientRequest } from './utils/search-sessions
|
|
3
|
+
import { TSearchSessionsByPatientRequest, TSearchSessionsRequest } from './utils/search-past-sessions';
|
|
4
4
|
declare class EkaScribe {
|
|
5
5
|
private static instance;
|
|
6
6
|
private vadInstance;
|
|
@@ -66,7 +66,9 @@ declare class EkaScribe {
|
|
|
66
66
|
updateTemplateSection(templateSection: TPostV1TemplateSectionRequest): Promise<import("./constants/types").TPostV1TemplateSectionResponse>;
|
|
67
67
|
deleteTemplateSection(section_id: string): Promise<import("./constants/types").TPostV1TemplateSectionResponse>;
|
|
68
68
|
postTransactionConvertToTemplate({ txn_id, template_id }: TPostV1ConvertToTemplateRequest): Promise<import("./constants/types").TPostV1ConvertToTemplateResponse>;
|
|
69
|
-
|
|
69
|
+
searchPastSessions(request: TSearchSessionsRequest): Promise<import("./constants/types").TSessionHistoryData[]>;
|
|
70
|
+
searchSessionsByPatientName(request: TSearchSessionsByPatientRequest): Promise<import("./constants/types").TSessionHistoryData[]>;
|
|
71
|
+
searchSessionsBySessionId(request: TSearchSessionsByPatientRequest): Promise<import("./constants/types").TSessionHistoryData[]>;
|
|
70
72
|
uploadAudioWithPresignedUrl(request: TPostV1UploadAudioFilesRequest): Promise<import("./main/upload-full-audio-with-presigned-url").TFullAudioUploadResponse>;
|
|
71
73
|
updateResultSummary(request: TPatchVoiceApiV3StatusRequest): Promise<import("./constants/types").TPatchVoiceApiV3StatusResponse>;
|
|
72
74
|
}
|
package/dist/index.js
CHANGED
|
@@ -28,9 +28,9 @@ import deleteV1TemplateSection from './api/template-sections/delete-v1-template-
|
|
|
28
28
|
import patchVoiceApiV2Config from './api/config/patch-voice-api-v2-config';
|
|
29
29
|
import cookV1MediaAiCreateTemplate from './api/templates/cook-v1-medai-ai-create-template';
|
|
30
30
|
import postV1ConvertToTemplate from './api/templates/post-transaction-convert-to-template';
|
|
31
|
-
import searchSessionsByPatient from './utils/search-sessions-by-patient-name';
|
|
32
31
|
import { postV1UploadAudioFiles } from './main/upload-full-audio-with-presigned-url';
|
|
33
32
|
import { patchVoiceApiV3Status } from './api/transaction/patch-voice-api-v3-status';
|
|
33
|
+
import searchSessions, { searchSessionsByPatient, searchSessionsBySessionId, } from './utils/search-past-sessions';
|
|
34
34
|
class EkaScribe {
|
|
35
35
|
// Private constructor to prevent direct instantiation
|
|
36
36
|
constructor() {
|
|
@@ -336,10 +336,18 @@ class EkaScribe {
|
|
|
336
336
|
const convertToTemplateResponse = await postV1ConvertToTemplate({ txn_id, template_id });
|
|
337
337
|
return convertToTemplateResponse;
|
|
338
338
|
}
|
|
339
|
+
async searchPastSessions(request) {
|
|
340
|
+
const searchSessionsResponse = await searchSessions(request);
|
|
341
|
+
return searchSessionsResponse;
|
|
342
|
+
}
|
|
339
343
|
async searchSessionsByPatientName(request) {
|
|
340
344
|
const searchSessionsByPatientNameResponse = await searchSessionsByPatient(request);
|
|
341
345
|
return searchSessionsByPatientNameResponse;
|
|
342
346
|
}
|
|
347
|
+
async searchSessionsBySessionId(request) {
|
|
348
|
+
const searchSessionsBySessionIdResponse = await searchSessionsBySessionId(request);
|
|
349
|
+
return searchSessionsBySessionIdResponse;
|
|
350
|
+
}
|
|
343
351
|
async uploadAudioWithPresignedUrl(request) {
|
|
344
352
|
const uploadAudioFilesResponse = await postV1UploadAudioFiles(request);
|
|
345
353
|
return uploadAudioFilesResponse;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { TSessionHistoryData } from '../constants/types';
|
|
2
|
+
export type TSearchCriteria = {
|
|
3
|
+
patientName?: string;
|
|
4
|
+
sessionId?: string;
|
|
5
|
+
};
|
|
6
|
+
export type TSearchSessionsRequest = {
|
|
7
|
+
sessions: TSessionHistoryData[];
|
|
8
|
+
searchCriteria: TSearchCriteria;
|
|
9
|
+
};
|
|
10
|
+
export type TSearchSessionsByPatientRequest = {
|
|
11
|
+
sessions: TSessionHistoryData[];
|
|
12
|
+
patientName: string;
|
|
13
|
+
sessionId: string;
|
|
14
|
+
};
|
|
15
|
+
declare const searchSessions: ({ sessions, searchCriteria, }: TSearchSessionsRequest) => Promise<TSessionHistoryData[]>;
|
|
16
|
+
declare const searchSessionsByPatient: ({ sessions, patientName, }: TSearchSessionsByPatientRequest) => Promise<TSessionHistoryData[]>;
|
|
17
|
+
declare const searchSessionsBySessionId: ({ sessions, sessionId, }: TSearchSessionsByPatientRequest) => Promise<TSessionHistoryData[]>;
|
|
18
|
+
export default searchSessions;
|
|
19
|
+
export { searchSessionsByPatient, searchSessionsBySessionId };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// Generic debounce utility function
|
|
2
|
+
function debounce(func, delay) {
|
|
3
|
+
let timeoutId;
|
|
4
|
+
return (...args) => {
|
|
5
|
+
return new Promise((resolve) => {
|
|
6
|
+
clearTimeout(timeoutId);
|
|
7
|
+
timeoutId = setTimeout(() => {
|
|
8
|
+
resolve(func(...args));
|
|
9
|
+
}, delay);
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
// Modular search functions
|
|
14
|
+
const searchByPatientName = (sessions, patientName) => {
|
|
15
|
+
if (!patientName.trim()) {
|
|
16
|
+
return sessions;
|
|
17
|
+
}
|
|
18
|
+
const searchTerm = patientName.toLowerCase().trim();
|
|
19
|
+
return sessions.filter((session) => {
|
|
20
|
+
if (!session.patient_details?.username)
|
|
21
|
+
return false;
|
|
22
|
+
return session.patient_details.username.toLowerCase().includes(searchTerm);
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
const searchBySessionId = (sessions, sessionId) => {
|
|
26
|
+
if (!sessionId.trim()) {
|
|
27
|
+
return sessions;
|
|
28
|
+
}
|
|
29
|
+
const searchTerm = sessionId.toLowerCase().trim();
|
|
30
|
+
return sessions.filter((session) => {
|
|
31
|
+
return session.txn_id.toLowerCase().includes(searchTerm);
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
// Combined search function that applies multiple criteria
|
|
35
|
+
const performSearch = (sessions, searchCriteria) => {
|
|
36
|
+
let filteredSessions = sessions;
|
|
37
|
+
console.log(sessions, searchCriteria, 'searchCriteria');
|
|
38
|
+
// Apply patient name filter if provided
|
|
39
|
+
if (searchCriteria.patientName) {
|
|
40
|
+
filteredSessions = searchByPatientName(filteredSessions, searchCriteria.patientName);
|
|
41
|
+
console.log(filteredSessions, 'filteredSessions - patientName');
|
|
42
|
+
}
|
|
43
|
+
// Apply session ID filter if provided
|
|
44
|
+
if (searchCriteria.sessionId) {
|
|
45
|
+
filteredSessions = searchBySessionId(filteredSessions, searchCriteria.sessionId);
|
|
46
|
+
console.log(filteredSessions, 'filteredSessions - sessionId');
|
|
47
|
+
}
|
|
48
|
+
// If no search criteria provided, return all sessions
|
|
49
|
+
if (!searchCriteria.patientName && !searchCriteria.sessionId) {
|
|
50
|
+
return sessions;
|
|
51
|
+
}
|
|
52
|
+
return filteredSessions;
|
|
53
|
+
};
|
|
54
|
+
// Debounced search function
|
|
55
|
+
const debouncedSearch = debounce(performSearch, 300);
|
|
56
|
+
// Main search function
|
|
57
|
+
const searchSessions = async ({ sessions, searchCriteria, }) => {
|
|
58
|
+
return debouncedSearch(sessions, searchCriteria);
|
|
59
|
+
};
|
|
60
|
+
const searchSessionsByPatient = async ({ sessions, patientName, }) => {
|
|
61
|
+
return searchSessions({
|
|
62
|
+
sessions,
|
|
63
|
+
searchCriteria: { patientName },
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
const searchSessionsBySessionId = async ({ sessions, sessionId, }) => {
|
|
67
|
+
return searchSessions({
|
|
68
|
+
sessions,
|
|
69
|
+
searchCriteria: { sessionId },
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
export default searchSessions;
|
|
73
|
+
export { searchSessionsByPatient, searchSessionsBySessionId };
|