@kenyaemr/esm-admin-app 5.4.4-pre.142 → 5.4.4-pre.15
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/package.json +1 -1
- package/src/components/confirm-modal/confirmation-operation.test.tsx +8 -19
- package/src/components/dashboard/dashboard.component.tsx +4 -1
- package/src/components/empty-state/empty-state-log.test.tsx +3 -4
- package/src/components/facility-setup/constant/index.ts +3 -0
- package/src/components/facility-setup/facility-info.component.tsx +176 -106
- package/src/components/facility-setup/facility-info.scss +39 -1
- package/src/components/facility-setup/facility-setup.component.tsx +2 -2
- package/src/components/facility-setup/type/index.ts +61 -0
- package/src/components/facility-setup/useFacilityRegistry.ts +29 -0
- package/src/components/global-property/dashboard/global-property-dashboard.component.tsx +23 -0
- package/src/components/global-property/dashboard/global-property-dashboard.scss +6 -0
- package/src/components/global-property/hooks/useGlobalProperty.ts +64 -0
- package/src/components/global-property/index.ts +14 -0
- package/src/components/global-property/modal/delete-global-property-modal.component.tsx +71 -0
- package/src/components/global-property/modal/delete-global-property-modal.test.tsx +131 -0
- package/src/components/global-property/table/global-property-table.component.tsx +249 -0
- package/src/components/global-property/table/global-property-table.scss +34 -0
- package/src/components/global-property/table/global-property-table.test.tsx +198 -0
- package/src/components/global-property/workspace/global-property-form-schema.ts +32 -0
- package/src/components/global-property/workspace/global-property.workspace.scss +40 -0
- package/src/components/global-property/workspace/global-property.workspace.test.tsx +172 -0
- package/src/components/global-property/workspace/global-property.workspace.tsx +260 -0
- package/src/components/hook/healthWorkerRegistry.ts +78 -0
- package/src/components/hook/useProfessionalRegistryEnums.ts +59 -0
- package/src/components/logs-table/operation-log-table.component.tsx +87 -75
- package/src/components/logs-table/operation-log.test.tsx +134 -28
- package/src/components/modal/hwr-confirmation.modal.scss +80 -4
- package/src/components/modal/hwr-confirmation.modal.tsx +118 -128
- package/src/components/modal/hwr-sync.modal.tsx +194 -106
- package/src/components/users/manage-users/user-details/user-detail.scss +167 -39
- package/src/components/users/manage-users/user-details/user-details.component.tsx +130 -122
- package/src/components/users/manage-users/user-management.workspace.scss +233 -95
- package/src/components/users/manage-users/user-management.workspace.tsx +481 -375
- package/src/components/users/userManagementFormSchema.tsx +17 -8
- package/src/config-schema.ts +48 -68
- package/src/index.ts +9 -1
- package/src/root.component.tsx +2 -0
- package/src/routes.json +20 -1
- package/src/types/index.ts +11 -2
- package/translations/am.json +175 -10
- package/translations/en.json +108 -40
- package/translations/fr.json +171 -101
- package/translations/sw.json +312 -147
- package/.turbo/turbo-build.log +0 -6
- package/dist/1074.js +0 -1
- package/dist/1074.js.map +0 -1
- package/dist/12.js +0 -17
- package/dist/12.js.map +0 -1
- package/dist/1201.js +0 -1
- package/dist/1201.js.map +0 -1
- package/dist/1242.js +0 -1
- package/dist/1242.js.map +0 -1
- package/dist/1311.js +0 -1
- package/dist/1311.js.map +0 -1
- package/dist/1462.js +0 -1
- package/dist/1462.js.map +0 -1
- package/dist/1469.js +0 -1
- package/dist/1469.js.map +0 -1
- package/dist/1506.js +0 -13
- package/dist/1506.js.map +0 -1
- package/dist/1718.js +0 -1
- package/dist/1718.js.map +0 -1
- package/dist/1722.js +0 -1
- package/dist/1722.js.map +0 -1
- package/dist/1772.js +0 -1
- package/dist/1772.js.map +0 -1
- package/dist/1889.js +0 -1
- package/dist/1889.js.map +0 -1
- package/dist/1972.js +0 -1
- package/dist/1972.js.map +0 -1
- package/dist/1990.js +0 -1
- package/dist/1990.js.map +0 -1
- package/dist/2016.js +0 -1
- package/dist/2016.js.map +0 -1
- package/dist/2080.js +0 -1
- package/dist/2080.js.map +0 -1
- package/dist/2096.js +0 -1
- package/dist/2096.js.map +0 -1
- package/dist/2153.js +0 -1
- package/dist/2153.js.map +0 -1
- package/dist/216.js +0 -1
- package/dist/216.js.map +0 -1
- package/dist/2270.js +0 -1
- package/dist/2270.js.map +0 -1
- package/dist/2294.js +0 -1
- package/dist/2294.js.map +0 -1
- package/dist/2345.js +0 -1
- package/dist/2345.js.map +0 -1
- package/dist/2402.js +0 -1
- package/dist/2402.js.map +0 -1
- package/dist/2500.js +0 -1
- package/dist/2500.js.map +0 -1
- package/dist/251.js +0 -1
- package/dist/251.js.map +0 -1
- package/dist/257.js +0 -1
- package/dist/257.js.map +0 -1
- package/dist/2586.js +0 -1
- package/dist/2586.js.map +0 -1
- package/dist/2625.js +0 -1
- package/dist/2625.js.map +0 -1
- package/dist/2652.js +0 -1
- package/dist/2652.js.map +0 -1
- package/dist/2685.js +0 -1
- package/dist/2685.js.map +0 -1
- package/dist/2948.js +0 -1
- package/dist/2948.js.map +0 -1
- package/dist/3089.js +0 -1
- package/dist/3089.js.map +0 -1
- package/dist/3190.js +0 -1
- package/dist/3190.js.map +0 -1
- package/dist/3224.js +0 -1
- package/dist/3224.js.map +0 -1
- package/dist/3366.js +0 -1
- package/dist/3366.js.map +0 -1
- package/dist/349.js +0 -1
- package/dist/349.js.map +0 -1
- package/dist/3548.js +0 -1
- package/dist/3548.js.map +0 -1
- package/dist/3571.js +0 -1
- package/dist/3571.js.map +0 -1
- package/dist/3691.js +0 -1
- package/dist/3691.js.map +0 -1
- package/dist/3775.js +0 -1
- package/dist/3775.js.map +0 -1
- package/dist/3816.js +0 -1
- package/dist/3816.js.map +0 -1
- package/dist/3852.js +0 -1
- package/dist/3852.js.map +0 -1
- package/dist/3906.js +0 -1
- package/dist/3906.js.map +0 -1
- package/dist/3963.js +0 -1
- package/dist/3963.js.map +0 -1
- package/dist/405.js +0 -1
- package/dist/405.js.map +0 -1
- package/dist/4296.js +0 -1
- package/dist/4296.js.map +0 -1
- package/dist/4337.js +0 -1
- package/dist/4337.js.map +0 -1
- package/dist/4735.js +0 -1
- package/dist/4735.js.map +0 -1
- package/dist/4744.js +0 -1
- package/dist/4744.js.map +0 -1
- package/dist/4813.js +0 -2
- package/dist/4813.js.map +0 -1
- package/dist/4858.js +0 -1
- package/dist/4858.js.map +0 -1
- package/dist/487.js +0 -1
- package/dist/487.js.map +0 -1
- package/dist/4970.js +0 -1
- package/dist/4970.js.map +0 -1
- package/dist/5202.js +0 -1
- package/dist/5202.js.map +0 -1
- package/dist/5294.js +0 -1
- package/dist/5294.js.map +0 -1
- package/dist/545.js +0 -1
- package/dist/545.js.map +0 -1
- package/dist/552.js +0 -1
- package/dist/552.js.map +0 -1
- package/dist/5592.js +0 -1
- package/dist/5592.js.map +0 -1
- package/dist/5669.js +0 -1
- package/dist/5669.js.map +0 -1
- package/dist/5884.js +0 -1
- package/dist/5884.js.map +0 -1
- package/dist/5940.js +0 -1
- package/dist/5940.js.map +0 -1
- package/dist/6092.js +0 -1
- package/dist/6092.js.map +0 -1
- package/dist/6155.js +0 -1
- package/dist/6155.js.map +0 -1
- package/dist/6178.js +0 -1
- package/dist/6178.js.map +0 -1
- package/dist/6399.js +0 -1
- package/dist/6399.js.map +0 -1
- package/dist/6456.js +0 -1
- package/dist/6466.js +0 -3
- package/dist/6466.js.map +0 -1
- package/dist/6492.js +0 -1
- package/dist/6492.js.map +0 -1
- package/dist/6676.js +0 -1
- package/dist/6676.js.map +0 -1
- package/dist/6800.js +0 -1
- package/dist/6800.js.map +0 -1
- package/dist/6976.js +0 -1
- package/dist/6976.js.map +0 -1
- package/dist/7005.js +0 -1
- package/dist/7005.js.map +0 -1
- package/dist/7201.js +0 -1
- package/dist/7201.js.map +0 -1
- package/dist/7210.js +0 -1
- package/dist/7210.js.map +0 -1
- package/dist/7234.js +0 -1
- package/dist/7234.js.map +0 -1
- package/dist/7261.js +0 -1
- package/dist/7261.js.map +0 -1
- package/dist/7326.js +0 -1
- package/dist/7463.js +0 -1
- package/dist/7463.js.map +0 -1
- package/dist/7528.js +0 -1
- package/dist/7528.js.map +0 -1
- package/dist/7584.js +0 -1
- package/dist/7584.js.map +0 -1
- package/dist/7607.js +0 -1
- package/dist/7717.js +0 -1
- package/dist/7717.js.map +0 -1
- package/dist/7737.js +0 -1
- package/dist/7737.js.map +0 -1
- package/dist/7739.js +0 -1
- package/dist/7739.js.map +0 -1
- package/dist/7765.js +0 -1
- package/dist/7765.js.map +0 -1
- package/dist/7820.js +0 -1
- package/dist/7820.js.map +0 -1
- package/dist/7844.js +0 -1
- package/dist/7844.js.map +0 -1
- package/dist/7866.js +0 -1
- package/dist/7866.js.map +0 -1
- package/dist/7916.js +0 -1
- package/dist/7916.js.map +0 -1
- package/dist/7971.js +0 -1
- package/dist/7971.js.map +0 -1
- package/dist/8159.js +0 -7
- package/dist/8159.js.map +0 -1
- package/dist/8244.js +0 -1
- package/dist/8244.js.map +0 -1
- package/dist/8262.js +0 -1
- package/dist/8262.js.map +0 -1
- package/dist/834.js +0 -1
- package/dist/834.js.map +0 -1
- package/dist/8376.js +0 -1
- package/dist/8376.js.map +0 -1
- package/dist/845.js +0 -1
- package/dist/845.js.map +0 -1
- package/dist/8546.js +0 -1
- package/dist/8546.js.map +0 -1
- package/dist/8570.js +0 -1
- package/dist/8570.js.map +0 -1
- package/dist/87.js +0 -1
- package/dist/87.js.map +0 -1
- package/dist/8727.js +0 -1
- package/dist/8828.js +0 -1
- package/dist/8828.js.map +0 -1
- package/dist/8860.js +0 -1
- package/dist/8860.js.map +0 -1
- package/dist/9036.js +0 -1
- package/dist/9036.js.map +0 -1
- package/dist/9124.js +0 -1
- package/dist/9124.js.map +0 -1
- package/dist/9182.js +0 -1
- package/dist/921.js +0 -1
- package/dist/921.js.map +0 -1
- package/dist/9404.js +0 -1
- package/dist/9404.js.map +0 -1
- package/dist/9406.js +0 -1
- package/dist/9406.js.map +0 -1
- package/dist/9446.js +0 -1
- package/dist/9446.js.map +0 -1
- package/dist/9449.js +0 -1
- package/dist/9449.js.map +0 -1
- package/dist/9566.js +0 -5
- package/dist/9566.js.map +0 -1
- package/dist/9641.js +0 -1
- package/dist/9641.js.map +0 -1
- package/dist/9711.js +0 -1
- package/dist/9711.js.map +0 -1
- package/dist/9801.js +0 -1
- package/dist/9801.js.map +0 -1
- package/dist/9835.js +0 -11
- package/dist/9835.js.map +0 -1
- package/dist/kenyaemr-esm-admin-app.js +0 -5
- package/dist/kenyaemr-esm-admin-app.js.buildmanifest.json +0 -3173
- package/dist/kenyaemr-esm-admin-app.js.map +0 -1
- package/dist/main.js +0 -5
- package/dist/main.js.map +0 -1
- package/dist/routes.json +0 -1
- package/src/components/facility-setup/facility-setup.resource.tsx +0 -7
- package/src/components/hook/healthWorkerAdapter.ts +0 -213
- package/src/components/hook/useFacilityInfo.tsx +0 -37
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useTranslation } from 'react-i18next';
|
|
2
|
-
import {
|
|
2
|
+
import { z } from 'zod';
|
|
3
3
|
|
|
4
4
|
const UserManagementFormSchema = (existingUsernames: Array<string>, isEdit?: boolean) => {
|
|
5
5
|
const { t } = useTranslation();
|
|
@@ -13,9 +13,10 @@ const UserManagementFormSchema = (existingUsernames: Array<string>, isEdit?: boo
|
|
|
13
13
|
message: t('genderRequired', 'Gender is required'),
|
|
14
14
|
}),
|
|
15
15
|
}),
|
|
16
|
+
|
|
16
17
|
phoneNumber: z.string().optional(),
|
|
17
18
|
email: z.string().optional(),
|
|
18
|
-
|
|
19
|
+
|
|
19
20
|
username: z
|
|
20
21
|
.string()
|
|
21
22
|
.nonempty(t('usernameRequired', 'Username is required'))
|
|
@@ -25,25 +26,33 @@ const UserManagementFormSchema = (existingUsernames: Array<string>, isEdit?: boo
|
|
|
25
26
|
password: z.string().optional(),
|
|
26
27
|
confirmPassword: z.string().optional(),
|
|
27
28
|
forcePasswordChange: z.boolean().optional(),
|
|
29
|
+
|
|
28
30
|
roles: z
|
|
29
31
|
.array(
|
|
30
32
|
z.object({
|
|
31
|
-
uuid: z.string().min(1, '
|
|
33
|
+
uuid: z.string().min(1, 'UUID is required'),
|
|
32
34
|
display: z.string().min(1, 'Role name is required'),
|
|
33
35
|
description: z.string().nullable().optional(),
|
|
34
36
|
}),
|
|
35
37
|
)
|
|
36
38
|
.optional(),
|
|
37
39
|
primaryRole: z.string().optional(),
|
|
40
|
+
|
|
41
|
+
providerIdentifiers: z.boolean().optional(),
|
|
42
|
+
isEditProvider: z.boolean().optional(),
|
|
38
43
|
systemId: z.string().optional(),
|
|
39
|
-
|
|
40
|
-
licenseExpiryDate: z.date().optional(),
|
|
41
|
-
registrationNumber: z.string().optional(),
|
|
42
|
-
qualification: z.string().optional(),
|
|
44
|
+
|
|
43
45
|
nationalId: z.string().optional(),
|
|
44
46
|
passportNumber: z.string().optional(),
|
|
45
|
-
|
|
47
|
+
|
|
46
48
|
providerUniqueIdentifier: z.string().optional(),
|
|
49
|
+
providerLicense: z.string().optional(),
|
|
50
|
+
licenseExpiryDate: z.date().optional(),
|
|
51
|
+
licenseBody: z.string().optional(),
|
|
52
|
+
qualification: z.string().optional(),
|
|
53
|
+
specialty: z.string().optional(),
|
|
54
|
+
providerCadre: z.string().optional(),
|
|
55
|
+
practiceType: z.string().optional(),
|
|
47
56
|
});
|
|
48
57
|
|
|
49
58
|
return { userManagementFormSchema };
|
package/src/config-schema.ts
CHANGED
|
@@ -4,7 +4,7 @@ import dayjs from 'dayjs';
|
|
|
4
4
|
export const configSchema = {
|
|
5
5
|
providerNationalIdUuid: {
|
|
6
6
|
_type: Type.String,
|
|
7
|
-
_description: 'UUID for provider national
|
|
7
|
+
_description: 'UUID for provider national ID',
|
|
8
8
|
_default: '3d152c97-2293-4a2b-802e-e0f1009b7b15',
|
|
9
9
|
},
|
|
10
10
|
passportNumberUuid: {
|
|
@@ -12,21 +12,17 @@ export const configSchema = {
|
|
|
12
12
|
_description: 'UUID for passport number identification for provider',
|
|
13
13
|
_default: '5b4b88e8-9db3-41e6-a175-5e39f2c8a9a5',
|
|
14
14
|
},
|
|
15
|
-
|
|
16
|
-
_type: Type.String,
|
|
17
|
-
_description: 'UUID for provider hie fhir reference',
|
|
18
|
-
_default: '67b94e8e-4d61-4810-b0f1-d86497f6e553',
|
|
19
|
-
},
|
|
20
|
-
qualificationUuid: {
|
|
15
|
+
providerUniqueIdentifierAttributeTypeUuid: {
|
|
21
16
|
_type: Type.String,
|
|
22
|
-
_description: 'UUID for provider
|
|
23
|
-
_default: '
|
|
17
|
+
_description: 'UUID for cross-regulator provider unique identifier (PUID)',
|
|
18
|
+
_default: 'dace9d99-9f29-4653-9eae-c05929f34a32',
|
|
24
19
|
},
|
|
25
|
-
|
|
20
|
+
externalProviderIdentifierUuid: {
|
|
26
21
|
_type: Type.String,
|
|
27
|
-
_description: 'UUID for
|
|
28
|
-
_default: '
|
|
22
|
+
_description: 'UUID for external provider identifier (regulator-public reference)',
|
|
23
|
+
_default: 'bbdf67e8-c020-40ff-8ad6-74ba34893882',
|
|
29
24
|
},
|
|
25
|
+
|
|
30
26
|
licenseNumberUuid: {
|
|
31
27
|
_type: Type.String,
|
|
32
28
|
_description: 'UUID for license number',
|
|
@@ -37,6 +33,31 @@ export const configSchema = {
|
|
|
37
33
|
_description: 'UUID for license expiry date',
|
|
38
34
|
_default: '00539959-a1c7-4848-a5ed-8941e9d5e835',
|
|
39
35
|
},
|
|
36
|
+
licenseBodyUuid: {
|
|
37
|
+
_type: Type.String,
|
|
38
|
+
_description: 'UUID for licensing body (e.g. KMPDC, NCK, PPB, COC)',
|
|
39
|
+
_default: 'ba18bb97-d17c-4640-80d2-58e7df90ca4c',
|
|
40
|
+
},
|
|
41
|
+
qualificationUuid: {
|
|
42
|
+
_type: Type.String,
|
|
43
|
+
_description: 'UUID for provider educational qualification',
|
|
44
|
+
_default: '43f99413-6e7f-4812-bc60-066bb1d43f94',
|
|
45
|
+
},
|
|
46
|
+
specialtyUuid: {
|
|
47
|
+
_type: Type.String,
|
|
48
|
+
_description: 'UUID for provider clinical specialty',
|
|
49
|
+
_default: '7f5d8e2c-3a1b-4d6e-9c0f-2b4a1d5e8c91',
|
|
50
|
+
},
|
|
51
|
+
providerCadreUuid: {
|
|
52
|
+
_type: Type.String,
|
|
53
|
+
_description: 'UUID for provider professional cadre',
|
|
54
|
+
_default: '8a6e9f3d-4b2c-5e7f-ad10-3c5b2e6f9da2',
|
|
55
|
+
},
|
|
56
|
+
practiceTypeUuid: {
|
|
57
|
+
_type: Type.String,
|
|
58
|
+
_description: 'UUID for provider practice type (clinical, non-clinical, etc.)',
|
|
59
|
+
_default: '9b7faa4e-5c3d-6f80-be21-4d6c3f70aeb3',
|
|
60
|
+
},
|
|
40
61
|
phoneNumberUuid: {
|
|
41
62
|
_type: Type.String,
|
|
42
63
|
_description: 'UUID for provider phone number',
|
|
@@ -44,9 +65,14 @@ export const configSchema = {
|
|
|
44
65
|
},
|
|
45
66
|
providerAddressUuid: {
|
|
46
67
|
_type: Type.String,
|
|
47
|
-
_description: 'UUID for provider address',
|
|
68
|
+
_description: 'UUID for provider postal address',
|
|
48
69
|
_default: '033ff604-ecf7-464f-b623-5b77c733667f',
|
|
49
70
|
},
|
|
71
|
+
providerHieFhirReference: {
|
|
72
|
+
_type: Type.String,
|
|
73
|
+
_description: 'UUID for provider HIE FHIR reference',
|
|
74
|
+
_default: '67b94e8e-4d61-4810-b0f1-d86497f6e553',
|
|
75
|
+
},
|
|
50
76
|
personEmailAttributeUuid: {
|
|
51
77
|
_type: Type.String,
|
|
52
78
|
_description: 'UUID for person email attribute',
|
|
@@ -57,48 +83,6 @@ export const configSchema = {
|
|
|
57
83
|
_description: 'UUID for person phone number attribute',
|
|
58
84
|
_default: 'b2c38640-2603-4629-aebd-3b54f33f1e3a',
|
|
59
85
|
},
|
|
60
|
-
providerUniqueIdentifierAttributeTypeUuid: {
|
|
61
|
-
_type: Type.String,
|
|
62
|
-
_description: 'UUID for provider unique identifier attribute type',
|
|
63
|
-
_default: 'dace9d99-9f29-4653-9eae-c05929f34a32',
|
|
64
|
-
},
|
|
65
|
-
identifierTypes: {
|
|
66
|
-
_type: Type.Array,
|
|
67
|
-
_elements: {
|
|
68
|
-
_type: Type.Object,
|
|
69
|
-
properties: {
|
|
70
|
-
key: { _type: Type.String },
|
|
71
|
-
name: { _type: Type.String },
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
_default: [
|
|
75
|
-
{ key: 'National ID', name: 'National ID' },
|
|
76
|
-
{ key: 'registration_number', name: 'Registration Number' },
|
|
77
|
-
{ key: 'Passport', name: 'Passport Number' },
|
|
78
|
-
],
|
|
79
|
-
_description: 'List of identifier types with unique keys for each.',
|
|
80
|
-
},
|
|
81
|
-
regulatorOptions: {
|
|
82
|
-
_type: Type.Array,
|
|
83
|
-
_elements: {
|
|
84
|
-
_type: Type.Object,
|
|
85
|
-
properties: {
|
|
86
|
-
key: { _type: Type.String },
|
|
87
|
-
name: { _type: Type.String },
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
_default: [
|
|
91
|
-
{ key: 'Clinical Officers Council', name: 'Clinical Officers Council' },
|
|
92
|
-
{ key: 'Pharmacy and Poisons Board', name: 'Pharmacy and Poisons Board' },
|
|
93
|
-
{ key: 'Nursing Council', name: 'Nursing Council' },
|
|
94
|
-
{ key: 'KMPDC', name: 'Kenya Medical Practitioners and Dentists Council (KMPDC)' },
|
|
95
|
-
{
|
|
96
|
-
key: 'Kenya Medical Laboratory Technicians & Technologists Board',
|
|
97
|
-
name: 'Kenya Medical Laboratory Technicians & Technologists Board',
|
|
98
|
-
},
|
|
99
|
-
],
|
|
100
|
-
_description: 'List of regulator options with unique keys for each.',
|
|
101
|
-
},
|
|
102
86
|
};
|
|
103
87
|
|
|
104
88
|
export interface UserProperties {
|
|
@@ -109,22 +93,18 @@ export interface UserProperties {
|
|
|
109
93
|
export interface ConfigObject {
|
|
110
94
|
providerNationalIdUuid: string;
|
|
111
95
|
passportNumberUuid: string;
|
|
112
|
-
providerHieFhirReference: string;
|
|
113
96
|
providerUniqueIdentifierAttributeTypeUuid: string;
|
|
97
|
+
externalProviderIdentifierUuid: string;
|
|
98
|
+
licenseNumberUuid: string;
|
|
99
|
+
licenseExpiryDateUuid: string;
|
|
100
|
+
licenseBodyUuid: string;
|
|
101
|
+
qualificationUuid: string;
|
|
102
|
+
specialtyUuid: string;
|
|
103
|
+
providerCadreUuid: string;
|
|
104
|
+
practiceTypeUuid: string;
|
|
114
105
|
phoneNumberUuid: string;
|
|
115
106
|
providerAddressUuid: string;
|
|
116
|
-
|
|
117
|
-
licenseBodyUuid: string;
|
|
118
|
-
licenseNumberUuid: string;
|
|
107
|
+
providerHieFhirReference: string;
|
|
119
108
|
personEmailAttributeUuid: string;
|
|
120
109
|
personPhonenumberAttributeUuid: string;
|
|
121
|
-
licenseExpiryDateUuid: string;
|
|
122
|
-
identifierTypes: Array<{
|
|
123
|
-
key: string;
|
|
124
|
-
name: string;
|
|
125
|
-
}>;
|
|
126
|
-
regulatorOptions: Array<{
|
|
127
|
-
key: string;
|
|
128
|
-
name: string;
|
|
129
|
-
}>;
|
|
130
110
|
}
|
package/src/index.ts
CHANGED
|
@@ -9,7 +9,7 @@ const options = {
|
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
export const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
|
|
12
|
-
|
|
12
|
+
export * from './components/global-property/index';
|
|
13
13
|
export const root = getAsyncLifecycle(() => import('./root.component'), options);
|
|
14
14
|
|
|
15
15
|
export function startupApp() {
|
|
@@ -76,6 +76,14 @@ export const searchLocationWorkspace = getAsyncLifecycle(
|
|
|
76
76
|
() => import('./components/locations/forms/search-location/search-location.workspace'),
|
|
77
77
|
options,
|
|
78
78
|
);
|
|
79
|
+
export const globalPropertyWorkspace = getAsyncLifecycle(
|
|
80
|
+
() => import('./components/global-property/workspace/global-property.workspace'),
|
|
81
|
+
options,
|
|
82
|
+
);
|
|
83
|
+
export const deleteGlobalPropertyModal = getAsyncLifecycle(
|
|
84
|
+
() => import('./components/global-property/modal/delete-global-property-modal.component'),
|
|
85
|
+
options,
|
|
86
|
+
);
|
|
79
87
|
|
|
80
88
|
// t('providerBanner', 'Provider banner')
|
|
81
89
|
export const providerBanner = getAsyncLifecycle(
|
package/src/root.component.tsx
CHANGED
|
@@ -9,6 +9,7 @@ import FacilitySetup from './components/facility-setup/facility-setup.component'
|
|
|
9
9
|
import HomeComponent from './components/locations/home/home-locations.component';
|
|
10
10
|
|
|
11
11
|
import styles from './root.scss';
|
|
12
|
+
import GlobalPropertyDashboard from './components/global-property/dashboard/global-property-dashboard.component';
|
|
12
13
|
|
|
13
14
|
const Root: React.FC = () => {
|
|
14
15
|
const spaBasePath = globalThis.spaBase;
|
|
@@ -28,6 +29,7 @@ const Root: React.FC = () => {
|
|
|
28
29
|
<Route path="/etl-administration" element={<EtlAdminDashboard />} />
|
|
29
30
|
<Route path="/facility-setup" element={<FacilitySetup />} />
|
|
30
31
|
<Route path="/locations" element={<HomeComponent />} />
|
|
32
|
+
<Route path="/global-property" element={<GlobalPropertyDashboard />} />
|
|
31
33
|
</Routes>
|
|
32
34
|
</main>
|
|
33
35
|
</BrowserRouter>
|
package/src/routes.json
CHANGED
|
@@ -29,11 +29,20 @@
|
|
|
29
29
|
"name": "facility-setup-left-panel-link",
|
|
30
30
|
"slot": "admin-left-panel-slot"
|
|
31
31
|
},
|
|
32
|
+
{
|
|
33
|
+
"name":"global-property-link",
|
|
34
|
+
"component":"globalPropertyLink",
|
|
35
|
+
"slot": "admin-left-panel-slot"
|
|
36
|
+
},
|
|
32
37
|
{
|
|
33
38
|
"component": "providerBanner",
|
|
34
39
|
"name": "provider-banner",
|
|
35
40
|
"slot": "provider-banner-info-slot",
|
|
36
41
|
"order": 1
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"component": "globalPropertyDashboard",
|
|
45
|
+
"name": "global-property-dashboard"
|
|
37
46
|
}
|
|
38
47
|
],
|
|
39
48
|
"modals": [
|
|
@@ -52,6 +61,10 @@
|
|
|
52
61
|
{
|
|
53
62
|
"component": "hwrSyncModal",
|
|
54
63
|
"name": "hwr-syncing-modal"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"component": "deleteGlobalPropertyModal",
|
|
67
|
+
"name": "delete-global-property-modal"
|
|
55
68
|
}
|
|
56
69
|
],
|
|
57
70
|
"workspaces2": [
|
|
@@ -74,13 +87,19 @@
|
|
|
74
87
|
"name": "search-location-workspace",
|
|
75
88
|
"component": "searchLocationWorkspace",
|
|
76
89
|
"window": "esm-admin-workspace-window"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "global-property-workspace",
|
|
93
|
+
"component": "globalPropertyWorkspace",
|
|
94
|
+
"window": "esm-admin-workspace-window"
|
|
77
95
|
}
|
|
78
96
|
],
|
|
79
97
|
"workspaceWindows2": [
|
|
80
98
|
{
|
|
81
99
|
"name": "esm-admin-workspace-window",
|
|
82
100
|
"canMaximize": true,
|
|
83
|
-
"group": "esm-admin-workspace-group"
|
|
101
|
+
"group": "esm-admin-workspace-group",
|
|
102
|
+
"width":"wider"
|
|
84
103
|
},
|
|
85
104
|
{
|
|
86
105
|
"name": "esm-admin-extra-wide-workspace-window",
|
package/src/types/index.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { fhirBaseUrl, Type } from '@openmrs/esm-framework';
|
|
2
|
-
|
|
3
1
|
export interface ETLResponse {
|
|
4
2
|
script_name: string;
|
|
5
3
|
start_time: string;
|
|
@@ -411,3 +409,14 @@ export interface CustomHIEPractitionerResponse {
|
|
|
411
409
|
};
|
|
412
410
|
fhirFormat: boolean;
|
|
413
411
|
}
|
|
412
|
+
|
|
413
|
+
export type SystemSettings = {
|
|
414
|
+
property: string;
|
|
415
|
+
description?: string;
|
|
416
|
+
datatypeClassname?: string;
|
|
417
|
+
datatypeConfig?: string;
|
|
418
|
+
preferredHandlerClassname?: string;
|
|
419
|
+
handlerConfig?: string | null;
|
|
420
|
+
value: string;
|
|
421
|
+
uuid?: string;
|
|
422
|
+
};
|
package/translations/am.json
CHANGED
|
@@ -4,55 +4,134 @@
|
|
|
4
4
|
"Active Licensed": "ገባሪ ፈቃድ ያለው",
|
|
5
5
|
"activeFrom": "ከዚህ ቀን ጀምሮ ገባሪ",
|
|
6
6
|
"activeTo": "እስከዚህ ቀን ገባሪ",
|
|
7
|
+
"addAnotherRoleScope": "Add user role scope",
|
|
8
|
+
"addGlobalProperty": "Add new global property",
|
|
7
9
|
"addLocation": "ቦታ ያክሉ",
|
|
10
|
+
"addRoleScope": "Add a new user role scope",
|
|
8
11
|
"addUser": "ተጠቃሚ ያክሉ",
|
|
9
12
|
"adminLeftPannel": "አስተዳዳሪ ግራ ፓነል",
|
|
10
13
|
"All users": "ሁሉም ተጠቃሚዎች",
|
|
14
|
+
"bedOccupancy": "Bed occupancy",
|
|
11
15
|
"cancel": "ይቅር",
|
|
12
16
|
"checkFilters": "ከላይ ያሉትን ማጣሪያዎች ያረጋግጡ",
|
|
13
17
|
"chooseAStockRole": "የክምችት ሚና ይምረጡ",
|
|
18
|
+
"chooseIdentifierType": "Choose identifier type",
|
|
19
|
+
"chooseRegulator": "Choose regulator",
|
|
20
|
+
"chooseRegulatorType": "Choose regulator option",
|
|
21
|
+
"clearSearchButton": "Clear search button",
|
|
14
22
|
"completionStatus": "የማጠናቀቂያ ሁኔታ",
|
|
15
23
|
"confirmation": "ማረጋገጫ",
|
|
24
|
+
"contact": "Contact",
|
|
16
25
|
"contactAndAdministrator": "Contact & administrator",
|
|
17
26
|
"continue": "ወደ ምዝገባ ይቀጥሉ",
|
|
27
|
+
"coordinates": "Coordinates",
|
|
28
|
+
"cots": "Cots",
|
|
29
|
+
"country": "Country",
|
|
18
30
|
"county": "County",
|
|
31
|
+
"datatypeClassname": "Datatype classname",
|
|
32
|
+
"datatypeConfig": "Datatype config",
|
|
19
33
|
"delete": "ሰርዝ",
|
|
34
|
+
"deleteGlobalProperty": "Delete global property",
|
|
35
|
+
"deleteGlobalPropertyConfirmation": "Are you sure you want to delete the global property \"{{property}}\"?",
|
|
36
|
+
"deleteGlobalPropertyWarning": "This action cannot be undone.",
|
|
37
|
+
"deleting": "Deleting...",
|
|
20
38
|
"deletingstockUserScope": "የክምችት ተጠቃሚ ስፋትን ሰርዝ",
|
|
39
|
+
"demographicInfo": "Demographic info",
|
|
40
|
+
"demographicInformation": "Demographic Info",
|
|
21
41
|
"description": "መግለጫ",
|
|
42
|
+
"dialysisBeds": "Dialysis",
|
|
22
43
|
"edit": "አስተካክል",
|
|
44
|
+
"editGlobalProperty": "Edit global property",
|
|
45
|
+
"editProvider": "Edit Provider Details",
|
|
46
|
+
"EditProviderDetails": "Edit provider details?",
|
|
47
|
+
"editRoleScope": "Edit User Role Scope",
|
|
23
48
|
"editUser": "ተጠቃሚን አስተካክል",
|
|
49
|
+
"email": "Enter Email",
|
|
24
50
|
"emailAddress": "ኢሜይል አድራሻ",
|
|
25
51
|
"enable": "አንቃ?",
|
|
26
52
|
"enabled": "ነቅቷል",
|
|
27
53
|
"endTime": "የማብቂያ ሰዓት",
|
|
54
|
+
"enterIdentifierNumber": "Enter identifier number",
|
|
55
|
+
"error": "Error",
|
|
28
56
|
"errorDeletingUserScope": "የተጠቃሚ ስፋት ስህተት ተሰርዟል",
|
|
57
|
+
"errorSyncMsg": "",
|
|
29
58
|
"etlAdministration": "ETL አስተዳደር",
|
|
30
59
|
"etlOperation": "ETL ክንውኖች",
|
|
31
60
|
"etlsOperationsLoading": "እባክዎ ይጠብቁ {{currentOperation}} በመካሄድ ላይ ነው...",
|
|
61
|
+
"expired": "Expired",
|
|
32
62
|
"Expired Licensed": "ያለፈበት ፈቃድ ያለው",
|
|
33
63
|
"expiresIn3Months": "በ3 ወራት ውስጥ ያልቃል",
|
|
34
64
|
"expiresSoon": "በቅርቡ ያልቃል",
|
|
65
|
+
"externalRef": "External ref",
|
|
66
|
+
"externalReferenceId": "External Reference ID",
|
|
35
67
|
"facilityDetails": "የተቋሙ ዝርዝሮች",
|
|
36
68
|
"facilityEmail": "Email",
|
|
37
69
|
"facilityInfo": "የተቋሙ መረጃ",
|
|
38
70
|
"facilityName": "የተቋሙ ስም",
|
|
39
71
|
"facilityOwnership": "Ownership",
|
|
40
72
|
"facilityPhone": "Phone",
|
|
41
|
-
"
|
|
73
|
+
"facilityRegistryLoadError": "Failed to load the facility record.",
|
|
74
|
+
"facilityRegistryNotSyncedBody": "This facility has not been pulled from the registry. Click sync to fetch the latest record.",
|
|
75
|
+
"facilityRegistrySyncedFrom": "Pulled {{name}} from the facility registry",
|
|
76
|
+
"facilityRegistrySyncError": "Unable to reach the facility registry",
|
|
77
|
+
"facilityRegistrySyncFailed": "Sync failed",
|
|
78
|
+
"facilityRegistrySyncSuccess": "Facility synced",
|
|
42
79
|
"facilityType": "Facility type",
|
|
80
|
+
"familyName": "Family Name",
|
|
81
|
+
"familyNameRequired": "Family name is required",
|
|
82
|
+
"female": "Female",
|
|
43
83
|
"fidCode": "FID code",
|
|
44
84
|
"filter": "አጣራ",
|
|
45
85
|
"filterBy": "በዚህ አጣራ:",
|
|
86
|
+
"forcePasswordChange": "Force Password Change",
|
|
87
|
+
"forcePasswordChangeHelper": "Optionally require this user to change their password on next login",
|
|
88
|
+
"frCode": "FR code",
|
|
89
|
+
"gender": "Gender",
|
|
90
|
+
"genderRequired": "Gender is required",
|
|
46
91
|
"generalInformation": "አጠቃላይ መረጃ",
|
|
92
|
+
"givenName": "Given Name",
|
|
93
|
+
"givenNameRequired": "Given name is required",
|
|
94
|
+
"globalProperties": "Global properties",
|
|
95
|
+
"globalProperty": "Global property",
|
|
96
|
+
"globalPropertyError": "Global property",
|
|
97
|
+
"gpCreated": "Global property {{property}} was created successfully.",
|
|
98
|
+
"gpDatatypeConfigPlaceholder": "Optional datatype configuration",
|
|
99
|
+
"gpDeleted": "Global property deleted",
|
|
100
|
+
"gpDeletedSubtitle": "{{property}} was deleted successfully.",
|
|
101
|
+
"gpDeleteError": "Error deleting global property",
|
|
102
|
+
"gpDescriptionPlaceholder": "Optional description",
|
|
103
|
+
"gpHandlerConfigPlaceholder": "Optional handler configuration",
|
|
104
|
+
"gpPreferredHandlerPlaceholder": "Optional preferred handler classname",
|
|
105
|
+
"gpPropertyNameRequired": "Property name is required",
|
|
106
|
+
"gpPropertyPlaceholder": "e.g. kenyaemr.setting.name",
|
|
107
|
+
"gpSaveError": "Error saving global property",
|
|
108
|
+
"gpUpdated": "Global property {{property}} was updated successfully.",
|
|
109
|
+
"gpValuePlaceholder": "Enter value",
|
|
110
|
+
"gpValueRequired": "Value is required",
|
|
111
|
+
"handlerConfig": "Handler config",
|
|
112
|
+
"hduBeds": "HDU",
|
|
113
|
+
"healthWorkerDetailsFound": "Health worker information found in the registry, do you want to use the information to continue with registration?",
|
|
47
114
|
"HealthworkerNotFound": "የጤና ሰራተኛ መዝገቦች በጤና ሰራተኛ መመዝገቢያ ውስጥ ሊገኙ አልቻሉም፣ አካውንት መፍጠር መቀጠል ይፈልጋሉ",
|
|
115
|
+
"healthWorkerRegistry": "Health worker registry",
|
|
48
116
|
"healthWorkerRegistryEmpty": "አካውንት ይፍጠሩ",
|
|
49
|
-
"
|
|
50
|
-
"
|
|
117
|
+
"healthWorkerSync": "Health worker information to be synced with the registry.",
|
|
118
|
+
"healthWorkVerify": "Health worker registry verification",
|
|
51
119
|
"home": "መነሻ",
|
|
52
120
|
"hubFacility": "Hub facility",
|
|
121
|
+
"hwrError": "Sync failed",
|
|
122
|
+
"icuBeds": "ICU",
|
|
123
|
+
"identificationNumber": "Identification Number",
|
|
124
|
+
"identificationType": "Identification Type",
|
|
125
|
+
"identifierNumber": "Identifier number*",
|
|
53
126
|
"identifierProvider": "መለያ:",
|
|
127
|
+
"identity": "Identity",
|
|
128
|
+
"inactive": "Inactive",
|
|
129
|
+
"itemsPerPage": "Items per page:",
|
|
54
130
|
"kephLevel": "የ Keph ደረጃ",
|
|
131
|
+
"lastSynced": "Last synced",
|
|
55
132
|
"licenseAndShaStatus": "License & SHA status",
|
|
133
|
+
"licenseBody": "License body",
|
|
134
|
+
"licenseBodyPlaceholder": "e.g. KMPDC",
|
|
56
135
|
"Licensed expiring soon": "በቅርቡ የሚያልፍ ፈቃድ ያለው",
|
|
57
136
|
"licenseExpired": "ፈቃድ ጊዜው አልፏል",
|
|
58
137
|
"licenseExpiringSoon": "ፈቃድ በቅርቡ ያልቃል",
|
|
@@ -60,45 +139,93 @@
|
|
|
60
139
|
"licenseExpiryDate": "የፈቃድ ማብቂያ ቀን",
|
|
61
140
|
"licenseNumber": "የፈቃድ ቁጥር",
|
|
62
141
|
"licenseProvider": "ፈቃድ:",
|
|
142
|
+
"licenses": "Licenses",
|
|
63
143
|
"licenseStart": "License start",
|
|
64
144
|
"licenseStatus": "License status",
|
|
145
|
+
"licenseValid": "License Valid",
|
|
146
|
+
"licensing": "Licensing & qualifications",
|
|
147
|
+
"licensingBody": "Licensing Body",
|
|
65
148
|
"loading": "",
|
|
149
|
+
"loadingFacility": "Loading facility…",
|
|
66
150
|
"loadingState": "",
|
|
67
151
|
"location": "ቦታ(ዎች)",
|
|
152
|
+
"locationCreated": "Location {{locationName}} was created successfully.",
|
|
68
153
|
"locationName": "የቦታ ስም",
|
|
154
|
+
"locationPlaceholder": "Add a location",
|
|
69
155
|
"locations": "ቦታዎች",
|
|
156
|
+
"locationSaveError": "Error saving location",
|
|
157
|
+
"locationUpdated": "Location {{locationName}} was updated successfully.",
|
|
158
|
+
"loginInfo": "Login Info",
|
|
159
|
+
"loginInformation": "Login Info",
|
|
160
|
+
"male": "Male",
|
|
70
161
|
"manageUserRoleScope": "የተጠቃሚ ሚና ስፋትን አስተዳድር",
|
|
71
|
-
"
|
|
162
|
+
"manageUsers": "Manage Users",
|
|
163
|
+
"manageUserWorkspace": "Manage User Workspace",
|
|
164
|
+
"middleName": "Middle Name",
|
|
165
|
+
"minMaxItems": "{{min}}-{{max}} items",
|
|
72
166
|
"nameProvider": "ስም:",
|
|
73
167
|
"names": "ስሞች",
|
|
74
168
|
"nationalId": "ብሔራዊ መታወቂያ",
|
|
169
|
+
"nationalID": "National id",
|
|
75
170
|
"nextPage": "ቀጣይ ገጽ",
|
|
76
171
|
"no": "አይ",
|
|
172
|
+
"noBedOccupancyData": "No bed occupancy data",
|
|
77
173
|
"noContractedServices": "No contracted services on record for this facility.",
|
|
78
174
|
"noData": "የሚታይ መረጃ የለም",
|
|
79
175
|
"noDescriptionAvailable": "ምንም መግለጫ አይገኝም",
|
|
176
|
+
"noGlobalProperties": "No global properties to display",
|
|
80
177
|
"noHwrApi": "የጤና እንክብካቤ ሰራተኛ መመዝገቢያ API መረጃዎች አልተዋቀሩም፣ እባክዎ የስርዓት አስተዳዳሪን ያግኙ። አካውንት መፍጠር መቀጠል ይፈልጋሉ",
|
|
178
|
+
"noMatchingGlobalProperties": "No global properties match your search",
|
|
81
179
|
"noMatchingUsers": "ተዛማጅ ተጠቃሚዎች አልተገኙም",
|
|
82
180
|
"noRecordsFound": "ምንም የETL ክንውን ምዝግብ ማስታወሻዎች አልተገኙም",
|
|
83
181
|
"noRespond": "አይ",
|
|
182
|
+
"noResults": "No results found",
|
|
183
|
+
"normalBeds": "Normal",
|
|
184
|
+
"noRolesAssigned": "No roles assigned",
|
|
84
185
|
"noSearchResults": "",
|
|
186
|
+
"notContracted": "Not contracted",
|
|
187
|
+
"noUserRole": "No user role",
|
|
85
188
|
"noUserRoleScope": "ምንም የተጠቃሚ ሚና ስፋት የለም",
|
|
86
189
|
"noUsersAvailable": "ምንም ተጠቃሚዎች አይገኙም",
|
|
87
|
-
"operationalStatus": "Operational status",
|
|
88
190
|
"operationError": "{{operationName}} አልተሳካም",
|
|
89
191
|
"operationErrorSubtitle": "በክንውኑ ጊዜ ስህተት ተፈጥሯል።",
|
|
90
192
|
"operationsConfirmationMessages": "{{operationTypeOrName}} ይፈልጋሉ?",
|
|
91
193
|
"operationSuccess": "{{operationName}} በተሳካ ሁኔታ {{operationType}}",
|
|
92
194
|
"operationSuccessSubtitle": "ክንውኑ በተሳካ ሁኔታ ተጠናቋል።",
|
|
195
|
+
"pageRangeText_one": "",
|
|
196
|
+
"pageRangeText_other": "",
|
|
93
197
|
"passportNumber": "ፓስፖርት ቁጥር",
|
|
94
198
|
"permanent": "ቋሚ?",
|
|
199
|
+
"phone": "Phone",
|
|
95
200
|
"phoneNumber": "ስልክ ቁጥር",
|
|
96
201
|
"physicalLocation": "Physical location",
|
|
97
202
|
"postalAddress": "Postal address",
|
|
203
|
+
"practiceType": "Practice Type",
|
|
204
|
+
"practiceTypePlaceholder": "e.g. Clinical Practice",
|
|
205
|
+
"practitioner": "Practitioner",
|
|
206
|
+
"preferredHandlerClassname": "Preferred handler classname",
|
|
98
207
|
"previousPage": "የቀድሞ ገጽ",
|
|
99
208
|
"procedure": "ሥነ-ሥርዓት",
|
|
209
|
+
"professionalCadre": "Professional Cadre",
|
|
210
|
+
"property": "Property",
|
|
211
|
+
"providerAccount": "Provider Account",
|
|
100
212
|
"providerBanner": "የአቅራቢ ባነር",
|
|
213
|
+
"providerCadre": "Provider cadre",
|
|
214
|
+
"providerCadrePlaceholder": "e.g. MEDICINE",
|
|
215
|
+
"providerDetails": "Provider details",
|
|
216
|
+
"providerFail": "Failed to save provider",
|
|
217
|
+
"providerFailedSubtitle": "An error occurred while creating provider",
|
|
218
|
+
"providerId": "Provider Id",
|
|
219
|
+
"providerIdentifiers": "Create a Provider account for this user",
|
|
220
|
+
"providerLicense": "License Number",
|
|
221
|
+
"providerLicensePlaceholder": "e.g. GP/2026/638333",
|
|
222
|
+
"providerSaved": "Provider saved successfully",
|
|
101
223
|
"providerUniqueIdentifier": "የአቅራቢ ልዩ መለያ",
|
|
224
|
+
"providerUniqueIdentifierPlaceholder": "Enter Provider Unqiue Identifier",
|
|
225
|
+
"puid": "PUID",
|
|
226
|
+
"pullDetailsfromHWR": "Pulling data from Health worker registry...",
|
|
227
|
+
"qualification": "Qualification",
|
|
228
|
+
"qualificationPlaceholder": "e.g. MBChB(UON)2009",
|
|
102
229
|
"recreated": "በድጋሚ ተፈጥሯል",
|
|
103
230
|
"recreateDatatools": "የውሂብ መሳሪያዎችን በድጋሚ ፍጠር",
|
|
104
231
|
"recreateFacilityWideTables": "የተቋም-ሰፊ ሰንጠረዦችን በድጋሚ ፍጠር",
|
|
@@ -107,17 +234,36 @@
|
|
|
107
234
|
"refreshed": "ታድሷል",
|
|
108
235
|
"refreshingUserScopes": "የተጠቃሚ ስፋቶችን በማደስ ላይ...",
|
|
109
236
|
"refreshTables": "ሰንጠረዦችን አድስ",
|
|
237
|
+
"registrationId": "Registration ID",
|
|
110
238
|
"registrationNumber": "የምዝገባ ቁጥር",
|
|
239
|
+
"regulator": "Regulator",
|
|
111
240
|
"regulatoryBody": "Regulatory body",
|
|
241
|
+
"regulatoryOperationalStatus": "Regulatory status",
|
|
112
242
|
"remove": "አስወግድ",
|
|
113
243
|
"ResourceNotFound": "የጤና ሰራተኛ መመዝገቢያ ሊደረስበት አልቻለም፣ እባክዎ የበይነመረብ ግንኙነትዎን ያረጋግጡ እና እንደገና ይሞክሩ። አካውንት መፍጠር መቀጠል ይፈልጋሉ",
|
|
244
|
+
"retry": "Retry sync",
|
|
114
245
|
"role": "ሚና",
|
|
246
|
+
"roles": "Roles Info",
|
|
247
|
+
"rolesInfo": "Roles Info",
|
|
248
|
+
"saveAndClose": "Save & close",
|
|
115
249
|
"search": "ቦታ ፈልግ",
|
|
250
|
+
"searchFailed": "Search failed",
|
|
251
|
+
"searchForLocation": "Search for location",
|
|
116
252
|
"searchForUsers": "ተጠቃሚ ፈልግ",
|
|
253
|
+
"searchGlobalPropertiesByName": "Search global property by name",
|
|
254
|
+
"searchLocation": "Search Location",
|
|
117
255
|
"searchNoResults": "ምንም ተዛማጅ ውጤቶች አልተገኙም",
|
|
118
256
|
"searchNoResultsHelper": "የተለየ ቃል ለመፈለግ ይሞክሩ",
|
|
257
|
+
"searchParentLocation": "Search for location...",
|
|
258
|
+
"selectDatatypeClassname": "Select datatype classname",
|
|
259
|
+
"selectTagPlaceholder": "Select a tag",
|
|
260
|
+
"selectTags": "Select tag(s)",
|
|
261
|
+
"sex": "Sex",
|
|
119
262
|
"shaContractedServices": "SHA contracted services",
|
|
120
263
|
"shaContractStatus": "SHA contract",
|
|
264
|
+
"shaOperationalStatus": "SHA status",
|
|
265
|
+
"specialty": "Specialty",
|
|
266
|
+
"specialtyPlaceholder": "e.g. MEDICAL DOCTOR",
|
|
121
267
|
"startTime": "የመጀመሪያ ሰዓት",
|
|
122
268
|
"stockLocation": "የክምችት ቦታ",
|
|
123
269
|
"stockOperation": "የክምችት ክንውን",
|
|
@@ -125,11 +271,14 @@
|
|
|
125
271
|
"stockRoleAccess": "የክምችት ሚና መዳረሻ",
|
|
126
272
|
"stockUserScopeDeletedSuccessfully": "የክምችት ተጠቃሚ ስፋት በተሳካ ሁኔታ ተሰርዟል",
|
|
127
273
|
"subCounty": "Sub-county",
|
|
274
|
+
"submitting": "Submitting...",
|
|
275
|
+
"success": "Success",
|
|
128
276
|
"sync": "አመሳክር",
|
|
129
|
-
"
|
|
130
|
-
"
|
|
131
|
-
"
|
|
132
|
-
"
|
|
277
|
+
"syncing": "Syncing...",
|
|
278
|
+
"syncMessage": "user details synced successfully",
|
|
279
|
+
"syncNow": "Sync now",
|
|
280
|
+
"syncSuccess": "Sync successful",
|
|
281
|
+
"syncWithRegistry": "Sync with facility registry",
|
|
133
282
|
"systemId": "የስርዓት መታወቂያ",
|
|
134
283
|
"tagLocation": "ቦታን ምልክት አድርግ",
|
|
135
284
|
"tags": "መለያዎች",
|
|
@@ -139,12 +288,28 @@
|
|
|
139
288
|
"unknownError": "የጤና ሰራተኛ መመዝገቢያን በሚፈልጉበት ጊዜ ያልታወቀ ስህተት ተከስቷል፣ እባክዎ የስርዓት አስተዳዳሪን ያግኙ። አካውንት መፍጠር መቀጠል ይፈልጋሉ",
|
|
140
289
|
"unlicensed": "ፈቃድ የሌለው",
|
|
141
290
|
"Unlicensed": "ፈቃድ የሌለው",
|
|
291
|
+
"updateMessage": "Provider updated successfully",
|
|
292
|
+
"userCreationFailedSubtitle": "An error occurred while creating user {{errorMessage}}",
|
|
293
|
+
"userGivenName": "Enter Given Name",
|
|
142
294
|
"userManagement": "የተጠቃሚ አስተዳደር",
|
|
295
|
+
"username": "Username",
|
|
296
|
+
"usernameRequired": "Username is required",
|
|
297
|
+
"usernameTaken": "Username already exists",
|
|
143
298
|
"userRoleScope": "የተጠቃሚ ሚና ስፋት",
|
|
299
|
+
"userRoleScopeCreationFailed": "User Role Scope creation failed",
|
|
300
|
+
"userRoleScopeCreationFailedSubtitle": "An error occurred while creating the user role scope mode. Please try again.",
|
|
301
|
+
"userRoleScopeWorkspace": "User Role Scope Workspace",
|
|
144
302
|
"users": "ተጠቃሚዎች",
|
|
303
|
+
"userSaved": "User saved successfully",
|
|
304
|
+
"userSaveFailed": "Fail to save {{error}}",
|
|
145
305
|
"usersManagement": "የተጠቃሚዎች አስተዳደር",
|
|
306
|
+
"useValues": "Use values",
|
|
307
|
+
"valid": "Valid",
|
|
308
|
+
"validity": "Validity",
|
|
146
309
|
"validLicense": "ትክክለኛ ፈቃድ",
|
|
147
|
-
"
|
|
310
|
+
"value": "Value",
|
|
311
|
+
"viewRoles_one": "View roles ({{count}})",
|
|
312
|
+
"viewRoles_other": "View roles ({{count}})",
|
|
148
313
|
"yes": "አዎ",
|
|
149
314
|
"yesRespond": "አዎ"
|
|
150
315
|
}
|