Difference between revisions of "WikiAnesthesia:Calculators guide"

From WikiAnesthesia
(Created page with "{{DISPLAYTITLE:Calculators guide}}")
Tag: 2017 source edit
 
Line 1: Line 1:
{{DISPLAYTITLE:Calculators guide}}
{{DISPLAYTITLE:Calculators guide}}
'''Calculators''' on WikiAnesthesia are interactive tools which perform clinical calculations across a wide range of topics of interest in anesthesia.
===About the calculators===
Calculators on WikiAnesthesia differ from many other existing calculator apps by leveraging several unique characteristics of the practice of anesthesia:
*Each patient may require many independent calculations to be performed
**E.g. lean body weight, weight-based drug dosing, equipment sizing, fluid management, cardiac output
*Many calculations in anesthesia are computed using a relatively limited set of patient variables
**E.g. weight, height, age, gender
This allows optimizations for real-time clinical use in the following ways:
*The results of many calculations can be displayed in a single, organized, compact, searchable interface
*User-provided values for patient variables are cached for 8 hours
**Patient data only needs to be entered once throughout the intraoperative period and will automatically be applied to all calculators on the site
===Using the calculators===
The most commonly used calculators can be found in the calculators menu (<span class="fas fa-calculator"></span>) in the upper right of the header. A complete list of available calculators includes:
====List of calculators====
*[[Anatomy and physiology calculator]]
*[[Drug dosage calculator]]
*[[Equipment sizing calculator]]
===Contributing to calculators===
Because calculators are interactive tools which run JavaScript code locally on users' computers, modification of calculator code is restricted to [[Special:ListUsers/sysop|developers of WikiAnesthesia]]. Users can contribute to calculators by either suggesting changes using the discussion page or apply for developer access to modify existing or create new calculators.
====Suggesting changes====
Any user may use the calculator's discussion page to make suggestions about how to improve that calculator. To be most helpful, please include any specific details and relevant references which would facilitate evidenced-based implementation by one of our developers. Some good examples of feedback include:
*A drug or dose for a specific population/indication/route is missing from the [[drug dosage calculator]]
*Additional calculation(s) which could be added to the [[anatomy and physiology calculator]]
====Applying for developer access====
If you would like to more substantially contribute to calculator development, please send a message to the [[User:Chris.Rishel|editor-in-chief (Chris Rishel)]] and include:
*A brief description of your technical background
**Experience with JavaScript and jQuery would be particularly helpful
*What ideas you have for improving and/or adding to the calculators provided by WikiAnesthesia
If approved, you will be given developer access on a sandbox server to develop and test your modifications. When ready, your code will be reviewed and considered for implementation on the live site.
*
===Calculator development===
* Calculators are implemented as MediaWiki gadgets, which consist of javascript and/or css files stored as wiki pages in the MediaWiki namespace
** This allows the code to have similar collaboration, history tracking, and version control as normal wiki pages
** See the [[mediawikiwiki:Extension:Gadgets|gadgets extension page]] for background information about how gadgets work
* The core functionality of the calculators platform is provided by the "calculator-core" gadget
** Contained in [[MediaWiki:Gadget-calculator-core.js|Gadget-calculator-core.js]] and [[MediaWiki:Gadget-calculator-core.css|Gadget-calculator-core.css]]
** Calculator functions and data are stored in the <code>mw.calculators</code> property of the global <code>mw</code> MediaWiki javascript object
==== Creating a new calculator ====
Calculators must be declared as gadgets in the [[MediaWiki:Gadgets-definition|Gadgets-definition]] page. The gadget definition should specify any additional dependencies on existing gadgets (calculator-core is automatically included). Some examples of common dependencies include:
* calculator-patients-patientInput: Adds a sticky input panel for patient weight, height, age, and gender below the header
* calculator-patients-weightCalculations: Makes calculations for lean and ideal body weight available
* calculator-drugs-data: Loads the database of drug data
Calculators may be added to the calculator menu by editing the [[MediaWiki:Calculators-definition|calculators-definition]] page
Eventually this guide may expand to include more specific details about calculator development, but for now, the best way to learn would be to examine the code of existing calculators to see how they work.

Revision as of 00:52, 20 September 2021


Calculators on WikiAnesthesia are interactive tools which perform clinical calculations across a wide range of topics of interest in anesthesia.

About the calculators

Calculators on WikiAnesthesia differ from many other existing calculator apps by leveraging several unique characteristics of the practice of anesthesia:

  • Each patient may require many independent calculations to be performed
    • E.g. lean body weight, weight-based drug dosing, equipment sizing, fluid management, cardiac output
  • Many calculations in anesthesia are computed using a relatively limited set of patient variables
    • E.g. weight, height, age, gender

This allows optimizations for real-time clinical use in the following ways:

  • The results of many calculations can be displayed in a single, organized, compact, searchable interface
  • User-provided values for patient variables are cached for 8 hours
    • Patient data only needs to be entered once throughout the intraoperative period and will automatically be applied to all calculators on the site

Using the calculators

The most commonly used calculators can be found in the calculators menu () in the upper right of the header. A complete list of available calculators includes:

List of calculators

Contributing to calculators

Because calculators are interactive tools which run JavaScript code locally on users' computers, modification of calculator code is restricted to developers of WikiAnesthesia. Users can contribute to calculators by either suggesting changes using the discussion page or apply for developer access to modify existing or create new calculators.

Suggesting changes

Any user may use the calculator's discussion page to make suggestions about how to improve that calculator. To be most helpful, please include any specific details and relevant references which would facilitate evidenced-based implementation by one of our developers. Some good examples of feedback include:

Applying for developer access

If you would like to more substantially contribute to calculator development, please send a message to the editor-in-chief (Chris Rishel) and include:

  • A brief description of your technical background
    • Experience with JavaScript and jQuery would be particularly helpful
  • What ideas you have for improving and/or adding to the calculators provided by WikiAnesthesia

If approved, you will be given developer access on a sandbox server to develop and test your modifications. When ready, your code will be reviewed and considered for implementation on the live site.

Calculator development

  • Calculators are implemented as MediaWiki gadgets, which consist of javascript and/or css files stored as wiki pages in the MediaWiki namespace
    • This allows the code to have similar collaboration, history tracking, and version control as normal wiki pages
    • See the gadgets extension page for background information about how gadgets work
  • The core functionality of the calculators platform is provided by the "calculator-core" gadget

Creating a new calculator

Calculators must be declared as gadgets in the Gadgets-definition page. The gadget definition should specify any additional dependencies on existing gadgets (calculator-core is automatically included). Some examples of common dependencies include:

  • calculator-patients-patientInput: Adds a sticky input panel for patient weight, height, age, and gender below the header
  • calculator-patients-weightCalculations: Makes calculations for lean and ideal body weight available
  • calculator-drugs-data: Loads the database of drug data

Calculators may be added to the calculator menu by editing the calculators-definition page

Eventually this guide may expand to include more specific details about calculator development, but for now, the best way to learn would be to examine the code of existing calculators to see how they work.