BBahmni 한국어 매뉴얼검색
한국어 번역 완료
한국어English

Groovy Scripts

Context

Groovy Scripts are used as extension scripts that can be executed when a particular event is triggered.

Some of the events can be

  • Displaying Display controls
  • Observation Save 

What should be configured for groovy scripts?

For any groovy script the following are configurable

  • What is the script to execute on trigger of an event
  • What should be implemented in the script

Types of Groovy Scripts

Different types of groovy scripts that can be configured are

  • Standard Extensions
  • Custom Extensions

Standard Extensions

  • The standard extension file names cannot be changed. The reason for referring them standard is that they need not be explicitly configured. Names are standard. Only implementation of the script can be customised.
  • If the file is present, by default it will be executed when the respective event is triggered.
  • Some of those extensions areBahmniObsValueCalcuator
  • TreatmentRegimenExtension
File NameLocation and Example FileNote
BahmniObsValueCalculator.groovyLocation of the file is /var/www/bahmni_config/openmrs/obscalculator/Sample BahmniObsValueCalculator.groovy fileThis groovy script is executed on click of consultation save button. This file should implement ObsValueCalculator.Override the run() method according to the requirement.
TreatmentRegimenExtension.groovyLocation of the file is /var/www/bahmni_config/openmrs/treatmentRegimenExtension/Sample TreatmentRegimenExtension.groovy fileThis groovy script is executed before displaying the "Chronic Treatment" Control.This file should extend BaseTableExtension<TreatmentRegimen>.Override the update() method according to the requirement.

Custom Extensions

  • Groovy extensions that can have custom files along with custom implementation.
  • Display controls such as Obs To Obs Flowsheet&nbsp;have flexibility to have custom extensions.
  • These scripts are triggered when displaying the display control under which the extension is configured.

Obs To Obs Flowsheet

ConfigurationLocation and ExampleNote
Add the groovy extension name as value of key "type" under the configuration section of ObsToObsFlowSheet Control&nbsp;All these custom groovy files should be under /var/www/bahmni_config/openmrs/flowSheetExtension/Please refer example for https://github.com/Bahmni/endtb-config/blob/master/openmrs/flowsheetExtension/DstExtension.groovyThis file should extend BaseTableExtension<PivotTable>.Override the update() method according to the requirement.

Developer Tips

One way to debug groovy scripts during development is to write statements to a temporary file, e.g., in BahmniObsValueCalculator.groovy, use the snippet below. groovy_debug.txt should be writable. Make sure to remove debugging statements and temporary file before deployment.

def file1 = new File(OpenmrsUtil.getApplicationDataDirectory() + "obscalculator/groovy_debug.txt")
file1.append 'debugging statement\n'
원문 정보

Bahmni Wiki · CC BY-SA 4.0

원문 보기 ↗