oro-sdk-apis 1.52.0 → 1.54.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
- import { ConsultRequestMetadata, PracticeAccount, Uuid } from '../models';
2
- import { Assignment, AssignmentRequest, PlanType, Practice, PracticeConfigKind, PracticeConfigs, PracticeInvoice, PracticePayment, PracticePaymentIntent, PracticePlan, PracticePlanPrices, PracticeWorkflow, PracticeWorkflowWithTagSpecialty, Practitioner, PractitionerLicense, PractitionerPreference, PractitionerQuota, PractitionerRole, WorkflowType } from '../models/practice';
1
+ import { PracticeAccount, Uuid } from '../models';
2
+ import { Assignment, AssignmentRequest, PaymentIntentRequestMetadata, PlanType, Practice, PracticeConfigKind, PracticeConfigs, PracticeInvoice, PracticePayment, PracticePaymentIntent, PracticePlan, PracticePlanPrices, PracticeWorkflow, PracticeWorkflowWithTagSpecialty, Practitioner, PractitionerLicense, PractitionerPreference, PractitionerQuota, PractitionerRole, WorkflowType } from '../models/practice';
3
3
  import { APIService } from './api';
4
4
  export declare class PracticeService {
5
5
  private api;
@@ -76,10 +76,10 @@ export declare class PracticeService {
76
76
  * @param isoLocality (optional) the desired locality
77
77
  * @param url_subdomain (optional) the url of the sub domain (@bruno-morel need you to document that)
78
78
  * @param promotionCode (optional) promotion code to apply
79
- * @param consultRequest (optional) consult request to use. If defined, when payment service call our hooks in practice, it will try to create a consult with these infos.
79
+ * @param requestMetadata (optional) the request metadata to use. If defined, when payment service call our hooks in practice, it will use it to do required action (create a consult, refill a consult, etc.).
80
80
  * @returns
81
81
  */
82
- practiceCreatePaymentsIntent(practiceUuid: Uuid, planId: number, userEmail: string, isoLocality?: string, url_subdomain?: string, consultRequest?: ConsultRequestMetadata): Promise<PracticePaymentIntent>;
82
+ practiceCreatePaymentsIntent(practiceUuid: Uuid, planId: number, userEmail: string, isoLocality?: string, url_subdomain?: string, requestMetadata?: PaymentIntentRequestMetadata): Promise<PracticePaymentIntent>;
83
83
  practiceGetPaymentsIntent(practiceUuid: Uuid, paymentIntentId: number): Promise<PracticePaymentIntent>;
84
84
  /**
85
85
  * Updates a PracticePaymentIntent
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.52.0",
2
+ "version": "1.54.0",
3
3
  "main": "dist/index.js",
4
4
  "typings": "dist/index.d.ts",
5
5
  "files": [
@@ -148,6 +148,8 @@ export enum PracticeConfigKind {
148
148
  PractitionerConsultList = 'PractitionerConsultList',
149
149
  PractitionerSearch = 'PractitionerSearch',
150
150
  PracticeRegisterWalkthrough = 'PracticeRegisterWalkthrough',
151
+ PracticeExamsAndResults = 'PracticeExamsAndResults',
152
+ PracticeLayout = 'PracticeLayout',
151
153
  }
152
154
 
153
155
  /**
@@ -375,6 +377,32 @@ export type PracticeConfigPracticeRegisterWalkthrough = PracticeConfig<
375
377
  }
376
378
  >
377
379
 
380
+ /**
381
+ * This config is used for all configs related to the Exams and Results module
382
+ */
383
+ export type PracticeConfigPracticeExamsAndResults = PracticeConfig<
384
+ PracticeConfigKind.PracticeExamsAndResults,
385
+ {
386
+ /**
387
+ * If true, then show the deprecated URL prescription pad
388
+ */
389
+ showUrlPrescriptionPad?: boolean
390
+ }
391
+ >
392
+
393
+ /**
394
+ * This config is used for all configs related to the Layout of the app (Navbar, Footer, etc)
395
+ */
396
+ export type PracticeConfigPracticeLayout = PracticeConfig<
397
+ PracticeConfigKind.PracticeLayout,
398
+ {
399
+ /**
400
+ * If true, then show the FAQ link in the Navbar
401
+ */
402
+ showFaqLink?: boolean
403
+ }
404
+ >
405
+
378
406
  export type PracticeConfigs =
379
407
  | PracticeConfigPractitionerSearch
380
408
  | PracticeConfigPractitionerConsultList
@@ -388,6 +416,8 @@ export type PracticeConfigs =
388
416
  | PracticeConfigPracticeConfigExample // Here for integration tests only
389
417
  | PracticeConfigPracticeConsultTabs
390
418
  | PracticeConfigPatientConsultCard
419
+ | PracticeConfigPracticeExamsAndResults
420
+ | PracticeConfigPracticeLayout
391
421
 
392
422
  export interface PracticeWorkflow {
393
423
  id?: number ///optional for insertion
@@ -504,11 +534,51 @@ export interface PracticePaymentIntent {
504
534
  * It will be used to create the consult when stripe use our hook.
505
535
  */
506
536
  export interface ConsultRequestMetadata {
537
+ /**
538
+ * Defines the kind of `PaymentIntentRequestMetadata` it is
539
+ *
540
+ * Note: it can be `undefined` to handle backward compatibility when this interface didn't had a `kind`
541
+ */
542
+ kind: 'ConsultRequestMetadata' | undefined
543
+ /**
544
+ * The specialty required by the consultation
545
+ */
507
546
  tagSpecialtyRequired: string
547
+ /**
548
+ * The locality required for the consultation in iso. COUNTRY (ISO 3166) - PROVINCE - COUNTY - CITY
549
+ */
508
550
  isoLocalityRequired?: string
551
+ /**
552
+ * The language required for the consultation. Should respect ISO 639-3 https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes
553
+ */
509
554
  isoLanguageRequired: string
510
555
  }
511
556
 
557
+ /**
558
+ * This interface is used as metadata when creating Stripe Invoice.
559
+ * It will be used to refill a treatment plan of a consult.
560
+ */
561
+ export interface RefillTreatmentRequestMetadata {
562
+ /**
563
+ * Defines the kind of `PaymentIntentRequestMetadata` it is
564
+ */
565
+ kind: 'RefillTreatmentRequestMetadata'
566
+ /**
567
+ * The consult uuid to refill
568
+ */
569
+ consultUuid: string
570
+ /**
571
+ * The treatment plan uuid to refill
572
+ */
573
+ uuidTreatmentPlan: string
574
+ }
575
+
576
+ /**
577
+ * This interface is used as metadata when creating Stripe Invoice.
578
+ * It will be used when stripe uses our hook.
579
+ */
580
+ export type PaymentIntentRequestMetadata = ConsultRequestMetadata | RefillTreatmentRequestMetadata
581
+
512
582
  export interface AssignmentRequest {
513
583
  uuidAssignor: string //defaulting for insertion to the default practice admin
514
584
  uuidPractitioner?: string
@@ -603,6 +673,8 @@ export interface HydratedPracticeConfigs {
603
673
  [PracticeConfigKind.PractitionerConsultList]?: PracticeConfigPractitionerConsultList
604
674
  [PracticeConfigKind.PractitionerSearch]?: PracticeConfigPractitionerSearch
605
675
  [PracticeConfigKind.PracticeRegisterWalkthrough]?: PracticeConfigPracticeRegisterWalkthrough
676
+ [PracticeConfigKind.PracticeExamsAndResults]?: PracticeConfigPracticeExamsAndResults
677
+ [PracticeConfigKind.PracticeLayout]?: PracticeConfigPracticeLayout
606
678
  }
607
679
 
608
680
  export interface Practice {
@@ -1,8 +1,9 @@
1
1
  import { hashToBase64String } from '../helpers'
2
- import { ConsultRequestMetadata, PracticeAccount, Uuid } from '../models'
2
+ import { PracticeAccount, Uuid } from '../models'
3
3
  import {
4
4
  Assignment,
5
5
  AssignmentRequest,
6
+ PaymentIntentRequestMetadata,
6
7
  PlanType,
7
8
  Practice,
8
9
  PracticeConfigKind,
@@ -122,7 +123,7 @@ export class PracticeService {
122
123
  params: { kind },
123
124
  })
124
125
  }
125
-
126
+
126
127
  public practiceGetWorkflow(
127
128
  practiceUuid: Uuid,
128
129
  workflowType: WorkflowType
@@ -193,7 +194,7 @@ export class PracticeService {
193
194
  * @param isoLocality (optional) the desired locality
194
195
  * @param url_subdomain (optional) the url of the sub domain (@bruno-morel need you to document that)
195
196
  * @param promotionCode (optional) promotion code to apply
196
- * @param consultRequest (optional) consult request to use. If defined, when payment service call our hooks in practice, it will try to create a consult with these infos.
197
+ * @param requestMetadata (optional) the request metadata to use. If defined, when payment service call our hooks in practice, it will use it to do required action (create a consult, refill a consult, etc.).
197
198
  * @returns
198
199
  */
199
200
  public practiceCreatePaymentsIntent(
@@ -202,7 +203,7 @@ export class PracticeService {
202
203
  userEmail: string,
203
204
  isoLocality?: string,
204
205
  url_subdomain?: string,
205
- consultRequest?: ConsultRequestMetadata
206
+ requestMetadata?: PaymentIntentRequestMetadata
206
207
  ): Promise<PracticePaymentIntent> {
207
208
  return this.api.post<PracticePaymentIntent>(
208
209
  `${this.baseURL}/v1/practices/${practiceUuid}/payments/intents/`,
@@ -210,7 +211,7 @@ export class PracticeService {
210
211
  idPlan: planId,
211
212
  hashUserEmail: userEmail ? this.getPaymentIntentHashedEmail(userEmail) : undefined,
212
213
  isoLocality,
213
- consultRequest,
214
+ requestMetadata,
214
215
  },
215
216
  { params: { url_subdomain } }
216
217
  )