Overview - What this module does
The module is developed for patient registration, and is able to create new patients including recording of relevant demographics and a standard national address hierarchy, identify previous patients, create barcode with unique ID, scan barcode, record patient vital signs, scan national ID and record which service the patient is attending.
The patient registration runs as a touch screen application. The module uses Baobab Touchscreen Toolkit to simplify the development of touch-friendly user interfaces without requiring each page to be individually and consistently customized for touchscreens. See http://github.com/baobab/touchscreentoolkit.
The touch-screen computers will be configured to start OpenMRS using this form .../openmrs/module/rwandaprimarycare/login/login.form
Documentation / How-To
Installation guide (server side)
- Download the module from the repository and install it. This module depends on the idgen, rwandaaddresshierarchy, and namephonetics modules, so these must be downloaded and installed prior to installing primary care. Idgen provides an architecture for assigning ID numbers to patients during registration. Rwandaaddresshierarchy contains the entire address structure for the country of Rwanda, and provides an architecture for structured and unstructured addresses. Addresshierarchyrwanda will also very soon provide an htmlformentry custom tag that essentially renders its ajax-style rwanda address portlet and then records the user-selected values to the database. Finally, namephonetics ensures that searches by name are smart about common phonemes in the Kinyarwanda language.
- Then, to prepare primary care-issued IDs, first make sure all idgen tables are empty, if migrating from a test database.
- Create a Primary Care ID Type – choose the Rwandan ID validator.
- Go into the idgen module administration pages, choose the primary care ID type you just created, and Local Identifier Generator
- Here's the base character set: 0123456789ACEFHJKMNPUWXY, First identifier base is: 00001, and the length is 10.
- Click 'view', and test by exporting a couple of identifiers.
- Check the relationship type used during registration to record a patient's mothers and father's name (global property
registration.parentChildRelationshipTypeId). If empty this global property is empty, check the database to determine the ID of the parent to child relationship type (or create one).
- Go through global properties and save all registration properties, in particular
registration.primaryIdentifierType --the Rwanda location code is expected to be the three-digit code assigned to each health center by the Rwanda Ministry of Health. The primaryIdentifierType should be the identifier type that you just created for primary care registration IDs.
- You may need to add the core openmrs global property
- You may need to add two privileges to the default user role – Manage Identifier Sources, and Generate Batch of Identifiers.
- In the name phonetics Generate Phonetics for All Patients page, select Double Metaphone for Given Name, and Kinyarwanda Soundex for Family Name.
- Generate name phonetics on this same page. (NOTE: this can run for a couple of hours, if you have thousands of names in your database).
- In Rinkwavu, we have overwritten a couple of core openmrs text properties. To do this, in your runtime properties file, add the following line: custom.messages=<<path>>/custom_messages.properties, where you set the <<path>> to wherever you want to create a custom_messages.properties file. Then in the custom_messages file, add the following lines:
- PersonName.givenName=Christian Name
Person.name=Name (Christian name, KINYARWANDA name)