@blackcode_sa/metaestetics-api 1.5.9 → 1.5.11
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.
- package/dist/backoffice/index.d.mts +197 -71
- package/dist/backoffice/index.d.ts +197 -71
- package/dist/backoffice/index.js +195 -175
- package/dist/backoffice/index.mjs +195 -175
- package/dist/index.d.mts +137 -90
- package/dist/index.d.ts +137 -90
- package/dist/index.js +272 -226
- package/dist/index.mjs +272 -226
- package/package.json +1 -1
- package/src/backoffice/services/technology.service.ts +237 -240
- package/src/backoffice/types/technology.types.ts +11 -2
- package/src/services/procedure/procedure.service.ts +88 -38
package/dist/index.d.ts
CHANGED
|
@@ -1684,12 +1684,14 @@ interface Subcategory {
|
|
|
1684
1684
|
|
|
1685
1685
|
/**
|
|
1686
1686
|
* Technology used in medical procedures
|
|
1687
|
-
* Technologies are
|
|
1688
|
-
*
|
|
1687
|
+
* Technologies are now a top-level collection that reference their full path in the hierarchy
|
|
1688
|
+
* through family, category, and subcategory IDs
|
|
1689
1689
|
*
|
|
1690
1690
|
* @property id - Unique identifier of the technology
|
|
1691
1691
|
* @property name - Name of the technology
|
|
1692
1692
|
* @property description - Detailed description of the technology and its application
|
|
1693
|
+
* @property family - The procedure family this technology belongs to (aesthetics/surgery)
|
|
1694
|
+
* @property categoryId - ID of the category this technology belongs to
|
|
1693
1695
|
* @property subcategoryId - ID of the subcategory this technology belongs to
|
|
1694
1696
|
* @property technicalDetails - Technical specifications and details
|
|
1695
1697
|
* @property requirements - List of pre and post procedure requirements
|
|
@@ -1709,6 +1711,10 @@ interface Technology {
|
|
|
1709
1711
|
name: string;
|
|
1710
1712
|
/** Detaljan opis tehnologije */
|
|
1711
1713
|
description: string;
|
|
1714
|
+
/** Familija procedura kojoj tehnologija pripada */
|
|
1715
|
+
family: ProcedureFamily;
|
|
1716
|
+
/** ID kategorije kojoj tehnologija pripada */
|
|
1717
|
+
categoryId: string;
|
|
1712
1718
|
/** ID potkategorije kojoj tehnologija pripada */
|
|
1713
1719
|
subcategoryId: string;
|
|
1714
1720
|
/** Tehnički detalji i specifikacije */
|
|
@@ -3567,20 +3573,23 @@ declare class SubcategoryService extends BaseService {
|
|
|
3567
3573
|
|
|
3568
3574
|
/**
|
|
3569
3575
|
* Servis za upravljanje tehnologijama i njihovim zahtevima.
|
|
3570
|
-
* Tehnologije su
|
|
3571
|
-
*
|
|
3576
|
+
* Tehnologije su sada top-level kolekcija koja referencira svoju putanju u hijerarhiji
|
|
3577
|
+
* kroz family, categoryId i subcategoryId.
|
|
3572
3578
|
*
|
|
3573
3579
|
* @example
|
|
3574
3580
|
* const technologyService = new TechnologyService();
|
|
3575
3581
|
*
|
|
3576
3582
|
* // Kreiranje nove tehnologije
|
|
3577
|
-
* const technology = await technologyService.create(
|
|
3583
|
+
* const technology = await technologyService.create({
|
|
3578
3584
|
* name: "Botulinum Toxin",
|
|
3579
|
-
* description: "Neurotoxin injections for wrinkle reduction"
|
|
3585
|
+
* description: "Neurotoxin injections for wrinkle reduction",
|
|
3586
|
+
* family: ProcedureFamily.AESTHETICS,
|
|
3587
|
+
* categoryId: "category123",
|
|
3588
|
+
* subcategoryId: "subcategory456"
|
|
3580
3589
|
* });
|
|
3581
3590
|
*
|
|
3582
3591
|
* // Dodavanje zahteva
|
|
3583
|
-
* await technologyService.addRequirement(
|
|
3592
|
+
* await technologyService.addRequirement(technology.id, {
|
|
3584
3593
|
* type: "pre",
|
|
3585
3594
|
* name: "Stay Hydrated",
|
|
3586
3595
|
* description: "Drink plenty of water"
|
|
@@ -3588,19 +3597,15 @@ declare class SubcategoryService extends BaseService {
|
|
|
3588
3597
|
*/
|
|
3589
3598
|
declare class TechnologyService extends BaseService {
|
|
3590
3599
|
/**
|
|
3591
|
-
* Vraća referencu na Firestore kolekciju tehnologija
|
|
3592
|
-
* @param categoryId - ID kategorije
|
|
3593
|
-
* @param subcategoryId - ID podkategorije
|
|
3600
|
+
* Vraća referencu na Firestore kolekciju tehnologija
|
|
3594
3601
|
*/
|
|
3595
3602
|
private getTechnologiesRef;
|
|
3596
3603
|
/**
|
|
3597
|
-
* Kreira novu tehnologiju
|
|
3598
|
-
* @param categoryId - ID kategorije
|
|
3599
|
-
* @param subcategoryId - ID podkategorije
|
|
3604
|
+
* Kreira novu tehnologiju
|
|
3600
3605
|
* @param technology - Podaci za novu tehnologiju
|
|
3601
3606
|
* @returns Kreirana tehnologija sa generisanim ID-em
|
|
3602
3607
|
*/
|
|
3603
|
-
create(
|
|
3608
|
+
create(technology: Omit<Technology, "id" | "createdAt" | "updatedAt">): Promise<{
|
|
3604
3609
|
isActive: boolean;
|
|
3605
3610
|
updatedAt: Date;
|
|
3606
3611
|
blockingConditions: BlockingCondition[];
|
|
@@ -3617,171 +3622,202 @@ declare class TechnologyService extends BaseService {
|
|
|
3617
3622
|
documentationTemplates?: DocumentTemplate[] | undefined;
|
|
3618
3623
|
benefits: TreatmentBenefit[];
|
|
3619
3624
|
certificationRequirement: CertificationRequirement;
|
|
3625
|
+
family: ProcedureFamily;
|
|
3626
|
+
categoryId: string;
|
|
3620
3627
|
id: string;
|
|
3621
3628
|
}>;
|
|
3622
3629
|
/**
|
|
3623
|
-
* Vraća sve aktivne tehnologije
|
|
3630
|
+
* Vraća sve aktivne tehnologije
|
|
3631
|
+
* @returns Lista aktivnih tehnologija
|
|
3632
|
+
*/
|
|
3633
|
+
getAll(): Promise<Technology[]>;
|
|
3634
|
+
/**
|
|
3635
|
+
* Vraća sve aktivne tehnologije za određenu familiju
|
|
3636
|
+
* @param family - Familija procedura
|
|
3637
|
+
* @returns Lista aktivnih tehnologija
|
|
3638
|
+
*/
|
|
3639
|
+
getAllByFamily(family: ProcedureFamily): Promise<Technology[]>;
|
|
3640
|
+
/**
|
|
3641
|
+
* Vraća sve aktivne tehnologije za određenu kategoriju
|
|
3624
3642
|
* @param categoryId - ID kategorije
|
|
3643
|
+
* @returns Lista aktivnih tehnologija
|
|
3644
|
+
*/
|
|
3645
|
+
getAllByCategoryId(categoryId: string): Promise<Technology[]>;
|
|
3646
|
+
/**
|
|
3647
|
+
* Vraća sve aktivne tehnologije za određenu podkategoriju
|
|
3625
3648
|
* @param subcategoryId - ID podkategorije
|
|
3626
3649
|
* @returns Lista aktivnih tehnologija
|
|
3627
3650
|
*/
|
|
3628
|
-
getAllBySubcategoryId(
|
|
3651
|
+
getAllBySubcategoryId(subcategoryId: string): Promise<Technology[]>;
|
|
3629
3652
|
/**
|
|
3630
3653
|
* Ažurira postojeću tehnologiju
|
|
3631
|
-
* @param categoryId - ID kategorije
|
|
3632
|
-
* @param subcategoryId - ID podkategorije
|
|
3633
3654
|
* @param technologyId - ID tehnologije
|
|
3634
3655
|
* @param technology - Novi podaci za tehnologiju
|
|
3635
3656
|
* @returns Ažurirana tehnologija
|
|
3636
3657
|
*/
|
|
3637
|
-
update(
|
|
3658
|
+
update(technologyId: string, technology: Partial<Omit<Technology, "id" | "createdAt" | "family" | "categoryId" | "subcategoryId">>): Promise<Technology | null>;
|
|
3638
3659
|
/**
|
|
3639
3660
|
* Soft delete tehnologije (postavlja isActive na false)
|
|
3640
|
-
* @param categoryId - ID kategorije
|
|
3641
|
-
* @param subcategoryId - ID podkategorije
|
|
3642
3661
|
* @param technologyId - ID tehnologije koja se briše
|
|
3643
3662
|
*/
|
|
3644
|
-
delete(
|
|
3663
|
+
delete(technologyId: string): Promise<void>;
|
|
3645
3664
|
/**
|
|
3646
3665
|
* Vraća tehnologiju po ID-u
|
|
3647
|
-
* @param categoryId - ID kategorije
|
|
3648
|
-
* @param subcategoryId - ID podkategorije
|
|
3649
3666
|
* @param technologyId - ID tražene tehnologije
|
|
3650
3667
|
* @returns Tehnologija ili null ako ne postoji
|
|
3651
3668
|
*/
|
|
3652
|
-
getById(
|
|
3669
|
+
getById(technologyId: string): Promise<Technology | null>;
|
|
3653
3670
|
/**
|
|
3654
3671
|
* Dodaje novi zahtev tehnologiji
|
|
3655
|
-
* @param categoryId - ID kategorije
|
|
3656
|
-
* @param subcategoryId - ID podkategorije
|
|
3657
3672
|
* @param technologyId - ID tehnologije
|
|
3658
3673
|
* @param requirement - Zahtev koji se dodaje
|
|
3659
3674
|
* @returns Ažurirana tehnologija sa novim zahtevom
|
|
3660
3675
|
*/
|
|
3661
|
-
addRequirement(
|
|
3676
|
+
addRequirement(technologyId: string, requirement: Requirement): Promise<Technology | null>;
|
|
3662
3677
|
/**
|
|
3663
3678
|
* Uklanja zahtev iz tehnologije
|
|
3664
|
-
* @param categoryId - ID kategorije
|
|
3665
|
-
* @param subcategoryId - ID podkategorije
|
|
3666
3679
|
* @param technologyId - ID tehnologije
|
|
3667
3680
|
* @param requirement - Zahtev koji se uklanja
|
|
3668
3681
|
* @returns Ažurirana tehnologija bez uklonjenog zahteva
|
|
3669
3682
|
*/
|
|
3670
|
-
removeRequirement(
|
|
3683
|
+
removeRequirement(technologyId: string, requirement: Requirement): Promise<Technology | null>;
|
|
3671
3684
|
/**
|
|
3672
3685
|
* Vraća sve zahteve za tehnologiju
|
|
3673
|
-
* @param categoryId - ID kategorije
|
|
3674
|
-
* @param subcategoryId - ID podkategorije
|
|
3675
3686
|
* @param technologyId - ID tehnologije
|
|
3676
3687
|
* @param type - Opcioni filter za tip zahteva (pre/post)
|
|
3677
3688
|
* @returns Lista zahteva
|
|
3678
3689
|
*/
|
|
3679
|
-
getRequirements(
|
|
3690
|
+
getRequirements(technologyId: string, type?: RequirementType): Promise<Requirement[]>;
|
|
3680
3691
|
/**
|
|
3681
3692
|
* Ažurira postojeći zahtev
|
|
3682
|
-
* @param categoryId - ID kategorije
|
|
3683
|
-
* @param subcategoryId - ID podkategorije
|
|
3684
3693
|
* @param technologyId - ID tehnologije
|
|
3685
3694
|
* @param oldRequirement - Stari zahtev koji se menja
|
|
3686
3695
|
* @param newRequirement - Novi zahtev koji zamenjuje stari
|
|
3687
3696
|
* @returns Ažurirana tehnologija
|
|
3688
3697
|
*/
|
|
3689
|
-
updateRequirement(
|
|
3698
|
+
updateRequirement(technologyId: string, oldRequirement: Requirement, newRequirement: Requirement): Promise<Technology | null>;
|
|
3690
3699
|
/**
|
|
3691
3700
|
* Dodaje blokirajući uslov tehnologiji
|
|
3692
|
-
* @param categoryId - ID kategorije
|
|
3693
|
-
* @param subcategoryId - ID podkategorije
|
|
3694
3701
|
* @param technologyId - ID tehnologije
|
|
3695
3702
|
* @param condition - Blokirajući uslov koji se dodaje
|
|
3696
3703
|
* @returns Ažurirana tehnologija
|
|
3697
3704
|
*/
|
|
3698
|
-
addBlockingCondition(
|
|
3705
|
+
addBlockingCondition(technologyId: string, condition: BlockingCondition): Promise<Technology | null>;
|
|
3699
3706
|
/**
|
|
3700
3707
|
* Uklanja blokirajući uslov iz tehnologije
|
|
3701
|
-
* @param categoryId - ID kategorije
|
|
3702
|
-
* @param subcategoryId - ID podkategorije
|
|
3703
3708
|
* @param technologyId - ID tehnologije
|
|
3704
3709
|
* @param condition - Blokirajući uslov koji se uklanja
|
|
3705
3710
|
* @returns Ažurirana tehnologija
|
|
3706
3711
|
*/
|
|
3707
|
-
removeBlockingCondition(
|
|
3712
|
+
removeBlockingCondition(technologyId: string, condition: BlockingCondition): Promise<Technology | null>;
|
|
3708
3713
|
/**
|
|
3709
3714
|
* Dodaje kontraindikaciju tehnologiji
|
|
3710
|
-
* @param categoryId - ID kategorije
|
|
3711
|
-
* @param subcategoryId - ID podkategorije
|
|
3712
3715
|
* @param technologyId - ID tehnologije
|
|
3713
3716
|
* @param contraindication - Kontraindikacija koja se dodaje
|
|
3714
3717
|
* @returns Ažurirana tehnologija
|
|
3715
3718
|
*/
|
|
3716
|
-
addContraindication(
|
|
3719
|
+
addContraindication(technologyId: string, contraindication: Contraindication): Promise<Technology | null>;
|
|
3717
3720
|
/**
|
|
3718
3721
|
* Uklanja kontraindikaciju iz tehnologije
|
|
3719
|
-
* @param categoryId - ID kategorije
|
|
3720
|
-
* @param subcategoryId - ID podkategorije
|
|
3721
3722
|
* @param technologyId - ID tehnologije
|
|
3722
3723
|
* @param contraindication - Kontraindikacija koja se uklanja
|
|
3723
3724
|
* @returns Ažurirana tehnologija
|
|
3724
3725
|
*/
|
|
3725
|
-
removeContraindication(
|
|
3726
|
+
removeContraindication(technologyId: string, contraindication: Contraindication): Promise<Technology | null>;
|
|
3726
3727
|
/**
|
|
3727
3728
|
* Dodaje benefit tehnologiji
|
|
3728
|
-
* @param categoryId - ID kategorije
|
|
3729
|
-
* @param subcategoryId - ID podkategorije
|
|
3730
3729
|
* @param technologyId - ID tehnologije
|
|
3731
3730
|
* @param benefit - Benefit koji se dodaje
|
|
3732
3731
|
* @returns Ažurirana tehnologija
|
|
3733
3732
|
*/
|
|
3734
|
-
addBenefit(
|
|
3733
|
+
addBenefit(technologyId: string, benefit: TreatmentBenefit): Promise<Technology | null>;
|
|
3735
3734
|
/**
|
|
3736
3735
|
* Uklanja benefit iz tehnologije
|
|
3737
|
-
* @param categoryId - ID kategorije
|
|
3738
|
-
* @param subcategoryId - ID podkategorije
|
|
3739
3736
|
* @param technologyId - ID tehnologije
|
|
3740
3737
|
* @param benefit - Benefit koji se uklanja
|
|
3741
3738
|
* @returns Ažurirana tehnologija
|
|
3742
3739
|
*/
|
|
3743
|
-
removeBenefit(
|
|
3740
|
+
removeBenefit(technologyId: string, benefit: TreatmentBenefit): Promise<Technology | null>;
|
|
3744
3741
|
/**
|
|
3745
3742
|
* Vraća sve blokirajuće uslove za tehnologiju
|
|
3746
|
-
* @param categoryId - ID kategorije
|
|
3747
|
-
* @param subcategoryId - ID podkategorije
|
|
3748
3743
|
* @param technologyId - ID tehnologije
|
|
3749
3744
|
* @returns Lista blokirajućih uslova
|
|
3750
3745
|
*/
|
|
3751
|
-
getBlockingConditions(
|
|
3746
|
+
getBlockingConditions(technologyId: string): Promise<BlockingCondition[]>;
|
|
3752
3747
|
/**
|
|
3753
3748
|
* Vraća sve kontraindikacije za tehnologiju
|
|
3754
|
-
* @param categoryId - ID kategorije
|
|
3755
|
-
* @param subcategoryId - ID podkategorije
|
|
3756
3749
|
* @param technologyId - ID tehnologije
|
|
3757
3750
|
* @returns Lista kontraindikacija
|
|
3758
3751
|
*/
|
|
3759
|
-
getContraindications(
|
|
3752
|
+
getContraindications(technologyId: string): Promise<Contraindication[]>;
|
|
3760
3753
|
/**
|
|
3761
3754
|
* Vraća sve benefite za tehnologiju
|
|
3762
|
-
* @param categoryId - ID kategorije
|
|
3763
|
-
* @param subcategoryId - ID podkategorije
|
|
3764
3755
|
* @param technologyId - ID tehnologije
|
|
3765
3756
|
* @returns Lista benefita
|
|
3766
3757
|
*/
|
|
3767
|
-
getBenefits(
|
|
3758
|
+
getBenefits(technologyId: string): Promise<TreatmentBenefit[]>;
|
|
3768
3759
|
/**
|
|
3769
3760
|
* Ažurira zahteve sertifikacije za tehnologiju
|
|
3770
|
-
* @param categoryId - ID kategorije
|
|
3771
|
-
* @param subcategoryId - ID podkategorije
|
|
3772
3761
|
* @param technologyId - ID tehnologije
|
|
3773
3762
|
* @param certificationRequirement - Novi zahtevi sertifikacije
|
|
3774
3763
|
* @returns Ažurirana tehnologija
|
|
3775
3764
|
*/
|
|
3776
|
-
updateCertificationRequirement(
|
|
3765
|
+
updateCertificationRequirement(technologyId: string, certificationRequirement: CertificationRequirement): Promise<Technology | null>;
|
|
3777
3766
|
/**
|
|
3778
3767
|
* Vraća zahteve sertifikacije za tehnologiju
|
|
3779
|
-
* @param categoryId - ID kategorije
|
|
3780
|
-
* @param subcategoryId - ID podkategorije
|
|
3781
3768
|
* @param technologyId - ID tehnologije
|
|
3782
3769
|
* @returns Zahtevi sertifikacije ili null ako tehnologija ne postoji
|
|
3783
3770
|
*/
|
|
3784
|
-
getCertificationRequirement(
|
|
3771
|
+
getCertificationRequirement(technologyId: string): Promise<CertificationRequirement | null>;
|
|
3772
|
+
/**
|
|
3773
|
+
* Proverava da li doktor ima odgovarajuću sertifikaciju za izvođenje tehnologije
|
|
3774
|
+
*
|
|
3775
|
+
* @param requiredCertification - Zahtevana sertifikacija za tehnologiju
|
|
3776
|
+
* @param practitionerCertification - Sertifikacija zdravstvenog radnika
|
|
3777
|
+
* @returns true ako zdravstveni radnik ima odgovarajuću sertifikaciju, false ako nema
|
|
3778
|
+
*
|
|
3779
|
+
* @example
|
|
3780
|
+
* const isValid = technologyService.validateCertification(
|
|
3781
|
+
* {
|
|
3782
|
+
* minimumLevel: CertificationLevel.DOCTOR,
|
|
3783
|
+
* requiredSpecialties: [CertificationSpecialty.INJECTABLES]
|
|
3784
|
+
* },
|
|
3785
|
+
* {
|
|
3786
|
+
* level: CertificationLevel.SPECIALIST,
|
|
3787
|
+
* specialties: [CertificationSpecialty.INJECTABLES, CertificationSpecialty.LASER]
|
|
3788
|
+
* }
|
|
3789
|
+
* );
|
|
3790
|
+
*/
|
|
3791
|
+
validateCertification(requiredCertification: CertificationRequirement, practitionerCertification: PractitionerCertification): boolean;
|
|
3792
|
+
/**
|
|
3793
|
+
* Vraća sve tehnologije koje je zdravstveni radnik sertifikovan da izvodi
|
|
3794
|
+
* zajedno sa listama dozvoljenih familija, kategorija i podkategorija
|
|
3795
|
+
*
|
|
3796
|
+
* @param practitioner - Profil zdravstvenog radnika
|
|
3797
|
+
* @returns Objekat koji sadrži:
|
|
3798
|
+
* - technologies: Lista tehnologija koje zdravstveni radnik može da izvodi
|
|
3799
|
+
* - families: Lista familija procedura koje zdravstveni radnik može da izvodi
|
|
3800
|
+
* - categories: Lista ID-eva kategorija koje zdravstveni radnik može da izvodi
|
|
3801
|
+
* - subcategories: Lista ID-eva podkategorija koje zdravstveni radnik može da izvodi
|
|
3802
|
+
*
|
|
3803
|
+
* @example
|
|
3804
|
+
* const practitioner = {
|
|
3805
|
+
* certification: {
|
|
3806
|
+
* level: CertificationLevel.DOCTOR,
|
|
3807
|
+
* specialties: [CertificationSpecialty.INJECTABLES]
|
|
3808
|
+
* }
|
|
3809
|
+
* };
|
|
3810
|
+
* const allowedTechnologies = await technologyService.getAllowedTechnologies(practitioner);
|
|
3811
|
+
* console.log(allowedTechnologies.families); // [ProcedureFamily.AESTHETICS]
|
|
3812
|
+
* console.log(allowedTechnologies.categories); // ["category1", "category2"]
|
|
3813
|
+
* console.log(allowedTechnologies.subcategories); // ["subcategory1", "subcategory2"]
|
|
3814
|
+
*/
|
|
3815
|
+
getAllowedTechnologies(practitioner: Practitioner): Promise<{
|
|
3816
|
+
technologies: Technology[];
|
|
3817
|
+
families: ProcedureFamily[];
|
|
3818
|
+
categories: string[];
|
|
3819
|
+
subcategories: string[];
|
|
3820
|
+
}>;
|
|
3785
3821
|
}
|
|
3786
3822
|
|
|
3787
3823
|
declare class BrandService extends BaseService {
|
|
@@ -4818,7 +4854,11 @@ interface UpdateProcedureData {
|
|
|
4818
4854
|
declare const PROCEDURES_COLLECTION = "procedures";
|
|
4819
4855
|
|
|
4820
4856
|
declare class ProcedureService extends BaseService {
|
|
4821
|
-
|
|
4857
|
+
private categoryService;
|
|
4858
|
+
private subcategoryService;
|
|
4859
|
+
private technologyService;
|
|
4860
|
+
private productService;
|
|
4861
|
+
constructor(db: Firestore, auth: Auth, app: FirebaseApp, categoryService: CategoryService, subcategoryService: SubcategoryService, technologyService: TechnologyService, productService: ProductService);
|
|
4822
4862
|
/**
|
|
4823
4863
|
* Creates a new procedure
|
|
4824
4864
|
* @param data - The data for creating a new procedure
|
|
@@ -4856,25 +4896,32 @@ declare class ProcedureService extends BaseService {
|
|
|
4856
4896
|
*/
|
|
4857
4897
|
deactivateProcedure(id: string): Promise<void>;
|
|
4858
4898
|
/**
|
|
4859
|
-
* Gets a
|
|
4860
|
-
* @
|
|
4861
|
-
|
|
4862
|
-
|
|
4863
|
-
|
|
4864
|
-
*
|
|
4865
|
-
*
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
|
|
4869
|
-
*
|
|
4870
|
-
*
|
|
4871
|
-
|
|
4872
|
-
|
|
4873
|
-
|
|
4874
|
-
*
|
|
4875
|
-
*
|
|
4876
|
-
|
|
4877
|
-
|
|
4899
|
+
* Gets all procedures that a practitioner is certified to perform
|
|
4900
|
+
* @param practitioner - The practitioner's profile
|
|
4901
|
+
* @returns Object containing:
|
|
4902
|
+
* - procedures: List of procedures the practitioner can perform
|
|
4903
|
+
* - families: List of procedure families the practitioner can perform
|
|
4904
|
+
* - categories: List of category IDs the practitioner can perform
|
|
4905
|
+
* - subcategories: List of subcategory IDs the practitioner can perform
|
|
4906
|
+
*
|
|
4907
|
+
* @example
|
|
4908
|
+
* const practitioner = {
|
|
4909
|
+
* certification: {
|
|
4910
|
+
* level: CertificationLevel.DOCTOR,
|
|
4911
|
+
* specialties: [CertificationSpecialty.INJECTABLES]
|
|
4912
|
+
* }
|
|
4913
|
+
* };
|
|
4914
|
+
* const allowedProcedures = await procedureService.getAllowedProcedures(practitioner);
|
|
4915
|
+
* console.log(allowedProcedures.families); // [ProcedureFamily.AESTHETICS]
|
|
4916
|
+
* console.log(allowedProcedures.categories); // ["category1", "category2"]
|
|
4917
|
+
* console.log(allowedProcedures.subcategories); // ["subcategory1", "subcategory2"]
|
|
4918
|
+
*/
|
|
4919
|
+
getAllowedProcedures(practitioner: Practitioner): Promise<{
|
|
4920
|
+
procedures: Procedure[];
|
|
4921
|
+
families: ProcedureFamily[];
|
|
4922
|
+
categories: string[];
|
|
4923
|
+
subcategories: string[];
|
|
4924
|
+
}>;
|
|
4878
4925
|
}
|
|
4879
4926
|
|
|
4880
4927
|
/**
|