@kenyaemr/esm-patient-registration-app 5.2.1 → 5.2.3

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 (111) hide show
  1. package/dist/102.js +1 -0
  2. package/dist/102.js.map +1 -0
  3. package/dist/130.js +1 -1
  4. package/dist/130.js.map +1 -1
  5. package/dist/271.js +1 -0
  6. package/dist/319.js +1 -1
  7. package/dist/431.js +2 -0
  8. package/dist/431.js.map +1 -0
  9. package/dist/460.js +1 -1
  10. package/dist/537.js +1 -1
  11. package/dist/537.js.map +1 -1
  12. package/dist/574.js +1 -1
  13. package/dist/644.js +1 -0
  14. package/dist/757.js +1 -1
  15. package/dist/784.js +1 -1
  16. package/dist/788.js +1 -1
  17. package/dist/807.js +1 -1
  18. package/dist/833.js +1 -1
  19. package/dist/kenyaemr-esm-patient-registration-app.js +1 -1
  20. package/dist/kenyaemr-esm-patient-registration-app.js.buildmanifest.json +91 -47
  21. package/dist/kenyaemr-esm-patient-registration-app.js.map +1 -1
  22. package/dist/main.js +1 -1
  23. package/dist/main.js.map +1 -1
  24. package/dist/routes.json +1 -1
  25. package/dist.tar.gz +0 -0
  26. package/package.json +3 -2
  27. package/src/add-patient-link.test.tsx +9 -7
  28. package/src/config-schema.ts +31 -38
  29. package/src/constants.ts +1 -1
  30. package/src/offline.resources.ts +1 -1
  31. package/src/offline.ts +2 -2
  32. package/src/patient-registration/before-save-prompt.tsx +2 -1
  33. package/src/patient-registration/field/__mocks__/field.resource.ts +1 -1
  34. package/src/patient-registration/field/address/address-field.component.tsx +5 -4
  35. package/src/patient-registration/field/address/address-hierarchy.resource.tsx +2 -2
  36. package/src/patient-registration/field/address/address-search.component.tsx +1 -14
  37. package/src/patient-registration/field/address/custom-address-field.component.tsx +1 -1
  38. package/src/patient-registration/field/address/tests/address-hierarchy.test.tsx +3 -3
  39. package/src/patient-registration/field/address/tests/address-search-component.test.tsx +14 -7
  40. package/src/patient-registration/field/custom-field.component.tsx +1 -1
  41. package/src/patient-registration/field/dob/dob.component.tsx +2 -2
  42. package/src/patient-registration/field/dob/dob.test.tsx +0 -3
  43. package/src/patient-registration/field/field.component.tsx +4 -1
  44. package/src/patient-registration/field/field.resource.ts +2 -2
  45. package/src/patient-registration/field/field.test.tsx +98 -95
  46. package/src/patient-registration/field/gender/gender-field.component.tsx +4 -4
  47. package/src/patient-registration/field/gender/gender-field.test.tsx +7 -14
  48. package/src/patient-registration/field/id/id-field.component.tsx +6 -6
  49. package/src/patient-registration/field/id/id-field.test.tsx +9 -7
  50. package/src/patient-registration/field/id/identifier-selection-overlay.component.tsx +1 -1
  51. package/src/patient-registration/field/name/name-field.component.tsx +1 -1
  52. package/src/patient-registration/field/obs/obs-field.component.tsx +35 -33
  53. package/src/patient-registration/field/obs/obs-field.test.tsx +106 -28
  54. package/src/patient-registration/field/person-attributes/coded-attributes.component.tsx +1 -1
  55. package/src/patient-registration/field/person-attributes/coded-person-attribute-field.component.tsx +67 -24
  56. package/src/patient-registration/field/person-attributes/coded-person-attribute-field.test.tsx +54 -30
  57. package/src/patient-registration/field/person-attributes/person-attribute-field.component.tsx +4 -3
  58. package/src/patient-registration/field/person-attributes/person-attribute-field.test.tsx +1 -1
  59. package/src/patient-registration/field/person-attributes/{person-attributes.resource.tsx → person-attributes.resource.ts} +2 -2
  60. package/src/patient-registration/field/person-attributes/text-person-attribute-field.component.tsx +1 -1
  61. package/src/patient-registration/field/phone/phone-field.component.tsx +16 -0
  62. package/src/patient-registration/form-manager.test.ts +1 -1
  63. package/src/patient-registration/form-manager.ts +14 -22
  64. package/src/patient-registration/input/basic-input/select/select-input.test.tsx +3 -3
  65. package/src/patient-registration/input/custom-input/autosuggest/autosuggest.component.tsx +5 -5
  66. package/src/patient-registration/input/custom-input/autosuggest/autosuggest.test.tsx +70 -58
  67. package/src/patient-registration/input/custom-input/identifier/identifier-input.component.tsx +1 -1
  68. package/src/patient-registration/input/custom-input/identifier/identifier-input.test.tsx +2 -5
  69. package/src/patient-registration/input/custom-input/identifier/utils.ts +1 -1
  70. package/src/patient-registration/input/dummy-data/dummy-data-input.component.tsx +1 -1
  71. package/src/patient-registration/input/dummy-data/dummy-data-input.test.tsx +6 -6
  72. package/src/patient-registration/patient-registration-context.ts +3 -4
  73. package/src/patient-registration/patient-registration-hooks.ts +12 -12
  74. package/src/patient-registration/patient-registration-utils.ts +7 -7
  75. package/src/patient-registration/patient-registration.component.tsx +7 -7
  76. package/src/patient-registration/{patient-registration.resource.tsx → patient-registration.resource.ts} +1 -1
  77. package/src/patient-registration/patient-registration.test.tsx +270 -251
  78. package/src/patient-registration/{patient-registration.types.tsx → patient-registration.types.ts} +11 -3
  79. package/src/patient-registration/section/death-info/death-info-section.test.tsx +33 -45
  80. package/src/patient-registration/section/demographics/demographics-section.test.tsx +1 -2
  81. package/src/patient-registration/section/generic-section.component.tsx +1 -1
  82. package/src/patient-registration/section/patient-relationships/relationships-section.component.tsx +3 -3
  83. package/src/patient-registration/section/patient-relationships/relationships-section.test.tsx +17 -5
  84. package/src/patient-registration/section/patient-relationships/relationships.resource.tsx +3 -3
  85. package/src/patient-registration/section/section-wrapper.component.tsx +1 -1
  86. package/src/patient-registration/section/section.component.tsx +1 -1
  87. package/src/patient-registration/validation/patient-registration-validation.test.tsx +140 -126
  88. package/src/patient-registration/validation/patient-registration-validation.tsx +54 -46
  89. package/src/widgets/cancel-patient-edit.test.tsx +7 -4
  90. package/src/widgets/delete-identifier-confirmation-modal.test.tsx +7 -4
  91. package/src/widgets/display-photo.test.tsx +1 -1
  92. package/src/widgets/edit-patient-details-button.test.tsx +12 -7
  93. package/translations/am.json +4 -2
  94. package/translations/ar.json +4 -2
  95. package/translations/en.json +4 -2
  96. package/translations/es.json +4 -2
  97. package/translations/fr.json +4 -2
  98. package/translations/he.json +4 -2
  99. package/translations/km.json +4 -2
  100. package/translations/zh.json +89 -0
  101. package/translations/zh_CN.json +89 -0
  102. package/tsconfig.json +1 -1
  103. package/__mocks__/autogenerationoptions.mock.ts +0 -34
  104. package/dist/388.js +0 -2
  105. package/dist/388.js.map +0 -1
  106. package/dist/598.js +0 -1
  107. package/dist/598.js.map +0 -1
  108. package/src/patient-registration/field/__mocks__/identifier-types.mock.ts +0 -76
  109. package/src/patient-registration/field/__mocks__/identifiers.mock.ts +0 -27
  110. package/src/patient-registration/field/address/tests/mocks.ts +0 -98
  111. /package/dist/{388.js.LICENSE.txt → 431.js.LICENSE.txt} +0 -0
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- import { screen, render, fireEvent } from '@testing-library/react';
2
+ import userEvent from '@testing-library/user-event';
3
+ import { screen, render } from '@testing-library/react';
3
4
  import CancelPatientEdit from './cancel-patient-edit.component';
