@kenyaemr/esm-patient-registration-app 8.0.1-pre.99 → 8.0.2

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.
Files changed (133) hide show
  1. package/.turbo/turbo-build.log +23 -22
  2. package/dist/108.js +1 -0
  3. package/dist/108.js.map +1 -0
  4. package/dist/130.js +1 -1
  5. package/dist/130.js.LICENSE.txt +2 -0
  6. package/dist/130.js.map +1 -1
  7. package/dist/2.js +1 -0
  8. package/dist/2.js.map +1 -0
  9. package/dist/250.js +1 -0
  10. package/dist/250.js.map +1 -0
  11. package/dist/271.js +1 -1
  12. package/dist/319.js +1 -1
  13. package/dist/325.js +1 -0
  14. package/dist/325.js.map +1 -0
  15. package/dist/372.js +2 -0
  16. package/dist/372.js.map +1 -0
  17. package/dist/460.js +1 -1
  18. package/dist/574.js +1 -1
  19. package/dist/644.js +1 -1
  20. package/dist/66.js +1 -0
  21. package/dist/66.js.map +1 -0
  22. package/dist/662.js +1 -0
  23. package/dist/662.js.map +1 -0
  24. package/dist/757.js +1 -1
  25. package/dist/{59.js → 76.js} +1 -1
  26. package/dist/{59.js.map → 76.js.map} +1 -1
  27. package/dist/788.js +1 -1
  28. package/dist/807.js +1 -1
  29. package/dist/833.js +1 -1
  30. package/dist/895.js +2 -0
  31. package/dist/895.js.LICENSE.txt +34 -0
  32. package/dist/895.js.map +1 -0
  33. package/dist/kenyaemr-esm-patient-registration-app.js +1 -1
  34. package/dist/kenyaemr-esm-patient-registration-app.js.buildmanifest.json +161 -188
  35. package/dist/kenyaemr-esm-patient-registration-app.js.map +1 -1
  36. package/dist/main.js +1 -1
  37. package/dist/main.js.LICENSE.txt +10 -0
  38. package/dist/main.js.map +1 -1
  39. package/dist/routes.json +1 -1
  40. package/package-lock.json +6047 -0
  41. package/package.json +3 -4
  42. package/src/client-registry/client-registry.component.tsx +22 -0
  43. package/src/client-registry/hie-client-registry/hie-client-registry.component.tsx +134 -0
  44. package/src/client-registry/hie-client-registry/hie-client-registry.scss +53 -0
  45. package/src/client-registry/hie-client-registry/hie-resource.ts +162 -0
  46. package/src/client-registry/hie-client-registry/hie-types.ts +29 -0
  47. package/src/client-registry/hie-client-registry/modal/confirm-hie.modal.tsx +82 -0
  48. package/src/client-registry/hie-client-registry/modal/confirm-hie.scss +10 -0
  49. package/src/{patient-verification → client-registry/patient-verification}/patient-verification-hook.tsx +1 -1
  50. package/src/{patient-verification → client-registry/patient-verification}/patient-verification-utils.ts +1 -1
  51. package/src/{patient-verification → client-registry/patient-verification}/patient-verification.component.tsx +1 -1
  52. package/src/{patient-verification → client-registry/patient-verification}/patient-verification.scss +1 -1
  53. package/src/{patient-verification → client-registry/patient-verification}/verification-modal/empty-prompt.component.tsx +9 -6
  54. package/src/config-schema.ts +72 -2
  55. package/src/index.ts +6 -6
  56. package/src/patient-registration/field/cause-of-death/cause-of-death.component.tsx +98 -0
  57. package/src/patient-registration/field/date-and-time-of-death/date-and-time-of-death.component.tsx +84 -0
  58. package/src/patient-registration/field/dob/dob.component.tsx +21 -7
  59. package/src/patient-registration/field/field.component.tsx +11 -5
  60. package/src/patient-registration/field/field.resource.ts +11 -4
  61. package/src/patient-registration/field/field.scss +44 -5
  62. package/src/patient-registration/field/gender/gender-field.component.tsx +2 -1
  63. package/src/patient-registration/field/gender/gender-field.test.tsx +1 -0
  64. package/src/patient-registration/field/id/id-field.component.tsx +8 -6
  65. package/src/patient-registration/field/id/id-field.test.tsx +27 -8
  66. package/src/patient-registration/field/name/name-field.component.tsx +5 -1
  67. package/src/patient-registration/field/person-attributes/coded-person-attribute-field.component.tsx +1 -0
  68. package/src/patient-registration/field/person-attributes/custom-person-attribute-field.component.tsx +76 -27
  69. package/src/patient-registration/field/person-attributes/location-person-attribute-field.component.tsx +105 -0
  70. package/src/patient-registration/field/person-attributes/location-person-attribute-field.resource.tsx +48 -0
  71. package/src/patient-registration/field/person-attributes/person-attribute-field.component.tsx +12 -1
  72. package/src/patient-registration/field/person-attributes/useUpdateIdentifierRequirement.tsx +83 -0
  73. package/src/patient-registration/form-manager.test.ts +21 -0
  74. package/src/patient-registration/form-manager.ts +40 -20
  75. package/src/patient-registration/input/basic-input/input/input.component.tsx +5 -1
  76. package/src/patient-registration/input/custom-input/identifier/identifier-input.component.tsx +18 -10
  77. package/src/patient-registration/input/custom-input/identifier/identifier-input.test.tsx +166 -67
  78. package/src/patient-registration/input/dummy-data/dummy-data-input.component.tsx +3 -0
  79. package/src/patient-registration/input/input.scss +5 -0
  80. package/src/patient-registration/patient-registration-context.ts +4 -3
  81. package/src/patient-registration/patient-registration-hooks.ts +67 -9
  82. package/src/patient-registration/patient-registration-utils.ts +3 -7
  83. package/src/patient-registration/patient-registration.component.tsx +44 -30
  84. package/src/patient-registration/patient-registration.resource.ts +8 -0
  85. package/src/patient-registration/patient-registration.test.tsx +9 -3
  86. package/src/patient-registration/patient-registration.types.ts +4 -1
  87. package/src/patient-registration/section/death-info/death-info-section.component.tsx +22 -17
  88. package/src/patient-registration/section/death-info/death-info-section.test.tsx +4 -14
  89. package/src/patient-registration/section/section.component.tsx +1 -1
  90. package/src/patient-registration/section/section.scss +5 -0
  91. package/src/patient-registration/validation/{patient-registration-validation.test.tsx → patient-registration-validation.test.ts} +26 -4
  92. package/src/patient-registration/validation/patient-registration-validation.ts +126 -0
  93. package/src/routes.json +14 -17
  94. package/src/widgets/cancel-patient-edit.modal.tsx +33 -0
  95. package/src/widgets/cancel-patient-edit.test.tsx +2 -3
  96. package/src/widgets/delete-identifier-confirmation.modal.tsx +22 -15
  97. package/src/widgets/delete-identifier-confirmation.test.tsx +2 -1
  98. package/translations/am.json +36 -25
  99. package/translations/ar.json +37 -26
  100. package/translations/en.json +51 -20
  101. package/translations/es.json +38 -26
  102. package/translations/fr.json +47 -35
  103. package/translations/he.json +37 -30
  104. package/translations/km.json +37 -30
  105. package/translations/zh.json +37 -20
  106. package/translations/zh_CN.json +37 -20
  107. package/dist/152.js +0 -1
  108. package/dist/152.js.map +0 -1
  109. package/dist/255.js +0 -2
  110. package/dist/255.js.map +0 -1
  111. package/dist/303.js +0 -1
  112. package/dist/303.js.map +0 -1
  113. package/dist/330.js +0 -1
  114. package/dist/330.js.map +0 -1
  115. package/dist/564.js +0 -1
  116. package/dist/564.js.map +0 -1
  117. package/dist/623.js +0 -1
  118. package/dist/623.js.map +0 -1
  119. package/dist/729.js +0 -1
  120. package/dist/729.js.map +0 -1
  121. package/dist/735.js +0 -1
  122. package/dist/735.js.map +0 -1
  123. package/dist/831.js +0 -2
  124. package/dist/831.js.LICENSE.txt +0 -14
  125. package/dist/831.js.map +0 -1
  126. package/src/patient-registration/validation/patient-registration-validation.tsx +0 -60
  127. package/src/widgets/cancel-patient-edit.component.tsx +0 -37
  128. package/src/widgets/delete-identifier-confirmation.scss +0 -34
  129. /package/dist/{255.js.LICENSE.txt → 372.js.LICENSE.txt} +0 -0
  130. /package/src/{patient-verification → client-registry/patient-verification}/assets/counties.json +0 -0
  131. /package/src/{patient-verification → client-registry/patient-verification}/assets/verification-assets.ts +0 -0
  132. /package/src/{patient-verification → client-registry/patient-verification}/verification-modal/confirm-prompt.component.tsx +0 -0
  133. /package/src/{patient-verification → client-registry/patient-verification}/verification-types.ts +0 -0
