Difference between revisions of "MediaWiki:Gadget-calculator-patients-patientInput.js"
From WikiAnesthesia
Chris Rishel (talk | contribs) m (Chris.Rishel moved page MediaWiki:Gadget-calculator-patientinput.js to MediaWiki:Gadget-calculator-patientInput.js without leaving a redirect) |
Chris Rishel (talk | contribs) |
||
Line 3: | Line 3: | ||
*/ | */ | ||
( function() { | ( 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' ] | |||
} | |||
} ); | |||
// 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( { | mw.calculators.addVariables( { | ||
age: { | age: { | ||
Line 43: | Line 84: | ||
defaultValue: '75 kgwt', | defaultValue: '75 kgwt', | ||
maxLength: 3, | maxLength: 3, | ||
units: [ | units: [ | ||
'kgwt', | 'kgwt', | ||
Line 54: | Line 92: | ||
} ); | } ); | ||
var containerId = 'calculator- | var containerId = 'calculator-patientInput'; | ||
if( !$( '#' + containerId ).length ) { | if( !$( '#' + containerId ).length ) { |
Revision as of 10:09, 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' ] } } ); // 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 ); } }() );