XML 18 R46.htm IDEA: XBRL DOCUMENT v2.4.1.9
Stock Option Plans (Details) (USD $)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]      
Number of Options, Exercised (75,000)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised (56,666)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised  
Exercise of stock options, shares 75,000us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised 56,666us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised  
Option Activity for Non-Employees      
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]      
Number of Options, Beginning Balance 173,332us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
239,999us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Number of Options, Forfeited or expired 5,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
(66,667)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Number of Options, Ending Balance 16,666us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
173,332us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
239,999us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
Number of Options, Exercisable, Ending Balance 1,666us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
173,332us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
234,442us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
Weighted Averaged Exercise Price, Beginning Balance $ 0.48us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
$ 1.56us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Weighted Averaged Exercise Price, Ending Balance $ 1.27us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
$ 0.48us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
$ 1.56us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
Weighted Averaged Exercise Price, Exercisable, Ending Balance $ 1.24us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
$ 0.48us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
$ 1.57us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
Weighted Average Remaining Contractual Life (Years), Outstanding 7 months 13 days 7 months 2 days 1 year 3 months 26 days
Weighted Average Remaining Contractual Life (Years), Exercisable 7 months 13 days 7 months 2 days  
Aggregate Intrinsic Options Value, Beginning Balance $ 210,833us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
   
Aggregate Intrinsic Options Value, Exercisable, Beginning Balance 201,833us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
   
Aggregate Intrinsic Options Value, Ending Balance 17,166us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
210,833us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Aggregate Intrinsic Options Value, Exercisable, Ending Balance 1,716us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
201,833us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Number of Options, Exercisable, Beginning Balance 173,332us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
234,442us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Weighted Averaged Exercise Price, Exercisable, Beginning Balance $ 0.48us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
$ 1.57us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Weighted Averaged Exercise Price, Forfeited $ 1.15us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
$ 2.50us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Employee Stock Option      
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]      
Number of Options, Beginning Balance 1,484,499us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
1,283,741us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Number of Options, Granted 390,470us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
309,090us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Number of Options, Exercised (312,293)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
(56,666)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Number of Options, Forfeited or expired (90,546)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
(51,666)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Number of Options, Ending Balance 1,472,130us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
1,484,499us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
1,283,741us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
Number of Options, Exercisable, Ending Balance 1,036,185us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
1,115,006us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Weighted Averaged Exercise Price, Beginning Balance $ 1.03us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 0.79us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Weighted Averaged Exercise Price, Granted $ 2.25us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 1.62us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Weighted Averaged Exercise Price, Exercised $ 0.93us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
   
Weighted Averaged Exercise Price, Forfeited or expired $ 1.30us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 0.99us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Weighted Averaged Exercise Price, Ending Balance $ 0.79us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 1.03us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 0.79us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
Weighted Averaged Exercise Price, Exercisable, Ending Balance $ 1.10us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 0.99us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Weighted Average Remaining Contractual Life (Years), Outstanding 2 years 10 months 17 days 3 years 26 days 3 years 7 months 13 days
Weighted Average Remaining Contractual Life (Years), Granted 5 years 4 years 4 months 17 days  
Weighted Average Remaining Contractual Life (Years), Exercisable 2 years 4 months 28 days 2 years 5 months 5 days  
Aggregate Intrinsic Options Value, Ending Balance 1,430,231us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
   
Aggregate Intrinsic Options Value, Exercisable, Ending Balance $ 1,244,074us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
   
Number of Options, Exercisable, Beginning Balance 1,115,006us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
   
Weighted Averaged Exercise Price, Exercisable, Beginning Balance $ 0.99us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
   
Exercise of stock options, shares 312,293us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
56,666us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Vested Options      
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]      
Number of Options, Beginning Balance 1,115,006us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
849,066us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
 
Number of Options, Exercised (312,293)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
(56,666)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
 
Number of Options, Ending Balance 1,036,185us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
1,115,006us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
 
Weighted Averaged Exercise Price, Beginning Balance $ 0.97us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
$ 0.81us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
 
Weighted Averaged Exercise Price, Exercised $ 0.93us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
   
Weighted Averaged Exercise Price, Forfeited or expired $ 1.30us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
$ 0.96us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
 
Weighted Averaged Exercise Price, Ending Balance $ 1.11us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
$ 0.97us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
 
Number of Options, Vested 324,018us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
369,272us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
 
Number of Options, Forfeited (90,546)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
(46,666)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
 
Weighted Averaged Exercise Price, Vested $ 1.45us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
$ 1.19us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
 
Exercise of stock options, shares 312,293us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
56,666us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
 
Vested Options | Option Activity for Non-Employees      
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]      
Number of Options, Beginning Balance 173,332us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
234,442us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Number of Options, Exercised (15,166)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
   
Number of Options, Forfeited or expired 5,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
667us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Number of Options, Ending Balance 16,666us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
173,332us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Weighted Averaged Exercise Price, Beginning Balance $ 0.48us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
$ 1.57us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Weighted Averaged Exercise Price, Exercised   $ 0.38us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Weighted Averaged Exercise Price, Forfeited or expired   $ 2.50us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Weighted Averaged Exercise Price, Ending Balance $ 1.27us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
$ 0.48us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Number of Options, Vested   5,557us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Weighted Averaged Exercise Price, Vested     $ 1.27us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
Exercise of stock options, shares 15,166us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= mlss_VestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
   
Nonvested Options      
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]      
Number of Options, Beginning Balance 369,493us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
434,675us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
 
Number of Options, Granted 390,470us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
309,090us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
 
Number of Options, Ending Balance 435,945us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
369,493us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
 
Weighted Averaged Exercise Price, Beginning Balance $ 1.22us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
$ 0.91us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
 
Weighted Averaged Exercise Price, Granted $ 2.18us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
$ 1.62us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
 
Weighted Averaged Exercise Price, Forfeited or expired   $ 1.00us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
 
Weighted Averaged Exercise Price, Ending Balance $ 1.87us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
$ 1.22us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
 
Number of Options, Vested (324,018)us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
(369,272)us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
 
Number of Options, Forfeited   (5,000)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
 
Weighted Averaged Exercise Price, Vested $ 1.45us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
$ 1.19us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
 
Nonvested Options | Option Activity for Non-Employees      
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]      
Number of Options, Beginning Balance   5,557us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Number of Options, Granted 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Weighted Averaged Exercise Price, Beginning Balance   $ 1.27us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Number of Options, Vested   (5,557)us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember
 
Weighted Averaged Exercise Price, Vested   $ 1.27us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= mlss_NonvestedOptionsMember
/ us-gaap_PlanNameAxis
= mlss_OptionActivityForNonEmployeesMember