@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-by-patient-name';
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
- searchSessionsByPatientName(request: TSearchSessionsByPatientRequest): Promise<unknown>;
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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eka-care/ekascribe-ts-sdk",
3
- "version": "1.5.49",
3
+ "version": "1.5.51",
4
4
  "main": "dist/index.js",
5
5
  "repository": "git@github.com:eka-care/eka-js-sdk.git",
6
6
  "author": "Sanikagoyal28 <sanikagoyal9@gmail.com>",