Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


The patient data that gets captured in the Registration app is flexible and configurable enough for various client implementations. The data that gets stored in the database can be categorized as follows:

Core Data
The core data constitutes of patient name (first name, last name and middle name), gender and age (or date of birth). These values get stored in person_name and person table in OpenMRS. This data is common for all OpenMRS implementations.

Implementation Specific Data
The data that needs to be captured from the user can be configured using OpenMRS PersonAttributes functionality.
1. Navigate to "Manage Person Attributes Types" link in OpenMRS Administration page.
2. Add "New Person Attribute Type". The "format" of the attribute will define the type of GUI element to be shown on Bahmni's Registration Page. If the attribute type is string, a textbox will be shown. If it is of "org.openmrs.Concept" type, then a dropdown is displayed. The label of the UI is defined by the "Description" of the attribute.
3. Apart from this, the bahmni-config (implementation specific configuration folder) provides an additional level of customization. We can display/hide some of the GUI elements that are configured in PersonAttributes. The settings are available at bahmni-config/openmrs/apps/registration/app.json. The following are some of the configurations.
showMiddleName, showCasteSameAsLastNameCheckbox,localNameSearch
4. Also, for the patient name, the autoComplete feature can be configured in app.json using the configuration-

"autoCompleteFields":["familyName", "caste"]

Additional Patient Information
Apart from the core information, specific implementations might want to categorize certain data as additional patient information. For that, the process is to add the PersonAttributes as mentioned in previous section. Then update the app.json file to include the attribute in "additionalPatientInformation" section as shown below. In this example, familyIncome was added in PatientAttributes and is configured to be shown as additional patient information.

"additionalPatientInformation" : [
{ "name":"familyIncome", "display":true }, /* display determines whether to show or hide */
{ "name":"rationCard", "display":true }
]