2026年患癌需要了解的事项
Things to know when you get cancer – 2026 Edition

原始链接: https://jjmaxwell4.com/writing/things-to-know-when-you-get-cancer/

在这篇2026年的文章中,JJ Maxwell分享了他于2026年5月确诊口腔鳞状细胞癌后得到的经验教训。预约要执着:打电话追问取消的空位。AI模型可能会淡化症状,说这不是癌症。要努力争取做全面基因检测;延误很常见。掌控局面——没有人比你更关心自己的病情,所以要主动跟进。查阅NCCN标准治疗流程图,并用AI理解各种选择。如果建议手术,和做过该手术的人聊聊;询问外科医生每年的手术量和并发症发生率。尽快去顶级癌症中心寻求第二诊疗意见,即使你喜欢自己的方案,并要求二次病理读片。就诊后,口述记录,让AI总结并提出后续问题。查看Sijbrandij基金会的资源,并预约一次通话。总的来说:要坚持不懈、充分了解情况、主动行动。

一篇标题为“2026年患癌后需要知道的事”、链接到 jjmaxwell4.com 的 Hacker News 帖子有85分和5条评论。评论者感谢作者,并称这篇帖子可能救命。一人建议与年龄和体能相近的、做过手术的过来人交流,因为40岁和50岁时的恢复情况不同。另一人把它收藏起来,“希望永远用不上”,并祝作者治疗顺利。一位评论者推荐印度,称其是快速检测和接触专科医生方面增长迅速的医疗旅游选择。另一位批评医生的照护水平,将其与程序员对软件的照护相比,认为前者不如后者。有人问作者是否尝试过 PNC-27 肽。页面还包括标准的 HN 导航和 YC 2027 冬季批次广告。
相关文章

原文
Things to know when you get cancer (2026 Edition) · JJ Maxwell
index

I was diagnosed with squamous cell carcinoma in my mouth in May 2026. Here are some things I learned based on that experience so far.

  • You need to be doggedly persistent on scheduling things. Yes this means lots of phone calls. If you get an appointment a few weeks out, call back a few days later and ask for something sooner and see if they have any cancellations. I could only get an appointment 4 weeks out with an ENT (this was before I knew anything was wrong). My wife made me call back and I was able to get in that week due to a cancellation.
  • AIs may downplay the seriousness of things. I was chatting with various models and most pushed me in the direction of “you don’t have cancer” for a while. Just something to note.
  • You may need to push for comprehensive genetic testing. Some doctors were weird about this and didn’t order it promptly, even after telling me they would. My surgeon, who told me he’d get it done, eventually referred me out to an oncologist. This caused a multi-month delay to getting genetic results, since the first results were done on the surgery tumor, not the biopsy tumor. No one cares more about your case than you, so take control and send lots of follow-ups.
  • You can find the “Standard of Care” flow charts for every cancer type. Look and get through this yourself to see what the options are based on how things have progressed. NCCN guidelines. You may need to make an account, which you can do as a non-professional. I like the PDF files. They also have an interactive navigator. Use AI to help you figure out what to pick based on your case.
  • If surgery is recommended, I would try and talk to someone who has undergone the surgery. I did not do this and regret it. Ask them how intense things were, what it felt like, etc. My surgeon talked me through my surgery, but it was a lot rougher on me physically than I expected. Ask the surgeon how many of these surgeries they do a year and what the complication rate is.
  • Get a second opinion as soon as possible, no matter how much you like your plan. This may require a lot of calling and getting on an airplane, but I’d move to schedule it at a top cancer center as soon as you are relatively sure of your diagnosis. Ask for a second read of the pathology at the center where you get the second opinion.
  • I started a new folder on my Mac, and after appointments I’d dictate what happened and what the doctor said and have the AI make a new document summarizing things and asking its own follow-up questions for next time. Nice to be able to refer to this over time.
  • Check out all the resources and materials at the Sijbrandij Foundation. Sid (GitLab cofounder) took matters into his own hands when standard of care ran out. Schedule a call with these guys. They are great and have good materials and questions to ask your doctors.
