@ampath/esm-patient-registration-app 9.2.0-next.19 → 9.2.0-next.21
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/1453.js +1 -0
- package/dist/1453.js.map +1 -0
- package/dist/4300.js +1 -1
- package/dist/5365.js +2 -0
- package/dist/5365.js.map +1 -0
- package/dist/6168.js +1 -0
- package/dist/6168.js.map +1 -0
- package/dist/6583.js +1 -1
- package/dist/7821.js +1 -1
- package/dist/8487.js +1 -0
- package/dist/8487.js.map +1 -0
- package/dist/main.js +1 -1
- package/dist/openmrs-esm-patient-registration-app.js +1 -1
- package/dist/openmrs-esm-patient-registration-app.js.buildmanifest.json +101 -101
- package/dist/routes.json +1 -1
- package/package.json +1 -1
- package/src/patient-registration/client-registry/client-registry-search.component.tsx +5 -53
- package/src/patient-registration/client-registry/client-registry.resource.ts +8 -29
- package/src/patient-registration/client-registry/constants/civil-status.ts +29 -0
- package/src/patient-registration/client-registry/constants/person-attribute-types.ts +21 -0
- package/src/patient-registration/client-registry/hie-client-adapter.ts +327 -1
- package/src/patient-registration/client-registry/mock-client.ts +627 -0
- package/src/patient-registration/client-registry/new-client/new-client-registration/new-client-registration.scss +25 -0
- package/src/patient-registration/client-registry/new-client/new-client-registration/new-client-registration.tsx +276 -0
- package/src/patient-registration/client-registry/new-client/new-client-tab.component.tsx +6 -4
- package/src/patient-registration/client-registry/new-client/registration-form-data.ts +251 -0
- package/src/patient-registration/client-registry/types/index.ts +320 -6
- package/src/patient-registration/client-registry-search/client-registry-dependant-details.component.tsx +1 -1
- package/src/patient-registration/client-registry-search/client-registry-details.component.tsx +1 -1
- package/src/patient-registration/client-registry-search/client-registry-patient-details.component.tsx +1 -1
- package/src/patient-registration/client-registry-search/client-registry-search.component.tsx +1 -1
- package/src/patient-registration/client-registry-search/client-registry-verification-tag.component.tsx +1 -1
- package/src/patient-registration/client-registry-search/client-registry.resource.ts +16 -3
- package/src/patient-registration/client-registry-search/map-client-registry-to-form-utils.ts +1 -1
- package/translations/en.json +1 -0
- package/dist/2523.js +0 -1
- package/dist/2523.js.map +0 -1
- package/dist/5239.js +0 -2
- package/dist/5239.js.map +0 -1
- package/dist/9853.js +0 -1
- package/dist/9853.js.map +0 -1
- package/dist/9898.js +0 -1
- package/dist/9898.js.map +0 -1
- package/src/patient-registration/client-registry-search/client-registry.types.ts +0 -243
- /package/dist/{5239.js.LICENSE.txt → 5365.js.LICENSE.txt} +0 -0
|
@@ -148,12 +148,6 @@ export interface ValidateHieCustomOtpErrorResponse {
|
|
|
148
148
|
details: string;
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
export interface RequestCustomOtpDto {
|
|
152
|
-
identificationNumber: string | number;
|
|
153
|
-
identificationType: string;
|
|
154
|
-
locationUuid: string;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
151
|
export interface RequestCustomOtpResponse {
|
|
158
152
|
message: string;
|
|
159
153
|
sessionId: string;
|
|
@@ -208,3 +202,323 @@ export interface PatientShrSummaryFilter {
|
|
|
208
202
|
cr_id: string;
|
|
209
203
|
locationUuid: string;
|
|
210
204
|
}
|
|
205
|
+
|
|
206
|
+
export interface CreatePersonDto {
|
|
207
|
+
gender?: string;
|
|
208
|
+
birthdate?: string;
|
|
209
|
+
dead?: boolean;
|
|
210
|
+
deathDate?: string;
|
|
211
|
+
names?: {
|
|
212
|
+
givenName?: string;
|
|
213
|
+
middleName?: string;
|
|
214
|
+
familyName?: string;
|
|
215
|
+
}[];
|
|
216
|
+
addresses?: {
|
|
217
|
+
country?: string;
|
|
218
|
+
address1?: string;
|
|
219
|
+
address2?: string;
|
|
220
|
+
address4?: string;
|
|
221
|
+
address7?: string;
|
|
222
|
+
address10?: string;
|
|
223
|
+
countyDistrict?: string;
|
|
224
|
+
stateProvince?: string;
|
|
225
|
+
cityVillage?: string;
|
|
226
|
+
longitude?: string;
|
|
227
|
+
latitude?: string;
|
|
228
|
+
}[];
|
|
229
|
+
attributes?: {
|
|
230
|
+
value: string | number;
|
|
231
|
+
attributeType: string;
|
|
232
|
+
}[];
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export type CreatePatientDto = {
|
|
236
|
+
person: CreatePersonDto;
|
|
237
|
+
identifiers?: any;
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
export interface RequestCustomOtpResponse {
|
|
241
|
+
message: string;
|
|
242
|
+
sessionId: string;
|
|
243
|
+
maskedPhone: string;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
export interface ValidateHieCustomOtpDto {
|
|
247
|
+
sessionId: string;
|
|
248
|
+
otp: number | string;
|
|
249
|
+
locationUuid: string;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export interface ValidateCustomOtpResponse {
|
|
253
|
+
message: string;
|
|
254
|
+
isValid?: boolean;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
export type RequestCustomOtpDto = {
|
|
258
|
+
identificationNumber: string | number;
|
|
259
|
+
identificationType: string;
|
|
260
|
+
locationUuid: string;
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
export interface RequestCustomOtpResponse {
|
|
264
|
+
message: string;
|
|
265
|
+
sessionId: string;
|
|
266
|
+
maskedPhone: string;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
export interface ValidateHieCustomOtpDto {
|
|
270
|
+
sessionId: string;
|
|
271
|
+
otp: number | string;
|
|
272
|
+
locationUuid: string;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
export interface ValidateCustomOtpResponse {
|
|
276
|
+
message: string;
|
|
277
|
+
isValid?: boolean;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
export type ClientRegistrySearchRequest = {
|
|
281
|
+
identificationNumber: string | number;
|
|
282
|
+
identificationType: string;
|
|
283
|
+
locationUuid: string;
|
|
284
|
+
};
|
|
285
|
+
|
|
286
|
+
export type ClientRegistryBody = {
|
|
287
|
+
id: string;
|
|
288
|
+
first_name: string;
|
|
289
|
+
middle_name: string;
|
|
290
|
+
last_name: string;
|
|
291
|
+
gender: string;
|
|
292
|
+
date_of_birth: string;
|
|
293
|
+
other_identifications: Array<{
|
|
294
|
+
identification_number: string;
|
|
295
|
+
identification_type: string;
|
|
296
|
+
}>;
|
|
297
|
+
dependants: Array<ClientRegistryDependantBody>;
|
|
298
|
+
citizenship: string;
|
|
299
|
+
kra_pin: string;
|
|
300
|
+
civil_status: string;
|
|
301
|
+
email: string;
|
|
302
|
+
phone: string;
|
|
303
|
+
place_of_birth: string;
|
|
304
|
+
country: string;
|
|
305
|
+
county: string;
|
|
306
|
+
sub_county: string;
|
|
307
|
+
ward: string;
|
|
308
|
+
village_estate: string;
|
|
309
|
+
building_house_no: string;
|
|
310
|
+
latitude: string;
|
|
311
|
+
longitude: string;
|
|
312
|
+
identification_number: string;
|
|
313
|
+
};
|
|
314
|
+
|
|
315
|
+
export type ClientRegistryDependantBody = {
|
|
316
|
+
relationship: string;
|
|
317
|
+
total: number;
|
|
318
|
+
result: Array<ClientRegistryBody>;
|
|
319
|
+
};
|
|
320
|
+
|
|
321
|
+
export interface CustomRelationship {
|
|
322
|
+
uuid: string;
|
|
323
|
+
display: string;
|
|
324
|
+
relative: string;
|
|
325
|
+
relatedPersonUuid: string;
|
|
326
|
+
relationshipType: string;
|
|
327
|
+
relationshipTypeUuId: string;
|
|
328
|
+
relationshipTypeName: string;
|
|
329
|
+
relatedPerson: any;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
export interface AmrsPerson {
|
|
333
|
+
uuid: string;
|
|
334
|
+
identifiers: Identifier[];
|
|
335
|
+
display: string;
|
|
336
|
+
person: {
|
|
337
|
+
uuid: string;
|
|
338
|
+
display: string;
|
|
339
|
+
gender: string;
|
|
340
|
+
age: number;
|
|
341
|
+
birthdate: string;
|
|
342
|
+
birthdateEstimated: boolean;
|
|
343
|
+
dead: boolean;
|
|
344
|
+
deathDate?: any;
|
|
345
|
+
causeOfDeath?: any;
|
|
346
|
+
preferredAddress: {
|
|
347
|
+
address1: string;
|
|
348
|
+
address2: string;
|
|
349
|
+
address3: string;
|
|
350
|
+
address4: string;
|
|
351
|
+
address5: string;
|
|
352
|
+
address6: string;
|
|
353
|
+
address7: string;
|
|
354
|
+
cityVillage: string;
|
|
355
|
+
country: string;
|
|
356
|
+
postalCode: string;
|
|
357
|
+
stateProvince: string;
|
|
358
|
+
countyDistrict: string;
|
|
359
|
+
latitude: string;
|
|
360
|
+
longitude: string;
|
|
361
|
+
};
|
|
362
|
+
preferredName: {
|
|
363
|
+
display: string;
|
|
364
|
+
uuid: string;
|
|
365
|
+
givenName: string;
|
|
366
|
+
middleName: string;
|
|
367
|
+
familyName: string;
|
|
368
|
+
};
|
|
369
|
+
attributes: Array<Attributes>;
|
|
370
|
+
identifiers: Identifier[];
|
|
371
|
+
voided: boolean;
|
|
372
|
+
birthtime?: any;
|
|
373
|
+
deathdateEstimated: boolean;
|
|
374
|
+
resourceVersion: string;
|
|
375
|
+
};
|
|
376
|
+
attributes: { value: string; attributeType: { uuid: string; display: string } }[];
|
|
377
|
+
voided: boolean;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
export interface Address {
|
|
381
|
+
preferred: boolean;
|
|
382
|
+
address1: string;
|
|
383
|
+
cityVillage: string;
|
|
384
|
+
country: string;
|
|
385
|
+
postalCode: string;
|
|
386
|
+
stateProvince: string;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
export interface Identifier {
|
|
390
|
+
uuid: string;
|
|
391
|
+
display: string;
|
|
392
|
+
identifier: string;
|
|
393
|
+
identifierType: {
|
|
394
|
+
uuid: string;
|
|
395
|
+
display: string;
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
export interface Attributes {
|
|
400
|
+
uuid: string;
|
|
401
|
+
display: string;
|
|
402
|
+
value: {
|
|
403
|
+
uuid: string;
|
|
404
|
+
display: string;
|
|
405
|
+
};
|
|
406
|
+
attributeType: {
|
|
407
|
+
uuid: string;
|
|
408
|
+
display: string;
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
export type ClientRegistrySearchResponse = Array<ClientRegistryBody>;
|
|
413
|
+
|
|
414
|
+
const HOUSE_HOLD_NUMBER_UUID = 'bb74b20e-dcee-4f59-bdf1-2dffc3abf106';
|
|
415
|
+
const SHA_UUID = 'cf5362b2-8049-4442-b3c6-36f870e320cb';
|
|
416
|
+
const CLIENT_REGISTRY_NO_UUID = 'e88dc246-3614-4ee3-8141-1f2a83054e72';
|
|
417
|
+
const NATIONAL_ID_UUID = '58a47054-1359-11df-a1f1-0026b9348838';
|
|
418
|
+
const PROVIDER_NATIONAL_ID_UUID = '4550df92-c684-4597-8ab8-d6b10eabdcfb';
|
|
419
|
+
const REFUGEE_ID_UUID = '465e81af-8d69-47e9-9127-53a94adc75fb';
|
|
420
|
+
const MANDATE_NUMBER_UUID = 'aae2d097-20ba-43ca-9b71-fd8296068f39';
|
|
421
|
+
const ALIEN_ID_UUID = '12f5b147-3403-4a73-913d-7ded9ffec094';
|
|
422
|
+
const TEMPORARY_DEPENDANT_ID_UUID = 'a3d34214-93e8-4faf-bf4d-0272eee079eb';
|
|
423
|
+
const AMRS_UNIVERSAL_ID_UUID = '58a4732e-1359-11df-a1f1-0026b9348838';
|
|
424
|
+
const UPI_NUMBER_UUID = 'cba702b9-4664-4b43-83f1-9ab473cbd64d';
|
|
425
|
+
|
|
426
|
+
export const IdentifierTypesUuids = {
|
|
427
|
+
HOUSE_HOLD_NUMBER_UUID,
|
|
428
|
+
SHA_UUID,
|
|
429
|
+
CLIENT_REGISTRY_NO_UUID,
|
|
430
|
+
NATIONAL_ID_UUID,
|
|
431
|
+
PROVIDER_NATIONAL_ID_UUID,
|
|
432
|
+
REFUGEE_ID_UUID,
|
|
433
|
+
MANDATE_NUMBER_UUID,
|
|
434
|
+
ALIEN_ID_UUID,
|
|
435
|
+
TEMPORARY_DEPENDANT_ID_UUID,
|
|
436
|
+
AMRS_UNIVERSAL_ID_UUID,
|
|
437
|
+
UPI_NUMBER_UUID,
|
|
438
|
+
};
|
|
439
|
+
|
|
440
|
+
const CONTACT_PHONE_NUMBER_UUID = '72a759a8-1359-11df-a1f1-0026b9348838';
|
|
441
|
+
const CITIZENSHIP_UUID = '72a759a8-1359-11df-a1f1-0026b9348838';
|
|
442
|
+
const CONTACT_EMAIL_ADDRESS_UUID = '2f65dbcb-3e58-45a3-8be7-fd1dc9aa0faa';
|
|
443
|
+
const ALTERNATIVE_CONTACT_PHONE_NUMBER_UUID = 'c725f524-c14a-4468-ac19-4a0e6661c930';
|
|
444
|
+
const KRA_PIN_UUID = 'ae683747-b3fc-4e5c-bad3-c3be743b248f';
|
|
445
|
+
const CIVIL_STATUS_UUID = '8d871f2a-c2cc-11de-8d13-0010c6dffd0f';
|
|
446
|
+
const CLIENT_REGISTRY_ID_UUID = 'e068e02b-faac-4baf-bd58-fe6e0c29a81f';
|
|
447
|
+
const PLACE_OF_BIRTH_UUID = '8d8718c2-c2cc-11de-8d13-0010c6dffd0f';
|
|
448
|
+
const EMAIL_UUID = '2f65dbcb-3e58-45a3-8be7-fd1dc9aa0faa';
|
|
449
|
+
const HIGHEST_LEVEL_OF_EDUCATION_UUID = '352b0d51-63c6-47d0-a295-156bebee4fd5';
|
|
450
|
+
const RELIGION_UUID = '4ae16101-cfba-4c08-9c9c-d848e6f609aa';
|
|
451
|
+
const OCCUPATION_UUID = '9e86409f-9c20-42d0-aeb3-f29a4ca0a7a0';
|
|
452
|
+
const NEXT_OF_KIN_CONTACT_PHONE_NUMBER_UUID = 'a657a4f1-9c0f-444b-a1fd-445bb91dd12d';
|
|
453
|
+
const NEXT_OF_KIN_NAME_UUID = '72a75bec-1359-11df-a1f1-0026b9348838';
|
|
454
|
+
const NEXT_OF_KIN_RELATIONSHIP_UUID = '5730994e-c267-426b-87b6-c152b606973d';
|
|
455
|
+
|
|
456
|
+
export const PersonAttributeTypeUuids = {
|
|
457
|
+
CONTACT_PHONE_NUMBER_UUID,
|
|
458
|
+
CITIZENSHIP_UUID,
|
|
459
|
+
CONTACT_EMAIL_ADDRESS_UUID,
|
|
460
|
+
ALTERNATIVE_CONTACT_PHONE_NUMBER_UUID,
|
|
461
|
+
KRA_PIN_UUID,
|
|
462
|
+
CIVIL_STATUS_UUID,
|
|
463
|
+
CLIENT_REGISTRY_ID_UUID,
|
|
464
|
+
PLACE_OF_BIRTH_UUID,
|
|
465
|
+
EMAIL_UUID,
|
|
466
|
+
HIGHEST_LEVEL_OF_EDUCATION_UUID,
|
|
467
|
+
RELIGION_UUID,
|
|
468
|
+
OCCUPATION_UUID,
|
|
469
|
+
NEXT_OF_KIN_CONTACT_PHONE_NUMBER_UUID,
|
|
470
|
+
NEXT_OF_KIN_NAME_UUID,
|
|
471
|
+
NEXT_OF_KIN_RELATIONSHIP_UUID,
|
|
472
|
+
};
|
|
473
|
+
|
|
474
|
+
const PARENT_CHILD_UUID = '7878d348-1359-11df-a1f1-0026b9348838';
|
|
475
|
+
const AUNT_UNCLE_NIECE_NEPHEW_UUID = '7878dd3e-1359-11df-a1f1-0026b9348838';
|
|
476
|
+
const SPOUSE_UUID = '7878df3c-1359-11df-a1f1-0026b9348838';
|
|
477
|
+
const GRANDCHILD_GRANDPARENT_UUID = '7878e144-1359-11df-a1f1-0026b9348838';
|
|
478
|
+
const GUARDIAN_CHILD_UUD = '01bc0cf5-d428-427f-be13-305eb9cad7ba';
|
|
479
|
+
const FOSTER_CHILD_FOSTER_PARENT_UUID = '7878e52c-1359-11df-a1f1-0026b9348838';
|
|
480
|
+
const OTHER_NON_CODED_UUID = 'af78531e-98ab-41da-be3a-6a871ecbf8c0';
|
|
481
|
+
|
|
482
|
+
export const RelationshipTypeUuids = {
|
|
483
|
+
PARENT_CHILD_UUID,
|
|
484
|
+
AUNT_UNCLE_NIECE_NEPHEW_UUID,
|
|
485
|
+
SPOUSE_UUID,
|
|
486
|
+
GRANDCHILD_GRANDPARENT_UUID,
|
|
487
|
+
GUARDIAN_CHILD_UUD,
|
|
488
|
+
FOSTER_CHILD_FOSTER_PARENT_UUID,
|
|
489
|
+
OTHER_NON_CODED_UUID,
|
|
490
|
+
};
|
|
491
|
+
|
|
492
|
+
export type IdentifierType = 'National ID' | 'Alien ID' | 'Passport' | 'Mandate Number' | 'Refugee ID';
|
|
493
|
+
|
|
494
|
+
export const IDENTIFIER_TYPES: IdentifierType[] = [
|
|
495
|
+
'National ID',
|
|
496
|
+
'Alien ID',
|
|
497
|
+
'Passport',
|
|
498
|
+
'Mandate Number',
|
|
499
|
+
'Refugee ID',
|
|
500
|
+
];
|
|
501
|
+
|
|
502
|
+
export interface CreateRelationshipDto {
|
|
503
|
+
personA: string;
|
|
504
|
+
relationshipType: string;
|
|
505
|
+
personB: string;
|
|
506
|
+
startDate?: string;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
export interface GlobalError {
|
|
510
|
+
code: string;
|
|
511
|
+
message: string;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
export interface AmrsErrorResponse {
|
|
515
|
+
message: string;
|
|
516
|
+
error: {
|
|
517
|
+
error: {
|
|
518
|
+
message: string;
|
|
519
|
+
code: string;
|
|
520
|
+
globalErrors?: GlobalError[];
|
|
521
|
+
fieldErrors?: any;
|
|
522
|
+
};
|
|
523
|
+
};
|
|
524
|
+
}
|
package/src/patient-registration/client-registry-search/client-registry-details.component.tsx
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
type ClientRegistryBody,
|
|
7
7
|
type AmrsPerson,
|
|
8
8
|
type CustomRelationship,
|
|
9
|
-
} from '
|
|
9
|
+
} from '../client-registry/types';
|
|
10
10
|
import ClientRegistryPatientDetails from './client-registry-patient-details.component';
|
|
11
11
|
import ClientRegistryDependantDetails from './client-registry-dependant-details.component';
|
|
12
12
|
import { fetchAmrsPatientData, fetchClientRegistryData, getRelationships } from './client-registry.resource';
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
Row,
|
|
12
12
|
InlineLoading,
|
|
13
13
|
} from '@carbon/react';
|
|
14
|
-
import { HieIdentificationType, type AmrsPerson, type ClientRegistryBody } from '
|
|
14
|
+
import { HieIdentificationType, type AmrsPerson, type ClientRegistryBody } from '../client-registry/types';
|
|
15
15
|
import {
|
|
16
16
|
addressFields,
|
|
17
17
|
getIdentifierUuid,
|
package/src/patient-registration/client-registry-search/client-registry-search.component.tsx
CHANGED
|
@@ -5,7 +5,7 @@ import { useFormikContext } from 'formik';
|
|
|
5
5
|
import styles from '../patient-registration.scss';
|
|
6
6
|
import { requestCustomOtp, validateCustomOtp, fetchClientRegistryData } from './client-registry.resource';
|
|
7
7
|
import { applyClientRegistryMapping } from './map-client-registry-to-form-utils';
|
|
8
|
-
import { type RequestCustomOtpDto } from '
|
|
8
|
+
import { type RequestCustomOtpDto } from '../client-registry/types';
|
|
9
9
|
|
|
10
10
|
export interface ClientRegistryLookupSectionProps {
|
|
11
11
|
onClientVerified?: (payload: RequestCustomOtpDto) => void;
|
|
@@ -3,7 +3,7 @@ import { Button } from '@carbon/react';
|
|
|
3
3
|
import { showModal, age, usePatient } from '@openmrs/esm-framework';
|
|
4
4
|
import ClientRegistryLookupSection from './client-registry-search.component';
|
|
5
5
|
import { Formik } from 'formik';
|
|
6
|
-
import { type RequestCustomOtpDto } from '
|
|
6
|
+
import { type RequestCustomOtpDto } from '../client-registry/types';
|
|
7
7
|
import ClientRegistryDetails from './client-registry-details.component';
|
|
8
8
|
|
|
9
9
|
const ClientRegistryVerificationTag = () => {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
|
|
2
2
|
import {
|
|
3
|
+
type CreatePatientDto,
|
|
3
4
|
type AmrsPerson,
|
|
4
5
|
type ClientRegistrySearchRequest,
|
|
5
6
|
type ClientRegistrySearchResponse,
|
|
@@ -7,7 +8,9 @@ import {
|
|
|
7
8
|
type RequestCustomOtpResponse,
|
|
8
9
|
type ValidateCustomOtpResponse,
|
|
9
10
|
type ValidateHieCustomOtpDto,
|
|
10
|
-
|
|
11
|
+
type CreateRelationshipDto,
|
|
12
|
+
type CreatePersonDto,
|
|
13
|
+
} from '../client-registry/types';
|
|
11
14
|
import { mapAmrsPatientRelationship } from './map-client-registry-to-form-utils';
|
|
12
15
|
|
|
13
16
|
const HIE_BASE_URL = 'https://staging.ampath.or.ke/hie';
|
|
@@ -101,7 +104,7 @@ export async function updatePerson(patientUuid: string, payload: unknown) {
|
|
|
101
104
|
});
|
|
102
105
|
}
|
|
103
106
|
|
|
104
|
-
export async function createPerson(payload:
|
|
107
|
+
export async function createPerson(payload: CreatePersonDto) {
|
|
105
108
|
return await openmrsFetch<AmrsPerson>(`${restBaseUrl}/person`, {
|
|
106
109
|
method: 'POST',
|
|
107
110
|
headers: {
|
|
@@ -111,7 +114,7 @@ export async function createPerson(payload: unknown) {
|
|
|
111
114
|
});
|
|
112
115
|
}
|
|
113
116
|
|
|
114
|
-
export async function createRelationship(payload:
|
|
117
|
+
export async function createRelationship(payload: CreateRelationshipDto) {
|
|
115
118
|
return await openmrsFetch(`${restBaseUrl}/relationship`, {
|
|
116
119
|
method: 'POST',
|
|
117
120
|
headers: {
|
|
@@ -133,3 +136,13 @@ export async function getRelationships(patientUuid: string) {
|
|
|
133
136
|
}
|
|
134
137
|
return [];
|
|
135
138
|
}
|
|
139
|
+
|
|
140
|
+
export async function createPatient(payload: CreatePatientDto) {
|
|
141
|
+
return await openmrsFetch(`${restBaseUrl}/patient`, {
|
|
142
|
+
method: 'POST',
|
|
143
|
+
headers: {
|
|
144
|
+
'Content-Type': 'application/json',
|
|
145
|
+
},
|
|
146
|
+
body: payload,
|
|
147
|
+
});
|
|
148
|
+
}
|
package/translations/en.json
CHANGED
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"patientNameKnown": "Patient's Name is Known?",
|
|
87
87
|
"patientRegistrationBreadcrumb": "Patient Registration",
|
|
88
88
|
"refreshOrContactAdmin": "Try refreshing the page or contact your system administrator",
|
|
89
|
+
"registerOnAfyaYangu": "Register on Afya Yangu",
|
|
89
90
|
"registerPatient": "Register patient",
|
|
90
91
|
"registerPatientSuccessSnackbarSubtitle": "The patient can now be found by searching for them using their name or ID number",
|
|
91
92
|
"registerPatientSuccessSnackbarTitle": "New Patient Created",
|
package/dist/2523.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_ampath_esm_patient_registration_app=globalThis.webpackChunk_ampath_esm_patient_registration_app||[]).push([[2523],{42523:(e,t,n)=>{n.d(t,{A:()=>Ke});var r=n(1343),i=n.n(r),a=n(2303),o=n(54440),l=n(36687),u=n(72591),c=n.n(u),s=n(1740),d=n.n(s),f=n(88128),p=n.n(f),m=n(30855),b=n.n(m),h=n(93051),v=n.n(h),y=n(73656),g=n.n(y),A=n(49115),w={};w.styleTagTransform=g(),w.setAttributes=b(),w.insert=p().bind(null,"head"),w.domAPI=d(),w.insertStyleElement=v(),c()(A.A,w);const E=A.A&&A.A.locals?A.A.locals:void 0;function _(e,t,n,r,i,a,o){try{var l=e[a](o),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,i)}function S(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){_(a,r,i,o,l,"next",e)}function l(e){_(a,r,i,o,l,"throw",e)}o(void 0)})}}function k(e,t){var n,r,i,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=l(0),o.throw=l(1),o.return=l(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){a.label=l[1];break}if(6===l[0]&&a.label<i[1]){a.label=i[1],i=l;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(l);break}i[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var O="https://staging.ampath.or.ke/hie";function C(e,t){return S(function(){var n,r;return k(this,function(i){switch(i.label){case 0:return[4,fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})];case 1:return(n=i.sent()).ok?[3,3]:[4,n.text()];case 2:throw r=i.sent(),new Error("Request failed with ".concat(n.status,": ").concat(r));case 3:return[2,n.json()]}})})()}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var N={givenName:"first_name",familyName:"last_name",middleName:"middle_name",birthdate:"date_of_birth",phone:"phone",email:"email",identificationNumber:"identification_number",identificationType:"identification_type",county:"county",subCounty:"sub_county",ward:"ward",village:"village_estate",postalAddress:"postal_address",address:"address",gender:{path:"gender",transform:function(e){return e?{male:"male",m:"male",female:"female",f:"female",other:"other",unknown:"unknown"}[e.toLowerCase()]||e.toLowerCase():""}},"academicOccupation.highestLevelEducation":{path:"employment_type",transform:function(e){return e||""}},"academicOccupation.occupation":{path:"employment_type",transform:function(e){return e||""}},civilStatus:{path:"civil_status",transform:function(e){return e||""}}};function P(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const j=function(e){var t=e.hieDependants,n=function(e){var t=[];return e.forEach(function(e){var n,r;t.push((n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){P(e,t,n[t])})}return e}({},e.result[0]),r=null!=(r={relationship:e.relationship})?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(r)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}),n))}),t},o=(0,r.useMemo)(function(){return n(t)},[t]);return t?i().createElement(i().Fragment,null,i().createElement(a.XIK,null,i().createElement(a.ndF,null,i().createElement(a.Hjg,null,i().createElement(a.A0N,null,"No"),i().createElement(a.A0N,null,"CR"),i().createElement(a.A0N,null,"Relationship"),i().createElement(a.A0N,null,"Full Name"),i().createElement(a.A0N,null,"Gender"),i().createElement(a.A0N,null,"Date of Birth"))),i().createElement(a.BFY,null,o.map(function(e,t){return i().createElement(a.Hjg,{id:e.id},i().createElement(a.nA6,null,t+1),i().createElement(a.nA6,null,e.id),i().createElement(a.nA6,null,e.relationship),i().createElement(a.nA6,null,"".concat(e.first_name," ").concat(e.middle_name," ").concat(e.last_name)),i().createElement(a.nA6,null,e.gender),i().createElement(a.nA6,null,e.date_of_birth))})))):i().createElement(i().Fragment,null,"No dependants")};function I(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var x=["id","other_identifications","first_name","middle_name","last_name","gender","date_of_birth","is_alive","deceased_datetime","phone","email","civil_status","place_of_birth","citizenship","country","county","sub_county","ward","village_estate","longitude","latitude","identification_type"];const D=function(e){var t=e.client,n=(0,r.useMemo)(function(){return e=t,n={},Object.keys(e).filter(function(e){return x.includes(e)}).forEach(function(t){if("other_identifications"===t){var r=(a=e[t],o={},a.forEach(function(e){o[e.identification_type]=e.identification_number}),o);n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){I(e,t,n[t])})}return e}({},n,r)}else if("identification_type"===t)n[e.identification_type]=e.identification_number;else{var i=e[t];n[t]=i}var a,o}),n;var e,n},[t]);return t&&n?i().createElement(i().Fragment,null,i().createElement(a.XIK,null,i().createElement(a.ndF,null,i().createElement(a.Hjg,null,i().createElement(a.A0N,null,"Field"),i().createElement(a.A0N,null,"Value"))),i().createElement(a.BFY,null,Object.keys(n).map(function(e){return i().createElement(a.Hjg,null,i().createElement(a.nA6,null,e),i().createElement(a.nA6,null,n[e]))})))):i().createElement(i().Fragment,null,i().createElement("h4",null,"No patient Data to Display"))},R=function(e){var t=e.client,n=e.useHieData;return i().createElement(i().Fragment,null,i().createElement(a.tUM,null,i().createElement(a.wbY,{contained:!0},i().createElement(a.ozo,null,"Patient"),i().createElement(a.ozo,null,"Dependants")),i().createElement(a.T2N,null,i().createElement(a.KpK,null,t?i().createElement(D,{client:t}):i().createElement(i().Fragment,null)),i().createElement(a.KpK,null,t.dependants?i().createElement(j,{hieDependants:t.dependants}):i().createElement(i().Fragment,null)))),i().createElement(a.$nd,{onClick:n},"Use Data"))};var F=function(e){return e.NationalID="National ID",e.SHANumber="SHA Number",e.HouseholdNumber="Household Number",e.RefugeeID="Refugee ID",e.AlienID="Alien ID",e.MandateNumber="Mandate Number",e.Cr="id",e.TemporaryDependantID="Temporary Dependant ID",e}({}),U=function(e){return e.KRAPin="kra_pin",e.CivilStatus="civil_status",e.Email="email",e.Phone="phone",e.PlaceOfBirth="place_of_birth",e.Citizenship="citizenship",e.Cr="id",e}({}),B=n(46372),K=n.n(B);function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function H(e){return function(e){if(Array.isArray(e))return M(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return M(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?M(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var V=["givenName","middleName","familyName"],Y=["country","countyDistrict","address2","address7","cityVillage","longitude","latitude"],z=H(V).concat(["gender","birthdate"],H(Y)),$=function(){return Object.keys(F)},L=function(e){var t="";switch(e){case F.AlienID:t="12f5b147-3403-4a73-913d-7ded9ffec094";break;case F.HouseholdNumber:t="bb74b20e-dcee-4f59-bdf1-2dffc3abf106";break;case F.MandateNumber:t="aae2d097-20ba-43ca-9b71-fd8296068f39";break;case F.Cr:t="e88dc246-3614-4ee3-8141-1f2a83054e72";break;case F.NationalID:t="58a47054-1359-11df-a1f1-0026b9348838";break;case F.RefugeeID:t="465e81af-8d69-47e9-9127-53a94adc75fb";break;case F.SHANumber:t="cf5362b2-8049-4442-b3c6-36f870e320cb";break;case F.TemporaryDependantID:t="a3d34214-93e8-4faf-bf4d-0272eee079eb";break;default:t=""}return t},G=function(e){var t="";switch(e){case U.Citizenship:t="72a759a8-1359-11df-a1f1-0026b9348838";break;case U.CivilStatus:t="8d871f2a-c2cc-11de-8d13-0010c6dffd0f";break;case U.Email:t="2f65dbcb-3e58-45a3-8be7-fd1dc9aa0faa";break;case U.KRAPin:t="ae683747-b3fc-4e5c-bad3-c3be743b248f";break;case U.Phone:t="72a759a8-1359-11df-a1f1-0026b9348838";break;case U.PlaceOfBirth:t="8d8718c2-c2cc-11de-8d13-0010c6dffd0f";break;case U.Cr:t="e068e02b-faac-4baf-bd58-fe6e0c29a81f";break;default:t=""}return t},q=function(e){var t="";switch(e){case"Spouse":t="7878df3c-1359-11df-a1f1-0026b9348838";break;case"Child":t="7878d348-1359-11df-a1f1-0026b9348838";break;default:t="af78531e-98ab-41da-be3a-6a871ecbf8c0"}return t},J=H(z).concat(H($())),Z=function(e){return null==e?"":e},X=function(e,t,n){var r=[];switch(e){case"givenName":var i,a;r=[Z(null==n||null===(a=n.person)||void 0===a||null===(i=a.preferredName)||void 0===i?void 0:i.givenName),Z(null==t?void 0:t.first_name)];break;case"middleName":var o,l;r=[Z(null==n||null===(l=n.person)||void 0===l||null===(o=l.preferredName)||void 0===o?void 0:o.middleName),Z(null==t?void 0:t.middle_name)];break;case"familyName":var u,c;r=[Z(null==n||null===(c=n.person)||void 0===c||null===(u=c.preferredName)||void 0===u?void 0:u.familyName),Z(null==t?void 0:t.last_name)];break;case"gender":var s;r=[Z(null==n||null===(s=n.person)||void 0===s?void 0:s.gender),Z(null==t?void 0:t.gender)];break;case"birthdate":var d,f,p;r=[K()(Z(null==n||null===(d=n.person)||void 0===d?void 0:d.birthdate)+"","YYYY-MM-DD",!0).isValid()?K()(Z(null==n||null===(f=n.person)||void 0===f?void 0:f.birthdate)+"").format("YYYY-MM-DD"):Z(null==n||null===(p=n.person)||void 0===p?void 0:p.birthdate),Z(null==t?void 0:t.date_of_birth)];break;case"country":var m,b;r=[Z(null==n||null===(b=n.person)||void 0===b||null===(m=b.preferredAddress)||void 0===m?void 0:m.country),Z(null==t?void 0:t.country)];break;case"countyDistrict":var h,v;r=[Z(null==n||null===(v=n.person)||void 0===v||null===(h=v.preferredAddress)||void 0===h?void 0:h.countyDistrict),Z(null==t?void 0:t.county)];break;case"address2":var y,g;r=[Z(null==n||null===(g=n.person)||void 0===g||null===(y=g.preferredAddress)||void 0===y?void 0:y.address2),Z(null==t?void 0:t.sub_county)];break;case"address7":var A,w;r=[Z(null==n||null===(w=n.person)||void 0===w||null===(A=w.preferredAddress)||void 0===A?void 0:A.address7),Z(null==t?void 0:t.ward)];break;case"cityVillage":var E,_;r=[Z(null==n||null===(_=n.person)||void 0===_||null===(E=_.preferredAddress)||void 0===E?void 0:E.cityVillage),Z(null==t?void 0:t.village_estate)];break;case"longitude":var S,k;r=[Z(null==n||null===(k=n.person)||void 0===k||null===(S=k.preferredAddress)||void 0===S?void 0:S.longitude),Z(null==t?void 0:t.longitude)];break;case"latitude":var O,C;r=[Z(null==n||null===(C=n.person)||void 0===C||null===(O=C.preferredAddress)||void 0===O?void 0:O.latitude),Z(null==t?void 0:t.latitude)];break;case"NationalID":var T,N,P,j;r=[Z(null==n||null===(P=n.person)||void 0===P||null===(N=P.identifiers)||void 0===N||null===(T=N.find(function(e){return e.identifierType.uuid===L(F.NationalID)}))||void 0===T?void 0:T.identifier),Z(null==t||null===(j=t.other_identifications.find(function(e){return e.identification_type===F.NationalID}))||void 0===j?void 0:j.identification_number)];break;case"SHANumber":var I,x,D,R;r=[Z(null==n||null===(D=n.person)||void 0===D||null===(x=D.identifiers)||void 0===x||null===(I=x.find(function(e){return e.identifierType.uuid===L(F.SHANumber)}))||void 0===I?void 0:I.identifier),Z(null==t||null===(R=t.other_identifications.find(function(e){return e.identification_type===F.SHANumber}))||void 0===R?void 0:R.identification_number)];break;case"HouseholdNumber":var B,M,H,V,Y;r=[Z(null==n||null===(H=n.person)||void 0===H||null===(M=H.identifiers)||void 0===M||null===(B=M.find(function(e){return e.identifierType.uuid===L(F.HouseholdNumber)}))||void 0===B?void 0:B.identifier),Z(null==t||null===(Y=t.other_identifications)||void 0===Y||null===(V=Y.find(function(e){return e.identification_type===F.HouseholdNumber}))||void 0===V?void 0:V.identification_number)];break;case"RefugeeID":var z,$,q,J;r=[Z(null==n||null===(q=n.person)||void 0===q||null===($=q.identifiers)||void 0===$||null===(z=$.find(function(e){return e.identifierType.uuid===L(F.RefugeeID)}))||void 0===z?void 0:z.identifier),Z(null==t||null===(J=t.other_identifications.find(function(e){return e.identification_type===F.RefugeeID}))||void 0===J?void 0:J.identification_number)];break;case"AlienID":var X,Q,W,ee;r=[Z(null==n||null===(W=n.person)||void 0===W||null===(Q=W.identifiers)||void 0===Q||null===(X=Q.find(function(e){return e.identifierType.uuid===L(F.AlienID)}))||void 0===X?void 0:X.identifier),Z(null==t||null===(ee=t.other_identifications.find(function(e){return e.identification_type===F.AlienID}))||void 0===ee?void 0:ee.identification_number)];break;case"MandateNumber":var te,ne,re,ie;r=[Z(null==n||null===(re=n.person)||void 0===re||null===(ne=re.identifiers)||void 0===ne||null===(te=ne.find(function(e){return e.identifierType.uuid===L(F.MandateNumber)}))||void 0===te?void 0:te.identifier),Z(null==t||null===(ie=t.other_identifications.find(function(e){return e.identification_type===F.MandateNumber}))||void 0===ie?void 0:ie.identification_number)];break;case"Cr":var ae,oe,le,ue;r=[Z(null==n||null===(le=n.person)||void 0===le||null===(oe=le.identifiers)||void 0===oe||null===(ae=oe.find(function(e){return e.identifierType.uuid===L(F.Cr)}))||void 0===ae?void 0:ae.identifier),Z(null==t||null===(ue=t.other_identifications.find(function(e){return e.identification_type===F.Cr}))||void 0===ue?void 0:ue.identification_number)];break;case"TemporaryDependantID":var ce,se,de,fe;r=[Z(null==n||null===(de=n.person)||void 0===de||null===(se=de.identifiers)||void 0===se||null===(ce=se.find(function(e){return e.identifierType.uuid===L(F.TemporaryDependantID)}))||void 0===ce?void 0:ce.identifier),Z(null==t||null===(fe=t.other_identifications.find(function(e){return e.identification_type===F.TemporaryDependantID}))||void 0===fe?void 0:fe.identification_number)];break;case"PlaceOfBirth":var pe,me;r=[Z(null==n||null===(me=n.person)||void 0===me||null===(pe=me.attributes.find(function(e){return e.attributeType.uuid===G(U.PlaceOfBirth)}))||void 0===pe?void 0:pe.value),Z(null==t?void 0:t.place_of_birth)];break;case"CivilStatus":var be,he;r=[Z(null==n||null===(he=n.person)||void 0===he||null===(be=he.attributes.find(function(e){return e.attributeType.uuid===G(U.CivilStatus)}))||void 0===be?void 0:be.value),Z(null==t?void 0:t.civil_status)];break;case"Email":var ve,ye;r=[Z(null==n||null===(ye=n.person)||void 0===ye||null===(ve=ye.attributes.find(function(e){return e.attributeType.uuid===G(U.Email)}))||void 0===ve?void 0:ve.value),Z(null==t?void 0:t.email)];break;case"Phone":var ge,Ae;r=[Z(null==n||null===(Ae=n.person)||void 0===Ae||null===(ge=Ae.attributes.find(function(e){return e.attributeType.uuid===G(U.Phone)}))||void 0===ge?void 0:ge.value),Z(null==t?void 0:t.phone)];break;case"KRAPin":var we,Ee;r=[Z(null==n||null===(Ee=n.person)||void 0===Ee||null===(we=Ee.attributes.find(function(e){return e.attributeType.uuid===G(U.KRAPin)}))||void 0===we?void 0:we.value),Z(null==t?void 0:t.kra_pin)];break;case"Citizenship":var _e,Se;r=[Z(null==n||null===(Se=n.person)||void 0===Se||null===(_e=Se.attributes.find(function(e){return e.attributeType.uuid===G(U.Citizenship)}))||void 0===_e?void 0:_e.value),Z(null==t?void 0:t.citizenship)];break;default:r=["",""]}return r};function Q(e,t){var n=[];if(t){var r=!0,i=!1,a=void 0;try{for(var o,l=t[Symbol.iterator]();!(r=(o=l.next()).done);r=!0){var u,c=o.value;if(e===(null==c||null===(u=c.personA)||void 0===u?void 0:u.uuid)){var s,d,f,p,m,b,h={uuid:null==c?void 0:c.uuid,display:null==c||null===(s=c.personB)||void 0===s?void 0:s.display,relative:null==c||null===(d=c.personB)||void 0===d?void 0:d.display,relatedPersonUuid:null==c||null===(f=c.personB)||void 0===f?void 0:f.uuid,relationshipType:null==c||null===(p=c.relationshipType)||void 0===p?void 0:p.bIsToA,relationshipTypeUuId:null==c||null===(m=c.relationshipType)||void 0===m?void 0:m.uuid,relationshipTypeName:null==c||null===(b=c.relationshipType)||void 0===b?void 0:b.display,relatedPerson:null==c?void 0:c.personB};n.push(h)}else{var v,y,g,A,w,E,_={uuid:null==c?void 0:c.uuid,display:null==c||null===(v=c.personA)||void 0===v?void 0:v.display,relative:null==c||null===(y=c.personA)||void 0===y?void 0:y.display,relatedPersonUuid:null==c||null===(g=c.personA)||void 0===g?void 0:g.uuid,relationshipType:null==c||null===(A=c.relationshipType)||void 0===A?void 0:A.aIsToB,relatedPerson:null==c?void 0:c.personA,relationshipTypeUuId:null==c||null===(w=c.relationshipType)||void 0===w?void 0:w.uuid,relationshipTypeName:null==c||null===(E=c.relationshipType)||void 0===E?void 0:E.display};n.push(_)}}}catch(e){i=!0,a=e}finally{try{r||null==l.return||l.return()}finally{if(i)throw a}}}return n}function W(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}const ee=function(e){var t,n,o=e.field,l=e.label,u=e.amrsValue,c=e.hieValue,s=e.onChange,d=e.allChecked,f=(t=(0,r.useState)(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a=[],o=!0,l=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){l=!0,i=e}finally{try{o||null==n.return||n.return()}finally{if(l)throw i}}return a}}(t,n)||function(e,t){if(e){if("string"==typeof e)return W(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?W(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),p=f[0],m=f[1],b=Math.random().toString(10).substring(2,6).toUpperCase();return(0,r.useEffect)(function(){null==s||s(d,o,c,!0),m(d)},[d]),i().createElement(a.Hjg,null,i().createElement(a.nA6,null,i().createElement("p",{style:{color:u.trim().toUpperCase()==c.trim().toUpperCase()?"":"red"}},l)),i().createElement(a.nA6,null,u),i().createElement(a.nA6,null,c),i().createElement(a.nA6,null,i().createElement(a.Sc0,{id:"cbox-".concat(b),onChange:function(e){s(e.target.checked,o,c,!1),m(e.target.checked)},checked:p})))};function te(e,t,n,r,i,a,o){try{var l=e[a](o),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,i)}function ne(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){te(a,r,i,o,l,"next",e)}function l(e){te(a,r,i,o,l,"throw",e)}o(void 0)})}}function re(e,t){var n,r,i,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=l(0),o.throw=l(1),o.return=l(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){a.label=l[1];break}if(6===l[0]&&a.label<i[1]){a.label=i[1],i=l;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(l);break}i[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}function ie(e){return ne(function(){return re(this,function(t){switch(t.label){case 0:return[4,(0,o.openmrsFetch)("".concat(o.restBaseUrl,"/patient/").concat(e,"?v=full"),{method:"GET"}).catch(function(e){console.error(e)})];case 1:return[2,t.sent()]}})})()}function ae(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return ne(function(){var i;return re(this,function(a){switch(a.label){case 0:return i=r?"person":"patient",[4,(0,o.openmrsFetch)("".concat(o.restBaseUrl,"/").concat(i,"/").concat(e,"/identifier/").concat(t),{method:"POST",headers:{"Content-Type":"application/json"},body:n})];case 1:return[2,a.sent()]}})})()}function oe(e,t){return ne(function(){return re(this,function(n){switch(n.label){case 0:return[4,(0,o.openmrsFetch)("".concat(o.restBaseUrl,"/person/").concat(e),{method:"POST",headers:{"Content-Type":"application/json"},body:t})];case 1:return[2,n.sent()]}})})()}function le(e){return ne(function(){return re(this,function(t){switch(t.label){case 0:return[4,(0,o.openmrsFetch)("".concat(o.restBaseUrl,"/relationship"),{method:"POST",headers:{"Content-Type":"application/json"},body:e})];case 1:return[2,t.sent()]}})})()}function ue(e){return ne(function(){var t;return re(this,function(n){switch(n.label){case 0:return[4,(0,o.openmrsFetch)("".concat(o.restBaseUrl,"/relationship?person=").concat(e,"&v=full"),{method:"GET",headers:{"Content-Type":"application/json"}})];case 1:return(t=n.sent())&&t.data?[2,Q(e,t.data.results)]:[2,[]]}})})()}function ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function se(e,t,n,r,i,a,o){try{var l=e[a](o),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,i)}function de(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){se(a,r,i,o,l,"next",e)}function l(e){se(a,r,i,o,l,"throw",e)}o(void 0)})}}function fe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pe(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a=[],o=!0,l=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){l=!0,i=e}finally{try{o||null==n.return||n.return()}finally{if(l)throw i}}return a}}(e,t)||be(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function me(e){return function(e){if(Array.isArray(e))return ce(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||be(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function be(e,t){if(e){if("string"==typeof e)return ce(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ce(e,t):void 0}}function he(e,t){var n,r,i,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=l(0),o.throw=l(1),o.return=l(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){a.label=l[1];break}if(6===l[0]&&a.label<i[1]){a.label=i[1],i=l;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(l);break}i[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}const ve=function(e){var t=e.hieClient,n=e.amrsClient,l=e.fromDependant,u=pe((0,r.useState)([]),2),c=u[0],s=u[1],d=pe((0,r.useState)(!1),2),f=d[0],p=d[1],m=pe((0,r.useState)(!1),2),b=m[0],h=m[1],v=Math.random().toString(10).substring(2,6).toUpperCase(),y=function(e,t,n,r){s(r?e?function(e){return me(e).concat([fe({},t,n)])}:[]:e?me(c).concat([fe({},t,n)]):function(e){return e.filter(function(e){return!Object.keys(e).includes(t)})})};return i().createElement(i().Fragment,null,i().createElement(a.XIK,null,i().createElement(a.ndF,null,i().createElement(a.Hjg,null,i().createElement(a.A0N,null,"Field"),i().createElement(a.A0N,null,"AMRS Person"),i().createElement(a.A0N,null,"HIE Patient"),i().createElement(a.A0N,null,i().createElement(a.Sc0,{id:"cbox-multiple-".concat(v),onChange:function(e){return function(e){p(e.target.checked)}(e)}})))),i().createElement(a.BFY,null,J.map(function(e){var r=X(e,t,n),a=r[0],o=r[1];return i().createElement(ee,{label:e,field:e,amrsValue:a,hieValue:o,onChange:y,allChecked:f})}))),i().createElement(a.fI1,null,c.length?i().createElement(a.$nd,{onClick:function(){return de(function(){var e,t,r,i,a,u,d;return he(this,function(f){switch(f.label){case 0:return f.trys.push([0,2,3,4]),e={},c.forEach(function(t){var n=Object.keys(t)[0];e[n]=t[n]}),t={},r={},i={},a={},Object.entries(e).forEach(function(e){var t=pe(e,2),n=t[0],o=t[1];z.includes(n)&&(V.includes(n)?r[n]=o:Y.includes(n)?o&&(i[n]=o):a[n]=o)}),Object.assign(t,a,{addresses:[i]},{names:[r]}),[4,oe(n.person.uuid,t)];case 1:return f.sent(),(0,o.showSnackbar)({kind:"success",title:"Patient successfully synced."}),Object.entries(e).forEach(function(e){var t=pe(e,2),r=t[0],i=t[1];return de(function(){var e,t,a,u;return he(this,function(c){switch(c.label){case 0:if(!$().includes(r))return[3,7];if(!i)return[3,7];e=L(F[r]),t={identifier:i,location:"18c343eb-b353-462a-9139-b16606e6b6c2",identifierType:e},c.label=1;case 1:return c.trys.push([1,6,,7]),(null==n||null===(u=n.person)||void 0===u||null===(a=u.identifiers)||void 0===a?void 0:a.find(function(t){return t.identifierType.uuid===e}))?[4,ae(n.person.uuid,e+"",t,l)]:[3,3];case 2:return c.sent(),[3,5];case 3:return[4,ae(n.person.uuid,"",t,l)];case 4:c.sent(),c.label=5;case 5:return[3,7];case 6:return c.sent(),(0,o.showSnackbar)({kind:"error",title:"Error syncing patient identifiers."}),[3,7];case 7:return[2]}})})()}),(0,o.showSnackbar)({kind:"success",title:"Patient identifiers successfully synced."}),s([]),[3,4];case 2:return u=f.sent(),(0,o.showSnackbar)({kind:"error",title:"Error syncing patient data.",subtitle:JSON.stringify(null==u||null===(d=u.error)||void 0===d?void 0:d.message)}),[3,4];case 3:return h(!1),[7];case 4:return[2]}})})()}},"Sync data"):null,b?i().createElement(a.OuH,{description:"Syncing patient details..."}):null))};var ye=n(72339);function ge(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ae(e,t,n,r,i,a,o){try{var l=e[a](o),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,i)}function we(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){Ae(a,r,i,o,l,"next",e)}function l(e){Ae(a,r,i,o,l,"throw",e)}o(void 0)})}}function Ee(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _e(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a=[],o=!0,l=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){l=!0,i=e}finally{try{o||null==n.return||n.return()}finally{if(l)throw i}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ge(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ge(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Se(e,t){var n,r,i,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=l(0),o.throw=l(1),o.return=l(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){a.label=l[1];break}if(6===l[0]&&a.label<i[1]){a.label=i[1],i=l;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(l);break}i[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}const ke=function(e){var t,n=e.hieDependant,l=e.patientRelationships,u=e.amrsClient,c=(0,ye.useTranslation)().t,s=_e((0,r.useState)(!1),2),d=s[0],f=s[1],p=_e((0,r.useState)(),2),m=p[0],b=p[1],h=_e((0,r.useState)(""),2),v=(h[0],h[1]);return i().createElement(i().Fragment,null,i().createElement(a.AsP,{title:(t=n.result[0],"".concat(t.first_name," ").concat(t.middle_name," ").concat(t.last_name," (").concat(n.relationship,")"))},i().createElement(a.fI1,null,i().createElement(a.VPZ,null,i().createElement(a.l6P,{labelText:c("amrsDependants","AMRS dependants"),onChange:function(e){return we(function(){var t,n,r;return Se(this,function(i){switch(i.label){case 0:return(t=e.target.value)||(f(!1),b(null)),[4,(a=t,ne(function(){return re(this,function(e){switch(e.label){case 0:return[4,(0,o.openmrsFetch)("".concat(o.restBaseUrl,"/person/").concat(a,"?v=full"),{method:"GET"}).catch(function(e){console.error(e)})];case 1:return[2,e.sent()]}})})())];case 1:return(n=i.sent())&&n.data?(f(!0),b(function(e){return t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ee(e,t,n[t])})}return e}({},e),r=null!=(r={person:n.data})?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t;var t,r})):(f(!1),b(null),(r=l.find(function(e){return e.relatedPersonUuid===t}))&&r.relationshipType&&v(r.relationshipType)),[2]}var a})})()}},i().createElement(a.ebT,{text:c("selectAmrsRelation","Select AMRS relation"),value:""}),l.map(function(e){return i().createElement(a.ebT,{text:"".concat(e.display," (").concat(e.relationshipType,")"),value:e.relatedPerson.uuid})}))),d?null:i().createElement(a.VPZ,null,i().createElement(a.$nd,{onClick:function(){return e=n,we(function(){var t,n,r,i,a,l,c,s;return Se(this,function(d){switch(d.label){case 0:return d.trys.push([0,4,,5]),t={},J.forEach(function(n){var r=X(n,e.result[0],u)[1];t[n]=r}),n={},r={},i={},a={},l=function(e){var t=[];return e.place_of_birth.length>0&&t.push({value:e.place_of_birth,attributeType:G(U.PlaceOfBirth)}),e.phone.length>0&&t.push({value:e.phone,attributeType:G(U.Phone)}),e.email.length>0&&t.push({value:e.email,attributeType:G(U.Email)}),e.kra_pin.length>0&&t.push({value:e.kra_pin,attributeType:G(U.KRAPin)}),e.civil_status.length>0&&t.push({value:this.getAmrsConceptUuidFromField(e.civil_status),attributeType:G(U.CivilStatus)}),e.id&&t.push({value:e.id,attributeType:G(U.Cr)}),e.citizenship&&t.push({value:e.citizenship,attributeType:G(U.Citizenship)}),t}(e.result[0]),Object.entries(t).forEach(function(e){var t=_e(e,2),n=t[0],o=t[1];z.includes(n)&&(V.includes(n)?r[n]=o:Y.includes(n)?o&&(i[n]=o):a[n]=o)}),Object.assign(n,a,{addresses:[i]},{names:[r]},{attributes:l}),[4,(h=n,ne(function(){return re(this,function(e){switch(e.label){case 0:return[4,(0,o.openmrsFetch)("".concat(o.restBaseUrl,"/person"),{method:"POST",headers:{"Content-Type":"application/json"},body:h})];case 1:return[2,e.sent()]}})})())];case 1:return(c=d.sent())&&c.data?((0,o.showSnackbar)({kind:"success",title:"Dependant created successfully."}),f=u,p=e.relationship,m=c.data.uuid,b=K()().format("YYYY-MM-DDTHH:mm:ss.SSSZZ"),[4,le({personA:f.person.uuid,relationshipType:q(p),personB:m,startDate:b})]):[3,3];case 2:d.sent(),(0,o.showSnackbar)({kind:"success",title:"Dependant relationship created successfully."}),d.label=3;case 3:return[3,5];case 4:return s=d.sent(),(0,o.showSnackbar)({kind:"error",title:"Error syncing patient data.",subtitle:JSON.stringify(s)}),[3,5];case 5:return[2]}var f,p,m,b,h})})();var e}},c("createDependant","Create dependant in AMRS")))),i().createElement(a.fI1,null,i().createElement(ve,{hieClient:n.result[0],amrsClient:m,fromDependant:!0}))))},Oe=function(e){var t=e.hieDependants,n=e.amrsClient,r=e.patientRelationships;return i().createElement("div",null,i().createElement(a.nD3,{size:"lg"},t.map(function(e){return i().createElement(ke,{hieDependant:e,amrsClient:n,patientRelationships:r})})))};function Ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Te(e,t,n,r,i,a,o){try{var l=e[a](o),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,i)}function Ne(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){Te(a,r,i,o,l,"next",e)}function l(e){Te(a,r,i,o,l,"throw",e)}o(void 0)})}}function Pe(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a=[],o=!0,l=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){l=!0,i=e}finally{try{o||null==n.return||n.return()}finally{if(l)throw i}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ce(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ce(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function je(e,t){var n,r,i,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=l(0),o.throw=l(1),o.return=l(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){a.label=l[1];break}if(6===l[0]&&a.label<i[1]){a.label=i[1],i=l;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(l);break}i[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}const Ie=function(e){var t=e.hieClient,n=Pe((0,r.useState)(),2),l=n[0],u=n[1],c=Pe((0,r.useState)(!1),2),s=c[0],d=c[1],f=(0,o.usePatient)().patientUuid,p=Pe((0,r.useState)([]),2),m=p[0],b=p[1];(0,r.useEffect)(function(){f&&(v(),h())},[f]);var h=function(){return Ne(function(){var e;return je(this,function(t){switch(t.label){case 0:return[4,ue(f)];case 1:return(e=t.sent())&&b(e),[2]}})})()},v=function(){return Ne(function(){var e,t;return je(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,3,4]),d(!0),[4,ie(f)];case 1:return(e=n.sent())&&u(e.data),(0,o.showSnackbar)({kind:"success",title:"AMRS person data fetched successfully."}),[3,4];case 2:return t=n.sent(),(0,o.showSnackbar)({kind:"error",title:"Error fetching AMRS person data.",subtitle:JSON.stringify(t)}),[3,4];case 3:return d(!1),[7];case 4:return[2]}})})()};return s?i().createElement(a.OuH,{description:"Fetching existing client details..."}):i().createElement(a.tUM,null,i().createElement(a.wbY,{contained:!0},i().createElement(a.ozo,null,"Patient"),i().createElement(a.ozo,null,"Dependants")),i().createElement(a.T2N,null,i().createElement(a.KpK,null,t&&i().createElement(ve,{hieClient:t,amrsClient:l,fromDependant:!1})),i().createElement(a.KpK,null,t&&t.dependants?i().createElement(Oe,{hieDependants:t.dependants,amrsClient:l,patientRelationships:m}):i().createElement("div",null,"Dependants not found."))))};function xe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function De(e,t,n,r,i,a,o){try{var l=e[a](o),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,i)}function Re(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){De(a,r,i,o,l,"next",e)}function l(e){De(a,r,i,o,l,"throw",e)}o(void 0)})}}function Fe(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a=[],o=!0,l=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){l=!0,i=e}finally{try{o||null==n.return||n.return()}finally{if(l)throw i}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return xe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xe(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ue(e,t){var n,r,i,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=l(0),o.throw=l(1),o.return=l(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){a.label=l[1];break}if(6===l[0]&&a.label<i[1]){a.label=i[1],i=l;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(l);break}i[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var Be=["National ID","Alien ID","Passport","Mandate Number","Refugee ID"];const Ke=function(e){var t=e.onClientVerified,n=e.open,u=e.onModalClose,c=e.isNewClient,s=void 0===c||c,d=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e4;return Re(function(){var n,r,i;return Ue(this,function(a){switch(a.label){case 0:n=new AbortController,r=setTimeout(function(){return n.abort()},t),a.label=1;case 1:return a.trys.push([1,3,4,5]),[4,e];case 2:return[2,a.sent()];case 3:if("AbortError"===(i=a.sent()).name)throw new Error("Request timeout");throw i;case 4:return clearTimeout(r),[7];case 5:return[2]}})})()},f=(0,l.j7)().setFieldValue,p=Fe((0,r.useState)("National ID"),2),m=p[0],b=p[1],h=Fe((0,r.useState)(""),2),v=h[0],y=h[1],g=Fe((0,r.useState)(""),2),A=g[0],w=g[1],_=Fe((0,r.useState)(!1),2),P=_[0],j=_[1],I=Fe((0,r.useState)(!1),2),x=I[0],D=I[1],F=Fe((0,r.useState)(!1),2),U=F[0],B=F[1],K=Fe((0,r.useState)(""),2),M=K[0],H=K[1],V=Fe((0,r.useState)(""),2),Y=V[0],z=V[1],$=(0,o.useSession)().sessionLocation,L=Fe((0,r.useState)(),2),G=L[0],q=L[1],J=null==$?void 0:$.uuid,Z=function(){return Re(function(){var e,t,n;return Ue(this,function(r){switch(r.label){case 0:if(!v.trim())return z("Please enter a valid ID value"),[2];B(!0),z(""),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,d((i={identificationNumber:v,identificationType:m,locationUuid:J},S(function(){var e,t;return k(this,function(n){return e="".concat(O,"/client/send-custom-otp"),t={identificationNumber:i.identificationNumber,identificationType:i.identificationType,locationUuid:i.locationUuid},[2,C(e,t)]})})()))];case 2:return e=r.sent(),H(e.sessionId),j(!0),(0,o.showSnackbar)({kind:"success",title:"OTP sent successfully",subtitle:"A code was sent to ".concat(e.maskedPhone)}),[3,5];case 3:return t=r.sent(),n=t.message||"Failed to send OTP",z(n),(0,o.showSnackbar)({kind:"error",title:"Error sending OTP",subtitle:n}),[3,5];case 4:return B(!1),[7];case 5:return[2]}var i})})()};return i().createElement(a.aFV,{open:n,size:"lg",onSecondarySubmit:u,onRequestClose:u,onRequestSubmit:function(){window.open("https://afyayangu.go.ke/","_blank")},primaryButtonText:"Register on Afya Yangu",secondaryButtonText:"Cancel"},i().createElement(a.cwr,null,i().createElement("div",{className:E.modalVerificationLayout},i().createElement("h4",{className:E.sectionTitle},"Client Registry Verification"),Y&&i().createElement("div",{className:E.notificationSpacing},i().createElement(a.jeF,{title:"Error",subtitle:Y,kind:"error",lowContrast:!0})),G?i().createElement(i().Fragment,null):i().createElement("div",{className:E.formSection},P?i().createElement(i().Fragment,null,x?i().createElement(i().Fragment,null,i().createElement("div",{className:E.formRow},i().createElement("div",{className:E.formControl},i().createElement(a.$nd,{kind:"primary",onClick:function(){return Re(function(){var e,t,n,r,i;return Ue(this,function(a){switch(a.label){case 0:B(!0),z(""),a.label=1;case 1:return a.trys.push([1,3,4,5]),[4,d((l={identificationNumber:v,identificationType:m,locationUuid:J},S(function(){var e,t;return k(this,function(n){return e="".concat(O,"/client/search"),t={identificationNumber:l.identificationNumber,identificationType:l.identificationType,locationUuid:l.locationUuid},[2,C(e,t)]})})()))];case 2:if(e=a.sent(),0===(t=Array.isArray(e)?e:[]).length)throw new Error("No matching patient found in Client Registry.");return n=t[0],q(n),(0,o.showSnackbar)({kind:"success",title:"Client Data Loaded",subtitle:"Patient ".concat(n.first_name," ").concat(n.last_name," fetched successfully.")}),[3,5];case 3:return r=a.sent(),i=r.message||"Failed to fetch client data",z(i),(0,o.showSnackbar)({kind:"error",title:"Fetch Failed",subtitle:i}),[3,5];case 4:return B(!1),[7];case 5:return[2]}var l})})()},disabled:U},U?i().createElement(a.OuH,{description:"Fetching..."}):"Fetch Client Registry Data")))):i().createElement(i().Fragment,null,i().createElement("div",{className:E.formRow},i().createElement("div",{className:E.formControl},i().createElement(a.ksK,{id:"otp-input",labelText:"Enter OTP",value:A,onChange:function(e){return w(e.target.value)},disabled:x,placeholder:"Enter the code sent to your phone"}))),i().createElement("div",{className:E.formRow},i().createElement("div",{className:E.actionBtn},i().createElement(a.$nd,{kind:"primary",onClick:function(){return Re(function(){var e,n;return Ue(this,function(r){switch(r.label){case 0:if(!A.trim())return z("Please enter the OTP code"),[2];B(!0),z(""),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,d((i={sessionId:M,otp:A,locationUuid:J},S(function(){var e,t;return k(this,function(n){return e="".concat(O,"/client/validate-custom-otp"),t={sessionId:i.sessionId,otp:i.otp,locationUuid:i.locationUuid},[2,C(e,t)]})})()))];case 2:return r.sent(),D(!0),null==t||t(),(0,o.showSnackbar)({kind:"success",title:"OTP Verified",subtitle:"You can now fetch data from Client Registry."}),[3,5];case 3:return e=r.sent(),n=e.message||"OTP verification failed",z(n),(0,o.showSnackbar)({kind:"error",title:"OTP Verification Failed",subtitle:n}),[3,5];case 4:return B(!1),[7];case 5:return[2]}var i})})()},disabled:U},U?i().createElement(a.OuH,{description:"Verifying..."}):"Verify OTP")),i().createElement("div",{className:E.actionBtn},i().createElement(a.$nd,{kind:"secondary",onClick:Z,disabled:U},U?i().createElement(a.OuH,{description:"Resending OTP..."}):"Resend OTP")),i().createElement("div",{className:E.actionBtn},i().createElement(a.$nd,{kind:"tertiary",onClick:function(){return j(!1)}},"Back"))))):i().createElement(i().Fragment,null,i().createElement("div",{className:E.formRow},i().createElement("div",{className:E.formControl},i().createElement(a.msM,{id:"identifier-type-dropdown",label:"Identifier Type",titleText:"Select Identifier Type",items:Be,selectedItem:m,onChange:function(e){var t=e.selectedItem;return b(t)},disabled:P})),i().createElement("div",{className:E.formControl},i().createElement(a.ksK,{id:"identifier-value",labelText:"".concat(m," Value"),value:v,onChange:function(e){return y(e.target.value)},disabled:P,placeholder:"Enter ".concat(m.toLowerCase()," value")}))),i().createElement("div",{className:E.formRow},i().createElement("div",{className:E.formControl},i().createElement(a.$nd,{kind:"primary",onClick:Z,disabled:U},U?i().createElement(a.OuH,{description:"Sending..."}):"Send OTP"))))),x&&G?i().createElement("div",{className:"clientDataSection"},s?i().createElement(R,{client:G,useHieData:function(){!function(e,t){Object.entries(N).forEach(function(n){var r,i,a,o=(a=2,function(e){if(Array.isArray(e))return e}(i=n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a=[],o=!0,l=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){l=!0,i=e}finally{try{o||null==n.return||n.return()}finally{if(l)throw i}}return a}}(i,a)||function(e,t){if(e){if("string"==typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T(e,t):void 0}}(i,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=o[0],u=o[1],c=function(e){return e};if("string"==typeof u?r=u:(r=u.path,c=u.transform||c),r&&void 0!==e[r]&&null!==e[r]&&""!==e[r]){var s=c(e[r]);t(l,s)}}),function(e,t){var n=e.alternative_contacts||[],r=n.find(function(e){return"spouse"===e.relationship.toLowerCase()})||n.find(function(e){return e.remarks.toLowerCase().includes("next of kin")||e.relationship.toLowerCase().includes("next of kin")});r?(t("nextOfKin.nextOfKinName",r.contact_name),t("nextOfKin.nextOfKinRelationship",r.relationship),t("nextOfKin.nextOfKinPhoneNumber",r.contact_id),t("nextOfKin.nextOfKinResidence",e.village_estate||e.county||"")):(t("nextOfKin.nextOfKinName",""),t("nextOfKin.nextOfKinRelationship",""),t("nextOfKin.nextOfKinPhoneNumber",""),t("nextOfKin.nextOfKinResidence",""))}(e,t),function(e,t){var n=e.dependants||[],r=[];n.forEach(function(e,t){if(e.result&&e.result.length>0){var n=e.result[0];r.push({relationshipType:e.relationship,relatedPersonName:"".concat(n.first_name," ").concat(n.middle_name||""," ").concat(n.last_name).trim(),relatedPersonUuid:"",relationshipTypeUuid:"",relativeName:"".concat(n.first_name," ").concat(n.middle_name||""," ").concat(n.last_name).trim(),relativePhone:"",relationship:e.relationship,birthdate:n.date_of_birth,gender:n.gender,identifier:n.identification_number})}}),t("relationships",r)}(e,t),function(e,t){e.county&&t("address.countyDistrict",e.county),e.sub_county&&t("address.stateProvince",e.sub_county),e.ward&&t("address.address4",e.ward)}(e,t),function(e,t){e.email&&t("attributes.2f65dbcb-3e58-45a3-8be7-fd1dc9aa0faa",e.email),e.phone&&t("attributes.72a759a8-1359-11df-a1f1-0026b9348838",e.phone)}(e,t),function(e,t){e.id&&t("identifiers.cr",{identifierTypeUuid:"e88dc246-3614-4ee3-8141-1f2a83054e72",initialValue:e.id,identifierValue:e.id,identifierName:"CR",selectedSource:null,autoGeneration:!1,preferred:!1,required:!0})}(e,t)}(G,f),u()}}):i().createElement(Ie,{hieClient:G})):i().createElement(i().Fragment,null))))}},49115:(e,t,n)=>{n.d(t,{A:()=>l});var r=n(30977),i=n.n(r),a=n(95924),o=n.n(a)()(i());o.push([e.id,".-esm-patient-registration__client-registry-search__modalVerificationLayout___vWS9B{display:flex;flex-direction:column;row-gap:10px;width:100%}.-esm-patient-registration__client-registry-search__formSection___rTSdD{display:flex;flex-direction:column;width:100%}.-esm-patient-registration__client-registry-search__formControl___Q\\+4hc{width:45%}.-esm-patient-registration__client-registry-search__formRow___Ss7Kt{display:flex;flex-direction:row;width:100%;column-gap:10px;padding-top:5px;padding-bottom:5px}.-esm-patient-registration__client-registry-search__actionBtn___8iKzI{display:flex;flex-direction:column}","",{version:3,sources:["webpack://./src/patient-registration/client-registry/client-registry-search.scss"],names:[],mappings:"AAAA,oFACE,YAAA,CACA,qBAAA,CACA,YAAA,CACA,UAAA,CAEF,wEACE,YAAA,CACA,qBAAA,CACA,UAAA,CAEF,yEACE,SAAA,CAEF,oEACE,YAAA,CACA,kBAAA,CACA,UAAA,CACA,eAAA,CACA,eAAA,CACA,kBAAA,CAEF,sEACE,YAAA,CACA,qBAAA",sourcesContent:[".modalVerificationLayout {\n display: flex;\n flex-direction: column;\n row-gap: 10px;\n width: 100%;\n}\n.formSection {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n.formControl {\n width: 45%;\n}\n.formRow {\n display: flex;\n flex-direction: row;\n width: 100%;\n column-gap: 10px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n.actionBtn {\n display: flex;\n flex-direction: column;\n}\n"],sourceRoot:""}]),o.locals={modalVerificationLayout:"-esm-patient-registration__client-registry-search__modalVerificationLayout___vWS9B",formSection:"-esm-patient-registration__client-registry-search__formSection___rTSdD",formControl:"-esm-patient-registration__client-registry-search__formControl___Q+4hc",formRow:"-esm-patient-registration__client-registry-search__formRow___Ss7Kt",actionBtn:"-esm-patient-registration__client-registry-search__actionBtn___8iKzI"};const l=o}}]);
|