Difference between revisions of "MediaWiki:Gadget-calculator-patients-patientInput.js"
From WikiAnesthesia
Chris Rishel (talk | contribs) |
Chris Rishel (talk | contribs) |
||
Line 3: | Line 3: | ||
*/ | */ | ||
( function() { | ( function() { | ||
// Units for age (37 weeks = birth) | // Units for age (37 weeks = birth) | ||
mw.calculators.addUnits( { | mw.calculators.addUnits( { | ||
Line 21: | Line 20: | ||
} | } | ||
} ); | } ); | ||
return; | |||
// Units for weight | // Units for weight | ||
// Body weight needs to be treated as a different fundamental unit type from mass (otherwise it would cancel out | // Body weight needs to be treated as a different fundamental unit type from mass (otherwise it would cancel out |
Revision as of 10:56, 28 July 2021
/** * @author Chris Rishel */ ( function() { // Units for age (37 weeks = birth) mw.calculators.addUnits( { wk: { baseName: 'age', definition: '0.01923 year', offset: -37 }, mo: { baseName: 'age', definition: '1 month' }, yr: { baseName: 'age', definition: '1 year', aliases: [ 'yo' ] } } ); return; // Units for weight // Body weight needs to be treated as a different fundamental unit type from mass (otherwise it would cancel out // doing stoichiometry calculations. // Gram-weight, which uses short SI prefixes (e.g. 1 kgwt = 1000 gwt) mw.calculators.addUnitsBases( { weight: { toString: function( units ) { return units.replace( 'wt', '' ); } } } ); mw.calculators.addUnits( { gwt: { baseName: 'weight', prefixes: 'short' }, lbwt: { baseName: 'weight', definition: '453.59237 gwt' } } ); mw.calculators.addVariables( { age: { name: 'Age', type: 'number', defaultValue: '40 yr', maxLength: 3, units: [ 'yr', 'mo', 'wk' ] }, gender: { name: 'Gender', type: 'string', defaultValue: 'F', options: [ 'F', 'M' ] }, height: { name: 'Height', type: 'number', abbreviation: 'Ht', defaultValue: '175 cm', maxLength: 3, units: [ 'cm', 'm', 'in', 'ft' ] }, weight: { name: 'Weight', type: 'number', abbreviation: 'Wt', defaultValue: '75 kgwt', maxLength: 3, units: [ 'kgwt', 'lbwt', 'gwt' ] } } ); var containerId = 'calculator-patientInput'; if( !$( '#' + containerId ).length ) { var $container = $( '<div>', { id: containerId } ); $container.addClass( 'container border-bottom px-0 py-1' ); var $containerRow = $( '<div>', { class: 'form-row align-items-center' } ); var inputOptions = { size: 'compact' }; $containerRow.append( mw.calculators.getVariable( 'weight' ).createInput( inputOptions ) ); $containerRow.append( mw.calculators.getVariable( 'height' ).createInput( inputOptions ) ); $containerRow.append( mw.calculators.getVariable( 'age' ).createInput( inputOptions ) ); $containerRow.append( mw.calculators.getVariable( 'gender' ).createInput( inputOptions ) ); $container.appendTo( $( '#contentHeader' ) ); $container.append( $containerRow ); } }() );