stage partial

This commit is contained in:
Ross
2026-07-11 17:09:52 +01:00
parent a10dd5bd7b
commit 0bd27c2714
77 changed files with 2158 additions and 20 deletions
+5 -1
View File
@@ -513,5 +513,9 @@
"dc33d99986495af5b365ec7533f6c813841203d538e45912dad5d4aba835571d": "docs_md/articles/focal-liver-lesion-with-hemorrhage_5e6be44f-07d3-4569-abe3-798d7513fe41.md",
"aef8df7f2c086d27d3c250eb239e07e8f55919b6ad02df14d0ff3d7801a0a04f": "docs_md/articles/cystic-hepatic-mass_85bb9a0b-2d25-457d-a131-20ff07cb552b.md",
"d14e238ea18f29c29fd9d711ca0ddee4de1d0b040670542b2c27bbc685b9f1bd": "docs_md/articles/liver_e4fdb09c-d20f-407d-b563-499124541261.md",
"139305376661c718a087c9f5aa87ef15ef1b0ce515647880ba1ec4c00d884e49": "docs_md/articles/hepatic-cyst_e525e5da-75e8-432c-b398-cb3d18e97771.md"
"139305376661c718a087c9f5aa87ef15ef1b0ce515647880ba1ec4c00d884e49": "docs_md/articles/hepatic-cyst_e525e5da-75e8-432c-b398-cb3d18e97771.md",
"ac5f4ac213d7a5fdee2798f031ef6f8a46a08218178c10d33f6bcdca3092c1a3": "docs_md/articles/dysmorphic-liver-with-abnormal-bile-ducts_1cb8d652-5e83-4ee2-a762-bab56e2d107b.md",
"0ae47dfb25774725d4674003765b6fda4428c490dd2c7a0ffaf4f29d5f4c65b5": "docs_md/articles/biliary-hamartoma_1b525344-ad66-4381-9ca9-3fb11172744f.md",
"867463cc1316e7d2a185bc8ba323c0b88510ca00b996d3bf065610e3c605980d": "docs_md/articles/caroli-disease_acb4212f-766e-4766-bd10-1ebd525a467c.md",
"aa4eab80f7ac1fbd5076c72743c5022ddf17437bc58c143d6b803bf4e2d3b882": "docs_md/articles/mucinous-cystic-neoplasm-of-liver_0aea34ce-3322-4284-a6f3-6c79e3359520.md"
}
+75
View File
@@ -7060,5 +7060,80 @@
"images/app.statdx.com_image_thumbnail_0268c185-4f71-4217-b7c5-feaa7a978b3f_annotated_true_size_900_quality_90_8ce2d2a8fa060aab5ca0ff11513d097a7e052eb9.jpg",
"images/app.statdx.com_image_thumbnail_b72d49eb-e52a-4776-87f6-cc17030fb667_annotated_true_size_900_quality_90_977ba945b714654a35d7775020e5aedc8af16cea.jpg",
"images/app.statdx.com_image_thumbnail_1a2c7bbc-32cb-4c19-be29-26e35bc2719a_annotated_true_size_900_quality_90_88c4d1fd122888cd17cdf2187597cedf59e04f70.jpg"
],
"docs_md/articles/dysmorphic-liver-with-abnormal-bile-ducts_1cb8d652-5e83-4ee2-a762-bab56e2d107b.md": [
"images/app.statdx.com_image_thumbnail_d766f164-02d8-472a-a350-bcd8c24e52ca_annotated_true_size_900_quality_90_fdb46f4eb015815ad11ef3343ae64eb821184d41.jpg",
"images/app.statdx.com_image_thumbnail_d766f164-02d8-472a-a350-bcd8c24e52ca_size_174_quality_85_791db07441b8b68396988de38fda306d546aa351.jpg",
"images/app.statdx.com_image_thumbnail_3ad9fe34-fe40-424b-a866-bf119ee29ad3_annotated_true_size_900_quality_90_fd0d0e100ffc4d6a63d07f6f39e6483cdd3f1fe5.jpg",
"images/app.statdx.com_image_thumbnail_31491aa4-f86d-4f27-bda0-ad7c85d2a1d8_annotated_true_size_900_quality_90_a305c20bfb49eb1030d23df76a701085d77159ee.jpg",
"images/app.statdx.com_image_thumbnail_a43b3b1e-2be8-4c3e-ac4f-01a48173a4f6_annotated_true_size_900_quality_90_7da62b24f871b3ec51e4eeb839f30b01729848e4.jpg",
"images/app.statdx.com_image_thumbnail_a547b3a2-05fe-4f9c-a969-2eab192f0a90_annotated_true_size_900_quality_90_a3e37f5a0e1e81d0ecdcd0e227819de1c5d01ab6.jpg",
"images/app.statdx.com_image_thumbnail_1e7bb394-59ec-4bf7-8647-ab636867b717_annotated_true_size_900_quality_90_da386cb4623eb82c058a3ec3712860910814b724.jpg",
"images/app.statdx.com_image_thumbnail_eee6936c-10fb-4e78-97f4-a8679336f965_annotated_true_size_900_quality_90_03a669512ff5a2e3f54c3318e29da1986bf2a91a.jpg"
],
"docs_md/articles/biliary-hamartoma_1b525344-ad66-4381-9ca9-3fb11172744f.md": [
"images/app.statdx.com_image_thumbnail_c41913b2-c14e-4bac-8cea-dd32007bbbc3_annotated_true_size_900_quality_90_3d9c2175a14fab83d599f0802f0b889a9ba84ad9.jpg",
"images/app.statdx.com_image_thumbnail_d5a118f4-0e63-4cde-bc5c-a99745513c69_annotated_true_size_900_quality_90_10490eb0671dd0ec8228863b1858990a43d21c18.jpg",
"images/app.statdx.com_image_thumbnail_afa6e21c-74a4-4252-bfd8-758626034b2b_annotated_true_size_900_quality_90_375d8ac07a7a437d5b90610411accb5b601c80de.jpg",
"images/app.statdx.com_image_thumbnail_4441cc5d-f4e0-45eb-8c63-3d96ae0feafa_annotated_true_size_900_quality_90_37585d5df01763ee76cbd0f216b13e28ae23710f.jpg",
"images/app.statdx.com_image_thumbnail_fc713aa1-5cb8-4e9c-9776-e38b4b85d135_annotated_true_size_900_quality_90_204a9a1d3d82769adb54aed5b4331583db2bda49.jpg",
"images/app.statdx.com_image_thumbnail_6c913961-9206-4cf6-8838-f3fe13fdf25b_annotated_true_size_900_quality_90_fe9d38c5495fd87f419711a03753688c019889f3.jpg",
"images/app.statdx.com_image_thumbnail_985e36d2-a250-4678-afe6-e048116cf0c8_annotated_true_size_900_quality_90_26f76a50a9ef0cd373e11509ca2454f14848bc68.jpg",
"images/app.statdx.com_image_thumbnail_a5ac41d6-adb5-41ef-b753-8a88d053b91d_annotated_true_size_900_quality_90_29c6768230fa97273c0279f421d58cfaf293a274.jpg"
],
"docs_md/articles/caroli-disease_acb4212f-766e-4766-bd10-1ebd525a467c.md": [
"images/app.statdx.com_image_thumbnail_7d831ca3-f68e-4091-be82-21f63b92dc26_annotated_true_size_900_quality_90_a2ea1be809602e9fdd2f7f03840c73748475e72d.jpg",
"images/app.statdx.com_image_thumbnail_5ae838bd-22ea-456b-935a-2a329101a2b0_annotated_true_size_900_quality_90_8719147ad21b0fa23bbe96dee1c54d8c4040acbd.jpg",
"images/app.statdx.com_image_thumbnail_af712f22-6fdf-4f51-b05f-9d5d992486eb_annotated_true_size_900_quality_90_8acd04cd9c28879ef203603d75a0a973d85653b0.jpg",
"images/app.statdx.com_image_thumbnail_ee6bb47c-39a2-49eb-aa16-14b67c9ce34e_annotated_true_size_900_quality_90_26add5905c6620bcdf409772e653f2a205fb2bdb.jpg",
"images/app.statdx.com_image_thumbnail_67dc4fc0-9338-4ee3-bc5f-0eb6dff13e78_annotated_true_size_900_quality_90_a654bf581b34edaaef9d1fcb935776a2a26c3ec0.jpg",
"images/app.statdx.com_image_thumbnail_5c24d544-5a60-40e5-bdb9-ff68ef257395_annotated_true_size_900_quality_90_ea48914f7ebe53727bea27bf2080a9fa653cb81c.jpg",
"images/app.statdx.com_image_thumbnail_d814831f-851e-41ff-91e3-71c7b579105c_annotated_true_size_900_quality_90_754913e9d57be0abe77e959f73e3a8da0fe2f4f1.jpg",
"images/app.statdx.com_image_thumbnail_c79cf199-0203-4fa3-bb8d-9127b9fd5fb6_annotated_true_size_900_quality_90_7962c11e6f4b2687e47e9b1bf7fad95219d2beaa.jpg",
"images/app.statdx.com_image_thumbnail_41069687-d0b7-45db-ac2d-7c9c24d3fe00_annotated_true_size_900_quality_90_c36bbc67487dff5f626237a097c5b5bb2feeeffe.jpg",
"images/app.statdx.com_image_thumbnail_994661d7-cc29-4749-9a46-5e601938a64c_annotated_true_size_900_quality_90_e361cf94fa974f29dfb5eaf61a9801d7be0e93fa.jpg",
"images/app.statdx.com_image_thumbnail_95de14a8-5114-40aa-ba1f-d6e9c259c297_annotated_true_size_900_quality_90_d0d0fcc7299620ff2599b87dbd99ceb052fe49b7.jpg",
"images/app.statdx.com_image_thumbnail_2b4a885e-8bb1-4f18-9fd0-2809b26c112b_annotated_true_size_900_quality_90_39663c57418b5b1d3ceef7a3956429cf3b03ff51.jpg",
"images/app.statdx.com_image_thumbnail_9279b3be-5b34-41f2-8ea8-9ad28b1dd927_annotated_true_size_900_quality_90_7b64e0ccb39bca0bd7a213d7cff43f978c882759.jpg",
"images/app.statdx.com_image_thumbnail_857535be-a5d5-436b-bf57-ee31e5b1b2a9_annotated_true_size_900_quality_90_819bbbe8d465a4c951581ea74d0b8eb5b0314994.jpg",
"images/app.statdx.com_image_thumbnail_cd67b410-d3a2-4d8a-acbd-f762563a1b38_annotated_true_size_900_quality_90_ea117ec66a04bc5f2917cfa82dbee92912c9fe55.jpg",
"images/app.statdx.com_image_thumbnail_9e2a8f67-13db-448c-b198-cf314a68baec_annotated_true_size_900_quality_90_0d3f9d6fb8882337451849f7ec7e9daf327f414f.jpg",
"images/app.statdx.com_image_thumbnail_21292ee8-22dc-44e2-a761-20a6c8fb69b7_annotated_true_size_900_quality_90_34e3489f94833f67d28962fdf59c6cb61f58934b.jpg",
"images/app.statdx.com_image_thumbnail_fd047f3d-9e97-49ff-ae44-58ec89e7d0ae_annotated_true_size_900_quality_90_44b5c2152c60753d41bb7b65827e033e52d823f2.jpg",
"images/app.statdx.com_image_thumbnail_a81b978e-5fd4-41eb-a56d-49786f716091_annotated_true_size_900_quality_90_9a3c3184b79d94633eb6c5e7a5298c30acad4903.jpg",
"images/app.statdx.com_image_thumbnail_ea8b6662-c286-4cad-823c-c953854eec0e_annotated_true_size_900_quality_90_206df05194d8ca39d81e8a0fa272c8df163abae8.jpg",
"images/app.statdx.com_image_thumbnail_4bee92af-215d-4d1b-828a-10db90ebd610_annotated_true_size_900_quality_90_8a5e4be549d4ab81306a5819006c7040cc256085.jpg",
"images/app.statdx.com_image_thumbnail_df840eba-3f8d-4789-a91d-99d64345c900_annotated_true_size_900_quality_90_62a23673ede2453ebf118e3c5675e587ce2fecc8.jpg",
"images/app.statdx.com_image_thumbnail_ba06a1e7-30ed-4065-bf3e-2aca7e6f037a_annotated_true_size_900_quality_90_98bd9165d10e0a5c72b84494df14b2fb2c416620.jpg",
"images/app.statdx.com_image_thumbnail_c8c750e9-efee-4938-82a1-42c05730ba86_annotated_true_size_900_quality_90_9650556270b81445ec5e3ed6dd76d5f67e01d99a.jpg",
"images/app.statdx.com_image_thumbnail_f2e7d2e2-4dd9-456c-8992-16b2ccbbb2e2_annotated_true_size_900_quality_90_884e0db36b5ccb2940b16cfa404b3b07da13ccd2.jpg",
"images/app.statdx.com_image_thumbnail_c6356113-e84a-4aa3-babc-4e144d0fa0b7_annotated_true_size_900_quality_90_289e65e8cfb54f91219322cef12e2ff34a51112c.jpg",
"images/app.statdx.com_image_thumbnail_7e3bde68-22bb-49a4-95c1-2229d2cfc253_annotated_true_size_900_quality_90_afab28a301744e533f28a4602f8992ee2e9effd5.jpg"
],
"docs_md/articles/mucinous-cystic-neoplasm-of-liver_0aea34ce-3322-4284-a6f3-6c79e3359520.md": [
"images/app.statdx.com_image_thumbnail_cc9cb336-de8e-4e8d-a74e-7fdd24ba7ba8_annotated_true_size_900_quality_90_661a4d977ab82e7376d0cc556ab3b3e7145ec4c0.jpg",
"images/app.statdx.com_image_thumbnail_790afad8-1730-43ee-a34c-1d718289d9bd_annotated_true_size_900_quality_90_6b7ea5bdd8d606702b0e2561bee5c95f1cb18742.jpg",
"images/app.statdx.com_image_thumbnail_d6424fbc-7333-4387-b3ef-37ee0c04a446_annotated_true_size_900_quality_90_e26a1750f4aaf5f96245591d6be66724cc039861.jpg",
"images/app.statdx.com_image_thumbnail_ef22d133-e018-4ef7-a91e-4888bfb0f955_annotated_true_size_900_quality_90_e4ccf73f1d7edd10cf898a27f5cd5d8e62ab3df7.jpg",
"images/app.statdx.com_image_thumbnail_fbf2c64d-08e4-4568-af69-311fb367307b_annotated_true_size_900_quality_90_7c9b915dc2a0551ab00d329b2c5a16a38be12b3f.jpg",
"images/app.statdx.com_image_thumbnail_676499fe-8c5c-4ffa-83a0-40ef3025888d_annotated_true_size_900_quality_90_216cf0616780e7421802a461af5d7aabbff28534.jpg",
"images/app.statdx.com_image_thumbnail_f619db96-9c2a-4cb6-a485-0eb1656ef4bd_annotated_true_size_900_quality_90_0f92434d2bd2b8af9a381910f9d0097ffa8b7d15.jpg",
"images/app.statdx.com_image_thumbnail_c2d75da5-707f-49d3-a6e0-7c8dc39a7ad5_annotated_true_size_900_quality_90_4344b234ab0ba29789098ed5af038c527805b99d.jpg",
"images/app.statdx.com_image_thumbnail_698dce23-05f1-4a21-b76d-fbbc9638cf74_annotated_true_size_900_quality_90_701bfa9a552e40295be21286d744f90212dac67d.jpg",
"images/app.statdx.com_image_thumbnail_9ad849e3-0fe6-492b-a445-eeadb5369376_annotated_true_size_900_quality_90_5b3e2932be1f87e5fee677e88b44906e0dba2e53.jpg",
"images/app.statdx.com_image_thumbnail_194fd502-d752-453a-a68b-4ed3fd46e7ac_annotated_true_size_900_quality_90_5278e20379898dcd612704b9bb9f79031b4bff40.jpg",
"images/app.statdx.com_image_thumbnail_d396de0d-05ce-466a-b165-f0ff7975d242_annotated_true_size_900_quality_90_62a311f1a74e29c7ec9c9bad7a082aa06a344c41.jpg",
"images/app.statdx.com_image_thumbnail_8e3c6090-3a97-477f-b22a-36545a9da33d_annotated_true_size_900_quality_90_a60ffc36f1932edb8126ead0066ad0734b9f28e6.jpg",
"images/app.statdx.com_image_thumbnail_e9caea69-dc55-4fa6-ba28-0cf736bb935f_annotated_true_size_900_quality_90_1eb5de6f5e9f507d162da94b14c03d6875a9a2cc.jpg",
"images/app.statdx.com_image_thumbnail_1227085d-c011-40c4-b57b-571e4f561798_annotated_true_size_900_quality_90_474358b6854f7acfcd0d24f40d354eb22afdd5db.jpg",
"images/app.statdx.com_image_thumbnail_01d58d5e-7d24-430c-ae90-079fab0eb861_annotated_true_size_900_quality_90_6b044f895cd32086c78755a7db47494eb01ad8fc.jpg",
"images/app.statdx.com_image_thumbnail_9c7de399-c84a-48a9-af8f-b32078be9712_annotated_true_size_900_quality_90_5b65899ecf25db3447aba524fd3679a3225de51f.jpg",
"images/app.statdx.com_image_thumbnail_20c9b294-0052-4156-b8d7-451d2d6c1f5d_annotated_true_size_900_quality_90_e8f6970c473484ff023fceee43c57be48e4c8308.jpg",
"images/app.statdx.com_image_thumbnail_1e8a231c-8258-4d1b-bc68-b2b79cc68842_annotated_true_size_900_quality_90_667c673b21d65d06809bb7e689eae58620a70ea0.jpg",
"images/app.statdx.com_image_thumbnail_69dfd8a4-7ab1-46e6-9630-779a3325066f_annotated_true_size_900_quality_90_a86dec71807ba4acfd02ce135844b3aba765aaf0.jpg",
"images/app.statdx.com_image_thumbnail_fb4a861b-b3ee-4542-ad41-b32e1ea04464_annotated_true_size_900_quality_90_680816afa895dfa045a168e8c827020e71b7ec81.jpg",
"images/app.statdx.com_image_thumbnail_12516cdd-8c26-4911-bdf6-048dc444870e_annotated_true_size_900_quality_90_b76c90e750f249d72f584b4eeb0b87cd2f98e3c3.jpg",
"images/app.statdx.com_image_thumbnail_431af6c7-a6a4-42c7-8563-ed7ccc8acc8a_annotated_true_size_900_quality_90_a5d9961e308af7d422aa42b3e821d21909adb59d.jpg",
"images/app.statdx.com_image_thumbnail_f01d8b4f-ff0a-4886-baf9-112831588132_annotated_true_size_900_quality_90_fc08c7c6a0ceb9acc0f2695d042fd521755d8b18.jpg"
]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,252 @@
---
title: "Dysmorphic Liver With Abnormal Bile Ducts"
docid: "1cb8d652-5e83-4ee2-a762-bab56e2d107b"
authors:
- key: "6c5a9e0e-9dea-461b-9ad4-c00f5c4c2bbf"
value: "Atif Zaheer, MD, FSAR"
- key: "e987d3d3-1206-48d6-824b-3347c2968855"
value: "Michael P. Federle, MD, FACR"
breadcrumbs:
-
name: "Gastrointestinal"
slug: "gastrointestinal"
treeNodeId: "992c2a4d-e0c4-4b82-be00-a05f5f19e3be"
-
name: "Differential Diagnosis"
slug: "differential-diagnosis"
treeNodeId: "b2773887-e8a2-40b6-86b5-3bd2e3ba7c30"
-
name: "Liver"
slug: "liver"
treeNodeId: "c1682329-7d88-44f2-bd0f-bccf589e5631"
-
name: "Generic Imaging Patterns"
slug: "generic-imaging-patterns"
treeNodeId: "4f8b9a53-d6d2-4981-ab07-978042118376"
-
name: "Dysmorphic Liver With Abnormal Bile Ducts"
slug: "dysmorphic-liver-with-abnormal-bil-"
treeNodeId: null
category: "Gastrointestinal"
documentVersionId: "89e10f55-f932-426e-872d-f53c6c08001b"
imageCount: 24
lastUpdated: "07/14/22"
pageDescription: "Dysmorphic Liver With Abnormal Bile Ducts"
pageKeywords: "Gastrointestinal, Differential Diagnosis, Liver, Generic Imaging Patterns, Dysmorphic Liver With Abnormal Bile Ducts"
pageTitle: "Dysmorphic Liver With Abnormal Bile Ducts | STATdx"
enhancedTitle: "Dysmorphic Liver With Abnormal Bile Ducts"
type: "DDX"
breadcrumbs:
- "Gastrointestinal"
- "Differential Diagnosis"
- "Liver"
- "Generic Imaging Patterns"
- "Dysmorphic Liver With Abnormal Bile Ducts"
---
## ESSENTIAL INFORMATION
- ### Key Differential Diagnosis Issues
- Dysmorphic liver refers to distortion and scarring of parenchyma
- May result from inflammation, infection, ischemia, or tumor
- Or effects of treatment for these conditions
- Distinguish among dilated ducts, periportal edema, and thrombosed portal or hepatic veins
- Appearance will vary by modality
- US: Dilated hepatic artery in cirrhosis may simulate dilated ducts
- Color Doppler can resolve this issue
- CT or MR: Periportal edema may simulate dilated ducts
- Edema usually found surrounding vessels; bile duct lies on only one side
- CECT: Unopacified veins may simulate ducts
- Vessels > water attenuation
- Cholangiography: Intrahepatic ducts may be distorted by masses or regenerating nodules, simulating cholangitis
- ### Helpful Clues for Common Diagnoses
- **Primary Sclerosing Cholangitis**
- Often results in chronic liver damage
- In patients with primary sclerosing cholangitis (PSC)-induced end-stage cirrhosis, liver is markedly deformed (to much greater extent than with other common causes of cirrhosis)
- Lobular contour of liver with preferential scarring of periphery
- Sparing and hypertrophy of caudate and deep right lobe
- Sometimes to degree simulating central neoplastic mass (pseudotumoral enlargement of caudate)
- Intrahepatic bile ducts show varying degrees of stricture and dilation with abnormal arborization (branching pattern)
- Multifocal "beaded" strictures of intra- and extrahepatic ducts with intervening sites of dilated and normal ducts
- Pruned appearance of biliary tree develops as disease progresses with obliteration of small peripheral ducts
- Visualization of greater than expected number of peripheral ducts on MRCP is clue to presence of peripheral intrahepatic ductal strictures
- **Cirrhosis (Mimic)**
- Rarely causes ductal dilation
- But may cause pathologic processes that simulate dilated ducts
- Regenerating nodules may compress and distort intrahepatic ducts
- **Peribiliary cysts** are dilated peribiliary glands; may simulate dilated ducts ± small cystic masses in portal triads
- Periportal edema may simulate ducts
- **Portal Vein Thrombophlebitis (Mimic)**
- Thrombosed portal vein branches may simulate dilated ducts on CECT or MR
- Primary thrombosis of portal vein (hypercoagulable states)
- Produces characteristic distortion of liver that simulates cirrhosis
- May result from subacute diverticulitis or appendicitis
- Thrombosed portal veins may simulate dilated ducts
- Liver may be damaged from infection or ischemia
- Pyogenic abscesses, liver infarction, volume loss, etc.
- **Cholangiocarcinoma,****Intrahepatic or Hilar**
- Arising from confluence (Klatskin) or branch ducts (intrahepatic)
- Ducts are dilated upstream from tumor
- Liver parenchyma shows volume loss ± visualization of tumor
- ### Helpful Clues for Less Common Diagnoses
- **Budd-Chiari Syndrome**
- Peripheral biliary ducts may get distorted and dilated due to central hepatic hypertrophy
- Thrombosed hepatic veins may simulate dilated ducts but are more central
- Liver is distorted with peripheral > central volume loss, scarring, hepatocellular necrosis and steatosis
- Flip-flop enhancement: Early enhancement of central liver around IVC, decreased peripheral enhancement. Later decreased enhancement centrally with increased enhancement peripherally
- **Primary Biliary Cholangitis**
- Irregular and "pruned" ducts leading to vanishing bile duct syndrome as disease progresses
- Lace-like fibrosis, prominent lymphadenopathy, and hepatomegaly (early) along with positive antimitochondrial antibody test
- **Chemotherapy Cholangitis**
- Intraarterial chemotherapy used for primary hepatocellular carcinoma or metastases
- Liver distortion due to tumors and parenchymal scarring
- Ducts are damaged and strictured with appearance like primary sclerosing cholangitis
- **Ascending Cholangitis**
- May lead to duct strictures; rarely to chronic liver injury
- More common are hepatic abscesses
- **AIDS Cholangiopathy**
- Liver may be distorted by infection &/or tumor
- Papillary stenosis with proximal common bile duct (CBD) dilation, strictures/ulcerations of CBD, and intrahepatic strictures: Unique to AIDS cholangiopathy
- **Fibropolycystic Liver Diseases**
- Encompasses spectrum of related lesions of liver and biliary tract caused by abnormal embryologic development of ductal plates
- Lesions may occur in isolation or in any combination; may be clinically silent
- Or, may cause cholangitis, portal hypertension, GI bleeding, infection, etc.
- Liver may be distorted by congenital fibrosis (simulates cirrhosis) or by scarring (especially with Caroli disease)
- Bile ducts may be primary site of pathology (e.g., Caroli disease), coexist with primary parenchymal disease (e.g., fibrosis), or be distorted by extrinsic mass effect
- **Congenital hepatic fibrosis**
- Dysmorphic liver, portal hypertension
- Enlarged and possibly supernumerary hepatic arteries
- **Caroli disease**
- Dilatation (usually saccular) of large intrahepatic ducts with alternating biliary strictures
- Liver often progressively damaged by cholangitis, obstruction
- **Choledochal cyst**
- Fusiform or cystic dilation of intrahepatic ± extrahepatic bile duct
- **Biliary hamartomas**
- Multiple "cysts" of nearly uniform size, up to 15 mm; no biliary connection
- Mimic cysts on CT and MR but are often echogenic on US
- Liver and bile ducts are normal unless coexisting disease, such as Caroli or congenital fibrosis
- **Autosomal dominant polycystic disease, liver**
- Distorts liver with innumerable cysts
- Bile ducts intrinsically normal but may have extrinsic compression by cysts
- **Recurrent Pyogenic Cholangitis**
- Usually in Asian, poorly nourished populations
- Liver distorted by chronic infection and biliary obstruction (abscesses, cirrhosis)
- Bile ducts enormously dilated by pus and stones
- **Hepatic Hydatid Disease**
- Cysts may distort liver
- Cysts may communicate with ducts, leading to cholangitis
## Images
### Selected Images
![Axial CECT shows a small liver with deep scars and lobular contour, typical of cirrhosis due to primary sclerosing cholangitis (PSC). Note the irregular dilation of intrahepatic ducts <img src='img/arrows/WS.png' alt='white solid arrow'/> and esophageal varices <img src='img/arrows/WC.png' alt='white curved arrow'/>.](images/app.statdx.com_image_thumbnail_d766f164-02d8-472a-a350-bcd8c24e52ca_annotated_true_size_900_quality_90_fdb46f4eb015815ad11ef3343ae64eb821184d41.jpg)
**Primary Sclerosing Cholangitis**
*Axial CECT shows a small liver with deep scars and lobular contour, typical of cirrhosis due to primary sclerosing cholangitis (PSC). Note the irregular dilation of intrahepatic ducts <img src='img/arrows/WS.png' alt='white solid arrow'/> and esophageal varices <img src='img/arrows/WC.png' alt='white curved arrow'/>.*
![Axial CECT shows a small liver with deep scars and lobular contour, typical of cirrhosis due to primary sclerosing cholangitis (PSC). Note the irregular dilation of intrahepatic ducts <img src='img/arrows/WS.png' alt='white solid arrow'/> and esophageal varices <img src='img/arrows/WC.png' alt='white curved arrow'/>.](images/app.statdx.com_image_thumbnail_d766f164-02d8-472a-a350-bcd8c24e52ca_size_174_quality_85_791db07441b8b68396988de38fda306d546aa351.jpg)
**Primary Sclerosing Cholangitis**
*Axial CECT shows a small liver with deep scars and lobular contour, typical of cirrhosis due to primary sclerosing cholangitis (PSC). Note the irregular dilation of intrahepatic ducts <img src='img/arrows/WS.png' alt='white solid arrow'/> and esophageal varices <img src='img/arrows/WC.png' alt='white curved arrow'/>.*
![ERCP shows segmental strictures <img src='img/arrows/WS.png' alt='white solid arrow'/> and &quot;diverticula&quot; <img src='img/arrows/WO.png' alt='white open arrow'/> involving the intra- and extrahepatic bile ducts, resulting in a beaded appearance of the ducts.](images/app.statdx.com_image_thumbnail_3ad9fe34-fe40-424b-a866-bf119ee29ad3_annotated_true_size_900_quality_90_fd0d0e100ffc4d6a63d07f6f39e6483cdd3f1fe5.jpg)
**Primary Sclerosing Cholangitis**
*ERCP shows segmental strictures <img src='img/arrows/WS.png' alt='white solid arrow'/> and &quot;diverticula&quot; <img src='img/arrows/WO.png' alt='white open arrow'/> involving the intra- and extrahepatic bile ducts, resulting in a beaded appearance of the ducts.*
![Coronal MRCP MIP in a 37-year-old man with PSC shows extensive intrahepatic strictures with alternating sites of narrowing and ductal dilatation.](images/app.statdx.com_image_thumbnail_31491aa4-f86d-4f27-bda0-ad7c85d2a1d8_annotated_true_size_900_quality_90_a305c20bfb49eb1030d23df76a701085d77159ee.jpg)
**Primary Sclerosing Cholangitis**
*Coronal MRCP MIP in a 37-year-old man with PSC shows extensive intrahepatic strictures with alternating sites of narrowing and ductal dilatation.*
![Axial CECT in a 47-year-old woman with autoimmune hepatitis shows evidence of periportal edema <img src='img/arrows/WC.png' alt='white curved arrow'/> that might be mistaken for dilated bile ducts, except that the lucent band extends completely around the portal vein branches.](images/app.statdx.com_image_thumbnail_a43b3b1e-2be8-4c3e-ac4f-01a48173a4f6_annotated_true_size_900_quality_90_7da62b24f871b3ec51e4eeb839f30b01729848e4.jpg)
**Hepatitis**
*Axial CECT in a 47-year-old woman with autoimmune hepatitis shows evidence of periportal edema <img src='img/arrows/WC.png' alt='white curved arrow'/> that might be mistaken for dilated bile ducts, except that the lucent band extends completely around the portal vein branches.*
![Axial CECT in a patient with advanced cirrhosis and ascites shows saccular and spherical cystic lesions <img src='img/arrows/WS.png' alt='white solid arrow'/> (peribiliary cysts) paralleling the portal triads.](4a639482-f865-47c2-b564-0da8d9c1cf6f)
**Peribiliary Cysts**
*Axial CECT in a patient with advanced cirrhosis and ascites shows saccular and spherical cystic lesions <img src='img/arrows/WS.png' alt='white solid arrow'/> (peribiliary cysts) paralleling the portal triads.*
![Axial CECT shows cirrhotic morphology of the liver with reduced size, wide fissures, and ascites noted. The portal vein branches <img src='img/arrows/BC.png' alt='black curved arrow'/> are surrounded by a collar of low density, some of which probably represents periportal edema; however, there are also discrete, low-density focal lesions <img src='img/arrows/WS.png' alt='white solid arrow'/> that represent periportal cysts within the bile duct walls.](ca73077c-da84-4a0c-9840-3686b0542b5b)
**Peribiliary Cysts**
*Axial CECT shows cirrhotic morphology of the liver with reduced size, wide fissures, and ascites noted. The portal vein branches <img src='img/arrows/BC.png' alt='black curved arrow'/> are surrounded by a collar of low density, some of which probably represents periportal edema; however, there are also discrete, low-density focal lesions <img src='img/arrows/WS.png' alt='white solid arrow'/> that represent periportal cysts within the bile duct walls.*
![Axial arterial-phase CECT shows hyperperfusion of the anterior right lobe of the liver <img src='img/arrows/BS.png' alt='black solid arrow'/> due to thrombosis of the anterior branch of the right portal vein. The thrombosed intrahepatic branches <img src='img/arrows/WS.png' alt='white solid arrow'/> might be mistaken for dilated bile ducts.](dee4b3d4-0575-47f5-b513-c75bafe30b48)
**Portal Vein Thrombophlebitis (Mimic)**
*Axial arterial-phase CECT shows hyperperfusion of the anterior right lobe of the liver <img src='img/arrows/BS.png' alt='black solid arrow'/> due to thrombosis of the anterior branch of the right portal vein. The thrombosed intrahepatic branches <img src='img/arrows/WS.png' alt='white solid arrow'/> might be mistaken for dilated bile ducts.*
![Axial CECT in a patient with transient hepatic attenuation difference (THAD) <img src='img/arrows/BS.png' alt='black solid arrow'/> due to thrombosis of the anterior right portal vein shows the increased size of the right hepatic artery <img src='img/arrows/BC.png' alt='black curved arrow'/> that is compensating for the decreased flow through the portal vein.](a06f695b-3062-4676-8c4e-3385914e3a2d)
**Portal Vein Thrombophlebitis (Mimic)**
*Axial CECT in a patient with transient hepatic attenuation difference (THAD) <img src='img/arrows/BS.png' alt='black solid arrow'/> due to thrombosis of the anterior right portal vein shows the increased size of the right hepatic artery <img src='img/arrows/BC.png' alt='black curved arrow'/> that is compensating for the decreased flow through the portal vein.*
![Axial CECT shows a heterogeneous left lobe mass <img src='img/arrows/WO.png' alt='white open arrow'/> that obstructs intrahepatic ducts <img src='img/arrows/BC.png' alt='black curved arrow'/> and causes volume loss of the left lobe. This was a multifocal cholangiocarcinoma.](869b6e52-9da0-48b6-9f72-b5b7491b9ec1)
**Cholangiocarcinoma, Intrahepatic or Hilar**
*Axial CECT shows a heterogeneous left lobe mass <img src='img/arrows/WO.png' alt='white open arrow'/> that obstructs intrahepatic ducts <img src='img/arrows/BC.png' alt='black curved arrow'/> and causes volume loss of the left lobe. This was a multifocal cholangiocarcinoma.*
![Axial CECT shows thrombosed hepatic veins <img src='img/arrows/WS.png' alt='white solid arrow'/> simulating dilated ducts. Ascites, peripheral hepatic damage, and central hypertrophy are typical findings of Budd-Chiari.](30ed99f7-06c4-4677-98ac-7c378ec01835)
**Budd-Chiari Syndrome**
*Axial CECT shows thrombosed hepatic veins <img src='img/arrows/WS.png' alt='white solid arrow'/> simulating dilated ducts. Ascites, peripheral hepatic damage, and central hypertrophy are typical findings of Budd-Chiari.*
![Dilatation of the biliary tree in the periphery of the liver <img src='img/arrows/WS.png' alt='white solid arrow'/> is due to caudate lobe hypertrophy <img src='img/arrows/WO.png' alt='white open arrow'/> and resulting narrowing of the biliary tree in the central liver as well as peripheral volume loss.](f9aaa499-6561-4980-b492-983b41d44028)
**Budd-Chiari Syndrome**
*Dilatation of the biliary tree in the periphery of the liver <img src='img/arrows/WS.png' alt='white solid arrow'/> is due to caudate lobe hypertrophy <img src='img/arrows/WO.png' alt='white open arrow'/> and resulting narrowing of the biliary tree in the central liver as well as peripheral volume loss.*
![Coronal MRCP in a 58-year-old woman with primary biliary cholangitis shows signs of advanced disease with decreased visualization of the peripheral intrahepatic ducts (vanishing bile duct syndrome).](988ecd57-5acd-4d87-b989-68beed3c71f0)
**Primary Biliary Cholangitis**
*Coronal MRCP in a 58-year-old woman with primary biliary cholangitis shows signs of advanced disease with decreased visualization of the peripheral intrahepatic ducts (vanishing bile duct syndrome).*
![Axial CECT shows a dysmorphic liver with irregular dilation of intrahepatic ducts <img src='img/arrows/WC.png' alt='white curved arrow'/>. On lower sections, hepatic arteries were enlarged, and small, cystic kidneys were noted. All findings were related to fibropolycystic disease of the liver and kidneys, including congenital hepatic fibrosis.](d51fdce8-95d5-4fe9-8143-b912804cc817)
**Fibropolycystic Liver Diseases**
*Axial CECT shows a dysmorphic liver with irregular dilation of intrahepatic ducts <img src='img/arrows/WC.png' alt='white curved arrow'/>. On lower sections, hepatic arteries were enlarged, and small, cystic kidneys were noted. All findings were related to fibropolycystic disease of the liver and kidneys, including congenital hepatic fibrosis.*
![Axial T2 MR shows cystic and irregular cylindrical dilation of intrahepatic bile ducts, characteristic of Caroli disease. Progressive liver failure resulted in transplantation.](82239319-47cb-414b-b30a-4d1befc78dc2)
**Caroli Disease**
*Axial T2 MR shows cystic and irregular cylindrical dilation of intrahepatic bile ducts, characteristic of Caroli disease. Progressive liver failure resulted in transplantation.*
![Axial CECT shows dilated ducts <img src='img/arrows/WS.png' alt='white solid arrow'/> with a large pigment calculus <img src='img/arrows/CS.png' alt='cyan solid arrow'/> and a small liver abscess <img src='img/arrows/WC.png' alt='white curved arrow'/>.](34a11b66-8998-4746-9d5a-8eeb9ceeb6c3)
**Recurrent Pyogenic Cholangitis**
*Axial CECT shows dilated ducts <img src='img/arrows/WS.png' alt='white solid arrow'/> with a large pigment calculus <img src='img/arrows/CS.png' alt='cyan solid arrow'/> and a small liver abscess <img src='img/arrows/WC.png' alt='white curved arrow'/>.*
![Coronal CECT shows 2 large, cystic masses <img src='img/arrows/WS.png' alt='white solid arrow'/> with daughter cysts and a densely calcified cyst <img src='img/arrows/BS.png' alt='black solid arrow'/>. Bile ducts <img src='img/arrows/BC.png' alt='black curved arrow'/> are dilated due to communication of one of the cysts with the ducts.](f4a7d1a7-ddcc-4649-a041-3f3511a786f4)
**Hepatic Hydatid Disease**
*Coronal CECT shows 2 large, cystic masses <img src='img/arrows/WS.png' alt='white solid arrow'/> with daughter cysts and a densely calcified cyst <img src='img/arrows/BS.png' alt='black solid arrow'/>. Bile ducts <img src='img/arrows/BC.png' alt='black curved arrow'/> are dilated due to communication of one of the cysts with the ducts.*
### Additional Images
![Axial CECT shows a cirrhotic liver with ascites and splenomegaly. Intrahepatic ducts are irregularly dilated <img src='img/arrows/BS.png' alt='black solid arrow'/> in this case of mixed PSC and autoimmune hepatitis.](images/app.statdx.com_image_thumbnail_a547b3a2-05fe-4f9c-a969-2eab192f0a90_annotated_true_size_900_quality_90_a3e37f5a0e1e81d0ecdcd0e227819de1c5d01ab6.jpg)
**Cirrhosis (Mimic)**
*Axial CECT shows a cirrhotic liver with ascites and splenomegaly. Intrahepatic ducts are irregularly dilated <img src='img/arrows/BS.png' alt='black solid arrow'/> in this case of mixed PSC and autoimmune hepatitis.*
![Axial CECT shows surgical absence of the lateral segment (resected metastasis) and a dilated bile duct <img src='img/arrows/WO.png' alt='white open arrow'/> following intraarterial chemotherapy.](260d1c0d-8fca-4991-8c02-60c8c66538da)
**Chemotherapy Cholangitis**
*Axial CECT shows surgical absence of the lateral segment (resected metastasis) and a dilated bile duct <img src='img/arrows/WO.png' alt='white open arrow'/> following intraarterial chemotherapy.*
![Transhepatic cholangiogram shows irregular strictures <img src='img/arrows/WS.png' alt='white solid arrow'/> of the common hepatic and intrahepatic ducts as a result of intraarterial <img src='img/arrows/WC.png' alt='white curved arrow'/> chemotherapy for liver metastases.](3e8d5445-6cc8-46e6-b9c3-fbf4ce856ea6)
**Chemotherapy Cholangitis**
*Transhepatic cholangiogram shows irregular strictures <img src='img/arrows/WS.png' alt='white solid arrow'/> of the common hepatic and intrahepatic ducts as a result of intraarterial <img src='img/arrows/WC.png' alt='white curved arrow'/> chemotherapy for liver metastases.*
![Axial CECT in a patient with Caroli disease and congenital hepatic fibrosis shows dysmorphic liver and classic cystic dilation of intrahepatic ducts with central dot sign.](c1f7dc9a-9298-443b-8572-02e3143f8e94)
**Caroli Disease**
*Axial CECT in a patient with Caroli disease and congenital hepatic fibrosis shows dysmorphic liver and classic cystic dilation of intrahepatic ducts with central dot sign.*
![Axial T2 MR shows gross dilation of the intrahepatic bile ducts <img src='img/arrows/WS.png' alt='white solid arrow'/>. There is no large mass <img src='img/arrows/WC.png' alt='white curved arrow'/> evident at the site of obstruction, typical of a hilar (Klatskin) tumor.](427ac9f4-67c4-4962-9565-038f3721adcf)
**Cholangiocarcinoma, Intrahepatic or Hilar**
*Axial T2 MR shows gross dilation of the intrahepatic bile ducts <img src='img/arrows/WS.png' alt='white solid arrow'/>. There is no large mass <img src='img/arrows/WC.png' alt='white curved arrow'/> evident at the site of obstruction, typical of a hilar (Klatskin) tumor.*
![Transverse US shows sonolucent saccular and spherical cystic lesions paralleling the portal triads, representing peribiliary cysts in this patient with cirrhosis and ascites.](images/app.statdx.com_image_thumbnail_1e7bb394-59ec-4bf7-8647-ab636867b717_annotated_true_size_900_quality_90_da386cb4623eb82c058a3ec3712860910814b724.jpg)
**Peribiliary Cysts**
*Transverse US shows sonolucent saccular and spherical cystic lesions paralleling the portal triads, representing peribiliary cysts in this patient with cirrhosis and ascites.*
![Axial CECT shows a mottled, distorted liver due to acute and chronic hepatitis. Periportal edema <img src='img/arrows/WS.png' alt='white solid arrow'/> might be mistaken for dilated ducts.](images/app.statdx.com_image_thumbnail_eee6936c-10fb-4e78-97f4-a8679336f965_annotated_true_size_900_quality_90_03a669512ff5a2e3f54c3318e29da1986bf2a91a.jpg)
**Hepatitis**
*Axial CECT shows a mottled, distorted liver due to acute and chronic hepatitis. Periportal edema <img src='img/arrows/WS.png' alt='white solid arrow'/> might be mistaken for dilated ducts.*
![Axial CECT shows necrotic metastases <img src='img/arrows/BS.png' alt='black solid arrow'/> (from colon cancer) and mild dilation of the bile ducts <img src='img/arrows/BC.png' alt='black curved arrow'/>, a result of intraarterial chemotherapy.](d731a748-6bba-47fb-924b-6aa5f2bc48a6)
**Chemotherapy Cholangitis**
*Axial CECT shows necrotic metastases <img src='img/arrows/BS.png' alt='black solid arrow'/> (from colon cancer) and mild dilation of the bile ducts <img src='img/arrows/BC.png' alt='black curved arrow'/>, a result of intraarterial chemotherapy.*
File diff suppressed because one or more lines are too long
+249 -19
View File
@@ -76,7 +76,7 @@
"docid": "c8256fa3-0694-412c-bd0f-8869f336ad90"
},
{
"title": "Cystic or Necrotic Metastases",
"title": "Hepatic Metastases and Lymphoma",
"docid": "248db898-197a-4555-a14d-eef5ca2f8967"
},
{
@@ -84,7 +84,7 @@
"docid": "0aea34ce-3322-4284-a6f3-6c79e3359520"
},
{
"title": "Biliary Hamartomas",
"title": "Biliary Hamartoma",
"docid": "1b525344-ad66-4381-9ca9-3fb11172744f"
},
{
@@ -104,7 +104,7 @@
"docid": "2bbda180-2b69-44fa-bd95-393c1531056d"
},
{
"title": "Differential Diagnosis",
"title": "Cystic Hepatic Mass",
"docid": "85bb9a0b-2d25-457d-a131-20ff07cb552b"
},
{
@@ -112,11 +112,11 @@
"docid": "c18aa6ea-d21c-4e66-af83-4d4b168dc014"
},
{
"title": "Differential Diagnosis",
"title": "Focal Liver Lesion With Hemorrhage",
"docid": "5e6be44f-07d3-4569-abe3-798d7513fe41"
},
{
"title": "Differential Diagnosis",
"title": "Multiple Hypodense Liver Lesions",
"docid": "5178ae9c-1ea9-4e06-9e8a-91e98d8708f6"
},
{
@@ -171,11 +171,11 @@
"exists": true,
"links": [
{
"title": "Anatomy Document",
"title": "Liver",
"docid": "e4fdb09c-d20f-407d-b563-499124541261"
},
{
"title": "Anatomy Document",
"title": "Liver",
"docid": "236fb145-0c29-4362-be57-06401bf337aa"
}
]
@@ -184,7 +184,7 @@
"exists": true,
"links": [
{
"title": "Multiple Hepatic Cysts",
"title": "Hepatic Cyst",
"docid": "e525e5da-75e8-432c-b398-cb3d18e97771"
},
{
@@ -200,7 +200,7 @@
"docid": "c0b88320-bb06-4495-9830-70ea36e6cd9c"
},
{
"title": "Differential Diagnosis",
"title": "Cystic Hepatic Mass",
"docid": "85bb9a0b-2d25-457d-a131-20ff07cb552b"
},
{
@@ -224,7 +224,7 @@
"docid": "6b7939de-9506-4ee2-944d-65766e04e5cf"
},
{
"title": "Differential Diagnosis",
"title": "Focal Liver Lesion With Hemorrhage",
"docid": "5e6be44f-07d3-4569-abe3-798d7513fe41"
},
{
@@ -252,7 +252,7 @@
"docid": "5a0f58f1-beb9-459d-8246-83d6ddaf76db"
},
{
"title": "Differential Diagnosis",
"title": "Multiple Hypodense Liver Lesions",
"docid": "5178ae9c-1ea9-4e06-9e8a-91e98d8708f6"
},
{
@@ -344,6 +344,236 @@
},
"is_cached": true
},
{
"path": "docs_md/articles/caroli-disease_acb4212f-766e-4766-bd10-1ebd525a467c.md",
"title": "Caroli Disease",
"docid": "acb4212f-766e-4766-bd10-1ebd525a467c",
"breadcrumbs": [
"Gastrointestinal",
"Diagnosis",
"Biliary System",
"Congenital",
"Caroli Disease"
],
"authors": [
{
"key": "c1df94ab-4a9f-44c4-add7-1f174fb9ac45",
"value": "Siva P. Raman, MD"
}
],
"pageKeywords": "Gastrointestinal, Diagnosis, Biliary System, Congenital, Caroli Disease",
"reasons": [
"Content"
],
"snippet": "...T2-hyperintense, nonenhancing cysts variably distributed in liver - Communication with biliary tree well visualized on MRCP - Cent...",
"linked_info": {
"anatomy": {
"exists": true,
"links": [
{
"title": "Anatomy Document",
"docid": "6e9770b0-1f7b-4388-99ff-72e0014d0719"
},
{
"title": "Anatomy Document",
"docid": "e8a24564-9b11-46ee-88e6-cadab2d422f2"
}
]
},
"differential": {
"exists": true,
"links": [
{
"title": "Autosomal Dominant Polycystic Liver Disease",
"docid": "c8256fa3-0694-412c-bd0f-8869f336ad90"
},
{
"title": "Biliary Hamartoma",
"docid": "1b525344-ad66-4381-9ca9-3fb11172744f"
},
{
"title": "Primary Sclerosing Cholangitis",
"docid": "7134d978-f567-4a1d-bfc8-75eb8816edd5"
},
{
"title": "Ascending Cholangitis",
"docid": "80ef96f3-87e6-43c2-a459-198cbeb427e3"
},
{
"title": "Recurrent Pyogenic Cholangitis",
"docid": "13f0134f-3495-48e3-8660-cdfb05c0a177"
},
{
"title": "Cystic Hepatic Mass",
"docid": "85bb9a0b-2d25-457d-a131-20ff07cb552b"
},
{
"title": "Differential Diagnosis",
"docid": "c18aa6ea-d21c-4e66-af83-4d4b168dc014"
},
{
"title": "Dysmorphic Liver With Abnormal Bile Ducts",
"docid": "1cb8d652-5e83-4ee2-a762-bab56e2d107b"
},
{
"title": "Differential Diagnosis",
"docid": "5a0f58f1-beb9-459d-8246-83d6ddaf76db"
},
{
"title": "Multiple Hypodense Liver Lesions",
"docid": "5178ae9c-1ea9-4e06-9e8a-91e98d8708f6"
},
{
"title": "Biliary Strictures, Multiple",
"docid": "7d85bca2-14b8-4a55-8ba4-ded2672122d6"
},
{
"title": "Differential Diagnosis",
"docid": "8e572b8d-2fac-4ae9-9781-2cf9398a208f"
},
{
"title": "Differential Diagnosis",
"docid": "a8bc808b-8270-46c1-beb4-9c380238e211"
}
]
}
},
"is_cached": true
},
{
"path": "docs_md/articles/dysmorphic-liver-with-abnormal-bile-ducts_1cb8d652-5e83-4ee2-a762-bab56e2d107b.md",
"title": "Dysmorphic Liver With Abnormal Bile Ducts",
"docid": "1cb8d652-5e83-4ee2-a762-bab56e2d107b",
"breadcrumbs": [
"Gastrointestinal",
"Differential Diagnosis",
"Liver",
"Generic Imaging Patterns",
"Dysmorphic Liver With Abnormal Bile Ducts"
],
"authors": [
{
"key": "6c5a9e0e-9dea-461b-9ad4-c00f5c4c2bbf",
"value": "Atif Zaheer, MD, FSAR"
},
{
"key": "e987d3d3-1206-48d6-824b-3347c2968855",
"value": "Michael P. Federle, MD, FACR"
}
],
"pageKeywords": "Gastrointestinal, Differential Diagnosis, Liver, Generic Imaging Patterns, Dysmorphic Liver With Abnormal Bile Ducts",
"reasons": [
"Content"
],
"snippet": "...## Key Differential Diagnosis Issues - Dysmorphic liver refers to distortion and scarring of parenchyma - May result from inflamma...",
"linked_info": {
"anatomy": {
"exists": false,
"links": []
},
"differential": {
"exists": false,
"links": []
}
},
"is_cached": true
},
{
"path": "docs_md/articles/biliary-hamartoma_1b525344-ad66-4381-9ca9-3fb11172744f.md",
"title": "Biliary Hamartoma",
"docid": "1b525344-ad66-4381-9ca9-3fb11172744f",
"breadcrumbs": [
"Gastrointestinal",
"Diagnosis",
"Liver",
"Benign Neoplasms and Tumor-Like Conditions",
"Biliary Hamartoma"
],
"authors": [
{
"key": "6c5a9e0e-9dea-461b-9ad4-c00f5c4c2bbf",
"value": "Atif Zaheer, MD, FSAR"
},
{
"key": "e987d3d3-1206-48d6-824b-3347c2968855",
"value": "Michael P. Federle, MD, FACR"
}
],
"pageKeywords": "Gastrointestinal, Diagnosis, Liver, Benign Neoplasms and Tumor-Like Conditions, Biliary Hamartoma",
"reasons": [
"Content"
],
"snippet": "...cal concern - Considered part of spectrum of fibropolycystic disease of liver and kidneys - ### Imaging - Multiple near water-dens...",
"linked_info": {
"anatomy": {
"exists": true,
"links": [
{
"title": "Liver",
"docid": "e4fdb09c-d20f-407d-b563-499124541261"
},
{
"title": "Liver",
"docid": "236fb145-0c29-4362-be57-06401bf337aa"
}
]
},
"differential": {
"exists": true,
"links": [
{
"title": "Autosomal Dominant Polycystic Liver Disease",
"docid": "c8256fa3-0694-412c-bd0f-8869f336ad90"
},
{
"title": "Hepatic Cyst",
"docid": "e525e5da-75e8-432c-b398-cb3d18e97771"
},
{
"title": "Caroli Disease",
"docid": "acb4212f-766e-4766-bd10-1ebd525a467c"
},
{
"title": "Hepatic Metastases and Lymphoma",
"docid": "248db898-197a-4555-a14d-eef5ca2f8967"
},
{
"title": "Cystic Hepatic Mass",
"docid": "85bb9a0b-2d25-457d-a131-20ff07cb552b"
},
{
"title": "Differential Diagnosis",
"docid": "c18aa6ea-d21c-4e66-af83-4d4b168dc014"
},
{
"title": "Differential Diagnosis",
"docid": "59f30739-548e-4501-96dc-57e48a5386cb"
},
{
"title": "Dysmorphic Liver With Abnormal Bile Ducts",
"docid": "1cb8d652-5e83-4ee2-a762-bab56e2d107b"
},
{
"title": "Differential Diagnosis",
"docid": "caf98eea-48d6-4a0f-a747-1c162f945fed"
},
{
"title": "Differential Diagnosis",
"docid": "6b7939de-9506-4ee2-944d-65766e04e5cf"
},
{
"title": "Differential Diagnosis",
"docid": "b93336e2-9006-4f95-92c1-10276069dcc0"
},
{
"title": "Multiple Hypodense Liver Lesions",
"docid": "5178ae9c-1ea9-4e06-9e8a-91e98d8708f6"
}
]
}
},
"is_cached": true
},
{
"path": "docs_md/articles/autosomal-dominant-polycystic-liver-disease_c8256fa3-0694-412c-bd0f-8869f336ad90.md",
"title": "Autosomal Dominant Polycystic Liver Disease",
@@ -378,11 +608,11 @@
"exists": true,
"links": [
{
"title": "Anatomy Document",
"title": "Liver",
"docid": "e4fdb09c-d20f-407d-b563-499124541261"
},
{
"title": "Anatomy Document",
"title": "Liver",
"docid": "236fb145-0c29-4362-be57-06401bf337aa"
}
]
@@ -391,7 +621,7 @@
"exists": true,
"links": [
{
"title": "Hepatic (Bile Duct) Cysts",
"title": "Hepatic Cyst",
"docid": "e525e5da-75e8-432c-b398-cb3d18e97771"
},
{
@@ -403,23 +633,23 @@
"docid": "acb4212f-766e-4766-bd10-1ebd525a467c"
},
{
"title": "Cystic Metastases",
"title": "Hepatic Metastases and Lymphoma",
"docid": "248db898-197a-4555-a14d-eef5ca2f8967"
},
{
"title": "Differential Diagnosis",
"title": "Cystic Hepatic Mass",
"docid": "85bb9a0b-2d25-457d-a131-20ff07cb552b"
},
{
"title": "Differential Diagnosis",
"title": "Dysmorphic Liver With Abnormal Bile Ducts",
"docid": "1cb8d652-5e83-4ee2-a762-bab56e2d107b"
},
{
"title": "Differential Diagnosis",
"title": "Focal Liver Lesion With Hemorrhage",
"docid": "5e6be44f-07d3-4569-abe3-798d7513fe41"
},
{
"title": "Differential Diagnosis",
"title": "Multiple Hypodense Liver Lesions",
"docid": "5178ae9c-1ea9-4e06-9e8a-91e98d8708f6"
}
]
+19
View File
@@ -0,0 +1,19 @@
[
{
"label": "'polycistic' (exact)",
"queries": [
{
"qval": "polycistic",
"mode": "exact",
"targets": [
"Title",
"Content",
"Breadcrumbs",
"Keywords",
"Category",
"Type"
]
}
]
}
]
+5
View File
@@ -252,6 +252,10 @@ def match_author(authors: List[Dict[str, Any]], q: str) -> bool:
_docid_map = {}
def clear_doc_cache():
global _docid_map
_docid_map = {}
def get_doc_by_id(root: str, identifier: str) -> Tuple[Optional[Dict[str, Any]], Optional[str], Optional[str]]:
global _docid_map
if not _docid_map:
@@ -379,6 +383,7 @@ def check_linked_sections(content: str, root: str = 'docs_md/articles') -> Dict[
def run_search(root: str, qkey: str, qval: str, mode: str = 'exact', targets: List[str] = None, or_queries: List[Dict[str, Any]] = None, expand_links: bool = False) -> List[Dict[str, Any]]:
clear_doc_cache()
out = []
# Normalize queries list
+124
View File
@@ -290,6 +290,37 @@ def search_page() -> None: # build UI
# Render initial query blocks
render_query_blocks()
# Persistent Search History Container
with ui.row().classes('w-full items-center gap-2 mt-2'):
ui.label('Recent Searches:').classes('text-slate-400 text-xs font-semibold')
history_container = ui.row().classes('gap-1 items-center')
def render_history_chips():
history_container.clear()
history = load_history()
if not history:
with history_container:
ui.label('None').classes('text-slate-500 text-xs italic')
return
with history_container:
for item in history[:8]:
def make_click(saved=item['queries']):
def handler():
nonlocal queries
queries.clear()
for sq in saved:
queries.append(json.loads(json.dumps(sq)))
render_query_blocks()
ui.notify("Search query restored!", type='info')
return handler
ui.chip(
item['label'],
clickable=True,
on_click=make_click()
).props('dense color="slate-800" text-color="blue-300" icon="history"').classes('text-xs hover:bg-slate-700')
render_history_chips()
with ui.row().classes('w-full justify-between items-center gap-4 mt-2'):
with ui.row().classes('items-center gap-4'):
@@ -424,6 +455,61 @@ def search_page() -> None: # build UI
table.on('show_links_modal', lambda msg: show_links_modal_handler(msg.args))
table.on('capture_article', lambda msg: asyncio.create_task(trigger_capture_handler(msg.args)))
async def wait_and_process_capture(docid: str, title: str):
import glob
processed = False
for i in range(30):
await asyncio.sleep(1.5)
# Check if JSON files matching the docid exist in input dir
json_files = glob.glob(f"xhr_captured_async/*{docid}*.json")
if json_files and not processed:
with table.client:
ui.notify(f"Captured data found for: {title}. Processing to Markdown...", type='info')
try:
await anyio.to_thread.run_sync(
document_to_markdown.main,
['--input-dir', 'xhr_captured_async', '--output-dir', 'docs_md']
)
processed = True
except Exception as e:
print(f"Error running document_to_markdown: {e}")
# Check if it has been successfully converted/cached
def check_cache():
search_md.clear_doc_cache()
return search_md.get_doc_by_id('docs_md/articles', docid)
fm, content, doc_path = await anyio.to_thread.run_sync(check_cache)
if fm:
# Successfully processed! Reload row data in table!
with table.client:
row_index = -1
for idx, r in enumerate(table.rows):
if r.get('docid') == docid:
row_index = idx
break
if row_index != -1:
linked_fm_title = fm.get('title') or fm.get('pageTitle') or title
updated_row = {
'path': doc_path,
'title': linked_fm_title,
'docid': docid,
'breadcrumbs': fm.get('breadcrumbs'),
'authors': fm.get('authors'),
'pageKeywords': fm.get('pageKeywords'),
'reasons': table.rows[row_index].get('reasons', []),
'snippet': content[:300] + '...' if content else '',
'linked_info': search_md.check_linked_sections(content, root_input.value),
'is_cached': True
}
table.rows[row_index] = updated_row
table.rows = list(table.rows)
ui.notify(f"Successfully cached and loaded: {linked_fm_title}!", type='positive')
else:
ui.notify(f"Cached document: {title}", type='positive')
return
async def trigger_capture_handler(args: dict):
docid = args.get('docid')
title = args.get('title')
@@ -439,11 +525,15 @@ def search_page() -> None: # build UI
except Exception:
return False
def start_capture_poll_task(d_id, t_title):
asyncio.create_task(wait_and_process_capture(d_id, t_title))
with table.client:
ui.notify(f"Checking capture browser status for: {title}...", type='info')
ok = await asyncio.to_thread(check_and_send)
if ok:
ui.notify(f"Requested capture browser to open: {title}", type='positive')
start_capture_poll_task(docid, title)
return
ui.notify("Capture browser not responding. Cleaning up existing capture processes...", type='warning')
@@ -465,6 +555,7 @@ def search_page() -> None: # build UI
ok_again = await asyncio.to_thread(check_and_send)
if ok_again:
ui.notify(f"Capture browser launched successfully. Opened: {title}", type='positive')
start_capture_poll_task(docid, title)
else:
ui.notify("Capture browser process launched, but command port timed out. Try clicking again in a few seconds.", type='warning')
except Exception as e:
@@ -738,6 +829,20 @@ def search_page() -> None: # build UI
status.set_text('Running search...')
search_btn.set_enabled(False)
# Save query configuration to persistent history
active_queries = [q for q in queries if q['qval'].strip()]
if active_queries:
history_label = " OR ".join([f"'{q['qval']}' ({q['mode']})" for q in active_queries])
history_item = {
'label': history_label,
'queries': json.loads(json.dumps(queries))
}
history = load_history()
history = [h for h in history if h['label'] != history_label]
history.insert(0, history_item)
save_history(history[:20])
render_history_chips()
try:
or_queries_param = []
for q in queries:
@@ -984,6 +1089,25 @@ def linkify_references(content: str, root: str = 'docs_md/articles') -> str:
return content
HISTORY_FILE = 'search_history.json'
def load_history() -> list:
try:
if os.path.exists(HISTORY_FILE):
with open(HISTORY_FILE, 'r', encoding='utf-8') as f:
return json.load(f)
except Exception:
pass
return []
def save_history(history_list: list):
try:
with open(HISTORY_FILE, 'w', encoding='utf-8') as f:
json.dump(history_list, f, indent=2, ensure_ascii=False)
except Exception:
pass
def is_doc_cached(docid: str) -> bool:
fm, _, _ = search_md.get_doc_by_id('docs_md/articles', docid)
return fm is not None