From bc531a6e93524d8df8a8f8d82dc8a2854549cedf Mon Sep 17 00:00:00 2001 From: Bhargav kodali <115476530+kb019@users.noreply.github.com> Date: Mon, 23 Sep 2024 13:36:45 -0700 Subject: [PATCH 1/2] (fix) O3-3211: Fix calculations for Patients and Capacity in Ward Metrics (#1307) * feat-metrics * update metrics * correct test * refactor useAdmission * fix e2e tests * (refactor) Refactor registration form cancel modal to match conventions (#1294) This PR refactors the registration form's cancel modal to match new modal naming and registration conventions. Modals are now registered in the routes registry file under the `modals`. The naming convention has also changed - modals now use the `*.modal.tsx` suffix. I've also amended the modal to use Carbon's ModalBody, ModalHeader, and ModalFooter components instead of using divs with custom classes. Finally, I've amended the modal title and content to align with other confirmation modals in O3. * (feat) 03-3404: follow-up -ensure the dateAppointmentScheduled <= appointmentDate (#1295) * correct yarn.lock * fix metrics calculations * add internationalization * correct mocks * add dir attribute * remove i18n code * clean code --------- Co-authored-by: Dennis Kigen Co-authored-by: Lucy Jemutai <130601439+lucyjemutai@users.noreply.github.com> --- .../src/hooks/useWardPatientGrouping.ts | 9 +-- .../ward-metric.component.tsx | 3 +- .../ward-metrics.component.tsx | 45 +++++++++----- .../ward-view-header/ward-metrics.test.tsx | 35 +++++++++-- .../src/ward-view/ward-view.resource.ts | 59 ++++++++++++++++--- packages/esm-ward-app/translations/en.json | 8 +++ 6 files changed, 122 insertions(+), 37 deletions(-) diff --git a/packages/esm-ward-app/src/hooks/useWardPatientGrouping.ts b/packages/esm-ward-app/src/hooks/useWardPatientGrouping.ts index 8ab6ae45c..e3284385b 100644 --- a/packages/esm-ward-app/src/hooks/useWardPatientGrouping.ts +++ b/packages/esm-ward-app/src/hooks/useWardPatientGrouping.ts @@ -14,13 +14,8 @@ export function useWardPatientGrouping() { const { inpatientRequests } = inpatientRequestResponse; const groupings = useMemo(() => { - if(!admissionLocationResponse.isLoading && !inpatientAdmissionResponse.isLoading && !inpatientRequestResponse.isLoading) { - return createAndGetWardPatientGrouping(inpatientAdmissions, admissionLocation, inpatientRequests); - } else { - return {}; - } - }, [admissionLocation, inpatientAdmissions]) as ReturnType; - + return { ...createAndGetWardPatientGrouping(inpatientAdmissions, admissionLocation, inpatientRequests) }; + }, [admissionLocation, inpatientAdmissions, inpatientRequests]) as ReturnType; return { ...groupings, admissionLocationResponse, diff --git a/packages/esm-ward-app/src/ward-view-header/ward-metric.component.tsx b/packages/esm-ward-app/src/ward-view-header/ward-metric.component.tsx index 32568cb7d..10a3db993 100644 --- a/packages/esm-ward-app/src/ward-view-header/ward-metric.component.tsx +++ b/packages/esm-ward-app/src/ward-view-header/ward-metric.component.tsx @@ -8,9 +8,10 @@ interface WardMetricProps { isLoading: boolean; } const WardMetric: React.FC = ({ metricName, metricValue, isLoading }) => { + return (
- {metricName} + {metricName} {isLoading ? ( ) : ( diff --git a/packages/esm-ward-app/src/ward-view-header/ward-metrics.component.tsx b/packages/esm-ward-app/src/ward-view-header/ward-metrics.component.tsx index c507f03d3..0008158d5 100644 --- a/packages/esm-ward-app/src/ward-view-header/ward-metrics.component.tsx +++ b/packages/esm-ward-app/src/ward-view-header/ward-metrics.component.tsx @@ -3,16 +3,16 @@ import styles from './ward-metrics.scss'; import { useBeds } from '../hooks/useBeds'; import { showNotification, useAppContext, useFeatureFlag } from '@openmrs/esm-framework'; import { useTranslation } from 'react-i18next'; -import { getWardMetrics } from '../ward-view/ward-view.resource'; +import { + getWardMetricNameTranslation, + getWardMetrics, + getWardMetricValueTranslation, +} from '../ward-view/ward-view.resource'; import WardMetric from './ward-metric.component'; import type { WardPatientGroupDetails } from '../types'; import useWardLocation from '../hooks/useWardLocation'; -const wardMetrics = [ - { name: 'Patients', key: 'patients' }, - { name: 'Free beds', key: 'freeBeds' }, - { name: 'Capacity', key: 'capacity' }, -]; +const wardMetrics = [{ name: 'patients' }, { name: 'freeBeds' }, { name: 'capacity' }]; const WardMetrics = () => { const { location } = useWardLocation(); @@ -20,6 +20,12 @@ const WardMetrics = () => { const { t } = useTranslation(); const isBedManagementModuleInstalled = useFeatureFlag('bedmanagement-module'); const wardPatientGroup = useAppContext('ward-patients-group'); + const { admissionLocationResponse, inpatientAdmissionResponse, inpatientRequestResponse } = wardPatientGroup || {}; + const isDataLoading = + admissionLocationResponse?.isLoading || + inpatientAdmissionResponse?.isLoading || + inpatientRequestResponse?.isLoading; + if (!wardPatientGroup) return <>; if (error) { showNotification({ @@ -28,28 +34,37 @@ const WardMetrics = () => { description: error.message, }); } - const wardMetricValues = getWardMetrics(beds); + const wardMetricValues = getWardMetrics(beds, wardPatientGroup); return (
{isBedManagementModuleInstalled ? ( wardMetrics.map((wardMetric) => { return ( ); }) ) : ( - + )} {isBedManagementModuleInstalled && ( )} diff --git a/packages/esm-ward-app/src/ward-view-header/ward-metrics.test.tsx b/packages/esm-ward-app/src/ward-view-header/ward-metrics.test.tsx index ef6ff8f86..84b7bdbb7 100644 --- a/packages/esm-ward-app/src/ward-view-header/ward-metrics.test.tsx +++ b/packages/esm-ward-app/src/ward-view-header/ward-metrics.test.tsx @@ -3,12 +3,23 @@ import WardMetrics from './ward-metrics.component'; import { renderWithSwr } from '../../../../tools/test-utils'; import { useBeds } from '../hooks/useBeds'; import { mockWardBeds } from '../../../../__mocks__/wardBeds.mock'; -import { getWardMetrics } from '../ward-view/ward-view.resource'; +import { + createAndGetWardPatientGrouping, + getInpatientAdmissionsUuidMap, + getWardMetrics, +} from '../ward-view/ward-view.resource'; import { useAdmissionLocation } from '../hooks/useAdmissionLocation'; -import { mockAdmissionLocation, mockInpatientAdmissions } from '__mocks__'; +import { mockAdmissionLocation, mockInpatientAdmissions, mockInpatientRequest } from '__mocks__'; import { useInpatientAdmission } from '../hooks/useInpatientAdmission'; import useWardLocation from '../hooks/useWardLocation'; import { screen } from '@testing-library/react'; +import { useAppContext } from '@openmrs/esm-framework'; + +const wardMetrics = [ + { name: 'patients', key: 'patients', defaultTranslation: 'Patients' }, + { name: 'freeBeds', key: 'freeBeds', defaultTranslation: 'Free beds' }, + { name: 'capacity', key: 'capacity', defaultTranslation: 'Capacity' }, +]; jest.mock('react-router-dom', () => ({ ...jest.requireActual('react-router-dom'), @@ -37,6 +48,10 @@ jest.mock('../hooks/useInpatientAdmission', () => ({ useInpatientAdmission: jest.fn(), })); +jest.mock('../hooks/useInpatientRequest', () => ({ + useInpatientRequest: jest.fn(), +})); + jest.mocked(useBeds).mockReturnValue({ error: undefined, mutate: jest.fn(), @@ -45,14 +60,14 @@ jest.mocked(useBeds).mockReturnValue({ beds: mockWardBeds, }); -jest.mocked(useAdmissionLocation).mockReturnValue({ +const mockAdmissionLocationResponse = jest.mocked(useAdmissionLocation).mockReturnValue({ error: undefined, mutate: jest.fn(), isValidating: false, isLoading: false, admissionLocation: mockAdmissionLocation, }); -jest.mocked(useInpatientAdmission).mockReturnValue({ +const mockInpatientAdmissionResponse = jest.mocked(useInpatientAdmission).mockReturnValue({ error: undefined, mutate: jest.fn(), isValidating: false, @@ -60,6 +75,13 @@ jest.mocked(useInpatientAdmission).mockReturnValue({ inpatientAdmissions: mockInpatientAdmissions, }); +const inpatientAdmissionsUuidMap = getInpatientAdmissionsUuidMap(mockInpatientAdmissions); +const mockWardPatientGroupDetails = { + admissionLocationResponse: mockAdmissionLocationResponse(), + inpatientAdmissionResponse: mockInpatientAdmissionResponse(), + ...createAndGetWardPatientGrouping(mockInpatientAdmissions, mockAdmissionLocation, mockInpatientRequest), +}; +jest.mocked(useAppContext).mockReturnValue(mockWardPatientGroupDetails); describe('Ward Metrics', () => { it('Should display metrics of in the ward ', () => { mockUseWardLocation.mockReturnValueOnce({ @@ -68,10 +90,11 @@ describe('Ward Metrics', () => { errorFetchingLocation: null, invalidLocation: true, }); - const bedMetrics = getWardMetrics(mockWardBeds); + const bedMetrics = getWardMetrics(mockWardBeds, mockWardPatientGroupDetails); renderWithSwr(); for (let [key, value] of Object.entries(bedMetrics)) { - expect(screen.getByText(value)).toBeInTheDocument(); + const fieldName = wardMetrics.find((metric) => metric.name == key)?.defaultTranslation; + expect(screen.getByText(fieldName)).toBeInTheDocument(); } }); }); diff --git a/packages/esm-ward-app/src/ward-view/ward-view.resource.ts b/packages/esm-ward-app/src/ward-view/ward-view.resource.ts index b7c39ed8e..c934107e0 100644 --- a/packages/esm-ward-app/src/ward-view/ward-view.resource.ts +++ b/packages/esm-ward-app/src/ward-view/ward-view.resource.ts @@ -1,5 +1,14 @@ import { type Patient } from '@openmrs/esm-framework'; -import type { AdmissionLocationFetchResponse, Bed, BedLayout, InpatientAdmission, InpatientRequest, WardMetrics } from '../types'; +import type { + AdmissionLocationFetchResponse, + Bed, + BedLayout, + InpatientAdmission, + InpatientRequest, + WardMetrics, + WardPatientGroupDetails, +} from '../types'; +import type { TFunction } from 'i18next'; // the server side has 2 slightly incompatible types for Bed export function bedLayoutToBed(bedLayout: BedLayout): Bed { @@ -25,7 +34,7 @@ export function filterBeds(admissionLocation: AdmissionLocationFetchResponse): B } //TODO: This implementation will change when the api is ready -export function getWardMetrics(beds: Bed[]): WardMetrics { +export function getWardMetrics(beds: Bed[], wardPatientGroup: WardPatientGroupDetails): WardMetrics { const bedMetrics = { patients: '--', freeBeds: '--', @@ -36,8 +45,12 @@ export function getWardMetrics(beds: Bed[]): WardMetrics { const occupiedBeds = beds.filter((bed) => bed.status === 'OCCUPIED'); const patients = occupiedBeds.length; const freeBeds = total - patients; - const capacity = total != 0 ? Math.trunc((patients / total) * 100) : 0; - return { patients: patients.toString(), freeBeds: freeBeds.toString(), capacity: capacity.toString() + '%' }; + const capacity = total != 0 ? Math.trunc((wardPatientGroup.totalPatientsCount / total) * 100) : 0; + return { + patients: wardPatientGroup?.totalPatientsCount.toString() ?? '--', + freeBeds: freeBeds.toString(), + capacity: capacity.toString(), + }; } export function getInpatientAdmissionsUuidMap(inpatientAdmissions: InpatientAdmission[]) { @@ -53,8 +66,7 @@ export function createAndGetWardPatientGrouping( admissionLocation: AdmissionLocationFetchResponse, inpatientRequests: InpatientRequest[], ) { - - const inpatientAdmissionsByPatientUuid = getInpatientAdmissionsUuidMap(inpatientAdmissions); + const inpatientAdmissionsByPatientUuid = getInpatientAdmissionsUuidMap(inpatientAdmissions); const wardAdmittedPatientsWithBed = new Map(); const wardUnadmittedPatientsWithBed = new Map(); @@ -77,6 +89,7 @@ export function createAndGetWardPatientGrouping( } }); }); + const wardUnassignedPatientsList = inpatientAdmissions?.filter((inpatientAdmission) => { allWardPatientUuids.add(inpatientAdmission.patient.uuid); @@ -86,7 +99,10 @@ export function createAndGetWardPatientGrouping( ); }) ?? []; - for(const inpatientRequest of inpatientRequests){ + //excluding inpatientRequests + const totalPatientsCount = allWardPatientUuids.size; + + for (const inpatientRequest of inpatientRequests ?? []) { allWardPatientUuids.add(inpatientRequest.patient.uuid); } @@ -96,6 +112,33 @@ export function createAndGetWardPatientGrouping( wardPatientPendingCount, bedLayouts, wardUnassignedPatientsList, - allWardPatientUuids + allWardPatientUuids, + totalPatientsCount, }; } + +export function getWardMetricNameTranslation(name: string, t: TFunction) { + switch (name) { + case 'patients': + return t('patients', 'Patients'); + case 'freeBeds': + return t('freeBeds', 'Free beds'); + case 'capacity': + return t('capacity', 'Capacity'); + case 'pendingOut': + return t('pendingOut', 'Pending out'); + } +} + +export function getWardMetricValueTranslation(name: string, t: TFunction, value: string) { + switch (name) { + case 'patients': + return t('patientsMetricValue', '{{ metricValue }}', { metricValue: value }); + case 'freeBeds': + return t('freeBedsMetricValue', '{{ metricValue }}', { metricValue: value }); + case 'capacity': + return t('capacityMetricValue', '{{ metricValue }} %', { metricValue: value }); + case 'pendingOut': + return t('pendingOutMetricValue', '{{ metricValue }}', { metricValue: value }); + } +} diff --git a/packages/esm-ward-app/translations/en.json b/packages/esm-ward-app/translations/en.json index 2e229e58f..db470028f 100644 --- a/packages/esm-ward-app/translations/en.json +++ b/packages/esm-ward-app/translations/en.json @@ -9,6 +9,8 @@ "bedShare": "Bed share", "bedSwap": "Bed swap", "cancel": "Cancel", + "capacity": "Capacity", + "capacityMetricValue": "{{ metricValue }} %", "chooseAnOption": "Choose an option", "clinicalNoteLabel": "Write your notes", "discharge": "Discharge", @@ -27,6 +29,8 @@ "female": "Female", "fetchingEmrConfigurationFailed": "Fetching EMR configuration failed. Try refreshing the page or contact your system administrator.", "fetchingPatientNotesFailed": "Fetching patient notes failed. Try refreshing the page or contact your system administrator.", + "freeBeds": "Free beds", + "freeBedsMetricValue": "{{ metricValue }}", "inpatientNotesWorkspaceTitle": "In-patient notes", "invalidElementIdCopy": "The configuration provided is invalid. It contains the following unknown element ID:", "invalidLocationSpecified": "Invalid location specified", @@ -50,8 +54,12 @@ "patientNoteNowVisible": "It should be now visible in the notes history", "patientNoteSaveError": "Error saving patient note", "patientNotesDidntLoad": "Patient notes didn't load", + "patients": "Patients", + "patientsMetricValue": "{{ metricValue }}", "patientTransferRequestCreated": "Patient transfer request created", "patientWasDischarged": "Patient was discharged", + "pendingOut": "Pending out", + "pendingOutMetricValue": "{{ metricValue }}", "pleaseSelectBed": "Please select a bed", "pleaseSelectTransferLocation": "Please select transfer location", "pleaseSelectTransferType": "Please select transfer type", From 17dc81b0db0a537201c1ca3c38fad30d3d1eff86 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 00:53:09 +0300 Subject: [PATCH 2/2] (chore) Update translations from Transifex (#1316) Co-authored-by: OpenMRS Bot Co-authored-by: Dennis Kigen --- .../esm-appointments-app/translations/am.json | 2 +- .../esm-appointments-app/translations/ar.json | 2 +- .../esm-appointments-app/translations/es.json | 2 +- .../esm-appointments-app/translations/fr.json | 8 +-- .../esm-appointments-app/translations/he.json | 2 +- .../esm-appointments-app/translations/km.json | 2 +- .../esm-appointments-app/translations/zh.json | 2 +- .../translations/zh_CN.json | 2 +- .../translations/am.json | 1 - .../translations/ar.json | 1 - .../translations/es.json | 1 - .../translations/fr.json | 1 - .../translations/he.json | 1 - .../translations/km.json | 1 - .../translations/zh.json | 1 - .../translations/zh_CN.json | 1 - .../translations/fr.json | 2 +- .../translations/am.json | 2 + .../translations/ar.json | 2 + .../translations/es.json | 2 + .../translations/fr.json | 2 + .../translations/he.json | 2 + .../translations/km.json | 2 + .../translations/zh.json | 2 + .../translations/zh_CN.json | 2 + .../translations/am.json | 6 +- .../translations/ar.json | 8 ++- .../translations/es.json | 6 +- .../translations/fr.json | 64 ++++++++++--------- .../translations/he.json | 8 ++- .../translations/km.json | 8 ++- .../translations/zh.json | 8 ++- .../translations/zh_CN.json | 8 ++- 33 files changed, 94 insertions(+), 70 deletions(-) diff --git a/packages/esm-appointments-app/translations/am.json b/packages/esm-appointments-app/translations/am.json index eba4a0bf1..b42ceb724 100644 --- a/packages/esm-appointments-app/translations/am.json +++ b/packages/esm-appointments-app/translations/am.json @@ -27,7 +27,7 @@ "appointments": "Appointments", "Appointments": "Appointments", "appointments_lower": "appointments", - "appointmentsCalendar": "Appointments Calendar", + "appointmentsCalendar": "Appointments calendar", "appointmentScheduled": "Appointment scheduled", "appointmentService": "Appointment service", "appointmentServiceCreate": "Appointment service created successfully", diff --git a/packages/esm-appointments-app/translations/ar.json b/packages/esm-appointments-app/translations/ar.json index e50ea396c..a6ddb2098 100644 --- a/packages/esm-appointments-app/translations/ar.json +++ b/packages/esm-appointments-app/translations/ar.json @@ -27,7 +27,7 @@ "appointments": "موعد", "Appointments": "Appointments", "appointments_lower": "appointments", - "appointmentsCalendar": "تقويم المواعيد", + "appointmentsCalendar": "Appointments calendar", "appointmentScheduled": "تم جدولة الموعد", "appointmentService": "خدمة الموعد", "appointmentServiceCreate": "تم إنشاء خدمة الموعد بنجاح", diff --git a/packages/esm-appointments-app/translations/es.json b/packages/esm-appointments-app/translations/es.json index aafac45a5..784d82588 100644 --- a/packages/esm-appointments-app/translations/es.json +++ b/packages/esm-appointments-app/translations/es.json @@ -27,7 +27,7 @@ "appointments": "Citas", "Appointments": "Appointments", "appointments_lower": "appointments", - "appointmentsCalendar": "Calendario de Citas", + "appointmentsCalendar": "Appointments calendar", "appointmentScheduled": "Cita programada", "appointmentService": "Servicio de citas", "appointmentServiceCreate": "Servicio de citas creado exitosamente", diff --git a/packages/esm-appointments-app/translations/fr.json b/packages/esm-appointments-app/translations/fr.json index 0944bbb3e..88b9821e1 100644 --- a/packages/esm-appointments-app/translations/fr.json +++ b/packages/esm-appointments-app/translations/fr.json @@ -27,7 +27,7 @@ "appointments": "Rendez-vous", "Appointments": "Rendez-vous", "appointments_lower": "rendez-vous", - "appointmentsCalendar": "Calendrier des Rendez-vous", + "appointmentsCalendar": "Appointments calendar", "appointmentScheduled": "Rendez-vous planifié", "appointmentService": "Service du rendez-vous", "appointmentServiceCreate": "Service du rendez-vous créé avec succès", @@ -89,7 +89,7 @@ "expected": "Attendus", "filterTable": "Filter table", "gender": "Genre", - "highestServiceVolume": "Highest volume service: {{time}}", + "highestServiceVolume": "Service le plus utilisé: {{time}}", "identifier": "Identifiant", "invalidNumber": "Number is not valid", "invalidTime": "Invalid time", @@ -109,7 +109,7 @@ "noEncountersFound": "Aucune rencontre trouvée", "noPastAppointments": "Il n'y a pas de rendez-vous passé à afficher pour ce patient", "noPreviousVisitFound": "Aucune visite précédente trouvée", - "notArrived": "Not arrived", + "notArrived": "Non arrivé(s)", "note": "Note", "notes": "Notes", "noUpcomingAppointments": "Il n'y a pas de rendez-vous à venir à afficher pour ce patient", @@ -126,7 +126,7 @@ "previousPage": "Page précédente", "provider": "Fournisseur", "providers": "Fournisseurs", - "providersBooked": "Providers booked: {{time}}", + "providersBooked": "Prestataires reservés: {{time}}", "recurringAppointment": "Recurring Appointment", "recurringAppointmentShouldHaveEndDate": "A recurring appointment should have an end date", "repeatEvery": "Repeat every", diff --git a/packages/esm-appointments-app/translations/he.json b/packages/esm-appointments-app/translations/he.json index 507f0a208..f57c467d3 100644 --- a/packages/esm-appointments-app/translations/he.json +++ b/packages/esm-appointments-app/translations/he.json @@ -27,7 +27,7 @@ "appointments": "תורים", "Appointments": "Appointments", "appointments_lower": "appointments", - "appointmentsCalendar": "לוח שנה של התורים", + "appointmentsCalendar": "Appointments calendar", "appointmentScheduled": "התור נקבע", "appointmentService": "שירות התור", "appointmentServiceCreate": "שירות התור נוצר בהצלחה", diff --git a/packages/esm-appointments-app/translations/km.json b/packages/esm-appointments-app/translations/km.json index 5b4baa9d7..3b556ec48 100644 --- a/packages/esm-appointments-app/translations/km.json +++ b/packages/esm-appointments-app/translations/km.json @@ -27,7 +27,7 @@ "appointments": "ការណាត់ជួប", "Appointments": "Appointments", "appointments_lower": "appointments", - "appointmentsCalendar": "Appointments Calendar", + "appointmentsCalendar": "Appointments calendar", "appointmentScheduled": "ការណាត់ជួបតាមកាលវិភាគ", "appointmentService": "សេវាកម្មណាត់ជួប", "appointmentServiceCreate": "សេវាកម្មណាត់ជួបត្រូវបានបង្កើតដោយជោគជ័យ", diff --git a/packages/esm-appointments-app/translations/zh.json b/packages/esm-appointments-app/translations/zh.json index 08ce37cfc..14e091c4a 100644 --- a/packages/esm-appointments-app/translations/zh.json +++ b/packages/esm-appointments-app/translations/zh.json @@ -27,7 +27,7 @@ "appointments": "预约", "Appointments": "预约", "appointments_lower": "预约", - "appointmentsCalendar": "预约日历", + "appointmentsCalendar": "Appointments calendar", "appointmentScheduled": "预约已安排", "appointmentService": "预约服务", "appointmentServiceCreate": "预约服务创建成功", diff --git a/packages/esm-appointments-app/translations/zh_CN.json b/packages/esm-appointments-app/translations/zh_CN.json index 08ce37cfc..14e091c4a 100644 --- a/packages/esm-appointments-app/translations/zh_CN.json +++ b/packages/esm-appointments-app/translations/zh_CN.json @@ -27,7 +27,7 @@ "appointments": "预约", "Appointments": "预约", "appointments_lower": "预约", - "appointmentsCalendar": "预约日历", + "appointmentsCalendar": "Appointments calendar", "appointmentScheduled": "预约已安排", "appointmentService": "预约服务", "appointmentServiceCreate": "预约服务创建成功", diff --git a/packages/esm-bed-management-app/translations/am.json b/packages/esm-bed-management-app/translations/am.json index c85ffb050..dba1d2c0e 100644 --- a/packages/esm-bed-management-app/translations/am.json +++ b/packages/esm-bed-management-app/translations/am.json @@ -15,7 +15,6 @@ "bedTagPlaceholder": "", "bedType": "Add Bed Type", "bedTypePlaceholder": "", - "cancel": "Cancel", "checkFilters": "Check the filters above", "chooseBedtype": "Choose a bed type", "chooseOccupiedStatus": "Choose occupied status", diff --git a/packages/esm-bed-management-app/translations/ar.json b/packages/esm-bed-management-app/translations/ar.json index c85ffb050..dba1d2c0e 100644 --- a/packages/esm-bed-management-app/translations/ar.json +++ b/packages/esm-bed-management-app/translations/ar.json @@ -15,7 +15,6 @@ "bedTagPlaceholder": "", "bedType": "Add Bed Type", "bedTypePlaceholder": "", - "cancel": "Cancel", "checkFilters": "Check the filters above", "chooseBedtype": "Choose a bed type", "chooseOccupiedStatus": "Choose occupied status", diff --git a/packages/esm-bed-management-app/translations/es.json b/packages/esm-bed-management-app/translations/es.json index c85ffb050..dba1d2c0e 100644 --- a/packages/esm-bed-management-app/translations/es.json +++ b/packages/esm-bed-management-app/translations/es.json @@ -15,7 +15,6 @@ "bedTagPlaceholder": "", "bedType": "Add Bed Type", "bedTypePlaceholder": "", - "cancel": "Cancel", "checkFilters": "Check the filters above", "chooseBedtype": "Choose a bed type", "chooseOccupiedStatus": "Choose occupied status", diff --git a/packages/esm-bed-management-app/translations/fr.json b/packages/esm-bed-management-app/translations/fr.json index 4286a7586..0ca64a745 100644 --- a/packages/esm-bed-management-app/translations/fr.json +++ b/packages/esm-bed-management-app/translations/fr.json @@ -15,7 +15,6 @@ "bedTagPlaceholder": "", "bedType": "Add Bed Type", "bedTypePlaceholder": "", - "cancel": "Annuler", "checkFilters": "Check the filters above", "chooseBedtype": "Choisir un type de lit", "chooseOccupiedStatus": "Choose occupied status", diff --git a/packages/esm-bed-management-app/translations/he.json b/packages/esm-bed-management-app/translations/he.json index c85ffb050..dba1d2c0e 100644 --- a/packages/esm-bed-management-app/translations/he.json +++ b/packages/esm-bed-management-app/translations/he.json @@ -15,7 +15,6 @@ "bedTagPlaceholder": "", "bedType": "Add Bed Type", "bedTypePlaceholder": "", - "cancel": "Cancel", "checkFilters": "Check the filters above", "chooseBedtype": "Choose a bed type", "chooseOccupiedStatus": "Choose occupied status", diff --git a/packages/esm-bed-management-app/translations/km.json b/packages/esm-bed-management-app/translations/km.json index c85ffb050..dba1d2c0e 100644 --- a/packages/esm-bed-management-app/translations/km.json +++ b/packages/esm-bed-management-app/translations/km.json @@ -15,7 +15,6 @@ "bedTagPlaceholder": "", "bedType": "Add Bed Type", "bedTypePlaceholder": "", - "cancel": "Cancel", "checkFilters": "Check the filters above", "chooseBedtype": "Choose a bed type", "chooseOccupiedStatus": "Choose occupied status", diff --git a/packages/esm-bed-management-app/translations/zh.json b/packages/esm-bed-management-app/translations/zh.json index c85ffb050..dba1d2c0e 100644 --- a/packages/esm-bed-management-app/translations/zh.json +++ b/packages/esm-bed-management-app/translations/zh.json @@ -15,7 +15,6 @@ "bedTagPlaceholder": "", "bedType": "Add Bed Type", "bedTypePlaceholder": "", - "cancel": "Cancel", "checkFilters": "Check the filters above", "chooseBedtype": "Choose a bed type", "chooseOccupiedStatus": "Choose occupied status", diff --git a/packages/esm-bed-management-app/translations/zh_CN.json b/packages/esm-bed-management-app/translations/zh_CN.json index c85ffb050..dba1d2c0e 100644 --- a/packages/esm-bed-management-app/translations/zh_CN.json +++ b/packages/esm-bed-management-app/translations/zh_CN.json @@ -15,7 +15,6 @@ "bedTagPlaceholder": "", "bedType": "Add Bed Type", "bedTypePlaceholder": "", - "cancel": "Cancel", "checkFilters": "Check the filters above", "chooseBedtype": "Choose a bed type", "chooseOccupiedStatus": "Choose occupied status", diff --git a/packages/esm-patient-list-management-app/translations/fr.json b/packages/esm-patient-list-management-app/translations/fr.json index 9a4ebe1ff..558e9874f 100644 --- a/packages/esm-patient-list-management-app/translations/fr.json +++ b/packages/esm-patient-list-management-app/translations/fr.json @@ -65,7 +65,7 @@ "removePatientFromListConfirmation": "Are you sure you want to remove {{patientName}} from this list?", "searchForAListToAddThisPatientTo": "Rechercher une liste à laquelle ajouter ce patient.", "searchForList": "Rechercher une liste", - "searchThisList": "Search this list", + "searchThisList": "Recherchez dans cette liste", "sex": "Sexe", "starList": "Mettre en favori", "starred": "favori", diff --git a/packages/esm-patient-registration-app/translations/am.json b/packages/esm-patient-registration-app/translations/am.json index 9a7e5b919..756bdc9c5 100644 --- a/packages/esm-patient-registration-app/translations/am.json +++ b/packages/esm-patient-registration-app/translations/am.json @@ -4,6 +4,7 @@ "allFieldsRequiredText": "All fields are required unless marked optional", "autoGeneratedPlaceholderText": "Auto-generated", "birthdayNotInTheFuture": "Birthday cannot be in future", + "birthdayNotOver140YearsAgo": "Birthday cannot be more than 140 years ago", "birthdayRequired": "Birthday is required", "birthFieldLabelText": "Birth", "cancel": "Cancel", @@ -72,6 +73,7 @@ "no": "No", "nonCodedCauseOfDeath": "Non-coded cause of death", "nonCodedCauseOfDeathRequired": "Cause of death is required", + "nonsensicalYears": "Estimated years cannot be more than 140", "numberInNameDubious": "Number in name is dubious", "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'", "optional": "optional", diff --git a/packages/esm-patient-registration-app/translations/ar.json b/packages/esm-patient-registration-app/translations/ar.json index 5784b4d33..49c9496ef 100644 --- a/packages/esm-patient-registration-app/translations/ar.json +++ b/packages/esm-patient-registration-app/translations/ar.json @@ -4,6 +4,7 @@ "allFieldsRequiredText": "جميع الحقول مطلوبة ما لم يتم التأشير عليها بأنها اختيارية", "autoGeneratedPlaceholderText": "تم إنشاؤه تلقائيًا", "birthdayNotInTheFuture": "Birthday cannot be in future", + "birthdayNotOver140YearsAgo": "Birthday cannot be more than 140 years ago", "birthdayRequired": "Birthday is required", "birthFieldLabelText": "الميلاد", "cancel": "إلغاء", @@ -72,6 +73,7 @@ "no": "لا", "nonCodedCauseOfDeath": "Non-coded cause of death", "nonCodedCauseOfDeathRequired": "Cause of death is required", + "nonsensicalYears": "Estimated years cannot be more than 140", "numberInNameDubious": "Number in name is dubious", "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'", "optional": "اختياري", diff --git a/packages/esm-patient-registration-app/translations/es.json b/packages/esm-patient-registration-app/translations/es.json index 684d3386a..7687b950b 100644 --- a/packages/esm-patient-registration-app/translations/es.json +++ b/packages/esm-patient-registration-app/translations/es.json @@ -4,6 +4,7 @@ "allFieldsRequiredText": "Todos los campos son obligatorios a menos que se indique como opcionales", "autoGeneratedPlaceholderText": "Autogenerado", "birthdayNotInTheFuture": "Birthday cannot be in future", + "birthdayNotOver140YearsAgo": "Birthday cannot be more than 140 years ago", "birthdayRequired": "Cumpleaños es obligatorio", "birthFieldLabelText": "Nacimiento", "cancel": "Cancelar", @@ -72,6 +73,7 @@ "no": "No", "nonCodedCauseOfDeath": "Non-coded cause of death", "nonCodedCauseOfDeathRequired": "Cause of death is required", + "nonsensicalYears": "Estimated years cannot be more than 140", "numberInNameDubious": "Número en nombre es dudoso", "obsFieldUnknownDatatype": "El concepto para el campo de observación '{{fieldDefinitionId}}' tiene un tipo de datos desconocido '{{datatypeName}}'", "optional": "Opcional", diff --git a/packages/esm-patient-registration-app/translations/fr.json b/packages/esm-patient-registration-app/translations/fr.json index 5089f379e..18bb7314a 100644 --- a/packages/esm-patient-registration-app/translations/fr.json +++ b/packages/esm-patient-registration-app/translations/fr.json @@ -4,6 +4,7 @@ "allFieldsRequiredText": "Tous les champs sont requis sauf si explicitement indiqués facultatifs", "autoGeneratedPlaceholderText": "Auto-généré", "birthdayNotInTheFuture": "Birthday cannot be in future", + "birthdayNotOver140YearsAgo": "Birthday cannot be more than 140 years ago", "birthdayRequired": "La date de naissance est requise", "birthFieldLabelText": "Naissance", "cancel": "Annuler", @@ -72,6 +73,7 @@ "no": "Non", "nonCodedCauseOfDeath": "Non-coded cause of death", "nonCodedCauseOfDeathRequired": "Cause of death is required", + "nonsensicalYears": "Estimated years cannot be more than 140", "numberInNameDubious": "Le chiffre dans le nom est suspect", "obsFieldUnknownDatatype": "Le concept pour le champ d'observation '{{fieldDefinitionId}}' a un type de données inconnu '{{datatypeName}}'", "optional": "Optionnel", diff --git a/packages/esm-patient-registration-app/translations/he.json b/packages/esm-patient-registration-app/translations/he.json index 6908f4a20..49f5e38f0 100644 --- a/packages/esm-patient-registration-app/translations/he.json +++ b/packages/esm-patient-registration-app/translations/he.json @@ -4,6 +4,7 @@ "allFieldsRequiredText": "כל השדות נדרשים אלא אם צוין אחרת", "autoGeneratedPlaceholderText": "נוצר אוטומטית", "birthdayNotInTheFuture": "Birthday cannot be in future", + "birthdayNotOver140YearsAgo": "Birthday cannot be more than 140 years ago", "birthdayRequired": "תאריך הלידה נדרש", "birthFieldLabelText": "לידה", "cancel": "ביטול", @@ -72,6 +73,7 @@ "no": "לא", "nonCodedCauseOfDeath": "Non-coded cause of death", "nonCodedCauseOfDeathRequired": "Cause of death is required", + "nonsensicalYears": "Estimated years cannot be more than 140", "numberInNameDubious": "מספר בשם חשוד", "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'", "optional": "אופציונלי", diff --git a/packages/esm-patient-registration-app/translations/km.json b/packages/esm-patient-registration-app/translations/km.json index 0420b675d..c9aba5f11 100644 --- a/packages/esm-patient-registration-app/translations/km.json +++ b/packages/esm-patient-registration-app/translations/km.json @@ -4,6 +4,7 @@ "allFieldsRequiredText": "តម្រូវឱ្យបំពេញគ្រប់កន្លែងចំហរទាំងអស់ លុះត្រាតែមានសម្គាល់ថាជាជម្រើស", "autoGeneratedPlaceholderText": "ទាញចេញទិន្នន័យដោយស្វ័យប្រវត្តិ", "birthdayNotInTheFuture": "Birthday cannot be in future", + "birthdayNotOver140YearsAgo": "Birthday cannot be more than 140 years ago", "birthdayRequired": "តម្រូវឱ្យបំពេញថ្ងៃខែឆ្នាំកំណើត", "birthFieldLabelText": "ថ្ងៃខែឆ្នាំកំណើត", "cancel": "បោះបង់ចោល", @@ -72,6 +73,7 @@ "no": "ទេ", "nonCodedCauseOfDeath": "Non-coded cause of death", "nonCodedCauseOfDeathRequired": "Cause of death is required", + "nonsensicalYears": "Estimated years cannot be more than 140", "numberInNameDubious": "លេខគឺជាឈ្មោះគួរឱ្យសង្ស័យ", "obsFieldUnknownDatatype": "Concept for obs field '{{fieldDefinitionId}}' has unknown datatype '{{datatypeName}}'", "optional": "ជាជម្រើស", diff --git a/packages/esm-patient-registration-app/translations/zh.json b/packages/esm-patient-registration-app/translations/zh.json index 5605bc328..7008353b0 100644 --- a/packages/esm-patient-registration-app/translations/zh.json +++ b/packages/esm-patient-registration-app/translations/zh.json @@ -4,6 +4,7 @@ "allFieldsRequiredText": "所有字段都是必填的,除非标记为可选。", "autoGeneratedPlaceholderText": "自动生成", "birthdayNotInTheFuture": "Birthday cannot be in future", + "birthdayNotOver140YearsAgo": "Birthday cannot be more than 140 years ago", "birthdayRequired": "生日是必填项", "birthFieldLabelText": "出生", "cancel": "取消", @@ -72,6 +73,7 @@ "no": "否", "nonCodedCauseOfDeath": "Non-coded cause of death", "nonCodedCauseOfDeathRequired": "Cause of death is required", + "nonsensicalYears": "Estimated years cannot be more than 140", "numberInNameDubious": "姓名中含有数字", "obsFieldUnknownDatatype": "obs字段'{{fieldDefinitionId}}'的概念具有未知数据类型'{{datatypeName}}'", "optional": "可选的", diff --git a/packages/esm-patient-registration-app/translations/zh_CN.json b/packages/esm-patient-registration-app/translations/zh_CN.json index 5605bc328..7008353b0 100644 --- a/packages/esm-patient-registration-app/translations/zh_CN.json +++ b/packages/esm-patient-registration-app/translations/zh_CN.json @@ -4,6 +4,7 @@ "allFieldsRequiredText": "所有字段都是必填的,除非标记为可选。", "autoGeneratedPlaceholderText": "自动生成", "birthdayNotInTheFuture": "Birthday cannot be in future", + "birthdayNotOver140YearsAgo": "Birthday cannot be more than 140 years ago", "birthdayRequired": "生日是必填项", "birthFieldLabelText": "出生", "cancel": "取消", @@ -72,6 +73,7 @@ "no": "否", "nonCodedCauseOfDeath": "Non-coded cause of death", "nonCodedCauseOfDeathRequired": "Cause of death is required", + "nonsensicalYears": "Estimated years cannot be more than 140", "numberInNameDubious": "姓名中含有数字", "obsFieldUnknownDatatype": "obs字段'{{fieldDefinitionId}}'的概念具有未知数据类型'{{datatypeName}}'", "optional": "可选的", diff --git a/packages/esm-service-queues-app/translations/am.json b/packages/esm-service-queues-app/translations/am.json index bd383fb87..a172806bc 100644 --- a/packages/esm-service-queues-app/translations/am.json +++ b/packages/esm-service-queues-app/translations/am.json @@ -161,6 +161,7 @@ "patientAlreadyInQueue": "Patient is already in the queue", "patientAttendingService": "Patient attending service", "patientHasActiveVisit": "The patient already has an active visit", + "patientInfo": "{{name}}{{sexInfo}}{{ageInfo}}", "patientList": "Patient list", "patientName": "Patient name", "patientNotInQueue": "The patient is not in the queue", @@ -203,7 +204,7 @@ "queueEntryTransitionUndoSuccessful": "Queue entry transition undo success", "queueEntryUpdateFailed": "Error updating queue entry", "queueEntryUpdateSuccessfully": "Queue Entry Updated Successfully", - "queueLocation": "Queue Location", + "queueLocation": "Queue location", "queueLocationRequired": "Queue location is required", "queueName": "Queue name", "queuePriority": "Queue priority", @@ -254,7 +255,7 @@ "serve": "Serve", "servePatient": "Serve patient", "service": "Service", - "serviceIsRequired": "Status is required", + "serviceIsRequired": "Service is required", "serviceQueue": "Service queue", "serviceQueues": "Service queues", "sex": "Sex", @@ -280,6 +281,7 @@ "today": "Today", "totalPatients": "Total Patients", "transition": "Transition", + "TransitionLatestQueueEntry": "Transition patient to latest queue", "transitionPatient": "Transition patient", "transitionPatientStatusOrQueue": "Select a new status or queue for patient to transition to.", "triageForm": "Triage form", diff --git a/packages/esm-service-queues-app/translations/ar.json b/packages/esm-service-queues-app/translations/ar.json index cf07f6ab8..437861454 100644 --- a/packages/esm-service-queues-app/translations/ar.json +++ b/packages/esm-service-queues-app/translations/ar.json @@ -161,6 +161,7 @@ "patientAlreadyInQueue": "Patient is already in the queue", "patientAttendingService": "المريض الذي يحضر الخدمة", "patientHasActiveVisit": "لدى المريض زيارة نشطة بالفعل", + "patientInfo": "{{name}}{{sexInfo}}{{ageInfo}}", "patientList": "قائمة المرضى", "patientName": "اسم المريض", "patientNotInQueue": "المريض ليس في الطابور", @@ -203,7 +204,7 @@ "queueEntryTransitionUndoSuccessful": "Queue entry transition undo success", "queueEntryUpdateFailed": "خطأ في تحديث دخول الطابور", "queueEntryUpdateSuccessfully": "تم تحديث دخول الطابور بنجاح", - "queueLocation": "موقع الطابور", + "queueLocation": "Queue location", "queueLocationRequired": "Queue location is required", "queueName": "اسم الطابور", "queuePriority": "أولوية الطابور", @@ -212,7 +213,7 @@ "queueRoomAddFailed": "خطأ في إضافة غرفة الانتظار", "queueRoomName": "اسم غرفة الانتظار", "queueRoomUpdatedSuccessfully": "تم تحديث غرفة الانتظار بنجاح", - "queuesClearedSuccessfully": "تم مسح الطوابير بنجاح", + "queuesClearedSuccessfully": "Queues cleared successfully", "queueScreen": "شاشة الطابور", "queueService": "خدمة الطابور", "queueStatus": "حالة الطابور", @@ -254,7 +255,7 @@ "serve": "خدمة", "servePatient": "خدمة المريض", "service": "خدمة", - "serviceIsRequired": "Status is required", + "serviceIsRequired": "Service is required", "serviceQueue": "طابور الخدمة", "serviceQueues": "طوابير الخدمة", "sex": "الجنس", @@ -280,6 +281,7 @@ "today": "اليوم", "totalPatients": "Total Patients", "transition": "Transition", + "TransitionLatestQueueEntry": "Transition patient to latest queue", "transitionPatient": "Transition patient", "transitionPatientStatusOrQueue": "Select a new status or queue for patient to transition to.", "triageForm": "نموذج الترياج", diff --git a/packages/esm-service-queues-app/translations/es.json b/packages/esm-service-queues-app/translations/es.json index bd383fb87..a172806bc 100644 --- a/packages/esm-service-queues-app/translations/es.json +++ b/packages/esm-service-queues-app/translations/es.json @@ -161,6 +161,7 @@ "patientAlreadyInQueue": "Patient is already in the queue", "patientAttendingService": "Patient attending service", "patientHasActiveVisit": "The patient already has an active visit", + "patientInfo": "{{name}}{{sexInfo}}{{ageInfo}}", "patientList": "Patient list", "patientName": "Patient name", "patientNotInQueue": "The patient is not in the queue", @@ -203,7 +204,7 @@ "queueEntryTransitionUndoSuccessful": "Queue entry transition undo success", "queueEntryUpdateFailed": "Error updating queue entry", "queueEntryUpdateSuccessfully": "Queue Entry Updated Successfully", - "queueLocation": "Queue Location", + "queueLocation": "Queue location", "queueLocationRequired": "Queue location is required", "queueName": "Queue name", "queuePriority": "Queue priority", @@ -254,7 +255,7 @@ "serve": "Serve", "servePatient": "Serve patient", "service": "Service", - "serviceIsRequired": "Status is required", + "serviceIsRequired": "Service is required", "serviceQueue": "Service queue", "serviceQueues": "Service queues", "sex": "Sex", @@ -280,6 +281,7 @@ "today": "Today", "totalPatients": "Total Patients", "transition": "Transition", + "TransitionLatestQueueEntry": "Transition patient to latest queue", "transitionPatient": "Transition patient", "transitionPatientStatusOrQueue": "Select a new status or queue for patient to transition to.", "triageForm": "Triage form", diff --git a/packages/esm-service-queues-app/translations/fr.json b/packages/esm-service-queues-app/translations/fr.json index 2db1a2a0d..712e74f7d 100644 --- a/packages/esm-service-queues-app/translations/fr.json +++ b/packages/esm-service-queues-app/translations/fr.json @@ -22,7 +22,7 @@ "advancedSearch": "Advanced search", "age": "Age", "alistOfClients": "Liste de patients attendus", - "all": "All", + "all": "Tout", "and": "And", "anotherVisitType": "Commencer un autre type de visite", "any": "Any", @@ -161,6 +161,7 @@ "patientAlreadyInQueue": "Patient is already in the queue", "patientAttendingService": "Patient attending service", "patientHasActiveVisit": "The patient already has an active visit", + "patientInfo": "{{name}}{{sexInfo}}{{ageInfo}}", "patientList": "Patient list", "patientName": "Patient name", "patientNotInQueue": "The patient is not in the queue", @@ -203,62 +204,62 @@ "queueEntryTransitionUndoSuccessful": "Queue entry transition undo success", "queueEntryUpdateFailed": "Error updating queue entry", "queueEntryUpdateSuccessfully": "Queue Entry Updated Successfully", - "queueLocation": "Queue Location", + "queueLocation": "Queue location", "queueLocationRequired": "Queue location is required", - "queueName": "Queue name", - "queuePriority": "Queue priority", + "queueName": "Nom de la file d'attente", + "queuePriority": "Priorité dans la file d'attente", "queueRoom": "Queue room", "queueRoomAddedSuccessfully": "Queue room added successfully", "queueRoomAddFailed": "Error adding queue room", "queueRoomName": "Queue room name", "queueRoomUpdatedSuccessfully": "Queue room updated successfully", - "queuesClearedSuccessfully": "Files d'attente vidées avec succès", + "queuesClearedSuccessfully": "Queues cleared successfully", "queueScreen": "Queue screen", - "queueService": "Queue service", - "queueStatus": "Queue status", + "queueService": "Service d'attente", + "queueStatus": "Statut de la file d'attente", "recentScheduledVisits_one": "{{count}} visit scheduled for +/- 7 days", "recentScheduledVisits_other": "{{count}} visits scheduled for +/- 7 days", - "recommended": "Recommended", - "refills": "Refills", - "removeFromQueueAndEndVisit": "Remove patient from queue and end active visit?", + "recommended": "Recommandée", + "refills": "Recharges", + "removeFromQueueAndEndVisit": "Retirer le patient de la file d'attente et mettre fin à la visite active", "removePatient": "Remove patient", "removePatientFromQueue": "Remove patient from queue", - "removeQueueEntryError": "Error removing queue entry", + "removeQueueEntryError": "Erreur lors de la suppression d'une entrée dans la file d'attente", "requeue": "Requeue", "retainLocation": "Retain location", - "returnDate": "Return Date", + "returnDate": "Date de retour", "room": "Room", "rRate": "R. Rate", - "save": "Save", + "save": "Sauvegarder", "scheduledAppointmentsList": "Liste des patients avec un rendez-vous planifié", "scheduledToday": "Prévu pour aujourd'hui", - "search": "Search", - "searchboxPlaceholder": "Search for a patient name or ID number", + "search": "Recherche", + "searchboxPlaceholder": "Rechercher un nom ou un numéro d'identification de patient", "searchForAVisitType": "Search for a visit type", - "searchForPatient": "Search for a patient", + "searchForPatient": "Recherche d'un patient", "searchPatient": "Search Patient", - "searchThisList": "Search this list", - "secondaryHelperText": "Type the patient's name or unique ID number", + "searchThisList": "Rechercher dans cette liste", + "secondaryHelperText": "Tapez le nom ou le numéro d'identification unique du patient.", "selectALocation": "Select a location", - "selectAVisitType": "Select visit type", + "selectAVisitType": "Sélectionnez le type de visite", "selectFacility": "Select a facility", - "selectOption": "Select an option", + "selectOption": "Sélectionner une option", "selectProgramType": "Select program type", "selectQueue": "Select a queue", "selectQueueLocation": "Sélectionnez un emplacement de file d'attente", "selectQueueService": "Select a queue service", "selectRoom": "Select a room", - "selectService": "Select a service", + "selectService": "Sélectionner un service", "selectServiceType": "Sélectionner un type de service", "selectVisitType": "Please select a Visit Type", "serve": "Serve", "servePatient": "Serve patient", "service": "Service", - "serviceIsRequired": "Status is required", - "serviceQueue": "Service queue", + "serviceIsRequired": "Service is required", + "serviceQueue": "File d'attente", "serviceQueues": "Files d'attente", - "sex": "Sex", - "sortBy": "Sort by", + "sex": "Sexe", + "sortBy": "Trier par", "sortWeight": "Sort weight", "sp02": "Sp02", "startAgeRangeInvalid": "La tranche d'âge de départ n'est pas valide", @@ -266,20 +267,21 @@ "startVisit": "Commencer une visite", "startVisitError": "Erreur lors du démarrage de la visite", "startVisitQueueSuccessfully": "Patient has been added to active visits list and queue.", - "status": "Status", + "status": "Statut", "statusIsRequired": "Status is required", "submitting": "Submitting...", "success": "Success", - "temperature": "Temperature", - "ticketNumber": "Ticket number", - "time": "Time", + "temperature": "Température", + "ticketNumber": "Ticket Number", + "time": "Temps", "timeCannotBeInFuture": "Time cannot be in the future", "timeCannotBePriorToPreviousQueueEntry": "L’heure ne peut être antérieure au début de la file d’attente précédente: {{time}}", "timeOfTransition": "Time of transition", - "tirageNotYetCompleted": "Triage has not yet been completed", - "today": "Today", + "tirageNotYetCompleted": "Le triage n'est pas encore terminé", + "today": "Aujourd'hui", "totalPatients": "Total Patients", "transition": "Transition", + "TransitionLatestQueueEntry": "Transition patient to latest queue", "transitionPatient": "Transition patient", "transitionPatientStatusOrQueue": "Select a new status or queue for patient to transition to.", "triageForm": "Triage form", diff --git a/packages/esm-service-queues-app/translations/he.json b/packages/esm-service-queues-app/translations/he.json index bf918c744..6ee50bbde 100644 --- a/packages/esm-service-queues-app/translations/he.json +++ b/packages/esm-service-queues-app/translations/he.json @@ -161,6 +161,7 @@ "patientAlreadyInQueue": "Patient is already in the queue", "patientAttendingService": "המטופל משתתף בשירות", "patientHasActiveVisit": "למטופל כבר יש ביקור פעיל", + "patientInfo": "{{name}}{{sexInfo}}{{ageInfo}}", "patientList": "רשימת המטופלים", "patientName": "שם המטופל", "patientNotInQueue": "המטופל אינו בתור", @@ -203,7 +204,7 @@ "queueEntryTransitionUndoSuccessful": "Queue entry transition undo success", "queueEntryUpdateFailed": "שגיאה בעדכון סטטוס רשומת תור", "queueEntryUpdateSuccessfully": "עודכן בהצלחה סטטוס רשומת התור", - "queueLocation": "מיקום התור", + "queueLocation": "Queue location", "queueLocationRequired": "Queue location is required", "queueName": "שם התור", "queuePriority": "עדיפות התור", @@ -212,7 +213,7 @@ "queueRoomAddFailed": "שגיאה בהוספת חדר תור", "queueRoomName": "שם חדר התור", "queueRoomUpdatedSuccessfully": "חדר התור עודכן בהצלחה", - "queuesClearedSuccessfully": "התורים נוקו בהצלחה", + "queuesClearedSuccessfully": "Queues cleared successfully", "queueScreen": "מסך התור", "queueService": "שירות התור", "queueStatus": "מצב התור", @@ -254,7 +255,7 @@ "serve": "שרת", "servePatient": "שרת מטופל", "service": "שירות", - "serviceIsRequired": "Status is required", + "serviceIsRequired": "Service is required", "serviceQueue": "תור השירות", "serviceQueues": "תורי השירות", "sex": "מגדר", @@ -280,6 +281,7 @@ "today": "היום", "totalPatients": "Total Patients", "transition": "Transition", + "TransitionLatestQueueEntry": "Transition patient to latest queue", "transitionPatient": "Transition patient", "transitionPatientStatusOrQueue": "Select a new status or queue for patient to transition to.", "triageForm": "טופס טריאז'", diff --git a/packages/esm-service-queues-app/translations/km.json b/packages/esm-service-queues-app/translations/km.json index b89314465..2975f41f5 100644 --- a/packages/esm-service-queues-app/translations/km.json +++ b/packages/esm-service-queues-app/translations/km.json @@ -161,6 +161,7 @@ "patientAlreadyInQueue": "Patient is already in the queue", "patientAttendingService": "Patient attending service", "patientHasActiveVisit": "អ្នកជំងឺបានមកពិនិត្យជំងឺសកម្មរួចហើយ", + "patientInfo": "{{name}}{{sexInfo}}{{ageInfo}}", "patientList": "បញ្ជីអ្នកជំងឺ", "patientName": "Patient name", "patientNotInQueue": "The patient is not in the queue", @@ -203,7 +204,7 @@ "queueEntryTransitionUndoSuccessful": "Queue entry transition undo success", "queueEntryUpdateFailed": "កំហុសក្នុងការធ្វើបច្ចុប្បន្នភាពបញ្ចូលតាមជួរ", "queueEntryUpdateSuccessfully": "ការបញ្ចូលតាមជួរត្រូវបានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ", - "queueLocation": "Queue Location", + "queueLocation": "Queue location", "queueLocationRequired": "Queue location is required", "queueName": "ឈ្មោះជួរ", "queuePriority": "អាទិភាពជួរ", @@ -212,7 +213,7 @@ "queueRoomAddFailed": "Error adding queue room", "queueRoomName": "Queue room name", "queueRoomUpdatedSuccessfully": "Queue room updated successfully", - "queuesClearedSuccessfully": "ជួរត្រូវបានជម្រះដោយជោគជ័យ", + "queuesClearedSuccessfully": "Queues cleared successfully", "queueScreen": "Queue screen", "queueService": "សេវាកម្មជួរ", "queueStatus": "ស្ថានភាពជួរ", @@ -254,7 +255,7 @@ "serve": "Serve", "servePatient": "Serve patient", "service": "សេវា", - "serviceIsRequired": "Status is required", + "serviceIsRequired": "Service is required", "serviceQueue": "ជួរសេវាកម្ម", "serviceQueues": "ជួរនៃសេវា", "sex": "ភេទ", @@ -280,6 +281,7 @@ "today": "ថ្ងៃនេះ", "totalPatients": "Total Patients", "transition": "Transition", + "TransitionLatestQueueEntry": "Transition patient to latest queue", "transitionPatient": "Transition patient", "transitionPatientStatusOrQueue": "Select a new status or queue for patient to transition to.", "triageForm": "ទម្រង់បែងចែកជំងឺដំបូង", diff --git a/packages/esm-service-queues-app/translations/zh.json b/packages/esm-service-queues-app/translations/zh.json index 8d8bf80a5..bbdc72680 100644 --- a/packages/esm-service-queues-app/translations/zh.json +++ b/packages/esm-service-queues-app/translations/zh.json @@ -161,6 +161,7 @@ "patientAlreadyInQueue": "患者已在队列中", "patientAttendingService": "患者就诊服务", "patientHasActiveVisit": "该患者已经有一个进行中的就诊", + "patientInfo": "{{name}}{{sexInfo}}{{ageInfo}}", "patientList": "患者列表", "patientName": "患者姓名", "patientNotInQueue": "患者不在队列中", @@ -203,7 +204,7 @@ "queueEntryTransitionUndoSuccessful": "Queue entry transition undo success", "queueEntryUpdateFailed": "更新队列条目状态时出现错误", "queueEntryUpdateSuccessfully": "队列条目更新成功", - "queueLocation": "候诊地点", + "queueLocation": "Queue location", "queueLocationRequired": "候诊地点是必填项", "queueName": "队列名称", "queuePriority": "队列优先级", @@ -212,7 +213,7 @@ "queueRoomAddFailed": "添加候诊室时出现错误", "queueRoomName": "候诊室名称", "queueRoomUpdatedSuccessfully": "候诊室更新成功", - "queuesClearedSuccessfully": "队列已成功清空", + "queuesClearedSuccessfully": "Queues cleared successfully", "queueScreen": "队列显示屏", "queueService": "队列服务", "queueStatus": "队列状态", @@ -254,7 +255,7 @@ "serve": "接待", "servePatient": "接待患者", "service": "服务", - "serviceIsRequired": "状态是必填项", + "serviceIsRequired": "Service is required", "serviceQueue": "服务队列", "serviceQueues": "服务队列", "sex": "性别", @@ -280,6 +281,7 @@ "today": "今日", "totalPatients": "Total Patients", "transition": "转诊", + "TransitionLatestQueueEntry": "Transition patient to latest queue", "transitionPatient": "转诊患者", "transitionPatientStatusOrQueue": "选择一个新的状态或队列用于患者的转诊。", "triageForm": "分诊表", diff --git a/packages/esm-service-queues-app/translations/zh_CN.json b/packages/esm-service-queues-app/translations/zh_CN.json index 8b29df39a..bbdc72680 100644 --- a/packages/esm-service-queues-app/translations/zh_CN.json +++ b/packages/esm-service-queues-app/translations/zh_CN.json @@ -161,6 +161,7 @@ "patientAlreadyInQueue": "患者已在队列中", "patientAttendingService": "患者就诊服务", "patientHasActiveVisit": "该患者已经有一个进行中的就诊", + "patientInfo": "{{name}}{{sexInfo}}{{ageInfo}}", "patientList": "患者列表", "patientName": "患者姓名", "patientNotInQueue": "患者不在队列中", @@ -203,7 +204,7 @@ "queueEntryTransitionUndoSuccessful": "Queue entry transition undo success", "queueEntryUpdateFailed": "更新队列条目状态时出现错误", "queueEntryUpdateSuccessfully": "队列条目更新成功", - "queueLocation": "队列地点", + "queueLocation": "Queue location", "queueLocationRequired": "候诊地点是必填项", "queueName": "队列名称", "queuePriority": "队列优先级", @@ -212,7 +213,7 @@ "queueRoomAddFailed": "添加候诊室时出现错误", "queueRoomName": "候诊室名称", "queueRoomUpdatedSuccessfully": "候诊室更新成功", - "queuesClearedSuccessfully": "队列已成功清空", + "queuesClearedSuccessfully": "Queues cleared successfully", "queueScreen": "队列显示屏", "queueService": "队列服务", "queueStatus": "队列状态", @@ -254,7 +255,7 @@ "serve": "接待", "servePatient": "接待患者", "service": "服务", - "serviceIsRequired": "状态是必填项", + "serviceIsRequired": "Service is required", "serviceQueue": "服务队列", "serviceQueues": "服务队列", "sex": "性别", @@ -280,6 +281,7 @@ "today": "今日", "totalPatients": "Total Patients", "transition": "转诊", + "TransitionLatestQueueEntry": "Transition patient to latest queue", "transitionPatient": "转诊患者", "transitionPatientStatusOrQueue": "选择一个新的状态或队列用于患者的转诊。", "triageForm": "分诊表",