This library contains several utilities and scores commonly used in multiple sclerosis studies.
pip install mssev
import mssev as ms
If you want to calculate some irreversible disability measure (such as the Expanded Disability Status Scale or EDSS), you can do so with the following code:
followups["IEDSS"] = ms.irreversible_ds(followups, pid="pid", ds="edss", t="date")
The Multiple Sclerosis Severity Score (MSSS) is obtained by normalising the Expanded Disability Status Scale (EDSS) score for disease duration and has been a valuable tool in cross-sectional studies. You can read the original article here.
You can calculate the MSSS for every patient with the following:
patients["MSSS"] = ms.MSSS(patients, ds="edss", duration="dd")
If you want to calculate the MSSS for each follow-up assessment, you can do so like this:
followups["MSSS"] = ms.MSSS(followups, ds="edss", duration="dd")
If you have a cohort of pediatric-onset MS (POMS) patients, you should use the
Ped-MSSS score (see the article here).
For that, you can either pass ref="santoro"
to the MSSS function or use the PedMSSS
alias:
# both are equivalent
patients["PedMSSS"] = ms.MSSS(patients, ref="santoro", ds="edss", duration="dd")
patients["PedMSSS"] = ms.PedMSSS(patients, ds="edss", duration="dd")
The ARMSS (Age-Related Multiple Sclerosis Severity) score is the result of standardizing the EDSS by age. Using age for the calculation instead of disease duration offers several advantages, not least of which are its availability, ease of measurement and absence of bias. If you want more information, you should read the original article.
You can easily calculate the ARMSS for every patient like this:
patients["ARMSS"] = ms.ARMSS(patients, ds="edss", age="ageatedss")
Or alternatively, you can calculate it for every follow-up assessment like this:
followups["ARMSS"] = ms.ARMSS(followups, ds="edss", age="ageatedss")
The patient-derived MS Severity Score (P-MSSS) enables patients to rank their disability relative to others with similar disease duration. It does not require clinician input which means it can be use in a remote setting or as a more cost- effective alternative outcome measure for epidemiologic research. If you want more information, you should check the original article here.
In mssev, the P-MSSS score is implemented by the PMSSS function:
patients["PMSSS"] = ms.PMSSS(patients, ds="pdds", duration="dd")