Skip to main content

The openIMIS Backend Calculation reference module.

Project description

openIMIS Backend Calculation reference module

This repository holds the files of the openIMIS Backend Calculation reference module. It is dedicated to be deployed as a module of openimis-be_py.

Models

  • None (using no database approach for CalculationRule) - Calculation Rule is saved by defining class extending the ABSCalculationClass from core module.

Listened Django Signals

  • signal_get_rule_name
  • signal_get_rule_details
  • signal_get_param
  • signal_get_linked_class
  • signal_calculate_event

GraphQl Queries

  • calculationRules
    • allow frontend to fetch the all calculation rules data
  • calculationRulesByClassName
    • allow frontend to fetch the calculation data based on its name
  • calculationParams
    • allow frontend to fetch the calculation parameters
  • linkedClass
    • allow frontend to fetch the linked class related to chosen instance

Services

  • get_rule_name(class_name)
    • return the names of calculation rules
  • get_rule_details(class_name)
    • this function will send a signal and the rules will reply if they have object matching the classname in their list of object
  • run_calculation_rules(instance, context, user)
    • trigger calculations so as to calculate based on provided parameters
  • get_parameters(class_name, instance)
    • return the ruleDetails that are valid to classname and related to instance
  • get_linked_class(class_name_list)
    • List[ClassName] is send from FE, by checking the class used in page where the user have access
    • return all the ListClass

Configuration options (can be changed via core.ModuleConfiguration)

  • gql_query_calculation_rule_perms: required rights to call all graphQl queries defined for Calculation module (default: ["153001"])
  • gql_mutation_update_calculation_rule_perms: required rights to update CalculationRule (default: ["153003"])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openimis_be_calculation-1.9.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

openimis_be_calculation-1.9.0-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file openimis_be_calculation-1.9.0.tar.gz.

File metadata

  • Download URL: openimis_be_calculation-1.9.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for openimis_be_calculation-1.9.0.tar.gz
Algorithm Hash digest
SHA256 86bad539d4e131fff2f3284e6d34608be36fd8e231744472c414249c63e8f8dd
MD5 cf25a314d56c3266e72df913952375e4
BLAKE2b-256 b52659197568f3c7a0f25383ec41a7b2a1f20a0cfab58821fb70bc1648a8a45d

See more details on using hashes here.

File details

Details for the file openimis_be_calculation-1.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for openimis_be_calculation-1.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32992a9229dce7ecd98d8d90bbfe336112c415fff9f7eddbc3870f1e39e83fa7
MD5 e11f005726862ca633f075832caa8572
BLAKE2b-256 21eded9facce70a615d893e1f1bc9184110a49120066c46363f2df0df15e14b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page