Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Purpose and Benefits
Info |
---|
Version Compatibility |
This feature allows healthcare professionals to create and configure a custom attributes attribute for new patients during the registration process. These attributes This attribute can be represented as an icon based on configuration, which can enable the identification of patients with specific requirements or medical needs, improving the visual representation of patient data and aiding in the efficient recognition of key patient characteristics.
Patient Dashboard | Clinical Patient Search | ADT Page |
---|---|---|
Image Modified | Image Added | Image ModifiedImage Removed |
Steps to Configure Custom Patient Attribute
This example demonstrates how to create a new patient attribute called "kid"."
Create a Custom Person Attribute
Define a new custom person attribute named kid
of type java.lang.Boolean
using either of the following methods:
Liquibase Changeset:
Create a new changeset to add the custom attribute type "kid".
Define the attribute with the specified properties, including name, format, and other attributes.
Code Block language sql <changeSet id="ICON_ATTRIBUTE_TYPE_202404151317" author="BAHMNI"> <preConditions onFail="MARK_RAN"> <sqlCheck expectedResult="0"> select count(*) from person_attribute_type where name = 'kid'; </sqlCheck> </preConditions> <comment>Add person_attribute_type 'kid'</comment> <sql> INSERT INTO person_attribute_type (name, description, format, searchable, creator, date_created, retired, sort_weight, uuid) VALUES ('kid', 'Kid', 'java.lang.Boolean', '0', 1, curdate(), 0, 8, uuid()); </sql> </changeSet>
Through Initializer:
Add the custom attribute in a CSV file located at
masterdata/configuration/personattributetypes/personAttributeTypes.csv
.Specify the attribute's properties, such as name, format, and other configurations.
Code Block Uuid,Void/Retire,Name,Description,Format,Foreign uuid,Searchable,_order:1000 ,,kid,Kid,java.lang.Boolean,,,
Configure Icon and Style
Add the following configuration to the relevant app.json
files (clinical
, adt
, or ipd
) of the config module:
Code Block | ||
---|---|---|
| ||
"config" : { .... "iconAttribute": { "attrName": "kid", "attrValue": "true", "icon": "fa fa-solid fa-child", "iconStyle": "{'background-color': '#F58C35'}" }, ... } |
Key Fields
Key | Value | Mandatory |
---|---|---|
| Name of the custom attribute type | Yes |
| Condition that triggers the icon | Yes |
| FontAwesome icon class for visual representation of the attribute. | Yes |
| Custom CSS styling for the icon, such as background color. | No |
Update Search and Queue Configurations
Note
The search query that fetches patient details is implementation-specific. If you want to display the custom attribute on patient search pages, you need to modify the search query to include the relevant custom attribute details.
Add a left outer join clause in search queries:
Code Block language sql LEFT OUTER JOIN person_attribute patt ON patt.person_id = p.person_id AND patt.person_attribute_type_id = ( SELECT person_attribute_type_id FROM person_attribute_type WHERE name="kid" ) AND patt.voided = 0
Include the custom attribute in the select statement:
Code Block language sql IF(patt.value = "true", "true", "false") AS kid
Panel | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|