Difference between revisions of "MediaWiki:Gadget-calculator-equipmentSize.js"
From WikiAnesthesia
Chris Rishel (talk | contribs) (Created page with "( function() { mw.calculators.addCalculations( { bladeMacSize: { name: 'Laryngoscope blade size (MAC)', abbreviation: 'Blade (MAC)',...") |
Chris Rishel (talk | contribs) m (Chris.Rishel moved page MediaWiki:Gadget-calculator-equipmentSizing.js to MediaWiki:Gadget-calculator-equipmentSize.js without leaving a redirect) |
Latest revision as of 16:31, 5 April 2022
( function() { mw.calculators.addCalculations( { bladeMacSize: { name: 'Laryngoscope blade size (MAC)', abbreviation: 'Blade (MAC)', data: { variables: { required: [ 'age' ] } }, type: 'string', references: [ 'Smith\'s Anesthesia for Infants and Children. 8e. p356' ], calculate: function( data ) { var age = data.age.toNumber( 'yo' ); if( age >= 6 ) { return '3'; } else if( age >= 1 ) { // ( age + 16 ) / 4 // To nicely display in increments of 0.5, double the calculation, round (floor), then divide by 2 return '2'; } else { return '-'; } } }, bladeMillerSize: { name: 'Laryngoscope blade size (Miller)', abbreviation: 'Blade (Miller)', data: { variables: { required: [ 'age' ] } }, type: 'string', references: [ 'Smith\'s Anesthesia for Infants and Children. 8e. p356' ], calculate: function( data ) { var age = data.age.toNumber( 'yo' ); if( age >= 2 ) { return '2'; } else if( age >= 1 / 12 ) { return '1'; } else if( age >= 0 ) { return '0-1'; } else { return '0'; } } }, ettDepth: { name: 'Endotracheal tube (ETT) depth', abbreviation: 'ETT depth', data: { variables: { required: [ 'age' ], optional: [ 'height' ] } }, type: 'string', references: [ 'Techanivate A, Kumwilaisak K, Samranrean S. Estimation of the proper length of orotracheal intubation by Chula formula. J Med Assoc Thai. 2005 Dec;88(12):1838-46. PMID: 16518983.', 'Smith\'s Anesthesia for Infants and Children. 8e. p356' ], calculate: function( data ) { var age = data.age.toNumber( 'yo' ); var height = data.height ? data.height.toNumber( 'cm' ) : null; var depth; if( age >= 12 ) { if( height ) { depth = math.round( 0.1 * height + 4 ); } else { depth = '20+'; } } else if( age >= 2 ) { // ( age / 2 ) + 12 depth = math.round( age / 2 + 12 ); } else if( age >= 1 ) { depth = 12; } else if( age >= 0.5 ) { depth = 11; } else if( age >= 0 ) { depth = 9; } else { depth = '7-8'; } return depth + ' cm from teeth'; } }, ettSize: { name: 'Endotracheal tube (ETT) size', abbreviation: 'ETT size', data: { variables: { required: [ 'age' ] } }, type: 'string', references: [ 'Smith\'s Anesthesia for Infants and Children. 8e. p356' ], calculate: function( data ) { var age = data.age.toNumber( 'yo' ); var size; if( age >= 12 ) { size = '6+'; } else if( age >= 1 ) { // ( age + 16 ) / 4 // To nicely display in increments of 0.5, double the calculation, round (floor), then divide by 2 size = String( Math.floor( 2 * ( ( age + 16 ) / 4 ) ) / 2 ); } else if( age >= 0.5 ) { size = '3.5-4'; } else if( age >= 0 ) { size = '3-3.5'; } else { size = '2.5-3'; } return size + ' mm (ID)'; } }, lmaSize: { name: 'Laryngeal mask airway (LMA) size', abbreviation: 'LMA size', data: { variables: { required: [ 'weight' ] } }, type: 'string', references: [ 'Smith\'s Anesthesia for Infants and Children. 8e. p312' ], calculate: function( data ) { var weight = data.weight.toNumber( 'kgwt' ); var size; if( weight > 100 ) { size = '6'; } else if( weight > 70 ) { size = '5'; } else if( weight > 50 ) { size = '4'; } else if( weight > 30 ) { size = '3'; } else if( weight > 20 ) { size = '2.5'; } else if( weight > 10 ) { size = '2'; } else if( weight > 5 ) { size = '1.5'; } else { size = '1'; } return size; } } } ); }() );