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명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Zip 다운로드 다운로드 중... 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.