simulator/data/palliative.js
// Palliative pain management and end-of-life care modules — data (pure; no DOM).
//
// EDUCATIONAL SIMULATION WITH FICTIONAL PATIENTS. Not a medical device, not clinical decision
// support, not medical advice. Every dose, ratio, percentage and threshold below is transcribed
// from the cited source (FDA prescribing information, society guideline/framework) or is labelled
// as a simulator convention / author estimate. None is an order.
//
// Hard exclusions (owner requirement): this file has no content, doses or guidance for medical
// aid in dying, euthanasia or hastening death — not simulated; no outcome claims of any kind
// (no claims about survival, length of life or efficacy). tests/palliative.test.mjs enforces this with a text scan of the palliative files.
//
// Source ids S100+ are reserved for these modules (S55–S99 belong to another work stream).
// Human-readable registry: SOURCES.md, section "Palliative and end-of-life modules (S100–S120)".
export const PALLIATIVE_BANNER = 'Palliative / end-of-life simulation — fictional patient — educational only. Not medical advice. Palliative sedation is not euthanasia or medical aid in dying; laws differ by jurisdiction.';
const V = 'Verified 2026-11-05 through WebSearch records only (direct page fetches were not possible from the build environment: DNS blocked for publisher, NCBI, CDC and DailyMed hosts).';
export const PALLIATIVE_SOURCES = {
S100: {
id: 'S100', type: 'framework (society)',
citation: 'Cherny NI, Radbruch L; Board of the European Association for Palliative Care. European Association for Palliative Care (EAPC) recommended framework for the use of sedation in palliative care. Palliat Med. 2009;23(7):581-593.',
url: 'https://pubmed.ncbi.nlm.nih.gov/19858355/',
identifiers: 'doi:10.1177/0269216309107024; PMID 19858355',
supports: 'Sedation is an important and necessary therapy for selected palliative care patients with otherwise refractory distress; a 10-point framework for institutional guidelines covering how to prepare, organise, initiate, titrate, monitor and evaluate sedation. Distinguishes abuse (sedation aimed at hastening death) and injudicious use (e.g. demand generated by the family rather than the patient) from appropriate use; lists the use of inappropriate medications to achieve sedation, such as opioids, as substandard practice. Closeness to death is a criterion only for continuous deep sedation (exact time-frame wording not verified).',
verifiedVia: `${V} Citation, DOI and PMID: PubMed 19858355, McMaster and Bar-Ilan research-portal records, eapcnet.org project page. Abuse / injudicious-use categories and "inappropriate medications to achieve sedation, such as opioids" seen in search excerpts of the SAGE reader page. "Closeness to death only relevant for continuous deep sedation" seen in a review comparing guidelines; the framework's own time-frame sentence was NOT found and is not quoted. Its Appendix 2 dose table was not seen; doses are taken from the 2024 revision (S101).`,
},
S101: {
id: 'S101', type: 'framework (society, Delphi consensus)',
citation: 'Surges SM, Brunsch H, Jaspers B, et al. Revised European Association for Palliative Care (EAPC) recommended framework on palliative sedation: an international Delphi study. Palliat Med. 2024;38(2):213-228.',
url: 'https://pubmed.ncbi.nlm.nih.gov/38297460/',
identifiers: 'doi:10.1177/02692163231220225; PMID 38297460',
supports: 'Revision of the 2009 framework (literature update + Delphi, 2020–2022; 42 statements with high/very high consensus; endorsed by the EAPC board January 2023). Terminology: "suffering" (physical, psychological, existential) and "refractory"; the principle of proportionality is part of the definition of palliative sedation; patient autonomy emphasised; stepwise pharmacological approach (step 1 midazolam); hydration is a separate, independent decision; no particular period of remaining life expectancy is specified. Step 1 midazolam: light palliative sedation 2.5 mg SC or 1.25 mg IV; deep palliative sedation 5–10 mg SC or 2.5–5 mg IV; a bolus of half the starting bolus may be repeated after 20 min SC or 5 min IV if necessary; continuous infusion: use 1 mg/h (SC and IV) and then adjust as needed; at doses higher than 10 mg/h consider adding or changing medication. Opioids (and haloperidol) should not be used to sedate a patient.',
verifiedVia: `${V} Citation, DOI, PMID, method and consensus figures: PubMed 38297460, Lancaster and VUB portal records, bvsalud mdl-38297460, palliativeprojects.eu. Midazolam step-1 values seen in two independent records: a search excerpt of the SAGE PDF ("Step 1 · Midazolam · Light palliative sedation 2.5 mg SC 1.25 mg IV Deep palliative sedation 5–10 mg SC 2.5–5 mg IV Bolus with half of the starting bolus dosage may be repeated after 20 min SC or 5 min IV if necessary") and the EAPC e-book appendix table (eapcnet.pagetiger.com, page 57: "Use 1 mg/hr (SC and IV) and then adjust as needed"; "In the case of doses higher than 10 mg/hr, consider adding or changing medication"). "Opioids and haloperidol should not be used to sedate a patient" seen in the EAPC e-book page 50 excerpt. The table excerpts were fragmentary; the full table was not opened. Second-line agents (levomepromazine, propofol) were seen only in summaries and are NOT simulated.`,
},
S102: {
id: 'S102', type: 'professional ethics opinion',
citation: 'American Medical Association. Code of Medical Ethics Opinion 5.6: Sedation to unconsciousness in end-of-life care.',
url: 'https://code-medical-ethics.ama-assn.org/ethics-opinions/sedation-unconsciousness-end-life-care',
identifiers: 'none',
supports: 'Sedation to unconsciousness must never be used to intentionally cause a patient\'s death. Physicians may offer palliative sedation to unconsciousness for refractory clinical symptoms (not for existential suffering, which should be addressed through social, psychological or spiritual support); restrict it to patients in the final stages of terminal illness; document the rationale; obtain informed consent (patient or surrogate); discuss the degree and length of sedation and future life-sustaining treatment; monitor care once sedation begins. AMA opinions are ethics guidance, not standards of clinical practice or rules of law.',
verifiedVia: `${V} WebSearch records of the AMA Code ethics-opinion page, the AMA-hosted 5.6 PDF and background report, and the 2013 Opinion 2.201 page. A 2019 resolution asking CEJA to review 5.6 was seen; its outcome was not found.`,
},
S103: {
id: 'S103', type: 'professional ethics opinion',
citation: 'American Medical Association. Code of Medical Ethics Opinion 5.7: Physician-assisted suicide. (Opinion 5.8, Euthanasia, is a separate opinion; its wording was not verified and is not quoted.)',
url: 'https://code-medical-ethics.ama-assn.org/ethics-opinions/physician-assisted-suicide',
identifiers: 'none',
supports: 'Definition used only to distinguish practices: physician-assisted suicide occurs when a physician facilitates a patient\'s death by providing the necessary means and/or information to enable the patient to perform the life-ending act; the opinion states that relief of suffering is a central goal of medicine, particularly at the end of life. Cited here for the distinction only; the simulator contains no content about these practices beyond the definitions.',
verifiedVia: `${V} WebSearch record of the AMA-hosted 5.7 PDF (2025-11 file) and the ethics-opinion page. Only fragments of 5.8 were seen (a page marked DRAFT), so 5.8 is named but not quoted.`,
},
S104: {
id: 'S104', type: 'communication guide (licensed CC BY-NC-SA 4.0)',
citation: 'Ariadne Labs. Serious Illness Conversation Guide (updated May 2023). © 2015–2023 Ariadne Labs: A Joint Center for Health Systems Innovation (Brigham and Women\'s Hospital and Harvard T.H. Chan School of Public Health) and Dana-Farber Cancer Institute. Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.',
url: 'https://www.ariadnelabs.org/serious-illness-care/',
identifiers: 'none',
supports: 'Structure of a goals-of-care conversation (set up; assess illness understanding and information preferences; share prognosis; explore goals, fears and worries, sources of strength, critical abilities, trade-offs and family involvement; close with a recommendation and documentation). The simulator PARAPHRASES the topics only; it does not reproduce the guide\'s wording.',
verifiedVia: `${V} Licence notice (CC BY-NC-SA 4.0, © 2015–2023 Ariadne Labs, "Updated May 2023") seen in search records of guide copies hosted by Blue Shield of California, TTUHSC, Fraser Health and the Aotearoa adaptation; Ariadne Labs' own licence page was not opened. The ariadnelabs.org URL is the program landing page as cited by those copies; it was not opened. Topic list paraphrased from those records.`,
},
S105: {
id: 'S105', type: 'guideline (CDC)',
citation: 'Dowell D, Ragan KR, Jones CM, Baldwin GT, Chou R. CDC Clinical Practice Guideline for Prescribing Opioids for Pain — United States, 2022. MMWR Recomm Rep. 2022;71(No. RR-3):1-95.',
url: 'https://www.cdc.gov/mmwr/volumes/71/rr/rr7103a1.htm',
identifiers: 'doi:10.15585/mmwr.rr7103a1; PMID 36327391',
supports: 'Scope: outpatients ≥18 y with acute (<1 month), subacute (1–3 months) or chronic (>3 months) pain; the recommendations do NOT apply to pain related to sickle cell disease, cancer-related pain treatment, palliative care or end-of-life care. Recommendations are voluntary and not inflexible standards. Rec. 4: before increasing total dosage to ≥50 MME/day, pause and carefully reassess individual benefits and risks; increases beyond 50 MME/day are progressively more likely to yield diminishing returns relative to risks. The 2022 guideline removed the 2016 recommendation to avoid ≥90 MME/day (it still refers to the 50 and 90 MME levels). Rec. 6 (acute pain): no greater quantity than needed for the expected duration of pain severe enough to require opioids. Rec. 8: offer naloxone when risk factors are present (implementation library trigger: ≥50 MME/day, concurrent benzodiazepines, substance use disorder history, sleep-disordered breathing). Rec. 9: review PDMP data. MME conversion factors (oral): morphine 1, oxycodone 1.5, hydromorphone 5 (hydromorphone changed from 4 in 2016) — for estimating total daily exposure, not for converting between opioids.',
verifiedVia: `${V} Citation and DOI copied from DOSING_SOURCES.md S21 and re-checked (read.qxmd.com record 36327391). Scope exclusion wording seen consistently in NCPA, AMiner, Oregon Pain Management Commission and ASA summaries. Rec. 4 and Rec. 6 wording in the CDC Opioid CDS implementation guide (fhir.org recommendation-04-05) and epocrates practice points. 90 MME change: Texas DSHS 2016-vs-2022 comparison, Minnesota Medical Association news, Analysis Group commentary. Rec. 8 triggers: fhir.org Library-OpioidCDSREC08. MME factors 1/1.5/5: New Jersey DURB newsletter reproducing the 2022 table. The MMWR page itself was not opened.`,
},
S106: {
id: 'S106', type: 'guideline (WHO)',
citation: 'World Health Organization. WHO Guidelines for the Pharmacological and Radiotherapeutic Management of Cancer Pain in Adults and Adolescents. Geneva: WHO; 2018.',
url: 'https://www.ncbi.nlm.nih.gov/books/NBK537492/',
identifiers: 'ISBN 978-92-4-155039-0; NCBI Bookshelf NBK537492',
supports: 'NSAIDs, paracetamol and opioids, alone or in combination, should generally be used at the initiation of pain management; adjuvant steroids may be given to achieve pain control when indicated; a bisphosphonate should be used to prevent and treat bone pain in bone metastases; no recommendation for or against antidepressants for neuropathic cancer pain or for radioisotopes. Used for adjuvant teaching notes only; no dose is taken from it.',
verifiedVia: `${V} NCBI Bookshelf records NBK537492 / NBK537479 / NBK537486 and the WHO IRIS record (ISBN and recommendation excerpts). The guideline's opioid titration and rescue-dose wording was NOT found in the records and is not used.`,
},
S107: {
id: 'S107', type: 'guideline (ESMO)',
citation: 'Fallon M, Giusti R, Aielli F, et al; ESMO Guidelines Committee. Management of cancer pain in adult patients: ESMO Clinical Practice Guidelines. Ann Oncol. 2018;29(Suppl 4):iv166-iv191.',
url: 'https://academic.oup.com/annonc/article/29/Supplement_4/iv166/5046945',
identifiers: 'none confirmed (DOI and PMID not seen in a search record; not shown)',
supports: 'Laxatives must be routinely prescribed for both the prophylaxis and the management of opioid-induced constipation [I, A]. The breakthrough dose is usually about 10%–15% of the total daily dose. Average relative potency of oral to intravenous morphine is between 1:2 and 1:3 [II, A] (oral to subcutaneous: 1:2 to 1:3 [IV, C]). Chronic kidney disease stage 4–5 (eGFR <30 mL/min): fentanyl and buprenorphine (transdermal or IV) are named as the safest opioids; in mild renal impairment smaller doses and longer intervals. Opioid switching may be used to improve analgesia or reduce adverse effects.',
verifiedVia: `${V} Records of the academic.oup.com and annalsofoncology.org full-text pages, ResearchGate PDF listing and a Spanish course-site PDF copy (laxative [I, A]; "+10% to 15% of the total daily dose"; oral:IV morphine 1:2–1:3 [II, A]; conversion table rows), plus Medical Independent and PMC review summaries (fentanyl/buprenorphine safest at eGFR <30). Author list beyond the first three not re-verified.`,
},
S108: {
id: 'S108', type: 'guideline (NCCN)',
citation: 'National Comprehensive Cancer Network. NCCN Clinical Practice Guidelines in Oncology: Adult Cancer Pain (Swarm RA, et al.; J Natl Compr Canc Netw; and Version 2.2025, J Natl Compr Canc Netw. 2025;23(7):e250032).',
url: 'https://pmc.ncbi.nlm.nih.gov/articles/PMC5915297/',
identifiers: 'PMC5915297 (PMC record of an NCCN Adult Cancer Pain version; the issue was not pinned down)',
supports: 'The rescue (breakthrough) dose is usually equivalent to 10% to 20% of the total daily dose, given every hour as needed (oral). If moderate-to-severe pain is unchanged or increased after reassessment, increase the dose by 50% to 100%. Reassess efficacy and adverse effects about 60 min after an oral dose (15 min after IV). Opioid rotation may be considered when pain is inadequately managed despite adequate titration.',
verifiedVia: `${V} "The rescue dose is usually equivalent to 10% to 20% of the total daily dose given every hour as needed" seen in a search excerpt of the PMC5915297 record; 10–20% also in an NCCN education module (2018) and MD Anderson 2025 algorithm citing NCCN. 50–100% increase and the 60 min / 15 min reassessment seen in Cancer Therapy Advisor and Medscape summaries of NCCN — secondary. Version 2.2025 (jnccn.org e250032) excerpts mention rotation after adequate titration; its numeric titration table was not seen. The NCCN guideline itself requires registration and was not opened. The 25–50% tier often quoted for pain 4–6 was NOT found and is not used.`,
},
S109: {
id: 'S109', type: 'guideline (MASCC-ASCO-AAHPM-HPNA-NICSO)',
citation: 'MASCC, ASCO, AAHPM, HPNA and NICSO expert panel. Opioid conversion in adults with cancer: MASCC-ASCO-AAHPM-HPNA-NICSO guideline. Support Care Cancer. 2025;33(3):243.',
url: 'https://link.springer.com/article/10.1007/s00520-025-09286-z',
identifiers: 'doi:10.1007/s00520-025-09286-z',
supports: 'Consensus conversion ratios (summary table): oral morphine → oral oxycodone 1.5:1 (34/38 panellists); oral morphine → oral hydromorphone 5:1 (33/37); subcutaneous → intravenous (any opioid) 1:1 (33/36). The panel did not reach consensus on routinely reducing the converted dose for incomplete cross-tolerance (clinicians commonly still reduce by 25–50%, per a UPMC commentary — not a guideline value). Recommendations cover pre-conversion assessment, conversion and post-conversion monitoring.',
verifiedVia: `${V} Springer article landing record (published 3 March 2025), PubMed 41197973 (clinical-insights review), MASCC guideline page and the MASCC summary-table / slide PDFs (ratio rows and panel agreement counts seen in search excerpts), ASCO Post summary and the UPMC "The Tablet" vol. 5 no. 7 commentary (cross-tolerance statement and "Support Care Cancer. 2025 Mar 3;33(3):243"). Author names not verified (listed as the expert panel). Parenteral morphine and hydromorphone rows were not seen and are not used.`,
},
S110: {
id: 'S110', type: 'FDA label',
citation: 'Morphine sulfate oral solution, 10 mg/5 mL and 20 mg/5 mL. FDA-approved prescribing information (e.g. DailyMed setid 9405556c-20e0-4e47-b1b0-7872bcc6517e; Precision Dose NDC 68094-001 label).',
url: 'https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=9405556c-20e0-4e47-b1b0-7872bcc6517e',
identifiers: 'none (multiple ANDAs)',
supports: 'Adults (opioid-naïve, initial dosage): 10 mg to 20 mg every 4 hours as needed, at the lowest effective dose, titrated to response. The 100 mg/5 mL (20 mg/mL) concentrate is for opioid-tolerant patients only.',
verifiedVia: `${V} DailyMed listings (setids 9405556c-…, d8598654-…, ca359246-…, 242c2512-…) and ndclist.com 68094-001 label copy ("10 to 20 mg every 4 hours as needed" for the 10 mg/5 mL and 20 mg/5 mL strengths; concentrate restricted to opioid-tolerant adults).`,
},
S111: {
id: 'S111', type: 'FDA label',
citation: 'Morphine sulfate tablets (immediate release). FDA-approved prescribing information (label copies indexed at medlibrary.org/lib/rx/meds/morphine-sulfate-52/).',
url: 'https://medlibrary.org/lib/rx/meds/morphine-sulfate-52/page/7/',
identifiers: 'none (multiple ANDAs)',
supports: 'Renal impairment: morphine pharmacokinetics are altered in renal failure; start these patients with a lower than usual dosage and titrate slowly, monitoring for respiratory depression, sedation and hypotension. Geriatric patients: titrate the dosage slowly. (No numeric reduction is stated.)',
verifiedVia: `${V} medlibrary.org label copy excerpts ("Start these patients with a lower than usual dosage of morphine sulfate tablets and titrate slowly"; "Titrate the dosage … slowly in geriatric patients"). The tablet starting-dose range was seen only in drug-reference summaries and is not used.`,
},
S112: {
id: 'S112', type: 'FDA label',
citation: 'Morphine sulfate injection, USP (NexJect / Carpuject). Hospira, Inc. (Pfizer). FDA-approved prescribing information.',
url: 'https://pfizermedicalinformation.com/morphine/highlights',
identifiers: 'none',
supports: 'Direct intravenous injection: the usual starting dose in adults is 0.1 mg to 0.2 mg per kg every 4 hours as needed for pain management. (The 50 mg/mL vial is for continuous infusion after dilution only and is not simulated.)',
verifiedVia: `${V} Pfizer medical-information dosage and highlights pages (quoted: "The usual starting dose in adults is 0.1 mg to 0.2 mg per kg every 4 hours as needed"). A current DailyMed morphine injection listing was seen without the dosing excerpt.`,
},
S113: {
id: 'S113', type: 'FDA label',
citation: 'Oxycodone hydrochloride tablets (ROXICODONE) and oxycodone hydrochloride oral solution. FDA-approved prescribing information (DailyMed setid 5a8157d3-ba20-4abf-b0d4-6ad141b31d63; label copies at medlibrary.org and ndclist.com).',
url: 'https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=5a8157d3-ba20-4abf-b0d4-6ad141b31d63',
identifiers: 'none (NDA/ANDA numbers not re-verified)',
supports: 'Initial dosage for patients not receiving opioid analgesics: 5 mg to 15 mg every 4 to 6 hours as needed; titrate to response; lowest effective dose for the shortest duration. Hepatic impairment and renal impairment: initiate with a lower than usual dosage and titrate carefully (no fraction stated). Patients with renal impairment (creatinine clearance <60 mL/min) had higher plasma oxycodone concentrations.',
verifiedVia: `${V} Starting range copied from DOSING_SOURCES.md S20 (DailyMed listing + drugs.com reproductions) and re-seen in an oxycodone oral solution label excerpt. "Initiate therapy in these patients with a lower than usual dosage … and titrate carefully" (hepatic and renal) in medlibrary.org Roxicodone page excerpts; CrCl <60 statement in an oxycodone tablet label excerpt. The "one-third to one-half" reduction was NOT found and is not used.`,
},
S114: {
id: 'S114', type: 'FDA label',
citation: 'Hydromorphone hydrochloride tablets (DILAUDID; and generic hydromorphone hydrochloride tablets). FDA-approved prescribing information.',
url: 'https://www.drugs.com/dosage/dilaudid.html',
identifiers: 'none',
supports: 'Initiate DILAUDID tablets in a dosing range of 2 mg to 4 mg orally every 4 to 6 hours as needed (lowest effective dose). Renal and hepatic impairment: initiate with one-fourth to one-half of the usual starting dose depending on the degree of impairment (exposure about 2-fold higher in moderate and 4-fold higher in severe renal impairment).',
verifiedVia: `${V} drugs.com DILAUDID dosage page (January 2024 record) for 2–4 mg every 4–6 h; generic hydromorphone tablet label copy at medlibrary.org for "one-fourth to one-half the usual … starting dose depending on the degree of impairment" and the 2-fold/4-fold exposure data; the archived 2006 DILAUDID PI (FDA MedWatch copy) for lower starting doses in severe renal impairment. The renal wording was not seen in a current DILAUDID-brand tablet label.`,
},
S115: {
id: 'S115', type: 'FDA label',
citation: 'Hydromorphone hydrochloride injection, USP. Hospira, Inc. (Pfizer) and Fresenius Kabi labels (labeling.pfizer.com ShowLabeling id 4472; DailyMed setid e034eb96-03e0-46e1-8b92-5e1f94555e7b).',
url: 'https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=e034eb96-03e0-46e1-8b92-5e1f94555e7b',
identifiers: 'none',
supports: 'Intravenous starting dose 0.2 mg to 1 mg every 2 to 3 hours as needed, given slowly over at least 2 to 3 minutes; reduce the initial dose in elderly or debilitated patients (may be lowered to 0.2 mg); start hepatic or renal impairment at one-fourth to one-half of the usual starting dose. High-potency formulation (HP) only for opioid-tolerant patients.',
verifiedVia: `${V} Copied from DOSING_SOURCES.md S19 (Pfizer labeling pages and DailyMed listing) and re-seen in Hikma / Fresenius Kabi label excerpts (elderly "may be lowered to 0.2 mg"; renal "one-fourth to one-half"; HP for opioid-tolerant only). Subcutaneous/IM starting doses were not confirmed and are not simulated.`,
},
S116: {
id: 'S116', type: 'guideline (national palliative care)',
citation: 'Scottish Palliative Care Guidelines (NHS Scotland, Right Decisions). Life-threatening opioid-induced respiratory depression requiring naloxone (2026; replaces the earlier "Naloxone" guideline).',
url: 'https://www.rightdecisions.scot.nhs.uk/shared-content/palliative-care/palliative-care/opioids/life-threatening-opioid-induced-respiratory-depression-requiring-naloxone/',
identifiers: 'none',
supports: 'Naloxone only where there is concern about life-threatening respiratory depression; the aim is to reverse it without impacting symptom control or causing withdrawal. For people receiving palliative care: 100 microgram bolus doses (from 400 micrograms/mL, diluted); IV: 100 micrograms as a slow bolus every 2 minutes until respiratory status is satisfactory (≥8 respirations/minute); IM/SC: 100 micrograms every 5 minutes. Titrate to respiratory rate, not conscious level. Reversal of buprenorphine may be incomplete; methadone may need an infusion (not simulated).',
verifiedVia: `${V} Right Decisions pages (current guideline and the medicine-information page) and the guideline schedule (older naloxone guideline removed July 2026). The draw-up volume differs between pages (2 mL vs 2.5 mL of the diluted solution); the simulator uses the dose in milligrams only. The SIGN November 2025 consultation draft gives the same 100 microgram IV regimen.`,
},
S117: {
id: 'S117', type: 'guideline (ASCO)',
citation: 'Hui D, Bohlke K, Bao T, et al. Management of dyspnea in advanced cancer: ASCO guideline. J Clin Oncol. 2021;39(12):1389-1411.',
url: 'https://pubmed.ncbi.nlm.nih.gov/33617290/',
identifiers: 'doi:10.1200/JCO.20.03465; PMID 33617290',
supports: 'Non-pharmacological measures first (e.g. airflow from a fan directed at the cheek, positioning). Supplemental oxygen for hypoxaemic patients; not recommended when SpO2 >90%. Systemic opioids should be offered when non-pharmacological measures are insufficient. Short-acting benzodiazepines for dyspnoea-related anxiety persisting despite opioids. Continuous palliative sedation should be offered for dyspnoea refractory to all standard and palliative options in patients with an expected life expectancy of days.',
verifiedVia: `${V} PubMed 33617290, zendy.io (DOI 10.1200/jco.20.03465), ASCO Post and The Limbic summaries, medicaldialogues summary (oxygen and SpO2 >90% wording; continuous palliative sedation and "days"). Full text not opened; recommendation strengths not shown.`,
},
S118: {
id: 'S118', type: 'systematic review (Cochrane)',
citation: 'Wee B, Hillier R. Interventions for noisy breathing in patients near to death. Cochrane Database Syst Rev. 2008;(1):CD005177 (assessed as up to date 2017).',
url: 'https://www.cochranelibrary.com/cdsr/doi/10.1002/14651858.CD005177.pub2/information',
identifiers: 'doi:10.1002/14651858.CD005177.pub2',
supports: 'Four studies included; no evidence that any intervention, pharmacological or non-pharmacological, was superior to placebo for noisy breathing (terminal respiratory secretions). Used as the evidence note for the secretions panel; no dose is simulated.',
verifiedVia: `${V} Cochrane Library information and abstract-PDF records (CD005177.pub2), cochrane.org plain-language summaries and the PEDro record. Anticholinergic doses seen only in secondary GP notebook pages citing NICE are NOT used.`,
},
S119: {
id: 'S119', type: 'guideline (ESMO)',
citation: 'Bush SH, Lawlor PG, Ryan K, et al; ESMO Guidelines Committee. Delirium in adult cancer patients: ESMO Clinical Practice Guidelines. Ann Oncol. 2018;29(Suppl 4):iv143-iv165.',
url: 'https://eprints.whiterose.ac.uk/130653/',
identifiers: 'doi:10.1093/annonc/mdy147 (seen in a search summary only)',
supports: 'Prompt diagnosis and treatment of precipitating causes may reverse many delirium episodes; non-pharmacological measures and psychological support first; antipsychotics and benzodiazepines should be minimised and reserved for failure of non-pharmacological intervention; delirium is common in advanced disease and in the last hours or days of life. No drug dose is simulated.',
verifiedVia: `${V} White Rose eprint 130653, ESMO guideline page and university portal records (citation and quoted recommendations). Author list beyond the first two not re-verified.`,
},
S120: {
id: 'S120', type: 'validation study (scale)',
citation: 'Sessler CN, Gosnell MS, Grap MJ, et al. The Richmond Agitation-Sedation Scale: validity and reliability in adult intensive care unit patients. Am J Respir Crit Care Med. 2002;166(10):1338-1344.',
url: 'https://pesquisa.bvsalud.org/colombia/resource/es/mdl-12421743',
identifiers: 'PMID 12421743',
supports: '10-level scale from +4 (combative) to −5 (unarousable); 0 = alert and calm; −1 to −5 are sedation levels. Validated in adult ICU patients; the simulator uses it as the depth scale for palliative sedation targets (a palliative adaptation exists but was not verified and is not used).',
verifiedVia: `${V} bvsalud MEDLINE record mdl-12421743 (citation, scale range, reliability), NIH CDE RASS form, Merck Manual table. Level descriptors vary slightly between reproductions; the simulator shows short descriptors only.`,
},
};
export const PALLIATIVE_SOURCE_IDS = Object.freeze(Object.keys(PALLIATIVE_SOURCES));
// ---------------------------------------------------------------------------------------------
// Opioids for these modules. Start doses only from the label (opioid-naïve adults).
// Interval default = lower bound of the labelled interval (simulator convention; editable within range).
export const PALLIATIVE_OPIOIDS = Object.freeze({
morphine: {
id: 'morphine', name: 'Morphine',
routes: {
oral: { form: 'oral solution (10 mg/5 mL)', start: { min: 10, max: 20, unit: 'mg' }, intervalH: { min: 4, max: 4 }, sources: ['S110'],
adjustText: 'Renal impairment: lower than usual starting dose, titrate slowly; geriatric patients: titrate slowly (label; no number given).', adjustSources: ['S111'] },
iv: { form: 'injection (direct IV)', start: { perKgMin: 0.1, perKgMax: 0.2, unit: 'mg/kg' }, intervalH: { min: 4, max: 4 }, sources: ['S112'], adjustText: '', adjustSources: [] },
},
renal: { severeEgfr: 30, severity: 'warn', message: 'Morphine in severe renal impairment (eGFR <30): accumulation of active metabolites; label: start lower and titrate slowly. ESMO 2018 names fentanyl and buprenorphine (transdermal/IV) as the safest opioids at eGFR <30 — those conversions are a specialist decision and are not simulated.', sources: ['S111', 'S107'] },
},
oxycodone: {
id: 'oxycodone', name: 'Oxycodone',
routes: {
oral: { form: 'immediate-release tablet', start: { min: 5, max: 15, unit: 'mg' }, intervalH: { min: 4, max: 6 }, sources: ['S113'],
adjustText: 'Hepatic or renal impairment (CrCl <60 mL/min: higher concentrations): initiate with a lower than usual dosage and titrate carefully (label; no fraction given).', adjustSources: ['S113'] },
},
renal: { moderateEgfr: 60, severity: 'warn', message: 'Oxycodone with eGFR <60: label — initiate with a lower than usual dosage and titrate carefully (higher plasma concentrations with CrCl <60 mL/min).', sources: ['S113'] },
},
hydromorphone: {
id: 'hydromorphone', name: 'Hydromorphone',
routes: {
oral: { form: 'tablet', start: { min: 2, max: 4, unit: 'mg' }, intervalH: { min: 4, max: 6 }, sources: ['S114'],
adjustText: 'Renal or hepatic impairment: one-fourth to one-half of the usual starting dose depending on the degree of impairment (label).', adjustSources: ['S114'] },
iv: { form: 'injection (standard strength; not HP)', start: { min: 0.2, max: 1, unit: 'mg' }, intervalH: { min: 2, max: 3 }, sources: ['S115'], give: 'slowly over at least 2–3 min',
adjustText: 'Elderly/debilitated: reduce the initial dose (may be lowered to 0.2 mg). Renal or hepatic impairment: one-fourth to one-half of the usual starting dose (label).', adjustSources: ['S115'] },
},
// Simulator mapping of "depending on the degree of impairment": eGFR 30–59 or liver disease -> one-half; eGFR <30 or severe hepatic impairment -> one-fourth.
renalFraction: { moderate: 0.5, severe: 0.25, mapping: 'simulator mapping of the label phrase "depending on the degree of impairment"' },
},
});
// Rules used by engine/palliative.js. Each with value, unit, provenance and sources.
export const PALLIATIVE_RULES = Object.freeze({
BREAKTHROUGH_PCT: { value: [10, 20], default: 10, unit: '% of 24-h scheduled dose', provenance: 'guideline', sourceIds: ['S108', 'S107'], rationale: 'NCCN: rescue dose 10–20% of the total daily dose, every hour as needed (oral). ESMO 2018: about 10–15%. Default = lower bound (simulator convention).' },
PRN_MIN_INTERVAL_ORAL_MIN: { value: 60, unit: 'min', provenance: 'guideline', sourceIds: ['S108'], rationale: 'NCCN: rescue dose every hour as needed; reassess ~60 min after an oral dose.' },
PRN_MIN_INTERVAL_IV_MIN: { value: 15, unit: 'min', provenance: 'guideline', sourceIds: ['S108'], rationale: 'NCCN (secondary summaries): reassess ~15 min after an IV dose. The simulator does not give an IV rescue dose sooner.' },
TITRATION_INCREASE_PCT: { value: [50, 100], default: 50, unit: '% increase of the 24-h dose', provenance: 'guideline', sourceIds: ['S108'], rationale: 'NCCN (secondary summaries): if moderate-to-severe pain is unchanged or increased, increase the dose by 50–100%. Suggestion default = lower bound (simulator convention); the clinician approves or declines.' },
TITRATION_PAIN_THRESHOLD: { value: 4, unit: 'NRS 0–10 (24-h mean)', provenance: 'simulator_convention', sourceIds: [], rationale: '"Moderate" pain taken as NRS ≥4 for the review suggestion (common NRS banding; not a cited cut-off).' },
PRN_GIVE_PAIN_THRESHOLD: { value: 4, unit: 'NRS 0–10', provenance: 'simulator_convention', sourceIds: [], rationale: 'The simulated patient requests/receives the approved PRN dose when pain ≥4 and the minimum interval has passed (teaching convention).' },
REVIEW_INTERVAL_H: { value: 24, unit: 'h', provenance: 'simulator_convention', sourceIds: [], rationale: 'Daily review gate in guided mode (teaching cadence; not a cited interval).' },
CONVERSION_ORAL_MORPHINE_TO_ORAL_OXYCODONE: { value: 1.5, unit: 'mg oral morphine : 1 mg oral oxycodone', provenance: 'guideline', sourceIds: ['S109'], rationale: 'MASCC-ASCO 2025 consensus ratio 1.5:1.' },
CONVERSION_ORAL_MORPHINE_TO_ORAL_HYDROMORPHONE: { value: 5, unit: 'mg oral morphine : 1 mg oral hydromorphone', provenance: 'guideline', sourceIds: ['S109'], rationale: 'MASCC-ASCO 2025 consensus ratio 5:1.' },
CONVERSION_ORAL_TO_IV_MORPHINE: { value: [2, 3], default: 2, unit: 'mg oral morphine : 1 mg IV morphine', provenance: 'guideline', sourceIds: ['S107'], rationale: 'ESMO 2018: average relative potency oral:IV morphine between 1:2 and 1:3 [II, A]. Default 2:1 (gives the smaller IV dose; simulator convention).' },
CROSS_TOLERANCE_REDUCTION_PCT: { value: [0, 50], default: null, unit: '% reduction after conversion', provenance: 'guideline', sourceIds: ['S109'], rationale: 'MASCC-ASCO 2025: no panel consensus on a routine reduction for incomplete cross-tolerance; 25–50% is common practice (secondary commentary). The simulator has NO default: the clinician enters a value 0–50%.' },
CDC_MME_FACTORS: { value: { morphine: 1, oxycodone: 1.5, hydromorphone: 5 }, unit: 'MME per mg (oral)', provenance: 'guideline', sourceIds: ['S105'], rationale: 'CDC 2022 MME conversion factors (oral) — for estimating daily exposure (risk), NOT for converting between opioids; not defined for IV doses here.' },
CDC_PAUSE_MME: { value: 50, unit: 'MME/day', provenance: 'guideline', sourceIds: ['S105'], rationale: 'CDC 2022 Rec. 4: before increasing to ≥50 MME/day, pause and carefully reassess individual benefits and risks. Non-cancer modules only (out of CDC scope for cancer, palliative and end-of-life care).' },
CDC_90_NOTE_MME: { value: 90, unit: 'MME/day', provenance: 'guideline', sourceIds: ['S105'], rationale: 'Teaching note only: the 2016 guideline advised avoiding ≥90 MME/day or carefully justifying it; the 2022 guideline removed that threshold from its recommendations (still refers to the level).' },
RR_ALARM: { value: 8, unit: 'breaths/min (alarm if below)', provenance: 'guideline', sourceIds: ['S116'], rationale: 'Scottish Palliative Care Guidelines: naloxone titrated until respiratory status satisfactory (≥8 respirations/min).' },
RASS_EXCESS: { value: -3, unit: 'RASS (alarm at or below, when not the documented sedation target)', provenance: 'simulator_convention', sourceIds: ['S120'], rationale: 'Unintended sedation alarm: RASS ≤ −3 without a documented palliative-sedation target at that depth. Scale from Sessler 2002; the cut-off is a teaching convention.' },
NALOXONE_DOSE_MG: { value: 0.1, unit: 'mg per increment', provenance: 'guideline', sourceIds: ['S116', 'S14'], rationale: 'Scottish palliative guideline: 100 microgram IV boluses every 2 min, titrated to respiratory rate; FDA naloxone label 0.1–0.2 mg IV at 2–3 min intervals (S14). Never a full-reversal dose by default.' },
NALOXONE_MIN_INTERVAL_MIN: { value: 2, unit: 'min', provenance: 'guideline', sourceIds: ['S116', 'S14'], rationale: 'Repeat no sooner than every 2 min (IV).' },
PROPORTIONALITY_ALARM_MIN: { value: 30, unit: 'min deeper than the documented target', provenance: 'simulator_convention', sourceIds: ['S101'], rationale: 'Proportionality (S101) means the lowest sedation level that relieves the symptom; the 30-min persistence before the alarm is a teaching convention.' },
COMFORT_NOT_ACHIEVED_SCORE: { value: 4, unit: 'symptom score 0–10, sustained 60 min', provenance: 'simulator_convention', sourceIds: [], rationale: 'Alarm when the documented target symptom stays ≥4 for 60 min during sedation (teaching convention). The engine never escalates on its own.' },
MIDAZOLAM_MAX_SIM_MG_H: { value: 10, unit: 'mg/h', provenance: 'guideline', sourceIds: ['S101'], rationale: 'Framework: at doses above 10 mg/h consider adding or changing medication; second-line agents are not simulated, so the simulator stops at 10 mg/h (simulator hard stop anchored to the framework statement).' },
});
// Palliative sedation — step 1 midazolam per the revised EAPC framework (S101). Depth mapping
// (light = target RASS −1…−3; deep = −4…−5) is a SIMULATOR MAPPING; the framework does not use RASS.
export const SEDATION_MIDAZOLAM = Object.freeze({
sources: ['S101'],
bolus: {
light: { sc: { value: 2.5 }, iv: { value: 1.25 } },
deep: { sc: { min: 5, max: 10, value: 5 }, iv: { min: 2.5, max: 5, value: 2.5 } },
},
repeatFraction: 0.5,
repeatAfterMin: { sc: 20, iv: 5 },
infusionStartMgH: 1,
depthMapping: 'light = target RASS −1 to −3; deep = −4 to −5 (simulator mapping)',
notSimulated: 'Second-line agents (e.g. levomepromazine, propofol): not simulated — specialist decision.',
});
export const SEDATION_DOC_ITEMS = Object.freeze([
{ id: 'refractory', label: 'Refractory symptom documented (symptom, treatments tried, why refractory)', sources: ['S101', 'S100'] },
{ id: 'goals', label: 'Goals-of-care conversation documented with the patient or surrogate', sources: ['S104'] },
{ id: 'consent', label: 'Informed consent / assent documented (incl. depth and duration of sedation)', sources: ['S102'] },
{ id: 'interdisciplinary', label: 'Interdisciplinary / palliative-specialist input documented', sources: ['S100', 'S101'] },
{ id: 'prognosis', label: 'Prognosis category recorded (continuous deep sedation only with hours–days)', sources: ['S100', 'S117', 'S102'] },
{ id: 'jurisdiction', label: 'Jurisdiction / institutional-policy acknowledgement', sources: ['S102'] },
]);
// Paraphrased conversation topics (not the guide's wording; S104 CC BY-NC-SA 4.0).
export const GOC_PROMPTS = Object.freeze([
'Set up: ask permission, explain the purpose of the conversation.',
'Understanding: what the person understands about their illness now.',
'Information preferences: how much information they (or the family) want.',
'Share what lies ahead in plain language, allowing silence.',
'Goals: what matters most if health worsens.',
'Fears and worries about the future.',
'Sources of strength and support.',
'Abilities so important that life without them would be hard to imagine.',
'Trade-offs they would or would not accept for the possibility of more time.',
'Family: how much they know about the person\'s wishes.',
'Close: summarise, make a recommendation together, document.',
]);
export const TREATMENTS_TRIED = Object.freeze(['Reversible-cause review (e.g. medicines, infection, retention, metabolic)', 'Non-pharmacological measures', 'Opioid optimisation (pain/dyspnoea)', 'Antipsychotic per specialist (dose not simulated)', 'Benzodiazepine for distress per specialist (dose not simulated)', 'Specialist palliative care review']);
// ---------------------------------------------------------------------------------------------
// Ethics, law and communication panel (reachable from every screen of the palliative modules).
export const ETHICS_PANEL = Object.freeze([
{ h: 'Definitions', items: [
['Palliative care', 'Care focused on relief of symptoms and suffering and on quality of life for people with serious illness, alongside or without disease-directed treatment.', []],
['Hospice', 'Palliative care for people near the end of life, usually when care is comfort-focused (setting and eligibility rules differ by country and payer).', []],
['Palliative sedation', 'The monitored use of sedative medication to relieve refractory suffering by reducing consciousness — proportionate to the symptom. Proportionate sedation is titrated to the lowest level that relieves the symptom; continuous deep sedation is reserved for the final stage of illness.', ['S101', 'S100']],
['Euthanasia and medical aid in dying (MAID)', 'Practices whose intent is to end life (by a clinician, or by the patient with means provided by a clinician). They are different acts from palliative sedation and are legal only in some jurisdictions. This simulator contains no content about how they are carried out.', ['S103', 'S102']],
] },
{ h: 'Intent, proportionality and double effect', items: [
['Intent', 'Palliative sedation aims to relieve refractory symptoms. Sedation must never be used to intentionally cause death (AMA 5.6).', ['S102']],
['Proportionality', 'The depth of sedation is the lowest that relieves the symptom; it is titrated to comfort and reviewed. Deeper-than-needed sedation is flagged in the simulator as "not proportional".', ['S101']],
['Double effect (ethics concept)', 'The principle of double effect is the ethical reasoning that an act intended for a good effect (symptom relief) can be justified even when a foreseen but unintended effect occurs, if the act is proportionate. It is taught here as a concept; the simulator makes no claim about effects on the length of life.', []],
['Opioids are not sedatives', 'Opioids are continued for pain and breathlessness at the comfort dose; they are not escalated to produce sedation (inappropriate medication for sedation).', ['S101', 'S100']],
] },
{ h: 'Decisions and people', items: [
['Decision-making capacity', 'The ability to understand, appreciate, reason about and communicate a choice about a specific decision; it is decision-specific and can fluctuate (e.g. with delirium).', []],
['Surrogate decision-makers', 'When the patient lacks capacity, a legally recognised surrogate decides on the basis of the patient\'s known wishes and values (who qualifies differs by jurisdiction).', []],
['Advance directives', 'Documents recording a person\'s wishes or naming a surrogate; their legal form differs by jurisdiction.', []],
['Goals-of-care conversation', 'A structured conversation about understanding, values, goals, worries and trade-offs. Topics are paraphrased in the simulator from the Serious Illness Conversation Guide.', ['S104']],
['Interdisciplinary review', 'Decisions about palliative sedation involve the team and specialist palliative care input.', ['S100', 'S101']],
['Hydration and nutrition', 'A separate decision, discussed with the patient or family; it is not part of the sedation decision.', ['S101']],
['Documentation', 'Record the refractory symptom and why it is refractory, the conversation, consent, team input, the target depth and the monitoring plan.', ['S102', 'S100']],
] },
{ h: 'Jurisdiction', items: [
['Laws and policies differ', 'Laws, professional rules and institutional policies on palliative sedation, surrogate decisions and end-of-life practices differ between countries and states. AMA opinions are ethics guidance, not rules of law. Follow local law and policy and seek specialist and legal advice.', ['S102']],
] },
{ h: 'Opioid guideline scope', items: [
['CDC 2022', 'The CDC 2022 guideline applies to outpatients with acute, subacute or chronic pain and does NOT apply to cancer-related pain, palliative care or end-of-life care. Its MME factors estimate exposure (risk); they are not a conversion table.', ['S105']],
] },
]);
export const EXCLUSIONS_TEXT = 'Out of scope by design: no content, doses or guidance for medical aid in dying or euthanasia, and nothing about hastening death. The simulator makes no claims about survival, length of life or treatment efficacy.';
// ---------------------------------------------------------------------------------------------
// Fictional example cases.
const base = (o) => ({ sex: 'female', ageYears: 68, weightKg: 62, egfr: 75, liverDisease: false, severeHepatic: false, baselineRr: 16, medicationCount: 4,
setting: 'palliative_inpatient', diagnosis: 'cancer', opioidStatus: 'naive', currentRegimen: null, goals: 'comfort', capacity: true, surrogateDocumented: false,
advanceDirective: false, prognosis: 'weeks_months', priorAdverse: '', hypoxaemic: false, ...o });
export const PALLIATIVE_CASES = Object.freeze([
{ id: 'bone_pain_hospice', module: 'pain', label: 'Cancer bone pain, home hospice, opioid-tolerant',
patient: base({ setting: 'home_hospice', ageYears: 71, sex: 'male', weightKg: 70, opioidStatus: 'tolerant', currentRegimen: { drugId: 'morphine', route: 'oral', dose: 20, intervalH: 4 }, advanceDirective: true }),
generator: { baseline: 7.5, progressionPerDay: 0.2, incidentPerHour: 0.08, incidentSize: 2.5, incidentMin: 45 },
plan: { drugId: 'morphine', route: 'oral', scheduled: true, dose: 20, intervalH: 4, bowel: true } },
{ id: 'naive_ckd_inpatient', module: 'pain', label: 'New cancer pain with CKD (eGFR 22), opioid-naïve inpatient',
patient: base({ ageYears: 76, egfr: 22, medicationCount: 7 }),
generator: { baseline: 7.5, progressionPerDay: 0.05, incidentPerHour: 0.05, incidentSize: 2, incidentMin: 40 },
plan: { drugId: 'hydromorphone', route: 'oral', scheduled: true, intervalH: 4, bowel: true } },
{ id: 'postop_home_naive', module: 'pain', label: 'Non-cancer post-operative pain at home, opioid-naïve (CDC 2022 scope)',
patient: base({ setting: 'outpatient', diagnosis: 'noncancer_acute', ageYears: 45, weightKg: 80, sex: 'male', goals: 'life_prolonging', prognosis: 'not_applicable', medicationCount: 1 }),
generator: { baseline: 5.5, progressionPerDay: -1.2, incidentPerHour: 0.06, incidentSize: 2, incidentMin: 30 },
plan: { drugId: 'oxycodone', route: 'oral', scheduled: false, intervalH: 6, bowel: true } },
{ id: 'chronic_stable', module: 'pain', label: 'Chronic non-cancer pain on stable opioids (CDC 2022 scope)',
patient: base({ setting: 'outpatient', diagnosis: 'noncancer_chronic', ageYears: 58, goals: 'life_prolonging', prognosis: 'not_applicable', opioidStatus: 'tolerant', currentRegimen: { drugId: 'oxycodone', route: 'oral', dose: 10, intervalH: 6 }, medicationCount: 5 }),
generator: { baseline: 5.5, progressionPerDay: 0.1, incidentPerHour: 0.05, incidentSize: 2, incidentMin: 60 },
plan: { drugId: 'oxycodone', route: 'oral', scheduled: true, dose: 10, intervalH: 6, bowel: false } },
{ id: 'eol_dyspnoea_secretions', module: 'eol', label: 'End of life: dyspnoea and terminal secretions (can no longer swallow)',
patient: base({ setting: 'hospice_inpatient', ageYears: 79, weightKg: 55, opioidStatus: 'tolerant', currentRegimen: { drugId: 'morphine', route: 'oral', dose: 10, intervalH: 4 }, capacity: false, surrogateDocumented: true, advanceDirective: true, prognosis: 'hours_days' }),
generator: { baseline: 3, progressionPerDay: 0.2, incidentPerHour: 0.03, incidentSize: 2, incidentMin: 30, dyspnoea: 6.5, secretions: { start: 4, perHour: 0.12 }, agitation: 2 },
plan: { drugId: 'morphine', route: 'iv', scheduled: true, intervalH: 4, bowel: true, convertFromCurrent: true } },
{ id: 'refractory_delirium', module: 'eol', label: 'Refractory terminal delirium / agitation (palliative-sedation teaching case)',
patient: base({ setting: 'palliative_inpatient', ageYears: 64, sex: 'male', weightKg: 68, egfr: 48, opioidStatus: 'tolerant', currentRegimen: { drugId: 'hydromorphone', route: 'oral', dose: 4, intervalH: 4 }, capacity: false, surrogateDocumented: true, advanceDirective: true, prognosis: 'hours_days', medicationCount: 9 }),
generator: { baseline: 3.5, progressionPerDay: 0.1, incidentPerHour: 0.03, incidentSize: 2, incidentMin: 30, dyspnoea: 2, agitation: 8, refractoryAgitation: true },
plan: { drugId: 'hydromorphone', route: 'oral', scheduled: true, dose: 4, intervalH: 4, bowel: true } },
]);
export const OPTIONS = Object.freeze({
setting: [['hospice_inpatient', 'Hospice inpatient'], ['palliative_inpatient', 'Palliative inpatient'], ['home_hospice', 'Home hospice'], ['outpatient', 'Outpatient / home']],
diagnosis: [['cancer', 'Cancer'], ['heart_failure', 'Advanced heart failure'], ['copd', 'COPD'], ['eskd', 'End-stage kidney disease'], ['neurodegenerative', 'Neurodegenerative disease'], ['noncancer_chronic', 'Chronic non-cancer pain'], ['noncancer_acute', 'Acute post-operative pain at home (non-cancer)']],
opioidStatus: [['naive', 'Opioid-naïve'], ['tolerant', 'Opioid-tolerant (current regimen)']],
goals: [['comfort', 'Comfort-focused'], ['life_prolonging', 'Life-prolonging / disease-directed'], ['mixed', 'Mixed']],
prognosis: [['weeks_months', 'Weeks to months'], ['days_weeks', 'Days to weeks'], ['hours_days', 'Hours to days'], ['not_applicable', 'Not applicable (non-serious illness)']],
});