@@ -1,15 +1,16 @@
1
1
  import React from 'react';
2
2
  import { useTranslation } from 'react-i18next';
3
- import { Button } from '@carbon/react';
4
- import styles from './delete-identifier-confirmation.scss';
3
+ import { Button, ModalBody, ModalHeader, ModalFooter } from '@carbon/react';
5
4
 
6
5
  interface DeleteIdentifierConfirmationModalProps {
6
+ closeModal: () => void;
7
7
  deleteIdentifier: (x: boolean) => void;
8
8
  identifierName: string;
9
9
  identifierValue: string;
10
10
  }
11
11
 
12
12
  const DeleteIdentifierConfirmationModal: React.FC<DeleteIdentifierConfirmationModalProps> = ({
13
+ closeModal,
13
14
  deleteIdentifier,
14
15
  identifierName,
15
16
  identifierValue,
@@ -17,24 +18,30 @@ const DeleteIdentifierConfirmationModal: React.FC<DeleteIdentifierConfirmationMo
17
18
  const { t } = useTranslation();
18
19
 
19
20
  return (
20
- <div className={styles.modalContent}>
21
- <h1 className={styles.productiveHeading}>{t('deleteIdentifierModalHeading', 'Remove identifier?')}</h1>
22
- <h3 className={styles.modalSubtitle}>
23
- {identifierName}
24
- {t('deleteIdentifierModalText', ' has a value of ')} {identifierValue}
25
- </h3>
26
- <p className={styles.modalBody}>
27
- {t('confirmIdentifierDeletionText', 'Are you sure you want to remove this identifier?')}
28
- </p>
29
- <div className={styles.buttonSet}>
21
+ <>
22
+ <ModalHeader
23
+ closeModal={closeModal}
24
+ title={t('deleteIdentifierModalHeading', 'Delete identifier?')}></ModalHeader>
25
+ <ModalBody>
26
+ <p>
27
+ {identifierName && identifierValue && (
28
+ <span>
29
+ <strong>{identifierName}</strong>
30
+ {t('deleteIdentifierModalText', ' has a value of ')} <strong>{identifierValue}</strong>.{' '}
31
+ </span>
32
+ )}
33
+ {t('confirmIdentifierDeletionText', 'Are you sure you want to delete this identifier?')}
34
+ </p>
35
+ </ModalBody>
36
+ <ModalFooter>
30
37
  <Button kind="secondary" size="lg" onClick={() => deleteIdentifier(false)}>
31
38
  {t('cancel', 'Cancel')}
32
39
  </Button>
33
40
  <Button kind="danger" size="lg" onClick={() => deleteIdentifier(true)}>
34
- {t('removeIdentifierButton', 'Remove Identifier')}
41
+ {t('removeIdentifierButton', 'Remove identifier')}
35
42
  </Button>
36
- </div>
37
- </div>
43
+ </ModalFooter>
44
+ </>
38
45
  );
39
46
  };
40
47
 
@@ -3,7 +3,7 @@ import userEvent from '@testing-library/user-event';
3
3
  import { render, screen } from '@testing-library/react';
4
4
  import DeleteIdentifierConfirmationModal from './delete-identifier-confirmation.modal';
5
5
 
6
- describe('DeleteIdentifierConfirmationModal component', () => {
6
+ describe('DeleteIdentifierConfirmationModal', () => {
7
7
  const mockDeleteIdentifier = jest.fn();
8
8
  const mockIdentifierName = 'Identifier Name';
9
9
  const mockIdentifierValue = 'Identifier Value';
@@ -13,6 +13,7 @@ describe('DeleteIdentifierConfirmationModal component', () => {
13
13
 
14
14
  render(
15
15
  <DeleteIdentifierConfirmationModal
16
+ closeModal={jest.fn()}
16
17
  deleteIdentifier={mockDeleteIdentifier}
17
18
  identifierName={mockIdentifierName}
18
19
  identifierValue={mockIdentifierValue}
@@ -4,68 +4,78 @@
4
4
  "age": "Age",
5
5
  "allFieldsRequiredText": "All fields are required unless marked optional",
6
6
  "autoGeneratedPlaceholderText": "Auto-generated",
7
- "birthdayNotInTheFuture": "Birthday cannot be in the future",
7
+ "birthdayNotInTheFuture": "Birthday cannot be in future",
8
+ "birthdayNotOver140YearsAgo": "Birthday cannot be more than 140 years ago",
8
9
  "birthdayRequired": "Birthday is required",
9
10
  "birthFieldLabelText": "Birth",
10
11
  "cancel": "Cancel",
11
- "causeOfDeathInputLabel": "Cause of Death",
12
- "clientRegistryEmpty": "Create & Post Patient",
13
- "clientVerificationWithClientRegistry": "Client verification with client registry",
12
+ "causeOfDeathInputLabel": "Cause of death",
14
13
  "closeOverlay": "Close overlay",
15
14
  "codedPersonAttributeAnswerSetEmpty": "The coded person attribute field '{{codedPersonAttributeFieldId}}' has been defined with an answer concept set UUID '{{answerConceptSetUuid}}' that does not have any concept answers.",
16
15
  "codedPersonAttributeAnswerSetInvalid": "The coded person attribute field '{{codedPersonAttributeFieldId}}' has been defined with an invalid answer concept set UUID '{{answerConceptSetUuid}}'.",
17
16
  "codedPersonAttributeNoAnswerSet": "The person attribute field '{{codedPersonAttributeFieldId}}' is of type 'coded' but has been defined without an answer concept set UUID. The 'answerConceptSetUuid' key is required.",
18
17
  "configure": "Configure",
19
18
  "configureIdentifiers": "Configure identifiers",
19
+ "confirmDiscardChangesBody": "Your unsaved changes will be lost if you proceed to discard the form",
20
+ "confirmDiscardChangesTitle": "Are you sure you want to discard these changes?",
20
21
  "confirmIdentifierDeletionText": "Are you sure you want to remove this identifier?",
21
22
  "contactSection": "Contact Details",
22
23
  "createNewPatient": "Create new patient",
23
- "continue": "Continue to registration",
24
- "createNew": "Create New",
25
- "dateOfBirth": "Date of birth",
26
- "dateOfBirthLabelText": "Date of Birth",
27
- "deathDateInputLabel": "Date of Death",
28
- "deathdayNotInTheFuture": "Death day cannot be in the future",
24
+ "dateOfBirthLabelText": "Date of birth",
25
+ "deathCauseRequired": "Cause of death is required",
26
+ "deathDateInFuture": "Death date cannot be in future",
27
+ "deathDateInputLabel": "Date of death",
28
+ "deathDateRequired": "Death date is required",
29
+ "deathdayInvalidDate": "Death date and time cannot be before the birthday",
30
+ "deathdayIsRequired": "Death date is required when the patient is marked as deceased.",
31
+ "deathdayNotInTheFuture": "",
29
32
  "deathSection": "Death Info",
33
+ "deathTimeFormatInvalid": "Time format is invalid",
34
+ "deathTimeFormatRequired": "Time format is required",
35
+ "deathTimeInvalid": "Time doesn't match the format 'hh:mm'",
36
+ "deathTimeRequired": "Death time is required",
30
37
  "deleteIdentifierModalHeading": "Remove identifier?",
31
38
  "deleteIdentifierModalText": " has a value of ",
32
39
  "deleteIdentifierTooltip": "Delete",
33
40
  "deleteRelationshipTooltipText": "Delete",
34
41
  "demographicsSection": "Basic Info",
35
42
  "discard": "Discard",
36
- "discardModalBody": "The changes you made to this patient's details have not been saved. Discard changes?",
37
- "discardModalHeader": "Confirm Discard Changes",
38
43
  "dobToggleLabelText": "Date of Birth Known?",
39
44
  "editIdentifierTooltip": "Edit",
40
45
  "editPatientDetails": "Edit patient details",
41
46
  "editPatientDetailsBreadcrumb": "Edit patient details",
47
+ "enterNonCodedCauseOfDeath": "Enter non-coded cause of death",
42
48
  "error": "Error",
49
+ "errorFetchingCodedCausesOfDeath": "Error fetching coded causes of death",
43
50
  "errorFetchingOrderedFields": "Error occured fetching ordered fields for address hierarchy",
44
51
  "estimatedAgeInMonthsLabelText": "Estimated age in months",
45
52
  "estimatedAgeInYearsLabelText": "Estimated age in years",
46
53
  "familyNameLabelText": "Family Name",
47
54
  "familyNameRequired": "Family name is required",
48
55
  "female": "Female",
56
+ "fieldsWithErrors": "The following fields have errors: ",
49
57
  "fullNameLabelText": "Full Name",
50
58
  "gender": "Gender",
51
59
  "genderLabelText": "Sex",
52
60
  "genderRequired": "Gender is required",
53
- "genderUnspecified": "Gender is not specified",
61
+ "genderUnspecified": "Gender unspecified",
54
62
  "givenNameLabelText": "First Name",
55
63
  "givenNameRequired": "Given name is required",
56
64
  "identifierValueRequired": "Identifier value is required",
57
65
  "idFieldLabelText": "Identifiers",
58
66
  "IDInstructions": "Select the identifiers you'd like to add for this patient:",
59
- "incompleteForm": "Incomplete form",
60
- "invalidEmail": "A valid email has to be given",
67
+ "invalidEmail": "Invalid email",
61
68
  "invalidInput": "Invalid Input",
62
- "isDeadInputLabel": "Is Dead",
69
+ "isDeadInputLabel": "Is dead",
63
70
  "jumpTo": "Jump to",
64
71
  "male": "Male",
65
72
  "middleNameLabelText": "Middle Name",
66
- "negativeMonths": "Negative months",
67
- "negativeYears": "Negative years",
73
+ "negativeMonths": "Estimated months cannot be negative",
74
+ "negativeYears": "Estimated years cannot be negative",
68
75
  "no": "No",
76
+ "nonCodedCauseOfDeath": "Non-coded cause of death",
77
+ "nonCodedCauseOfDeathRequired": "Cause of death is required",
78
+ "nonsensicalYears": "Estimated years cannot be more than 140",
69
79
  "numberInNameDubious": "Number in name is dubious",
70
80
  "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'",
71
81
  "optional": "optional",
@@ -78,8 +88,8 @@
78
88
  "patientNameKnown": "Patient's Name is Known?",
79
89
  "patientNotFound": "The patient records could not be found in Client registry, do you want to continue to create and post patient to registry",
80
90
  "patientRegistrationBreadcrumb": "Patient Registration",
81
- "postToRegistry": "Post to registry",
82
- "registerPatient": "Register Patient",
91
+ "refreshOrContactAdmin": "Try refreshing the page or contact your system administrator",
92
+ "registerPatient": "Register patient",
83
93
  "registerPatientSuccessSnackbarSubtitle": "The patient can now be found by searching for them using their name or ID number",
84
94
  "registerPatientSuccessSnackbarTitle": "New Patient Created",
85
95
  "registrationErrorSnackbarTitle": "Patient Registration Failed",
@@ -89,9 +99,9 @@
89
99
  "relationshipRemovedText": "Relationship removed",
90
100
  "relationshipsSection": "Relationships",
91
101
  "relationshipToPatient": "Relationship to patient",
92
- "relativeFullNameLabelText": "Related person",
102
+ "relativeFullNameLabelText": "Full name",
93
103
  "relativeNamePlaceholder": "Firstname Familyname",
94
- "removeIdentifierButton": "Remove Identifier",
104
+ "removeIdentifierButton": "Remove identifier",
95
105
  "resetIdentifierTooltip": "Reset",
96
106
  "restoreRelationshipActionButton": "Undo",
97
107
  "searchAddress": "Search address",
@@ -101,15 +111,16 @@
101
111
  "selectIdentifierType": "Select identifier type",
102
112
  "sexFieldLabelText": "Sex",
103
113
  "source": "Source",
104
- "stroke": "Stroke",
105
114
  "submitting": "Submitting",
115
+ "timeFormat": "Time Format",
116
+ "timeOfDeathInputLabel": "Time of death (hh:mm)",
106
117
  "unableToFetch": "Unable to fetch person attribute type - {{personattributetype}}",
107
118
  "unknown": "Unknown",
108
119
  "unknownPatientAttributeType": "Patient attribute type has unknown format {{personAttributeTypeFormat}}",
109
- "updatePatient": "Update Patient",
120
+ "updatePatient": "Update patient",
110
121
  "updatePatientErrorSnackbarTitle": "Patient Details Update Failed",
111
122
  "updatePatientSuccessSnackbarSubtitle": "The patient's information has been successfully updated",
112
123
  "updatePatientSuccessSnackbarTitle": "Patient Details Updated",
113
- "yearsEstimateRequired": "Years estimate required",
124
+ "yearsEstimateRequired": "Estimated years required",
114
125
  "yes": "Yes"
115
126
  }
@@ -4,68 +4,78 @@
4
4
  "age": "Age",
5
5
  "allFieldsRequiredText": "جميع الحقول مطلوبة ما لم يتم التأشير عليها بأنها اختيارية",
6
6
  "autoGeneratedPlaceholderText": "تم إنشاؤه تلقائيًا",
7
- "birthdayNotInTheFuture": "Birthday cannot be in the future",
7
+ "birthdayNotInTheFuture": "Birthday cannot be in future",
8
+ "birthdayNotOver140YearsAgo": "Birthday cannot be more than 140 years ago",
8
9
  "birthdayRequired": "Birthday is required",
9
10
  "birthFieldLabelText": "الميلاد",
10
11
  "cancel": "إلغاء",
11
- "causeOfDeathInputLabel": "سبب الوفاة",
12
- "clientRegistryEmpty": "Create & Post Patient",
13
- "clientVerificationWithClientRegistry": "Client verification with client registry",
12
+ "causeOfDeathInputLabel": "Cause of death",
14
13
  "closeOverlay": "Close overlay",
15
14
  "codedPersonAttributeAnswerSetEmpty": "The coded person attribute field '{{codedPersonAttributeFieldId}}' has been defined with an answer concept set UUID '{{answerConceptSetUuid}}' that does not have any concept answers.",
16
15
  "codedPersonAttributeAnswerSetInvalid": "The coded person attribute field '{{codedPersonAttributeFieldId}}' has been defined with an invalid answer concept set UUID '{{answerConceptSetUuid}}'.",
17
16
  "codedPersonAttributeNoAnswerSet": "The person attribute field '{{codedPersonAttributeFieldId}}' is of type 'coded' but has been defined without an answer concept set UUID. The 'answerConceptSetUuid' key is required.",
18
17
  "configure": "تكوين",
19
18
  "configureIdentifiers": "Configure identifiers",
19
+ "confirmDiscardChangesBody": "Your unsaved changes will be lost if you proceed to discard the form",
20
+ "confirmDiscardChangesTitle": "Are you sure you want to discard these changes?",
20
21
  "confirmIdentifierDeletionText": "Are you sure you want to remove this identifier?",
21
22
  "contactSection": "تفاصيل الاتصال",
22
23
  "createNewPatient": "Create new patient",
23
- "continue": "Continue to registration",
24
- "createNew": "أنشئ جديد",
25
- "dateOfBirth": "Date of birth",
26
- "dateOfBirthLabelText": "تاريخ الميلاد",
27
- "deathDateInputLabel": "تاريخ الوفاة",
28
- "deathdayNotInTheFuture": "Death day cannot be in the future",
24
+ "dateOfBirthLabelText": "Date of birth",
25
+ "deathCauseRequired": "Cause of death is required",
26
+ "deathDateInFuture": "Death date cannot be in future",
27
+ "deathDateInputLabel": "Date of death",
28
+ "deathDateRequired": "Death date is required",
29
+ "deathdayInvalidDate": "Death date and time cannot be before the birthday",
30
+ "deathdayIsRequired": "Death date is required when the patient is marked as deceased.",
31
+ "deathdayNotInTheFuture": "",
29
32
  "deathSection": "معلومات الوفاة",
33
+ "deathTimeFormatInvalid": "Time format is invalid",
34
+ "deathTimeFormatRequired": "Time format is required",
35
+ "deathTimeInvalid": "Time doesn't match the format 'hh:mm'",
36
+ "deathTimeRequired": "Death time is required",
30
37
  "deleteIdentifierModalHeading": "Remove identifier?",
31
38
  "deleteIdentifierModalText": " has a value of ",
32
39
  "deleteIdentifierTooltip": "حذف",
33
40
  "deleteRelationshipTooltipText": "حذف",
34
41
  "demographicsSection": "معلومات أساسية",
35
42
  "discard": "تجاهل",
36
- "discardModalBody": "لم يتم حفظ التغييرات التي قمت بها في تفاصيل هذا المريض. هل تريد تجاهل التغييرات؟",
37
- "discardModalHeader": "تأكيد تجاهل التغييرات",
38
43
  "dobToggleLabelText": "هل تاريخ الميلاد معروف؟",
39
44
  "editIdentifierTooltip": "تعديل",
40
45
  "editPatientDetails": "تعديل تفاصيل المريض",
41
46
  "editPatientDetailsBreadcrumb": "Edit patient details",
47
+ "enterNonCodedCauseOfDeath": "Enter non-coded cause of death",
42
48
  "error": "خطأ",
49
+ "errorFetchingCodedCausesOfDeath": "Error fetching coded causes of death",
43
50
  "errorFetchingOrderedFields": "حدث خطأ أثناء جلب الحقول المرتبة لتسلسل العنوان",
44
51
  "estimatedAgeInMonthsLabelText": "العمر المقدر بالشهور",
45
52
  "estimatedAgeInYearsLabelText": "العمر المقدر بالسنوات",
46
53
  "familyNameLabelText": "اسم العائلة",
47
54
  "familyNameRequired": "Family name is required",
48
55
  "female": "أنثى",
56
+ "fieldsWithErrors": "The following fields have errors: ",
49
57
  "fullNameLabelText": "الاسم الكامل",
50
58
  "gender": "Gender",
51
59
  "genderLabelText": "الجنس",
52
60
  "genderRequired": "Gender is required",
53
- "genderUnspecified": "Gender is not specified",
61
+ "genderUnspecified": "Gender unspecified",
54
62
  "givenNameLabelText": "الاسم الأول",
55
63
  "givenNameRequired": "Given name is required",
56
64
  "identifierValueRequired": "قيمة المعرف مطلوبة",
57
65
  "idFieldLabelText": "المعرفات",
58
66
  "IDInstructions": "Select the identifiers you'd like to add for this patient:",
59
- "incompleteForm": "نموذج غير مكتمل",
60
- "invalidEmail": "A valid email has to be given",
67
+ "invalidEmail": "Invalid email",
61
68
  "invalidInput": "إدخال غير صالح",
62
- "isDeadInputLabel": "هل المريض متوفى؟",
69
+ "isDeadInputLabel": "Is dead",
63
70
  "jumpTo": "اذهب إلى",
64
71
  "male": "ذكر",
65
72
  "middleNameLabelText": "الاسم الأوسط",
66
- "negativeMonths": "Negative months",
67
- "negativeYears": "Negative years",
73
+ "negativeMonths": "Estimated months cannot be negative",
74
+ "negativeYears": "Estimated years cannot be negative",
68
75
  "no": "لا",
76
+ "nonCodedCauseOfDeath": "Non-coded cause of death",
77
+ "nonCodedCauseOfDeathRequired": "Cause of death is required",
78
+ "nonsensicalYears": "Estimated years cannot be more than 140",
69
79
  "numberInNameDubious": "Number in name is dubious",
70
80
  "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'",
71
81
  "optional": "اختياري",
@@ -78,8 +88,8 @@
78
88
  "patientNameKnown": "هل اسم المريض معروف؟",
79
89
  "patientNotFound": "The patient records could not be found in Client registry, do you want to continue to create and post patient to registry",
80
90
  "patientRegistrationBreadcrumb": "Patient Registration",
81
- "postToRegistry": "Post to registry",
82
- "registerPatient": "تسجيل المريض",
91
+ "refreshOrContactAdmin": "Try refreshing the page or contact your system administrator",
92
+ "registerPatient": "Register patient",
83
93
  "registerPatientSuccessSnackbarSubtitle": "The patient can now be found by searching for them using their name or ID number",
84
94
  "registerPatientSuccessSnackbarTitle": "New Patient Created",
85
95
  "registrationErrorSnackbarTitle": "Patient Registration Failed",
@@ -89,9 +99,9 @@
89
99
  "relationshipRemovedText": "تمت إزالة العلاقة",
90
100
  "relationshipsSection": "العلاقات",
91
101
  "relationshipToPatient": "العلاقة بالمريض",
92
- "relativeFullNameLabelText": "الاسم الكامل للقريب",
102
+ "relativeFullNameLabelText": "Full name",
93
103
  "relativeNamePlaceholder": "الاسم الأول اسم العائلة",
94
- "removeIdentifierButton": "Remove Identifier",
104
+ "removeIdentifierButton": "Remove identifier",
95
105
  "resetIdentifierTooltip": "إعادة تعيين",
96
106
  "restoreRelationshipActionButton": "تراجع",
97
107
  "searchAddress": "ابحث عن العنوان",
@@ -101,15 +111,16 @@
101
111
  "selectIdentifierType": "Select identifier type",
102
112
  "sexFieldLabelText": "الجنس",
103
113
  "source": "Source",
104
- "stroke": "جلطة",
105
114
  "submitting": "Submitting",
106
- "unableToFetch": "تعذر الجلب نوع السمة الشخصية - {{personattributetype}}",
115
+ "timeFormat": "Time Format",
116
+ "timeOfDeathInputLabel": "Time of death (hh:mm)",
117
+ "unableToFetch": "Unable to fetch person attribute type - {{personattributetype}}",
107
118
  "unknown": "غير معروف",
108
119
  "unknownPatientAttributeType": "Patient attribute type has unknown format {{personAttributeTypeFormat}}",
109
- "updatePatient": "تحديث المريض",
120
+ "updatePatient": "Update patient",
110
121
  "updatePatientErrorSnackbarTitle": "Patient Details Update Failed",
111
122
  "updatePatientSuccessSnackbarSubtitle": "The patient's information has been successfully updated",
112
123
  "updatePatientSuccessSnackbarTitle": "Patient Details Updated",
113
- "yearsEstimateRequired": "Years estimate required",
124
+ "yearsEstimateRequired": "Estimated years required",
114
125
  "yes": "نعم"
115
126
  }
@@ -4,11 +4,12 @@
4
4
  "age": "Age",
5
5
  "allFieldsRequiredText": "All fields are required unless marked optional",
6
6
  "autoGeneratedPlaceholderText": "Auto-generated",
7
- "birthdayNotInTheFuture": "Birthday cannot be in the future",
7
+ "birthdayNotInTheFuture": "Birthday cannot be in future",
8
+ "birthdayNotOver140YearsAgo": "Birthday cannot be more than 140 years ago",
8
9
  "birthdayRequired": "Birthday is required",
9
10
  "birthFieldLabelText": "Birth",
10
11
  "cancel": "Cancel",
11
- "causeOfDeathInputLabel": "Cause of Death",
12
+ "causeOfDeathInputLabel": "Cause of death",
12
13
  "clientRegistryEmpty": "Create & Post Patient",
13
14
  "clientRegistryError": "Error occurred while reaching the client registry",
14
15
  "clientRegistryErrorSubtitle": "Please proceed with registration contact system admin and try again later",
@@ -19,67 +20,92 @@
19
20
  "codedPersonAttributeNoAnswerSet": "The person attribute field '{{codedPersonAttributeFieldId}}' is of type 'coded' but has been defined without an answer concept set UUID. The 'answerConceptSetUuid' key is required.",
20
21
  "configure": "Configure",
21
22
  "configureIdentifiers": "Configure identifiers",
23
+ "confirmDiscardChangesBody": "Your unsaved changes will be lost if you proceed to discard the form",
24
+ "confirmDiscardChangesTitle": "Are you sure you want to discard these changes?",
22
25
  "confirmIdentifierDeletionText": "Are you sure you want to remove this identifier?",
23
26
  "contactSection": "Contact Details",
24
27
  "continue": "Continue",
25
28
  "createNewPatient": "Create new patient",
26
29
  "dateOfBirth": "Date of birth",
27
- "dateOfBirthLabelText": "Date of Birth",
28
- "deathDateInputLabel": "Date of Death",
29
- "deathdayNotInTheFuture": "Death day cannot be in the future",
30
+ "dateOfBirthLabelText": "Date of birth",
31
+ "deathCauseRequired": "Cause of death is required",
32
+ "deathDateInFuture": "Death date cannot be in future",
33
+ "deathDateInputLabel": "Date of death",
34
+ "deathDateRequired": "Death date is required",
35
+ "deathdayInvalidDate": "Death date and time cannot be before the birthday",
36
+ "deathdayIsRequired": "Death date is required when the patient is marked as deceased.",
37
+ "deathdayNotInTheFuture": "",
30
38
  "deathSection": "Death Info",
39
+ "deathTimeFormatInvalid": "Time format is invalid",
40
+ "deathTimeFormatRequired": "Time format is required",
41
+ "deathTimeInvalid": "Time doesn't match the format 'hh:mm'",
42
+ "deathTimeRequired": "Death time is required",
31
43
  "deleteIdentifierModalHeading": "Remove identifier?",
32
44
  "deleteIdentifierModalText": " has a value of ",
33
45
  "deleteIdentifierTooltip": "Delete",
34
46
  "deleteRelationshipTooltipText": "Delete",
35
47
  "demographicsSection": "Basic Info",
48
+ "dependents": "Dependents",
36
49
  "discard": "Discard",
37
- "discardModalBody": "The changes you made to this patient's details have not been saved. Discard changes?",
38
- "discardModalHeader": "Confirm Discard Changes",
39
50
  "dobToggleLabelText": "Date of Birth Known?",
40
51
  "editIdentifierTooltip": "Edit",
41
52
  "editPatientDetails": "Edit patient details",
42
53
  "editPatientDetailsBreadcrumb": "Edit patient details",
54
+ "enterIdentifierSearchValue": "Enter identifier search value",
55
+ "enterNonCodedCauseOfDeath": "Enter non-coded cause of death",
43
56
  "error": "Error",
57
+ "errorFetchingCodedCausesOfDeath": "Error fetching coded causes of death",
44
58
  "errorFetchingOrderedFields": "Error occured fetching ordered fields for address hierarchy",
59
+ "errorFetchingPatient": "Error fetching patient",
45
60
  "estimatedAgeInMonthsLabelText": "Estimated age in months",
46
61
  "estimatedAgeInYearsLabelText": "Estimated age in years",
47
62
  "familyNameLabelText": "Family Name",
48
63
  "familyNameRequired": "Family name is required",
49
64
  "female": "Female",
65
+ "fieldsWithErrors": "The following fields have errors: ",
50
66
  "fullNameLabelText": "Full Name",
51
67
  "gender": "Gender",
52
68
  "genderLabelText": "Sex",
53
69
  "genderRequired": "Gender is required",
54
- "genderUnspecified": "Gender is not specified",
70
+ "genderUnspecified": "Gender unspecified",
55
71
  "givenNameLabelText": "First Name",
56
72
  "givenNameRequired": "Given name is required",
73
+ "healthID": "HealthID",
74
+ "hieModal": "HIE Patient Record Found",
75
+ "identifierSearch": "Identifier search",
76
+ "identifierType": "Identifier type",
57
77
  "identifierValueRequired": "Identifier value is required",
58
78
  "idFieldLabelText": "Identifiers",
59
79
  "IDInstructions": "Select the identifiers you'd like to add for this patient:",
60
- "incompleteForm": "Incomplete form",
61
- "invalidEmail": "A valid email has to be given",
80
+ "invalidEmail": "Invalid email",
62
81
  "invalidInput": "Invalid Input",
63
- "isDeadInputLabel": "Is Dead",
82
+ "isDeadInputLabel": "Is dead",
64
83
  "jumpTo": "Jump to",
65
84
  "male": "Male",
85
+ "maritalStatus": "Marital status",
66
86
  "middleNameLabelText": "Middle Name",
67
87
  "nationalId": "National ID",
68
- "negativeMonths": "Negative months",
69
- "negativeYears": "Negative years",
88
+ "negativeMonths": "Estimated months cannot be negative",
89
+ "negativeYears": "Estimated years cannot be negative",
70
90
  "no": "No",
91
+ "nonCodedCauseOfDeath": "Non-coded cause of death",
92
+ "nonCodedCauseOfDeathRequired": "Cause of death is required",
93
+ "nonsensicalYears": "Estimated years cannot be more than 140",
71
94
  "numberInNameDubious": "Number in name is dubious",
72
95
  "nupi": "NUPI",
73
96
  "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'",
74
97
  "optional": "optional",
98
+ "optionalIdentifierLabel": "{{identifierName}} (optional)",
75
99
  "other": "Other",
76
100
  "patientDetailsFound": "Patient information found in the registry, do you want to use the information to continue with registration?",
77
101
  "patientName": "Patient name",
78
102
  "patientNameKnown": "Patient's Name is Known?",
79
103
  "patientNotFound": "The patient records could not be found in Client registry, do you want to continue to create and post patient to registry",
80
104
  "patientRegistrationBreadcrumb": "Patient Registration",
105
+ "patientVerificationFromHIE": "Patient verification from HIE",
81
106
  "postToRegistry": "Post to registry",
82
- "registerPatient": "Register Patient",
107
+ "refreshOrContactAdmin": "Try refreshing the page or contact your system administrator",
108
+ "registerPatient": "Register patient",
83
109
  "registerPatientSuccessSnackbarSubtitle": "The patient can now be found by searching for them using their name or ID number",
84
110
  "registerPatientSuccessSnackbarTitle": "New Patient Created",
85
111
  "registrationErrorSnackbarTitle": "Patient Registration Failed",
@@ -89,31 +115,36 @@
89
115
  "relationshipRemovedText": "Relationship removed",
90
116
  "relationshipsSection": "Relationships",
91
117
  "relationshipToPatient": "Relationship to patient",
92
- "relativeFullNameLabelText": "Related person",
118
+ "relativeFullNameLabelText": "Full name",
93
119
  "relativeNamePlaceholder": "Firstname Familyname",
94
- "removeIdentifierButton": "Remove Identifier",
120
+ "removeIdentifierButton": "Remove identifier",
95
121
  "resetIdentifierTooltip": "Reset",
96
122
  "restoreRelationshipActionButton": "Undo",
97
123
  "searchAddress": "Search address",
98
124
  "searchClientRegistry": "Search client registry",
99
125
  "searchIdentifierPlaceholder": "Search identifier",
126
+ "searchingRegistry": "Searching registry...",
127
+ "searchLocationPersonAttribute": "Search location",
128
+ "searchRegistry": "Search registry",
100
129
  "selectAnOption": "Select an option",
101
130
  "selectCountry": "Select country",
102
131
  "selectIdentifierType": "Select identifier type",
103
132
  "sexFieldLabelText": "Sex",
104
133
  "shaNumber": "SHA Number",
105
134
  "source": "Source",
106
- "stroke": "Stroke",
107
135
  "submitting": "Submitting",
108
- "unableToFetch": "Unable to fetch person attribute type {{personattributetype}}",
136
+ "timeFormat": "Time Format",
137
+ "timeOfDeathInputLabel": "Time of death (hh:mm)",
138
+ "unableToFetch": "Unable to fetch person attribute type - {{personattributetype}}",
109
139
  "unknown": "Unknown",
110
140
  "unknownPatientAttributeType": "Patient attribute type has unknown format {{personAttributeTypeFormat}}",
111
- "updatePatient": "Update Patient",
141
+ "updatePatient": "Update patient",
112
142
  "updatePatientErrorSnackbarTitle": "Patient Details Update Failed",
113
143
  "updatePatientSuccessSnackbarSubtitle": "The patient's information has been successfully updated",
114
144
  "updatePatientSuccessSnackbarTitle": "Patient Details Updated",
115
145
  "useValues": "Use values",
116
146
  "validate": "Validate",
117
- "yearsEstimateRequired": "Years estimate required",
147
+ "viewFullResponse": "View full response",
148
+ "yearsEstimateRequired": "Estimated years required",
118
149
  "yes": "Yes"
119
150
  }