Wiki Spaces


Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack


Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

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

The touch-screen computers will be configured to start OpenMRS using this form .../openmrs/module/rwandaprimarycare/login/login.form

Documentation / How-To



Instructions: Server Side Setup

1. 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.  The idgen module provides an architecture for assigning ID numbers to patients during registration.  The rwandaaddresshierarchy module contains the entire address structure for the country of Rwanda, and provides an architecture for structured and unstructured addresses.  The rwandaaddresshierarchy module will also very soon provide an htmlformentry custom tag that essentially renders its ajax-style rwanda address fields and then records the user-selected values to the database.   Finally, the namephonetics module ensures that searches by name are smart about common phonemes in the Kinyarwanda language.

2. Then, to prepare primary care-issued IDs, first make sure all idgen tables are empty, if migrating from a test database.

3. Create a Primary Care ID Type – choose the Rwandan ID validator.

4. Go into the idgen module administration pages, choose the primary care ID type you just created, and Local Identifier Generator

5. Here's the base character set: 0123456789ACEFHJKMNPUWXY, First identifier base is: 00001, and the length is 10.

6. Click 'view', and test by exporting a couple of identifiers.

7. Check the relationship type used during registration to record a patient's mothers and father's name (global property registration.parentChildRelationshipTypeId). If this global property is empty, check the database to determine the ID of the parent to child relationship type (or create one).

8. Go through global properties and save all registration properties, in particular registration.rwandaLocationCode and 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.  For example, the three-digit code for Rwinkwavu Health Center is 416.  The primaryIdentifierType should be the identifier type that you just created for primary care registration IDs.   If there is the possibility of receiving transfer patients from other health centers where they may have received a barcode, setup the global property: registration.rwandaLocationCodes.  These are pipe delimited pairs of Health Centers by name, and Health Center MoH three-digit location code.  For example, a valid entry would be "Rwinkwavu Health Center:416|Kirehe Health Center:477|Rusumo Health Center|412".  (I made up the location codes for Kirehe and Rusumo, so please verify your location codes before going live).

9. You may need to add the core openmrs global property concept.temperature.

10. You may need to add two privileges to the default user role – Manage Identifier Sources, and Generate Batch of Identifiers.

11. In the name phonetics Generate Phonetics for All Patients page, select Double Metaphone for Given Name, and Kinyarwanda Soundex for Family Name.

12. 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).

13. In Rinkwavu, we have overwritten a couple of core openmrs text properties.  To do this, in your OpenMRS runtime properties file, add the following line:   custom.messages=<<path>>/, where you set the <<path>> to wherever you want to create a file.  Then in the custom_messages file, add the following lines:

           PersonName.givenName=Christian Name
           PersonName.familyName=Kinyarwanda Name
  (Christian name, KINYARWANDA name)

Instructions: Touchscreen Client

Touchscreen Setup (you only have to do this once, ever, when first configuring the touch-screen)

1) Configure Firefox for the touchscreen user:

  1. At the terminal, run firefox -ProfileManager to open the profile management dialog
  2. Create a profile called Registration, set this to automatic
  3. Set firefox homepage to be touchscreen registration openmrs page 
  4. Disable all automatic updates (Edit > Preferences > Advanced)
  5. Install the _rkiosk _firefox add-on from the internet
  6. Find the Firefox profile folder in ~/.mozilla/firefox
  7. edit the pref.js file and the following line (this can also be set from about:config through the firefox interface):

user_pref("rkiosk.navbar", true);

  1. Download _;and save it the _chrome _folder
  2. Find the folder for the rkiosk extension, and open chrome.manifest
  3. Remove the last line 'overlay chrome://mozapps/content/downloads/unknownContentType.xul .....' (barcode printing doesn't work otherwise)

2) Lock-down Ubuntu into a Firefox kiosk

  1. Go to System > Preferences > Startup Applications 
  2. Add a new startup program called Patient registration_ _and specify /usr/bin/firefox -P "Registration" as the command
  3. Uncheck the following programs: Check for new hardware drivers, Disk notifications, Update notifier
  4. Open gconf-editor and browse to /apps/update-notifier, and uncheck the the auto_launch option
  5. Open the file /etc/update-manager/release-upgrades as root and change the value of Prompt to never
  6. Add a shortcut to Firefox on the desktop, and also a shortcut to Firefox in safe mode (i.e. firefox -safe-mode)

3) Configure automatic login

  1. Go to System > Administration > Login Screen
  2. Click on Security, select "Enable Automatic Login", and select the name of your user in the box below it

4) setup barcode printer

    Plug the printer into USB port
    //At the command line execute, "sudo chmod a+w /dev/usb/lp0" so all users are given permission to write to the printer
    Create a three-line file  
    sudo /bin/chmod 777 /dev/usb/lp0
    cat $1 > /dev/usb/lp0

    When Netscape asks which program to open barCode.epl with, pick

    Modify sudoers:

    root ALL = (ALL) ALL
    user ALL=NOPASSWD: /bin/chmod, /usr/sbin/gdmsetup

5) configure scanner for pdf417, and code128

    need to download the manual and print relavent configuration codes; maybe we can make the beep less obnoxious
6) interfaces file needs:

auto eth0
iface eth0 inet dhcp

(this also seems to work??):
auto lo
iface lo inet loopback

Instructions: Frequently Asked Questions

Printer can't recognize the break between stickers:

1. Make sure the printer power is off and that media is loaded. 
2. Press and hold the feed button then turn on the printer power. 
3. Continue to hold the feed button until the status light LED flashes. 
Release the feed button. 
4. The printer will set the media sensor for the label backing being used. 
After the printer is done making this adjustment, the roll will 
automatically feed until a label is positioned at the print head. 
5. The configuration settings (similar to the example below) will print. 
Upon completion, the printer will save the new settings in memory and 
remain in diagnostic dump mode. 
6. Press the feed button. The printer will dispense another label with the 
message "Out of DUMP" and be ready for normal operation.

  • No labels