Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions src/features/testing/components/TestingPlanGenerator.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -255,8 +255,10 @@ describe('TestingPlanGenerator', () => {
expect(within(tableSection).getByText('1:100 start')).toBeInTheDocument();
expect(within(tableSection).getByText('1:100')).toBeInTheDocument();

// Ketamine is DREAM-only, so no SCRATCH link should exist for it
expect(within(tableSection).queryByRole('link', { name: /View Ketamine on SCRATCH/i })).not.toBeInTheDocument();
// Ketamine is SCRATCH-sourced since the tranche-1 migration, so its
// protocol detail links to the handbook page
const scratchLink = within(tableSection).getByRole('link', { name: /View Ketamine on SCRATCH/i });
expect(scratchLink).toHaveAttribute('href', 'https://scratch.yuson.au/drugs/ketamine/');
});

it('fails closed and shows accessible review alert when restored draft contains invalid protocol index', async () => {
Expand Down
208 changes: 0 additions & 208 deletions src/shared/data/dreamOnlyProtocols.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,102 +20,6 @@ export const DREAM_ONLY_PROTOCOLS: DrugProtocol[] = [
protocolLabel: "+ Rocuronium",
},
// ── PENICILLINS ────────────────────────────────────────────────────────
{
id: "ppl",
drugName: "Penicillin Major", category: "Penicillins", testType: "skin",
presentation: "PPL", sptNeatConcentration: "Neat (0.04mg/20.00mg/mL)", diluent: "Phosphate-buffered saline (1 mL supplied diluent — not plain saline)",
idtSteps: [s("1:10", "0.004mg/2mg"), s("Neat", "0.04mg/20.00mg")],
challengeSteps: [],
protocolLabel: "PPL",
},
{
id: "md",
drugName: "Penicillin Minor", category: "Penicillins", testType: "skin",
presentation: "MD (Sodium Benzylpenilloate/Mannitol)", sptNeatConcentration: "Neat (0.50mg/20.00mg/mL)", diluent: "Phosphate-buffered saline (1 mL supplied diluent — not plain saline)",
idtSteps: [s("1:10", "0.05mg/2.00mg"), s("Neat", "0.50mg/20.00mg")],
challengeSteps: [],
protocolLabel: "MD",
},
{
id: "neat-spt",
drugName: "Ampicillin", category: "Penicillins", testType: "skin",
presentation: "1g", sptNeatConcentration: "Neat (100mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 5 mL WFI)",
idtSteps: [s("1:100", "1mg/mL"), s("1:10", "10mg/mL"), s("1:50", "2mg/0.2mg/mL")],
challengeSteps: [],
protocolLabel: "Neat SPT",
},
{
id: "1-5-spt",
drugName: "Ampicillin", category: "Penicillins", testType: "skin",
presentation: "1g", sptNeatConcentration: "1:5 (20mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 5 mL WFI)",
idtSteps: [s("1:10", "10mg/mL"), s("1:5", "20mg/mL"), s("1:100", "0.06mg/mL")],
challengeSteps: [],
protocolLabel: "1:5 SPT",
},
{
id: "control",
drugName: "Ampicillin", category: "Penicillins", testType: "control",
presentation: "1g", sptNeatConcentration: "1:5 (20mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 5 mL WFI)",
idtSteps: [s("1:10", "10mg/mL"), s("1:5", "20mg/mL"), s("1:100", "0.02mg/mL")],
challengeSteps: [],
protocolLabel: "Control",
},
{
id: "neat-spt",
drugName: "Amoxycillin", category: "Penicillins", testType: "skin",
presentation: "1g", sptNeatConcentration: "Neat (100mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 5 mL WFI)",
idtSteps: [s("1:100", "1mg/mL"), s("1:10", "10mg/mL")],
challengeSteps: [],
protocolLabel: "Neat SPT",
},
{
id: "1-5-spt",
drugName: "Amoxycillin", category: "Penicillins", testType: "skin",
presentation: "1g", sptNeatConcentration: "1:5 (20mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 5 mL WFI)",
idtSteps: [s("1:10", "10mg/mL"), s("1:5", "20mg/mL")],
challengeSteps: [],
protocolLabel: "1:5 SPT",
},
{
id: "1-1000-start",
drugName: "Benzylpenicillin", category: "Penicillins", testType: "skin",
presentation: "600mg", sptNeatConcentration: "Neat (6mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 1.6 mL)",
idtSteps: [s("1:100", "0.06mg/mL"), s("1:10", "0.6mg/mL")],
challengeSteps: [],
protocolLabel: "1:1,000 start",
},
{
id: "1-100-start",
drugName: "Benzylpenicillin", category: "Penicillins", testType: "skin",
presentation: "600mg", sptNeatConcentration: "Neat (6mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 1.6 mL)",
idtSteps: [s("1:100", "0.06mg/mL"), s("1:10", "0.6mg/mL"), s("1:50", "2mg/0.2mg/mL")],
challengeSteps: [],
protocolLabel: "1:100 start",
},
{
id: "control",
drugName: "Benzylpenicillin", category: "Penicillins", testType: "control",
presentation: "600mg", sptNeatConcentration: "Neat (6mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 1.6 mL)",
idtSteps: [s("1:100", "0.06mg/mL"), s("1:10", "0.6mg/mL")],
challengeSteps: [],
protocolLabel: "Control",
},
{
id: "1-1000-start",
drugName: "Augmentin", category: "Penicillins", testType: "skin",
presentation: "2000mg/200mg", sptNeatConcentration: "1:5 (20mg/2mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 50 mL WFI)",
idtSteps: [s("1:50", "2mg/0.2mg/mL"), s("1:5", "20mg/2mg/mL"), s("1:100", "0.06mg/mL")],
challengeSteps: [],
protocolLabel: "1:1,000 start",
},
{
id: "1-100-start",
drugName: "Augmentin", category: "Penicillins", testType: "skin",
presentation: "2000mg/200mg", sptNeatConcentration: "1:5 (20mg/2mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 50 mL WFI)",
idtSteps: [s("1:50", "2mg/0.2mg/mL"), s("1:5", "20mg/2mg/mL"), s("1:100", "0.2mg/mL")],
challengeSteps: [],
protocolLabel: "1:100 start",
},
{
id: "iv",
drugName: "Cephalexin", category: "Penicillins", testType: "skin",
Expand All @@ -135,38 +39,6 @@ export const DREAM_ONLY_PROTOCOLS: DrugProtocol[] = [
protocolLabel: "",
},
// ── HYPNOTICS ────────────────────────────────────────────────────────
{
id: "1-1000-start",
drugName: "Ketamine", category: "Hypnotics", testType: "skin",
presentation: "100mg/mL", sptNeatConcentration: "Neat (100mg/mL)", diluent: "0.9% sodium chloride",
idtSteps: [s("1:1,000", "0.1mg/mL"), s("1:100", "1mg/mL"), s("1:10", "10mg/mL")],
challengeSteps: [],
protocolLabel: "1:1,000 start",
},
{
id: "1-100-start",
drugName: "Ketamine", category: "Hypnotics", testType: "skin",
presentation: "100mg/mL", sptNeatConcentration: "Neat (100mg/mL)", diluent: "0.9% sodium chloride",
idtSteps: [s("1:1,000", "0.1mg/mL")],
challengeSteps: [],
protocolLabel: "1:100 start",
},
{
id: "1-1000-start",
drugName: "Thiopental", category: "Hypnotics", testType: "skin",
presentation: "25mg/mL", sptNeatConcentration: "Neat (25mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 20 mL WFI or saline)",
idtSteps: [s("1:1,000", "0.025mg/mL"), s("1:100", "0.25mg/mL"), s("1:10", "2.5mg/mL")],
challengeSteps: [],
protocolLabel: "1:1,000 start",
},
{
id: "1-100-start",
drugName: "Thiopental", category: "Hypnotics", testType: "skin",
presentation: "25mg/mL", sptNeatConcentration: "Neat (25mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 20 mL WFI or saline)",
idtSteps: [s("1:1,000", "0.025mg/mL"), s("1:100", "0.25mg/mL"), s("1:10", "2.5mg/mL")],
challengeSteps: [],
protocolLabel: "1:100 start",
},
// ── LOCAL ANAESTHETICS ────────────────────────────────────────────────────────
{
id: "iv",
Expand All @@ -176,72 +48,8 @@ export const DREAM_ONLY_PROTOCOLS: DrugProtocol[] = [
challengeSteps: [],
protocolLabel: "IV",
},
{
id: "epidural-1",
drugName: "Ropivacaine", category: "Local Anaesthetics", testType: "skin",
presentation: "40mg/20mL", sptNeatConcentration: "Neat (2mg/mL)", diluent: "0.9% sodium chloride",
idtSteps: [s("1:1,000", "0.002mg/mL"), s("1:100", "0.02mg/mL"), s("1:10", "0.2mg/mL"), s("Neat", "2mg/mL")],
challengeSteps: [],
protocolLabel: "Epidural Protocol 1",
},
{
id: "epidural-2",
drugName: "Ropivacaine", category: "Local Anaesthetics", testType: "skin",
presentation: "40mg/20mL", sptNeatConcentration: "Neat (2mg/mL)", diluent: "0.9% sodium chloride",
idtSteps: [s("1:10", "0.2mg/mL"), s("Neat", "2mg/mL")],
challengeSteps: [],
protocolLabel: "Epidural Protocol 2",
},
// ── OPIOIDS ────────────────────────────────────────────────────────
{
id: "1-1000-start",
drugName: "Morphine", category: "Opioids", testType: "skin",
presentation: "10mg/mL", sptNeatConcentration: "1:10 (1mg/mL)", diluent: "0.9% sodium chloride",
idtSteps: [s("1:100,000", "0.0001mg/mL"), s("1:100", "0.0005mg/mL")],
challengeSteps: [],
protocolLabel: "1:1,000 start",
},
{
id: "1-100-start",
drugName: "Morphine", category: "Opioids", testType: "skin",
presentation: "10mg/mL", sptNeatConcentration: "1:10 (1mg/mL)", diluent: "0.9% sodium chloride",
idtSteps: [s("1:100,000", "0.0001mg/mL"), s("1:1,000", "0.01mg/mL")],
challengeSteps: [],
protocolLabel: "1:100 start",
},
{
id: "1-1000-start",
drugName: "Remifentanil", category: "Opioids", testType: "skin",
presentation: "1mg", sptNeatConcentration: "Neat (0.05mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 20 mL WFI)",
idtSteps: [s("1:100", "0.0005mg/mL"), s("1:10", "0.005mg/mL")],
challengeSteps: [],
protocolLabel: "1:1,000 start",
},
{
id: "1-100-start",
drugName: "Remifentanil", category: "Opioids", testType: "skin",
presentation: "1mg", sptNeatConcentration: "Neat (0.05mg/mL)", diluent: "0.9% sodium chloride (reconstitute with 20 mL WFI)",
idtSteps: [s("1:100", "0.0005mg/mL"), s("1:10", "0.005mg/mL"), s("1:1,000", "0.01mg/mL")],
challengeSteps: [],
protocolLabel: "1:100 start",
},
// ── ANTISEPTICS ────────────────────────────────────────────────────────
{
id: "1-1000-start",
drugName: "Povidone Iodine", category: "Antiseptics", testType: "skin",
presentation: "10% w/v", sptNeatConcentration: "Neat (100mg/mL)", diluent: "0.9% sodium chloride",
idtSteps: [s("1:10,000", "0.01mg/mL"), s("1:1,000", "0.1mg/mL"), s("1:100", "1mg/mL")],
challengeSteps: [],
protocolLabel: "1:1,000 start",
},
{
id: "1-100-start",
drugName: "Povidone Iodine", category: "Antiseptics", testType: "skin",
presentation: "10% w/v", sptNeatConcentration: "Neat (100mg/mL)", diluent: "0.9% sodium chloride",
idtSteps: [s("1:10,000", "0.01mg/mL"), s("1:1,000", "0.1mg/mL"), s("1:100", "1mg/mL")],
challengeSteps: [],
protocolLabel: "1:100 start",
},
// ── OTHERS ────────────────────────────────────────────────────────
{
id: "suspension",
Expand Down Expand Up @@ -276,22 +84,6 @@ export const DREAM_ONLY_PROTOCOLS: DrugProtocol[] = [
challengeSteps: [],
protocolLabel: "1:100 start",
},
{
id: "1-1000-start",
drugName: "Metacresol", category: "Others", testType: "skin",
presentation: "1034mg/mL", sptNeatConcentration: "1.5mg/mL", diluent: "0.9% sodium chloride",
idtSteps: [s("1:20", "0.075mg/mL")],
challengeSteps: [],
protocolLabel: "1:1,000 start",
},
{
id: "1-100-start",
drugName: "Metacresol", category: "Others", testType: "skin",
presentation: "1034mg/mL", sptNeatConcentration: "3mg/mL", diluent: "0.9% sodium chloride",
idtSteps: [s("1:20", "0.15mg/mL")],
challengeSteps: [],
protocolLabel: "1:100 start",
},
{
id: "iv-contrast",
drugName: "Ultravist", category: "Others", testType: "skin",
Expand Down
Loading