Tooltip
.tooltip {
position: relative;
cursor: pointer;
text-decoration: none;
border-bottom: 1px dashed rgba(0, 0, 0, 0.6);
}
.tooltip::before {
content: attr(data-tooltip);
position: absolute;
top: -40px; /* Trochę niżej nad słowem */
left: 50%; /* Wyśrodkowanie */
transform: translateX(-50%);
background-color: rgba(255, 255, 255, 0.9);
color: #333;
padding: 6px 12px;
border-radius: 8px;
white-space: nowrap;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease, visibility 0.3s ease;
font-family: ‘Arial’, sans-serif;
font-size: 14px;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
z-index: 10;
}
.tooltip:hover::before {
opacity: 1;
visibility: visible;
}
document.addEventListener(‘DOMContentLoaded’, function () {
const wordsToTooltip = {
“Diagnostic Tests”: “Testy diagnostyczne”,
“Skeletal system disorders”: “Choroby układu kostnego”,
“Bone health”: “Zdrowie kości”,
“Fractures”: “Złamania”,
“Skeletal conditions”: “Choroby układu szkieletowego”,
“X-Ray Imaging”: “Badanie rentgenowskie (RTG)”,
“Radiation”: “Promieniowanie”,
“Bone fractures”: “Złamania kości”,
“Osteoarthritis”: “Choroba zwyrodnieniowa stawów”,
“Bone tumors”: “Guzy kości”,
“Bone infections”: “Infekcje kości”,
“Spinal deformities”: “Deformacje kręgosłupa”,
“Bone Density Scan (DEXA)”: “Badanie gęstości kości (DEXA)”,
“Bone mineral density (BMD)”: “Gęstość mineralna kości (BMD)”,
“Osteoporosis”: “Osteoporoza”,
“Osteopenia”: “Osteopenia”,
“Computed Tomography (CT) Scan”: “Tomografia komputerowa (TK)”,
“Cross-sectional images”: “Obrazy przekrojowe”,
“Complex fractures”: “Złamania złożone”,
“Bone lesions”: “Zmiany w kościach”,
“Contrast agents”: “Środki kontrastowe”,
“Kidney issues”: “Problemy z nerkami”,
“Allergies”: “Alergie”,
“Magnetic Resonance Imaging (MRI)”: “Rezonans magnetyczny (MRI)”,
“Magnetic fields”: “Pola magnetyczne”,
“Radio waves”: “Fale radiowe”,
“Bone marrow disorders”: “Choroby szpiku kostnego”,
“Cartilage damage”: “Uszkodzenie chrząstki”,
“Soft tissue abnormalities”: “Nieprawidłowości tkanek miękkich”,
“Inflammation”: “Zapalenie”,
“Scintigraphy”: “Scyntygrafia”,
“Bone scan”: “Scyntygrafia kości”,
“Nuclear imaging”: “Obrazowanie nuklearne”,
“Radioactive tracer”: “Znacznik radioaktywny”,
“Bone metastases”: “Przerzuty do kości”,
“Arthrocentesis”: “Artrocenteza”,
“Joint aspiration”: “Nakłucie stawu”,
“Synovial fluid”: “Płyn maziowy”,
“Septic arthritis”: “Septyczne zapalenie stawów”,
“Rheumatoid arthritis”: “Reumatoidalne zapalenie stawów”,
“Joint effusions”: “Wysięki stawowe”,
“Bone Biopsy”: “Biopsja kości”,
“Histological examination”: “Badanie histologiczne”,
“Bone cancer”: “Rak kości”,
“Metabolic bone diseases”: “Metaboliczne choroby kości”,
“Malignant tumors”: “Guzy złośliwe”,
“Blood Tests”: “Badania krwi”,
“Calcium levels”: “Poziom wapnia”,
“Phosphate levels”: “Poziom fosforanów”,
“Vitamin D”: “Witamina D”,
“Alkaline phosphatase”: “Fosfataza alkaliczna”,
“Bone metabolism”: “Metabolizm kości”,
“Osteocalcin”: “Osteokalcyna”,
“C-terminal telopeptide”: “C-końcowy telopeptyd (marker resorpcji kości)”,
“Paget’s disease of bone”: “Choroba Pageta kości”,
“Hyperparathyroidism”: “Nadczynność przytarczyc”,
“Vitamin D deficiency”: “Niedobór witaminy D”,
“Ultrasound of the Bones”: “Ultrasonografia kości”,
“Sound waves”: “Fale dźwiękowe”,
“Pediatric assessments”: “Oceny pediatryczne”,
“Bone cysts”: “Torbiele kości”,
“Genetic Testing”: “Badania genetyczne”,
“Hereditary bone disorders”: “Dziedziczne choroby kości”,
“Osteogenesis imperfecta”: “Wrodzona łamliwość kości (osteogenesis imperfecta)”,
“Skeletal dysplasia”: “Dysplazja szkieletowa”,
“Genetic mutations”: “Mutacje genetyczne”,
“Ehlers-Danlos syndrome”: “Zespół Ehlersa-Danlosa”,
“Hereditary multiple exostoses”: “Dziedziczne mnogie wyrośla chrzęstno-kostne”,
“Achondroplasia”: “Achondroplazja”,
“Marfan syndrome”: “Zespół Marfana”,
“Refers the patient”: “Kieruje pacjenta”,
“Degenerative conditions”: “Choroby zwyrodnieniowe”,
“Non-invasive”: “Nieinwazyjny”,
“Spinal disorders”: “Zaburzenia kręgosłupa”,
“Joint abnormalities”: “Nieprawidłowości stawów”,
“Joint damage”: “Uszkodzenie stawów”,
“Cartilage injuries”: “Uszkodzenia chrząstki”,
“Osteomyelitis”: “Zapalenie kości i szpiku”,
“Soft tissues”: “Tkanki miękkie”,
“Arthritis”: “Zapalenie stawów”,
“Infections”: “Infekcje”,
“Gout”: “Dna moczanowa”,
“Relieve”: “Łagodzić”,
“Joint swelling”: “Obrzęk stawu”,
“Needle biopsy”: “Biopsja igłowa”,
“Benign”: “Łagodny”,
“Malignant”: “Złośliwy”,
“Deficiency”: “Niedobór”,
“Preliminary”: “Wstępny”,
“Soft tissue masses”: “Guzki tkanek miękkich”,
“Saliva sample”: “Próbka śliny”,
“Bone fragility”: “Kruchość kości”,
“Inheritance patterns”: “Wzorce dziedziczenia”
};
// Normalize keys in the dictionary
const normalizedWordsToTooltip = {};
for (const [key, value] of Object.entries(wordsToTooltip)) {
const cleanedKey = key.replace(/(.*?)/g, ”).trim(); // Remove anything in parentheses
normalizedWordsToTooltip[cleanedKey.toLowerCase()] = value;
}
function processNode(node) {
if (node.nodeType === Node.TEXT_NODE && node.nodeValue.trim()) {
let content = node.nodeValue;
// Regex to match only the main words (ignores parentheses)
const regex = new RegExp(
`\b(${Object.keys(normalizedWordsToTooltip).join(‘|’)})\b`,
‘gi’
);
if (regex.test(content)) {
const wrapper = document.createElement(‘span’);
wrapper.innerHTML = content.replace(regex, (match) => {
const tooltip = normalizedWordsToTooltip[match.toLowerCase().trim()];
return `
${match}`;
});
node.replaceWith(wrapper);
}
} else if (node.nodeType === Node.ELEMENT_NODE) {
Array.from(node.childNodes).forEach(processNode);
}
}
document.querySelectorAll(‘body *:not(script):not(style)’).forEach((element) => {
Array.from(element.childNodes).forEach(processNode);
});
});
Podświetlanie tekstu z notatkami
body {
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
}
.highlight {
background-color: #cce7ff; /* Highlight color without notes */
position: relative;
display: inline;
}
.highlight.with-note {
background-color: #ffeb3b; /* Highlight color with notes */
}
.note-box {
position: absolute;
background-color: #f9f9f9;
color: #333;
font-size: 14px;
line-height: 1.6;
padding: 10px 15px;
border: 1px solid #ddd;
border-radius: 5px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
max-width: 250px;
z-index: 1000;
white-space: normal;
text-align: left;
display: none; /* Hidden by default */
}
.note-controls {
position: absolute;
top: -30px;
right: -30px;
display: flex;
gap: 10px;
z-index: 10;
opacity: 0;
pointer-events: none;
transition: opacity 0.3s;
}
.note-controls.visible {
opacity: 1;
pointer-events: all;
}
.note-controls span {
cursor: pointer;
background-color: gray;
color: white;
padding: 5px 10px;
border-radius: 5px;
font-size: 16px;
font-weight: bold;
}
.note-controls span:hover {
background-color: darkgray;
}
document.addEventListener(“DOMContentLoaded”, () => {
/**
* Checks if an element is a header.
*/
const isHeaderElement = (node) => {
while (node) {
if (node.nodeType === 1 && node.tagName.match(/^H[1-5]$/)) {
return true;
}
node = node.parentNode;
}
return false;
};
/**
* Checks if an element is inside a table cell.
*/
const isInsideTable = (node) => {
while (node) {
if (node.tagName === “TD” || node.tagName === “TH”) {
return node;
}
node = node.parentNode;
}
return null;
};
/**
* Checks if an element belongs to the same list item.
*/
const isWithinSameListItem = (selection) => {
if (selection.rangeCount === 0) return false;
const range = selection.getRangeAt(0);
const startContainer = range.startContainer;
const endContainer = range.endContainer;
const getClosestListItem = (node) => {
while (node) {
if (node.nodeType === 1 && node.tagName === “LI”) {
return node;
}
node = node.parentNode;
}
return null;
};
const startListItem = getClosestListItem(startContainer);
const endListItem = getClosestListItem(endContainer);
// Ensure selection is within the same list item
return startListItem === endListItem;
};
/**
* Validates the selection.
* Ensures the selection is within a single header, table cell, or list item.
*/
const isSelectionValid = (selection) => {
if (selection.rangeCount === 0) return false;
const range = selection.getRangeAt(0);
const startContainer = range.startContainer;
const endContainer = range.endContainer;
const startInHeader = isHeaderElement(startContainer);
const endInHeader = isHeaderElement(endContainer);
// Block selection spanning headers
if (startInHeader !== endInHeader) {
return false;
}
const startCell = isInsideTable(startContainer);
const endCell = isInsideTable(endContainer);
// Block selection spanning table cells
if (startCell && endCell && startCell !== endCell) {
return false;
}
// Block selection spanning multiple list items
if (!isWithinSameListItem(selection)) {
return false;
}
return true;
};
/**
* Highlights the selected text.
*/
const wrapTextWithHighlight = (range) => {
const fragment = range.extractContents();
const highlight = document.createElement(“span”);
highlight.className = “highlight”;
highlight.appendChild(fragment);
range.insertNode(highlight);
const noteControls = document.createElement(“div”);
noteControls.className = “note-controls visible”;
const editNote = document.createElement(“span”);
editNote.textContent = “✎”;
editNote.title = “Edit note”;
noteControls.appendChild(editNote);
const removeHighlight = document.createElement(“span”);
removeHighlight.textContent = “x”;
removeHighlight.title = “Remove highlight”;
noteControls.appendChild(removeHighlight);
highlight.style.position = “relative”;
highlight.appendChild(noteControls);
let noteBox = null;
const updateNotePosition = () => {
const rect = highlight.getBoundingClientRect();
if (noteBox) {
noteBox.style.top = `${rect.height}px`;
noteBox.style.left = `${rect.width / 2}px`;
}
};
const hideControlsAndNoteAfterDelay = () => {
setTimeout(() => {
noteControls.classList.remove(“visible”);
if (noteBox) noteBox.style.display = “none”;
}, 3000);
};
// Show controls for 3 seconds after highlighting
hideControlsAndNoteAfterDelay();
highlight.addEventListener(“click”, () => {
noteControls.classList.add(“visible”);
if (noteBox) noteBox.style.display = “block”;
hideControlsAndNoteAfterDelay();
});
editNote.addEventListener(“click”, () => {
const noteText = prompt(“Add or edit a note:”, noteBox?.textContent || “”);
if (noteText) {
if (!noteBox) {
noteBox = document.createElement(“div”);
noteBox.className = “note-box”;
highlight.appendChild(noteBox);
}
noteBox.textContent = noteText;
noteBox.style.display = “block”;
highlight.classList.add(“with-note”);
updateNotePosition();
hideControlsAndNoteAfterDelay();
}
});
removeHighlight.addEventListener(“click”, () => {
const parent = highlight.parentNode;
while (highlight.firstChild) {
parent.insertBefore(highlight.firstChild, highlight);
}
parent.removeChild(highlight);
if (noteBox) noteBox.remove();
});
};
/**
* Handles the mouseup event to validate and apply highlighting.
*/
document.body.addEventListener(“mouseup”, () => {
const selection = window.getSelection();
if (selection.rangeCount > 0 && selection.toString().trim()) {
if (!isSelectionValid(selection)) {
alert(“Zaznaczenie musi być w obrębie jednego akapitu, komórki tabeli lub punktu listy!”);
selection.removeAllRanges();
return;
}
const range = selection.getRangeAt(0);
wrapTextWithHighlight(range);
selection.removeAllRanges();
}
});
});
Szacowany czas lekcji:
5 minut
.lesson-duration-container {
background-color: #f0f4f8; /* Szarawe tło dopasowane do reszty strony */
padding: 8px 15px; /* Wewnętrzny odstęp */
border-radius: 8px; /* Zaokrąglone rogi */
font-family: ‘Roboto’, Arial, sans-serif; /* Czcionka Roboto, jeśli dostępna */
font-size: 16px; /* Rozmiar tekstu */
color: #6c757d; /* Ciemny szary kolor tekstu */
display: inline-block; /* Wyświetlanie jako element blokowy */
margin-bottom: 20px; /* Odstęp na dole */
border: none; /* Bez obramowania */
}
.lesson-duration-label {
font-weight: 700; /* Pogrubienie dla etykiety */
color: #6c757d; /* Ciemny szary kolor dla etykiety */
margin-right: 5px; /* Odstęp od wartości */
}
.lesson-duration-value {
color: #6c757d; /* Ciemny szary kolor dla wartości */
font-weight: 700; /* Pogrubienie dla wartości */
}
Diagnostic Tests and Procedures
Accurate diagnosis of skeletal system disorders is essential for effective management and treatment. Physicians utilize clinical assessments and diagnostic tests to evaluate bone health, detect fractures, and diagnose skeletal conditions. Often, the doctor refers the patient for specialized testing or imaging studies to ensure a comprehensive assessment. Common diagnostic tests and procedures include:
X-Ray Imaging
X-ray imaging is the most frequently used test for evaluating bone fractures, deformities, and degenerative conditions. It involves directing low doses of radiation through the body to create images of the bones. X-rays are invaluable in the initial identification of fractures, osteoarthritis, bone tumors, and significant structural abnormalities. However, early-stage bone infections or tumors may not be visible until they have progressed.
Common Conditions Assessed with X-Ray Imaging:
- Bone fractures
- Osteoarthritis
- Bone infections (osteomyelitis)
- Bone tumors
- Spinal deformities
Bone Density Scan (DEXA)
A bone density scan, or dual-energy X-ray absorptiometry (DEXA), measures bone mineral density (BMD) to assess bone strength and the risk of fractures. This test is critical for diagnosing osteoporosis and monitoring the effectiveness of osteoporosis treatment. The scan is non-invasive and focuses primarily on the spine, hip, and forearm, the common sites of osteoporotic fractures.
Common Conditions Assessed with Bone Density Scan:
- Osteoporosis
- Osteopenia
- Risk of bone fractures
Computed Tomography (CT) Scan
A CT scan provides detailed cross-sectional images of the skeletal system, offering more precision than standard X-rays. This imaging modality is particularly useful for complex fractures, bone tumors, and evaluating the bone structure surrounding joints. CT scans provide enhanced detail and can help detect subtle fractures or bone lesions. Contrast agents may be used to improve visualization, though they carry risks for patients with kidney issues or allergies.
Common Conditions Assessed with CT Scan:
- Complex fractures
- Bone tumors
- Spinal disorders
- Bone infections
- Joint abnormalities
Magnetic Resonance Imaging (MRI) of the Bones
MRI uses magnetic fields and radio waves to produce detailed images of bones, joints, and surrounding soft tissues. It is particularly effective in visualizing bone marrow disorders, cartilage damage, and surrounding soft tissue abnormalities, including inflammation, tumors, and infections that are not visible on X-rays. MRI is invaluable for assessing soft tissue involvement around bones.
Common Conditions Assessed with Bone MRI:
- Bone marrow disorders
- Joint damage
- Cartilage injuries
- Osteomyelitis
- Bone tumors
Scintigraphy
Scintigraphy, also known as a bone scan, is a nuclear imaging test used to identify bone abnormalities such as fractures, infections, or tumors. It involves injecting a small amount of radioactive tracer into the bloodstream, which accumulates in areas of high bone activity. These areas appear as “hot spots” on the scan, indicating regions of potential pathology.
Common Conditions Assessed with Bone Scan:
- Bone infections
- Bone tumors
- Fractures not visible on X-ray
- Bone metastases
- Unexplained bone pain
Arthrocentesis
Arthrocentesis, or joint aspiration, is a procedure where a needle is inserted into a joint to collect synovial fluid. The fluid is analyzed to diagnose joint conditions, such as arthritis, infections, or gout. It is also used therapeutically to relieve joint swelling and pain.
Common Conditions Assessed with Arthrocentesis:
- Gout
- Septic arthritis
- Rheumatoid arthritis
- Osteoarthritis
- Joint effusions
Bone Biopsy
A bone biopsy involves removing a small sample of bone tissue for histological examination. This procedure is essential for diagnosing bone cancers, infections, or metabolic bone diseases. It can be performed using a needle biopsy or surgically. Bone biopsies provide a definitive diagnosis, distinguishing benign from malignant bone tumors and identifying infections or metabolic diseases.
Common Conditions Assessed with Bone Biopsy:
- Bone cancer
- Osteomyelitis
- Metabolic bone diseases
- Unexplained bone lesions
Blood Tests
Blood tests are used to detect abnormalities in bone metabolism, including calcium, phosphate, vitamin D, and alkaline phosphatase levels. These tests help identify metabolic bone diseases and monitor bone health. Specific markers of bone turnover, such as osteocalcin and C-terminal telopeptide, can also be measured to assess osteoporosis risk.
Common Conditions Assessed with Blood Tests:
- Osteoporosis
- Paget’s disease of bone
- Hyperparathyroidism
- Bone cancer
- Vitamin D deficiency
Ultrasound of the Bones
Bone ultrasound uses sound waves to evaluate bone structure, particularly in children or in assessing fractures in superficial bones. It is often used as a preliminary assessment tool, especially in settings where radiation exposure should be minimized, such as in pregnant women or young children. Bone ultrasound is particularly useful in pediatric assessments and preliminary evaluations, as it poses no radiation risk.
Common Conditions Assessed with Bone Ultrasound:
- Fractures
- Bone growth in children
- Bone infections
- Soft tissue masses near bone
- Bone cysts
Genetic Testing
Genetic testing is valuable for diagnosing hereditary bone disorders, such as osteogenesis imperfecta or certain types of skeletal dysplasia. A blood or saliva sample is analyzed for genetic mutations that are associated with bone fragility and other skeletal anomalies. Genetic testing identifies mutations linked to hereditary bone disorders, aiding in diagnosis, prognosis, and understanding inheritance patterns.
Common Conditions Assessed with Genetic Testing:
- Ehlers-Danlos syndrome
- Hereditary multiple exostoses
- Osteogenesis imperfecta
- Achondroplasia
- Marfan syndrome