GSoC 2023: O3: Migrate vanilla React forms to RHF

GSoC 2023: O3: Migrate vanilla React forms to RHF

Primary Mentor

@Dennis Kigen 

Primary Mentor

@Dennis Kigen 

Backup Mentor

@Hadijah Kyampeire 

Assigned to 

@Christopher Lumu 

Abstract

Currently OpenMRS  has a bunch of forms written in O3 in vanilla React. These forms, though functional, are not the most performant or extensible and for the most part, lack validation. React Hook Form offers easy-to-use validation out of the box, performance and tiny bundle size. The task is to refactor existing forms to use the React Hook Form library as well as Zod for schema validations.

Required Skills

Project Rating and length

Medium

175 hours

Objectives

Identified forms to Refactor


There are 9 forms  that this refactor targets which include: 

Methodology


Issues

epic     https://openmrs.atlassian.net/browse/O3-2138

Issue Number

Issue 

Pull Request

Status

Issue Number

Issue 

Pull Request

Status

O3-2234

Initinalization of the react hook form and zod dependencies

https://github.com/openmrs/openmrs-esm-patient-chart/pull/1254

merged

 O3-2139

Conditons form Migration

https://github.com/openmrs/openmrs-esm-patient-chart/pull/1248

merged

O3-2142

Visit Note form Migration

https://github.com/openmrs/openmrs-esm-patient-chart/pull/1253

merged

O3-2140

Programs form migration

https://github.com/openmrs/openmrs-esm-patient-chart/pull/1250

merged

O3-2144

Start visit form Migration

https://github.com/openmrs/openmrs-esm-patient-chart/pull/1278

merged

O3-2141

Medications order form migration

https://github.com/openmrs/openmrs-esm-patient-chart/pull/1309

merged

O3-2143

Vitals and Biometrics form migration Migration

https://github.com/openmrs/openmrs-esm-patient-chart/pull/1310

merged

O3-2236

Appointments form Migration

https://github.com/openmrs/openmrs-esm-patient-chart/pull/1295

merged

O3-2235

Allergy form  Migration

https://github.com/openmrs/openmrs-esm-patient-chart/pull/1308

merged

 

 

 

 


Weekly Reports/blogs

Find all of them at :

Mid-term evaluation:

 

 

Final Presentation