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 );
}
}() );