-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathconfig.model.ts
More file actions
101 lines (85 loc) · 2.4 KB
/
Copy pathconfig.model.ts
File metadata and controls
101 lines (85 loc) · 2.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
import { PrescriberIdTypeEnum } from '@shared/enums/prescriber-id-type.enum';
export interface Configuration {
practices: PracticeConfig[];
colleges: CollegeConfig[];
countries: Config<string>[];
jobNames: Config<number>[];
licenses: LicenseConfig[];
careSettings: Config<number>[];
provinces: ProvinceConfig[];
statuses: Config<number>[];
statusReasons: Config<number>[];
vendors: VendorConfig[];
healthAuthorities: HAConfig[];
facilities: Config<number>[];
careTypes: CareTypeConfig[];
securityGroups: Config<number>[];
collegeLicenseGroupings: CollegeLicenseGroupingConfig[];
deviceProviderRoles: DeviceProviderRoleConfig[];
}
export class Config<T> {
code: T;
name: string;
constructor(code: T, name: string) {
this.code = code;
this.name = name;
}
}
export interface CollegeConfig extends PracticeConfig {
collegeLicenses: CollegeLicenseConfig[];
weight: number;
}
export interface PracticeConfig extends Config<number> {
collegePractices: CollegePracticeConfig[];
}
export class LicenseConfig extends Config<number> implements IWeightedConfig {
prefix: string;
collegeLicenses: CollegeLicenseConfig[];
licensedToProvideCare: boolean;
namedInImReg: boolean;
allowRequestRemoteAccess: boolean;
weight: number;
validate: boolean;
manual: boolean;
prescriberIdType: PrescriberIdTypeEnum;
multijurisdictional: boolean;
remoteAccessTypeLicenses: RemoteAccessTypeLicense[];
}
export interface CollegeLicenseConfig {
collegeCode: number;
licenseCode: number;
collegeLicenseGroupingCode: number;
discontinued: boolean;
}
export interface RemoteAccessTypeLicense {
remoteAccessTypeCode: number;
}
export class CollegeLicenseGroupingConfig extends Config<number> implements IWeightedConfig {
code: number;
name: string;
weight: number;
}
export interface CollegePracticeConfig {
collegeCode: number;
practiceCode: number;
}
export interface VendorConfig extends Config<number> {
careSettingCode: number;
}
export interface CareTypeConfig extends Config<number> {
pharmacyPhoneRequired: boolean;
}
export interface HAConfig extends Config<number> {
passcode: string;
}
export interface ProvinceConfig extends Config<string> {
countryCode: string;
}
export interface IWeightedConfig {
weight: number;
}
export interface DeviceProviderRoleConfig extends Config<number> {
deviceProviderRoleCode: number;
certified: boolean;
weight: number;
}