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 コミュニティが作成したAIスキルを発見・探索
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/jeremylongshore/claude-code-plugins-plus-skills --skill abridge-core-workflow-bコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?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.