` } const renderCard = (elem, data, targetUrl) => { const itemRating = data?.rating && data.rating > 0 ? parseFloat(data.rating) : null const coverUrl = data.cover_image_url || data.cover_url const category = data.category || '' const getPreferredTitle = () => { // Special handling for music/album types only if (category === 'music' || category === 'album') { if (Array.isArray(data.localized_title)) { const nonZh = data.localized_title.find((t) => t.lang !== 'zh-cn' && t.text) if (nonZh) return nonZh.text const zh = data.localized_title.find((t) => t.lang === 'zh-cn' && t.text) if (zh) return zh.text } } return data.title || data.name || '' } const title = getPreferredTitle() const isSquare = category === 'music' || category === 'podcast' const coverClass = isSquare ? 'music' : 'other' const cardHeightClass = isSquare ? 'compact' : 'standard' // Convert rating to star percentage with half-star precision: 10 points = 100% (5 stars) const starPercentage = itemRating !== null ? Math.round((itemRating / 10) * 10) * 10 : null // Build field info const fieldInfo = [] if (category === 'movie' || category === 'tv' || category === 'tv/season') { // Movie/TV: Director, Cast, Genre, Release Year if (data.director && data.director.length > 0) { const directors = Array.isArray(data.director) ? data.director.join(', ') : data.director fieldInfo.push(`导演: ${directors}`) } if (data.actor && data.actor.length > 0) { const actors = Array.isArray(data.actor) ? data.actor.join(', ') : data.actor fieldInfo.push(`演员: ${actors}`) } if (data.genre && data.genre.length > 0) { const genres = Array.isArray(data.genre) ? data.genre.join(', ') : data.genre fieldInfo.push(`类型: ${genres}`) } // Add release year - "Release Date" for movies, "Premiere" for TV if (data.year) { const timeLabel = category === 'movie' ? '上映时间' : '首播' fieldInfo.push(`${timeLabel}: ${data.year}`) } } else if (category === 'music' || category === 'album') { // Music: Artist, Genre, Release Date if (data.artist && data.artist.length > 0) { // Only show the first artist for music/album const artist = Array.isArray(data.artist) ? data.artist[0] : data.artist fieldInfo.push(`艺术家: ${artist}`) } if (data.genre && data.genre.length > 0) { const genres = Array.isArray(data.genre) ? data.genre.join(', ') : data.genre fieldInfo.push(`流派: ${genres}`) } if (data.release_date) { fieldInfo.push(`发行时间: ${data.release_date}`) } } else if (category === 'book') { // Book: Author, Publisher if (data.author && data.author.length > 0) { const authors = Array.isArray(data.author) ? data.author.join(', ') : data.author fieldInfo.push(`作者: ${authors}`) } // Check multiple possible publisher fields const publisher = data.publisher || data.pub_house || data.company if (publisher && (Array.isArray(publisher) ? publisher.length > 0 : publisher)) { const publishers = Array.isArray(publisher) ? publisher.join(', ') : publisher fieldInfo.push(`出版社: ${publishers}`) } } else if (category === 'game') { // Game: Developer, Genre, Release Date if (data.developer && data.developer.length > 0) { const developers = Array.isArray(data.developer) ? data.developer.join(', ') : data.developer fieldInfo.push(`开发者: ${developers}`) } if (data.genre && data.genre.length > 0) { const genres = Array.isArray(data.genre) ? data.genre.join(', ') : data.genre fieldInfo.push(`类型: ${genres}`) } if (data.release_date) { fieldInfo.push(`发行时间: ${data.release_date}`) } } else if (category === 'podcast') { // Podcast: Host, Genre const host = data.host || data.artist || data.creator if (host && (Array.isArray(host) ? host.length > 0 : host)) { const hosts = Array.isArray(host) ? host.join(', ') : host fieldInfo.push(`主播: ${hosts}`) } if (data.genre && data.genre.length > 0) { const genres = Array.isArray(data.genre) ? data.genre.join(', ') : data.genre fieldInfo.push(`类型: ${genres}`) } } elem.innerHTML = ` ${coverUrl ? `${title || ''}` : ``}

${title || ''}

${ starPercentage !== null ? `

${itemRating.toFixed(1)}

` : `` } ${fieldInfo .map((info) => { if (info.startsWith('
')) { return info } return `

${info}

` }) .join('')}
` } containers.forEach((container) => { const url = container.getAttribute('data-url') if (!url) return let fetchUrl = '' const neodbUrlPattern = /neodb\.social\/(movie|book|music|album|game|tv\/season|tv|podcast)\/([\w-]+)/ const isNeoDbUrl = neodbUrlPattern.test(url) if (isNeoDbUrl) { const match = url.match(neodbUrlPattern) let category = match ? match[1] : '' const uuid = match ? match[2] : '' if (category === 'tv/season') { category = 'tv/season' } if (uuid && category) { fetchUrl = `https://neodb.social/api/${category}/${uuid}` } } else { fetchUrl = `https://neodb.social/api/catalog/fetch?url=${encodeURIComponent(url)}` } if (fetchUrl) { fetch(fetchUrl, { mode: 'cors', headers: { Accept: 'application/json' } }) .then((res) => { if (!res.ok) throw new Error(`Response ${res.status}`) return res.json() }) .then((json) => { const data = json.data ? json.data : json renderCard(container, data, url) }) .catch(() => { renderError(container) }) } else { renderError(container) } }) } loadNeoDBCards() document.addEventListener('astro:page-load', loadNeoDBCards)
联系我们 contact @ memedata.com