4
5
 
5
6
  describe('CancelPatientEdit component', () => {
@@ -10,15 +11,17 @@ describe('CancelPatientEdit component', () => {
10
11
  jest.clearAllMocks();
11
12
  });
12
13
 
13
- it('renders the modal and triggers close and onConfirm functions', () => {
14
+ it('renders the modal and triggers close and onConfirm functions', async () => {
15
+ const user = userEvent.setup();
16
+
14
17
  render(<CancelPatientEdit close={mockClose} onConfirm={mockOnConfirm} />);
15
18
 
16
19
  const cancelButton = screen.getByRole('button', { name: /Cancel/i });
17
- fireEvent.click(cancelButton);
20
+ await user.click(cancelButton);
18
21
  expect(mockClose).toHaveBeenCalledTimes(1);
19
22
 
20
23
  const discardButton = screen.getByRole('button', { name: /discard/i });
21
- fireEvent.click(discardButton);
24
+ await user.click(discardButton);
22
25
  expect(mockOnConfirm).toHaveBeenCalledTimes(1);
23
26
  });
24
27
  });
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- import { render, fireEvent, screen } from '@testing-library/react';
2
+ import userEvent from '@testing-library/user-event';
3
+ import { render, screen } from '@testing-library/react';
3
4
  import DeleteIdentifierConfirmationModal from './delete-identifier-confirmation-modal';
4
5
 
5
6
  describe('DeleteIdentifierConfirmationModal component', () => {
@@ -11,7 +12,9 @@ describe('DeleteIdentifierConfirmationModal component', () => {
11
12
  jest.clearAllMocks();
12
13
  });
13
14
 
14
- it('renders the modal and triggers deleteIdentifier function', () => {
15
+ it('renders the modal and triggers deleteIdentifier function', async () => {
16
+ const user = userEvent.setup();
17
+
15
18
  render(
16
19
  <DeleteIdentifierConfirmationModal
17
20
  deleteIdentifier={mockDeleteIdentifier}
@@ -21,11 +24,11 @@ describe('DeleteIdentifierConfirmationModal component', () => {
21
24
  );
22
25
 
23
26
  const cancelButton = screen.getByRole('button', { name: /cancel/i });
24
- fireEvent.click(cancelButton);
27
+ await user.click(cancelButton);
25
28
  expect(mockDeleteIdentifier).toHaveBeenCalledWith(false);
26
29
 
27
30
  const removeButton = screen.getByRole('button', { name: /remove identifier/i });
28
- fireEvent.click(removeButton);
31
+ await user.click(removeButton);
29
32
  expect(mockDeleteIdentifier).toHaveBeenCalledWith(true);
30
33
  });
31
34
  });
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { render, screen } from '@testing-library/react';
3
+ import { mockPatient } from '__mocks__';
3
4
  import DisplayPatientPhoto from './display-photo.component';
4
- import { mockPatient } from '../../../../__mocks__/appointments.mock';
5
5
 
6
6
  jest.mock('../patient-registration/patient-registration.resource', () => ({
7
7
  usePatientPhoto: jest.fn().mockReturnValue({ data: { imageSrc: 'test-image-src' } }),
@@ -1,12 +1,15 @@
1
1
  import React from 'react';
2
- import { render, fireEvent, screen } from '@testing-library/react';
3
- import EditPatientDetailsButton from './edit-patient-details-button.component';
2
+ import userEvent from '@testing-library/user-event';
3
+ import { render, screen } from '@testing-library/react';
4
4
  import { navigate } from '@openmrs/esm-framework';
5
- import { mockPatient } from '../../../../__mocks__/appointments.mock';
5
+ import { mockPatient } from '__mocks__';
6
+ import EditPatientDetailsButton from './edit-patient-details-button.component';
6
7
 
7
8
  describe('EditPatientDetailsButton', () => {
8
9
  const patientUuid = mockPatient.uuid;
9
- it('should navigate to the edit page when clicked', () => {
10
+
11
+ it('should navigate to the edit page when clicked', async () => {
12
+ const user = userEvent.setup();
10
13
  const mockNavigate = navigate as jest.Mock;
11
14
 
12
15
  jest.mock('@openmrs/esm-framework', () => {
@@ -19,17 +22,19 @@ describe('EditPatientDetailsButton', () => {
19
22
  render(<EditPatientDetailsButton patientUuid={patientUuid} />);
20
23
 
21
24
  const button = screen.getByRole('menuitem');
22
- fireEvent.click(button);
25
+ await user.click(button);
23
26
 
24
27
  expect(mockNavigate).toHaveBeenCalledWith({ to: expect.stringContaining(`/patient/${patientUuid}/edit`) });
25
28
  });
26
29
 
27
- it('should call the onTransition function when provided', () => {
30
+ it('should call the onTransition function when provided', async () => {
31
+ const user = userEvent.setup();
32
+
28
33
  const onTransitionMock = jest.fn();
29
34
  render(<EditPatientDetailsButton patientUuid={patientUuid} onTransition={onTransitionMock} />);
30
35
 
31
36
  const button = screen.getByRole('menuitem');
32
- fireEvent.click(button);
37
+ await user.click(button);
33
38
 
34
39
  expect(onTransitionMock).toHaveBeenCalled();
35
40
  });
@@ -12,6 +12,9 @@
12
12
  "clientRegistryEmpty": "Create & Post Patient",
13
13
  "clientVerificationWithClientRegistry": "Client verification with client registry",
14
14
  "closeOverlay": "Close overlay",
15
+ "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
+ "codedPersonAttributeAnswerSetInvalid": "The coded person attribute field '{{codedPersonAttributeFieldId}}' has been defined with an invalid answer concept set UUID '{{answerConceptSetUuid}}'.",
17
+ "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.",
15
18
  "configure": "Configure",
16
19
  "configureIdentifiers": "Configure identifiers",
17
20
  "contactSection": "Contact Details",
@@ -55,7 +58,6 @@
55
58
  "invalidInput": "Invalid Input",
56
59
  "isDeadInputLabel": "Is Dead",
57
60
  "jumpTo": "Jump to",
58
- "loadingResults": "Loading results",
59
61
  "male": "Male",
60
62
  "middleNameLabelText": "Middle Name",
61
63
  "nascopNumber": "Nascop facility no",
@@ -63,8 +65,8 @@
63
65
  "negativeMonths": "",
64
66
  "negativeYears": "",
65
67
  "no": "No",
66
- "noResultsFound": "No results found",
67
68
  "numberInNameDubious": "",
69
+ "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'",
68
70
  "optional": "optional",
69
71
  "originFacilityCode": "Origin facility code",
70
72
  "originFacilityName": "Origin facility name",
@@ -12,6 +12,9 @@
12
12
  "clientRegistryEmpty": "Create & Post Patient",
13
13
  "clientVerificationWithClientRegistry": "Client verification with client registry",
14
14
  "closeOverlay": "Close overlay",
15
+ "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
+ "codedPersonAttributeAnswerSetInvalid": "The coded person attribute field '{{codedPersonAttributeFieldId}}' has been defined with an invalid answer concept set UUID '{{answerConceptSetUuid}}'.",
17
+ "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.",
15
18
  "configure": "تكوين",
16
19
  "configureIdentifiers": "Configure identifiers",
17
20
  "contactSection": "تفاصيل الاتصال",
@@ -55,7 +58,6 @@
55
58
  "invalidInput": "إدخال غير صالح",
56
59
  "isDeadInputLabel": "هل المريض متوفى؟",
57
60
  "jumpTo": "اذهب إلى",
58
- "loadingResults": "جارٍ تحميل النتائج",
59
61
  "male": "ذكر",
60
62
  "middleNameLabelText": "الاسم الأوسط",
61
63
  "nascopNumber": "Nascop facility no",
@@ -63,8 +65,8 @@
63
65
  "negativeMonths": "",
64
66
  "negativeYears": "",
65
67
  "no": "لا",
66
- "noResultsFound": "لم يتم العثور على نتائج",
67
68
  "numberInNameDubious": "",
69
+ "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'",
68
70
  "optional": "اختياري",
69
71
  "originFacilityCode": "Origin facility code",
70
72
  "originFacilityName": "Origin facility name",
@@ -12,6 +12,9 @@
12
12
  "clientRegistryEmpty": "Create & Post Patient",
13
13
  "clientVerificationWithClientRegistry": "Client verification with client registry",
14
14
  "closeOverlay": "Close overlay",
15
+ "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
+ "codedPersonAttributeAnswerSetInvalid": "The coded person attribute field '{{codedPersonAttributeFieldId}}' has been defined with an invalid answer concept set UUID '{{answerConceptSetUuid}}'.",
17
+ "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.",
15
18
  "configure": "Configure",
16
19
  "configureIdentifiers": "Configure identifiers",
17
20
  "contactSection": "Contact Details",
@@ -55,7 +58,6 @@
55
58
  "invalidInput": "Invalid Input",
56
59
  "isDeadInputLabel": "Is Dead",
57
60
  "jumpTo": "Jump to",
58
- "loadingResults": "Loading results",
59
61
  "male": "Male",
60
62
  "middleNameLabelText": "Middle Name",
61
63
  "nascopNumber": "Nascop facility no",
@@ -63,8 +65,8 @@
63
65
  "negativeMonths": "Negative months",
64
66
  "negativeYears": "Negative years",
65
67
  "no": "No",
66
- "noResultsFound": "No results found",
67
68
  "numberInNameDubious": "Number in name is dubious",
69
+ "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'",
68
70
  "optional": "optional",
69
71
  "originFacilityCode": "Origin facility code",
70
72
  "originFacilityName": "Origin facility name",
@@ -12,6 +12,9 @@
12
12
  "clientRegistryEmpty": "Create & Post Patient",
13
13
  "clientVerificationWithClientRegistry": "Client verification with client registry",
14
14
  "closeOverlay": "Close overlay",
15
+ "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
+ "codedPersonAttributeAnswerSetInvalid": "The coded person attribute field '{{codedPersonAttributeFieldId}}' has been defined with an invalid answer concept set UUID '{{answerConceptSetUuid}}'.",
17
+ "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.",
15
18
  "configure": "Configurar",
16
19
  "configureIdentifiers": "Configure identifiers",
17
20
  "contactSection": "Detalles de Contacto",
@@ -55,7 +58,6 @@
55
58
  "invalidInput": "Entrada no válida",
56
59
  "isDeadInputLabel": "Está muerto",
57
60
  "jumpTo": "Ir a",
58
- "loadingResults": "Cargando resultados",
59
61
  "male": "Masculino",
60
62
  "middleNameLabelText": "Segundo Nombre",
61
63
  "nascopNumber": "Nascop facility no",
@@ -63,8 +65,8 @@
63
65
  "negativeMonths": "Meses negativos",
64
66
  "negativeYears": "Años negativos",
65
67
  "no": "No",
66
- "noResultsFound": "No se encuentran resultados",
67
68
  "numberInNameDubious": "Número en nombre es dudoso",
69
+ "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'",
68
70
  "optional": "opcional",
69
71
  "originFacilityCode": "Origin facility code",
70
72
  "originFacilityName": "Origin facility name",
@@ -12,6 +12,9 @@
12
12
  "clientRegistryEmpty": "Create & Post Patient",
13
13
  "clientVerificationWithClientRegistry": "Client verification with client registry",
14
14
  "closeOverlay": "Close overlay",
15
+ "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
+ "codedPersonAttributeAnswerSetInvalid": "The coded person attribute field '{{codedPersonAttributeFieldId}}' has been defined with an invalid answer concept set UUID '{{answerConceptSetUuid}}'.",
17
+ "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.",
15
18
  "configure": "Configurer",
16
19
  "configureIdentifiers": "Configure identifiers",
17
20
  "contactSection": "Contact Details",
@@ -55,7 +58,6 @@
55
58
  "invalidInput": "Entrée invalide",
56
59
  "isDeadInputLabel": "Est décédé",
57
60
  "jumpTo": "Passer à",
58
- "loadingResults": "Résultats de chargement",
59
61
  "male": "Homme",
60
62
  "middleNameLabelText": "Deuxième nom",
61
63
  "nascopNumber": "Nascop facility no",
@@ -63,8 +65,8 @@
63
65
  "negativeMonths": "Mois négatifs",
64
66
  "negativeYears": "Années négatives",
65
67
  "no": "Non",
66
- "noResultsFound": "Aucun résultat trouvé",
67
68
  "numberInNameDubious": "Le chiffre dans le nom est suspect",
69
+ "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'",
68
70
  "optional": "Optionnel",
69
71
  "originFacilityCode": "Origin facility code",
70
72
  "originFacilityName": "Origin facility name",
@@ -12,6 +12,9 @@
12
12
  "clientRegistryEmpty": "Create & Post Patient",
13
13
  "clientVerificationWithClientRegistry": "Client verification with client registry",
14
14
  "closeOverlay": "סגור חיפוש",
15
+ "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
+ "codedPersonAttributeAnswerSetInvalid": "The coded person attribute field '{{codedPersonAttributeFieldId}}' has been defined with an invalid answer concept set UUID '{{answerConceptSetUuid}}'.",
17
+ "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.",
15
18
  "configure": "הגדר",
16
19
  "configureIdentifiers": "הגדר זיהויים",
17
20
  "contactSection": "פרטי יצירת קשר",
@@ -55,7 +58,6 @@
55
58
  "invalidInput": "קלט לא חוקי",
56
59
  "isDeadInputLabel": "מת?",
57
60
  "jumpTo": "קפיצה ל",
58
- "loadingResults": "טוען תוצאות",
59
61
  "male": "זכר",
60
62
  "middleNameLabelText": "שם תוכני",
61
63
  "nascopNumber": "Nascop facility no",
@@ -63,8 +65,8 @@
63
65
  "negativeMonths": "חודשים שליליים",
64
66
  "negativeYears": "שנים שליליות",
65
67
  "no": "לא",
66
- "noResultsFound": "לא נמצאו תוצאות",
67
68
  "numberInNameDubious": "מספר בשם חשוד",
69
+ "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'",
68
70
  "optional": "אופציונלי",
69
71
  "originFacilityCode": "Origin facility code",
70
72
  "originFacilityName": "Origin facility name",
@@ -12,6 +12,9 @@
12
12
  "clientRegistryEmpty": "Create & Post Patient",
13
13
  "clientVerificationWithClientRegistry": "Client verification with client registry",
14
14
  "closeOverlay": "បិទការត្រួតលើគ្នា។",
15
+ "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
+ "codedPersonAttributeAnswerSetInvalid": "The coded person attribute field '{{codedPersonAttributeFieldId}}' has been defined with an invalid answer concept set UUID '{{answerConceptSetUuid}}'.",
17
+ "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.",
15
18
  "configure": "កំណត់រចនាសម្ព័ន្ធ",
16
19
  "configureIdentifiers": "ឯកសារកំណត់អត្តសញ្ញាណផ្សេងទៀត",
17
20
  "contactSection": "ព័ត៌មានមរណភាព",
@@ -55,7 +58,6 @@
55
58
  "invalidInput": "ការបញ្ចូលមិនត្រឹមត្រូវ",
56
59
  "isDeadInputLabel": "គឺស្លាប់",
57
60
  "jumpTo": "រំលងទៅ",
58
- "loadingResults": "កំពុងផ្ទុកលទ្ធផល",
59
61
  "male": "ប្រុស",
60
62
  "middleNameLabelText": "លេខជាឈ្មោះដែលសង្ស័យ",
61
63
  "nascopNumber": "Nascop facility no",
@@ -63,8 +65,8 @@
63
65
  "negativeMonths": "ខែអវិជ្ជមាន",
64
66
  "negativeYears": "ឆ្នាំអវិជ្ជមាន",
65
67
  "no": "ទេ",
66
- "noResultsFound": "រកមិនឃើញលទ្ធផលទេ",
67
68
  "numberInNameDubious": "លេខគឺជាឈ្មោះគួរឱ្យសង្ស័យ",
69
+ "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'",
68
70
  "optional": "ជាជម្រើស",
69
71
  "originFacilityCode": "Origin facility code",
70
72
  "originFacilityName": "Origin facility name",
@@ -0,0 +1,89 @@
1
+ {
2
+ "addRelationshipButtonText": "添加关系",
3
+ "address1": "地址行1",
4
+ "address2": "地址行2",
5
+ "addressHeader": "地址",
6
+ "allFieldsRequiredText": "所有字段都是必填的,除非标记为可选。",
7
+ "autoGeneratedPlaceholderText": "自动生成",
8
+ "birthdayNotInTheFuture": "生日不能是未来的日期",
9
+ "birthdayRequired": "生日是必填项",
10
+ "birthFieldLabelText": "出生",
11
+ "cancel": "取消",
12
+ "causeOfDeathInputLabel": "死因",
13
+ "cityVillage": "城市",
14
+ "configure": "配置",
15
+ "country": "国家",
16
+ "countyDistrict": "区县",
17
+ "createNew": "新建",
18
+ "dateOfBirthLabelText": "出生日期",
19
+ "deathDateInputLabel": "死亡日期",
20
+ "deathdayNotInTheFuture": "死亡日期不能是未来的日期",
21
+ "deleteIdentifierTooltip": "删除",
22
+ "deleteRelationshipTooltipText": "删除",
23
+ "discard": "放弃",
24
+ "discardModalBody": "您对该患者的详细信息所做的更改尚未保存。放弃更改吗?",
25
+ "discardModalHeader": "确认放弃更改",
26
+ "dobToggleLabelText": "出生日期已知?",
27
+ "edit": "编辑",
28
+ "editIdentifierTooltip": "编辑",
29
+ "editPatientDetails": "编辑患者详情",
30
+ "emailLabelText": "电子邮件",
31
+ "estimatedAgeInMonthsLabelText": "月龄估算",
32
+ "estimatedAgeInYearsLabelText": "年龄估算",
33
+ "familyNameLabelText": "姓氏",
34
+ "familyNameRequired": "姓氏是必填项",
35
+ "female": "女性",
36
+ "fieldErrorTitleMessage": "以下字段存在错误:",
37
+ "fullNameLabelText": "全名",
38
+ "genderLabelText": "性别",
39
+ "genderRequired": "性别是必填项",
40
+ "genderUnspecified": "性别未指定",
41
+ "givenNameLabelText": "名字",
42
+ "givenNameRequired": "名字是必填项",
43
+ "identifierValueRequired": "ID标识是必填项",
44
+ "idFieldLabelText": "ID标识",
45
+ "incompleteForm": "表单未填完",
46
+ "invalidEmail": "需要提供一个有效的电子邮件地址",
47
+ "invalidInput": "输入无效",
48
+ "isDeadInputLabel": "已故",
49
+ "jumpTo": "跳转至",
50
+ "loadingResults": "正在加载结果",
51
+ "male": "男性",
52
+ "middleNameLabelText": "中间名",
53
+ "months": "月",
54
+ "negativeMonths": "负的月份",
55
+ "negativeYears": "负的年份",
56
+ "no": "否",
57
+ "noResultsFound": "未找到结果",
58
+ "numberInNameDubious": "姓名中含有数字",
59
+ "optional": "可选的",
60
+ "other": "其他",
61
+ "patient": "患者",
62
+ "patientNameKnown": "患者的姓名已知?",
63
+ "phoneEmailLabelText": "电话、电子邮件等。",
64
+ "phoneNumberInputLabelText": "电话号码",
65
+ "postalCode": "邮政编码",
66
+ "registerPatient": "注册患者",
67
+ "registrationSuccessToastDescription": "现在可以通过姓名或ID来搜索患者。",
68
+ "registrationSuccessToastTitle": "新患者已创建",
69
+ "relationship": "关系",
70
+ "relationshipPlaceholder": "关系",
71
+ "relationshipRemovedText": "关系已移除",
72
+ "relationshipToPatient": "与患者的关系",
73
+ "relativeFullNameLabelText": "全名",
74
+ "relativeNamePlaceholder": "名字 姓氏",
75
+ "resetIdentifierTooltip": "重置",
76
+ "restoreRelationshipActionButton": "撤销",
77
+ "searchAddress": "搜索地址",
78
+ "sexFieldLabelText": "性别",
79
+ "stateProvince": "省份",
80
+ "stroke": "卒中",
81
+ "unidentifiedPatient": "未知患者",
82
+ "unknown": "未知",
83
+ "updatePatient": "更新患者",
84
+ "updationSuccessToastDescription": "患者信息已成功更新",
85
+ "updationSuccessToastTitle": "患者详情已更新",
86
+ "years": "年",
87
+ "yearsEstimateRequired": "需要年龄估算",
88
+ "yes": "是"
89
+ }
@@ -0,0 +1,89 @@
1
+ {
2
+ "addRelationshipButtonText": "添加关系",
3
+ "address1": "地址行1",
4
+ "address2": "地址行2",
5
+ "addressHeader": "地址",
6
+ "allFieldsRequiredText": "所有字段都是必填的,除非标记为可选。",
7
+ "autoGeneratedPlaceholderText": "自动生成",
8
+ "birthdayNotInTheFuture": "生日不能是未来的日期",
9
+ "birthdayRequired": "生日是必填项",
10
+ "birthFieldLabelText": "出生",
11
+ "cancel": "取消",
12
+ "causeOfDeathInputLabel": "死因",
13
+ "cityVillage": "城市",
14
+ "configure": "配置",
15
+ "country": "国家",
16
+ "countyDistrict": "区县",
17
+ "createNew": "新建",
18
+ "dateOfBirthLabelText": "出生日期",
19
+ "deathDateInputLabel": "死亡日期",
20
+ "deathdayNotInTheFuture": "死亡日期不能是未来的日期",
21
+ "deleteIdentifierTooltip": "删除",
22
+ "deleteRelationshipTooltipText": "删除",
23
+ "discard": "放弃",
24
+ "discardModalBody": "您对该患者的详细信息所做的更改尚未保存。放弃更改吗?",
25
+ "discardModalHeader": "确认放弃更改",
26
+ "dobToggleLabelText": "出生日期已知?",
27
+ "edit": "编辑",
28
+ "editIdentifierTooltip": "编辑",
29
+ "editPatientDetails": "编辑患者详情",
30
+ "emailLabelText": "电子邮件",
31
+ "estimatedAgeInMonthsLabelText": "月龄估算",
32
+ "estimatedAgeInYearsLabelText": "年龄估算",
33
+ "familyNameLabelText": "姓氏",
34
+ "familyNameRequired": "姓氏是必填项",
35
+ "female": "女性",
36
+ "fieldErrorTitleMessage": "以下字段存在错误:",
37
+ "fullNameLabelText": "全名",
38
+ "genderLabelText": "性别",
39
+ "genderRequired": "性别是必填项",
40
+ "genderUnspecified": "性别未指定",
41
+ "givenNameLabelText": "名字",
42
+ "givenNameRequired": "名字是必填项",
43
+ "identifierValueRequired": "ID标识是必填项",
44
+ "idFieldLabelText": "ID标识",
45
+ "incompleteForm": "表单未填完",
46
+ "invalidEmail": "需要提供一个有效的电子邮件地址",
47
+ "invalidInput": "输入无效",
48
+ "isDeadInputLabel": "已故",
49
+ "jumpTo": "跳转至",
50
+ "loadingResults": "正在加载结果",
51
+ "male": "男性",
52
+ "middleNameLabelText": "中间名",
53
+ "months": "月",
54
+ "negativeMonths": "负的月份",
55
+ "negativeYears": "负的年份",
56
+ "no": "否",
57
+ "noResultsFound": "未找到结果",
58
+ "numberInNameDubious": "姓名中含有数字",
59
+ "optional": "可选的",
60
+ "other": "其他",
61
+ "patient": "患者",
62
+ "patientNameKnown": "患者的姓名已知?",
63
+ "phoneEmailLabelText": "电话、电子邮件等。",
64
+ "phoneNumberInputLabelText": "电话号码",
65
+ "postalCode": "邮政编码",
66
+ "registerPatient": "注册患者",
67
+ "registrationSuccessToastDescription": "现在可以通过姓名或ID来搜索患者。",
68
+ "registrationSuccessToastTitle": "新患者已创建",
69
+ "relationship": "关系",
70
+ "relationshipPlaceholder": "关系",
71
+ "relationshipRemovedText": "关系已移除",
72
+ "relationshipToPatient": "与患者的关系",
73
+ "relativeFullNameLabelText": "全名",
74
+ "relativeNamePlaceholder": "名字 姓氏",
75
+ "resetIdentifierTooltip": "重置",
76
+ "restoreRelationshipActionButton": "撤销",
77
+ "searchAddress": "搜索地址",
78
+ "sexFieldLabelText": "性别",
79
+ "stateProvince": "省份",
80
+ "stroke": "卒中",
81
+ "unidentifiedPatient": "未知患者",
82
+ "unknown": "未知",
83
+ "updatePatient": "更新患者",
84
+ "updationSuccessToastDescription": "患者信息已成功更新",
85
+ "updationSuccessToastTitle": "患者详情已更新",
86
+ "years": "年",
87
+ "yearsEstimateRequired": "需要年龄估算",
88
+ "yes": "是"
89
+ }
package/tsconfig.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "extends": "../../tsconfig.json",
3
3
  "include": ["src/**/*"],
4
- "exclude": ["src/**/*.test.tsx", "src/**/*.outdated.tsx"]
4
+ "exclude": ["src/**/*.test.tsx"]
5
5
  }
@@ -1,34 +0,0 @@
1
- export const mockAutoGenerationOptionsResult = {
2
- results: [
3
- {
4
- uuid: '42ae5ce0-d64b-11ea-9064-5adc43bbdd24',
5
- location: null,
6
- source: {
7
- uuid: '691eed12-c0f1-11e2-94be-8c13b969e334',
8
- },
9
- manualEntryEnabled: false,
10
- automaticGenerationEnabled: true,
11
- resourceVersion: '1.8',
12
- },
13
- {
14
- uuid: '497b8b17-54ec-4726-87ec-3c4da8cdcaeb',
15
- location: null,
16
- source: {
17
- uuid: '691eed12-c0f1-11e2-94be-8c13b969e334',
18
- },
19
- manualEntryEnabled: true,
20
- automaticGenerationEnabled: false,
21
- resourceVersion: '1.8',
22
- },
23
- {
24
- uuid: 'ed0529de-3530-4c49-921b-b4845a750b7e',
25
- location: null,
26
- source: {
27
- uuid: '75df804e-03c1-4964-842b-4fec585839e7',
28
- },
29
- manualEntryEnabled: true,
30
- automaticGenerationEnabled: false,
31
- resourceVersion: '1.8',
32
- },
33
- ],
34
- };