Skip to main content
abridge-core-workflow-b Implement Abridge patient-facing documentation and after-visit summary generation.
Use when building patient portal integration, generating plain-language summaries,
multi-language translations, or after-visit instructions from clinical encounters.
Trigger: "abridge patient summary", "after-visit summary", "patient portal abridge",
"abridge patient-facing", "abridge multilingual".
跳到安装 Skills Marketplace 发现并探索由社区构建的 Agent Skills
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/jeremylongshore/claude-code-plugins-plus-skills --skill abridge-core-workflow-b命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
下载 Zip 下载中... 同仓库更多 Skills Implement user sign-up and sign-in flows with Clerk.
Use when building authentication UI, customizing sign-in experience,
or implementing OAuth social login.
Trigger with phrases like "clerk sign-in", "clerk sign-up",
"clerk login flow", "clerk OAuth", "clerk social login".
Implement session management and middleware with Clerk.
Use when managing user sessions, configuring route protection,
or implementing token refresh and custom JWT templates.
Trigger with phrases like "clerk session", "clerk middleware",
"clerk route protection", "clerk token", "clerk JWT".
Configure enterprise SSO, role-based access control, and organization management.
Use when implementing SSO integration, configuring role-based permissions,
or setting up organization-level controls.
Trigger with phrases like "clerk SSO", "clerk RBAC",
"clerk enterprise", "clerk roles", "clerk permissions", "clerk organizations".
jeremylongshore
jeremylongshore/claude-code-plugins-plus-skills
打开 GitHub 仓库 name abridge-core-workflow-b description Implement Abridge patient-facing documentation and after-visit summary generation.
Use when building patient portal integration, generating plain-language summaries,
multi-language translations, or after-visit instructions from clinical encounters.
Trigger: "abridge patient summary", "after-visit summary", "patient portal abridge",
"abridge patient-facing", "abridge multilingual".
allowed-tools Read, Write, Edit, Bash(npm:*), Grep version 1.4.0 license MIT author Jeremy Longshore <jeremy@intentsolutions.io> tags ["saas","healthcare","ai","abridge","patient-engagement"] compatibility Designed for Claude Code
Abridge Core Workflow B — Patient-Facing Documentation
Overview
Secondary workflow: generating plain-language patient summaries from the same clinical encounter captured in Workflow A. Abridge produces both clinician notes and patient-friendly after-visit summaries (AVS), supporting 28+ languages and multiple reading levels.
Prerequisites
Completed abridge-core-workflow-a (encounter-to-note pipeline)
Patient portal integration configured (Epic MyChart, Athena Patient Portal)
Understanding of health literacy requirements
Instructions
Step 1: Request Patient Summary from Completed Session
import axios, { AxiosInstance } from 'axios' ;
interface PatientSummary {
summary_id : string ;
session_id : string ;
language : string ;
reading_level : 'basic' | 'intermediate' | 'advanced' ;
sections : {
visit_reason : string ;
what_we_discussed : string ;
your_diagnosis : string ;
next_steps : string ;
medications : Array <{
name : string ;
instructions : ;
: ;
}>;
: {
: ;
: ;
: ;
};
: [];
};
: {
: ;
: ;
: ;
};
}
( ): < > {
{ data } = api. ( , {
language,
: readingLevel,
: ,
: ,
: ,
});
data;
}
string
warnings
string
follow_up
when
string
why
string
scheduling_instructions
string
questions_to_ask
string
source_encounter
date
string
provider_name
string
department
string
async
function
generatePatientSummary
api : AxiosInstance ,
sessionId : string ,
language : string = 'en' ,
readingLevel : PatientSummary ['reading_level' ] = 'basic'
Promise
PatientSummary
const
await
post
`/encounters/sessions/${sessionId} /patient-summary`
reading_level
include_medications
true
include_follow_up
true
include_suggested_questions
true
return
Step 2: Push to Patient Portal via FHIR
interface FhirCommunication {
resourceType : 'Communication' ;
status : 'completed' ;
category : Array <{ coding : Array <{ system : string ; code : string }> }>;
subject : { reference : string };
encounter : { reference : string };
payload : Array <{ contentString : string }>;
sent : string ;
}
async function pushToMyChart (
fhirBaseUrl : string ,
accessToken : string ,
summary : {
patient_id: string ;
encounter_id: string ;
content: string ;
language: string ;
}
): Promise <string > {
const communication : FhirCommunication = {
resourceType : 'Communication' ,
status : 'completed' ,
category : [{
coding : [{
system : 'http://terminology.hl7.org/CodeSystem/communication-category' ,
code : 'notification' ,
}],
}],
subject : { reference : `Patient/${summary.patient_id} ` },
encounter : { reference : `Encounter/${summary.encounter_id} ` },
payload : [{ contentString : summary.content }],
sent : new Date ().toISOString (),
};
const response = await axios.post (
`${fhirBaseUrl} /Communication` ,
communication,
{ headers : { Authorization : `Bearer ${accessToken} ` } }
);
return response.data .id ;
}
Step 3: Multi-Language Translation
const SUPPORTED_LANGUAGES = [
'en' , 'es' , 'zh' , 'ar' , 'vi' , 'ko' , 'tl' , 'ru' , 'fr' , 'pt' ,
'hi' , 'de' , 'ja' , 'it' , 'pl' , 'ur' , 'fa' , 'bn' , 'pa' , 'gu' ,
'ha' , 'yo' , 'am' , 'so' , 'sw' , 'ne' , 'my' , 'th' ,
] as const ;
async function generateMultiLanguageSummaries (
api : AxiosInstance ,
sessionId : string ,
languages : string []
): Promise <Map <string , PatientSummary >> {
const summaries = new Map <string , PatientSummary >();
const results = await Promise .allSettled (
languages.map (lang =>
generatePatientSummary (api, sessionId, lang, 'basic' )
)
);
results.forEach ((result, index ) => {
if (result.status === 'fulfilled' ) {
summaries.set (languages[index], result.value );
} else {
console .error (`Translation failed for ${languages[index]} :` , result.reason );
}
});
return summaries;
}
Step 4: Format After-Visit Summary (AVS)
function formatAfterVisitSummary (summary : PatientSummary ): string {
const lines : string [] = [
`AFTER-VISIT SUMMARY` ,
`Date: ${summary.source_encounter.date} ` ,
`Provider: ${summary.source_encounter.provider_name} ` ,
`Department: ${summary.source_encounter.department} ` ,
'' ,
`WHY YOU CAME IN` ,
summary.sections .visit_reason ,
'' ,
`WHAT WE DISCUSSED` ,
summary.sections .what_we_discussed ,
'' ,
`YOUR DIAGNOSIS` ,
summary.sections .your_diagnosis ,
'' ,
`WHAT TO DO NEXT` ,
summary.sections .next_steps ,
];
if (summary.sections .medications .length > 0 ) {
lines.push ('' , 'YOUR MEDICATIONS' );
for (const med of summary.sections .medications ) {
lines.push (` ${med.name} : ${med.instructions} ` );
if (med.warnings ) lines.push (` Important: ${med.warnings} ` );
}
}
lines.push (
'' ,
'FOLLOW-UP' ,
`When: ${summary.sections.follow_up.when} ` ,
`Why: ${summary.sections.follow_up.why} ` ,
summary.sections .follow_up .scheduling_instructions ,
);
return lines.join ('\n' );
}
Output
Patient-friendly after-visit summary at target reading level
Multi-language translations (28+ languages supported)
FHIR Communication resource pushed to patient portal
Formatted AVS document with medications, follow-up, and next steps
Error Handling Error Cause Solution Unsupported language Language not in Abridge's 28+ set Check SUPPORTED_LANGUAGES list Summary too vague Encounter transcript was short Ensure encounter has enough clinical detail MyChart push 403 Patient portal not linked Verify patient has active MyChart account Missing medications Provider didn't discuss meds Medications only included if mentioned in encounter
Resources
Next Steps For common integration errors, see abridge-common-errors.