healthcare-cdss-patterns
Desenvolve sistemas de apoio à decisão clínica (CDSS) para saúde. Ajuda a verificar interações medicamentosas, validar doses e calcular pontuações clínicas.
O que ela faz
Ajuda a criar sistemas que auxiliam médicos a tomar decisões. Isso inclui verificar se medicamentos interagem perigosamente, se a dose de um remédio está correta para o paciente e calcular pontuações de risco para a saúde.
Quando usar
- ✓Ao verificar se dois remédios podem causar problemas juntos.
- ✓Ao garantir que a quantidade de um remédio prescrito é segura.
- ✓Ao calcular o risco de um paciente piorar com base em seus sinais vitais.
Exemplo do que pedir para a IA
“Verifique se o remédio X interage com os remédios que o paciente já toma e se ele tem alergia a algo.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O sistema recebe informações do paciente, como medicamentos atuais e sinais vitais. Ele compara essas informações com regras pré-definidas para identificar riscos ou calcular pontuações. O resultado é um alerta ou uma pontuação que ajuda o médico.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add affaan-m/ECC --skill healthcare-cdss-patternsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/healthcare-cdss-patterns/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Padrões de Desenvolvimento de CDSS para Saúde
Padrões para construir Sistemas de Apoio à Decisão Clínica que se integram em fluxos de trabalho de Prontuários Eletrônicos do Paciente (PEP). Módulos de CDSS são críticos para a segurança do paciente — tolerância zero para falsos negativos.
Quando Usar
- Implementando verificação de interações medicamentosas
- Construindo motores de validação de dosagem
- Implementando sistemas de pontuação clínica (NEWS2, qSOFA, APACHE, GCS)
- Projetando sistemas de alerta para valores clínicos anormais
- Construindo entrada de prescrição de medicamentos com verificações de segurança
- Integrando interpretação de resultados de laboratório com contexto clínico
Como Funciona
O motor de CDSS é uma biblioteca de funções puras, sem efeitos colaterais. Entrada: dados clínicos; Saída: alertas. Isso o torna totalmente testável.
Três módulos principais:
checkInteractions(newDrug, currentMeds, allergies)— Verifica um novo medicamento contra medicações atuais e alergias conhecidas. RetornaInteractionAlert[]ordenados por gravidade. Usa o modelo de dadosDrugInteractionPair.validateDose(drug, dose, route, weight, age, renalFunction)— Valida uma dose prescrita contra regras baseadas em peso, ajustadas por idade e ajustadas por função renal. RetornaDoseValidationResult.calculateNEWS2(vitals)— National Early Warning Score 2 deNEWS2Input. RetornaNEWS2Resultcom pontuação total, nível de risco e orientação para escalonamento.
EMR UI
↓ (user enters data)
CDSS Engine (pure functions, no side effects)
├── Drug Interaction Checker
├── Dose Validator
├── Clinical Scoring (NEWS2, qSOFA, etc.)
└── Alert Classifier
↓ (returns alerts)
EMR UI (displays alerts inline, blocks if critical)
Verificação de Interações Medicamentosas
interface DrugInteractionPair {
drugA: string; // generic name
drugB: string; // generic name
severity: 'critical' | 'major' | 'minor';
mechanism: string;
clinicalEffect: string;
recommendation: string;
}
function checkInteractions(
newDrug: string,
currentMedications: string[],
allergyList: string[]
): InteractionAlert[] {
if (!newDrug) return [];
const alerts: InteractionAlert[] = [];
for (const current of currentMedications) {
const interaction = findInteraction(newDrug, current);
if (interaction) {
alerts.push({ severity: interaction.severity, pair: [newDrug, current],
message: interaction.clinicalEffect, recommendation: interaction.recommendation });
}
}
for (const allergy of allergyList) {
if (isCrossReactive(newDrug, allergy)) {
alerts.push({ severity: 'critical', pair: [newDrug, allergy],
message: `Cross-reactivity with documented allergy: ${allergy}`,
recommendation: 'Do not prescribe without allergy consultation' });
}
}
return alerts.sort((a, b) => severityOrder(a.severity) - severityOrder(b.severity));
}
Pares de interações devem ser bidirecionais: se o Medicamento A interage com o Medicamento B, então o Medicamento B interage com o Medicamento A.
Validação de Dosagem
interface DoseValidationResult {
valid: boolean;
message: string;
suggestedRange: { min: number; max: number; unit: string } | null;
factors: string[];
}
function validateDose(
drug: string,
dose: number,
route: 'oral' | 'iv' | 'im' | 'sc' | 'topical',
patientWeight?: number,
patientAge?: number,
renalFunction?: number
): DoseValidationResult {
const rules = getDoseRules(drug, route);
if (!rules) return { valid: true, message: 'No validation rules available', suggestedRange: null, factors: [] };
const factors: string[] = [];
// SEGURANÇA: se as regras exigem peso, mas o peso está faltando, BLOQUEAR (não aprovar)
if (rules.weightBased) {
if (!patientWeight || patientWeight <= 0) {
return { valid: false, message: `Weight required for ${drug} (mg/kg drug)`,
suggestedRange: null, factors: ['weight_missing'] };
}
factors.push('weight');
const maxDose = rules.maxPerKg * patientWeight;
if (dose > maxDose) {
return { valid: false, message: `Dose exceeds max for ${patientWeight}kg`,
suggestedRange: { min: rules.minPerKg * patientWeight, max: maxDose, unit: rules.unit }, factors };
}
}
// Ajuste baseado na idade (quando as regras definem faixas etárias e a idade é fornecida)
if (rules.ageAdjusted && patientAge !== undefined) {
factors.push('age');
const ageMax = rules.getAgeAdjustedMax(patientAge);
if (dose > ageMax) {
return { valid: false, message: `Exceeds age-adjusted max for ${patientAge}yr`,
suggestedRange: { min: rules.typicalMin, max: ageMax, unit: rules.unit }, factors };
}
}
…
Perguntas frequentes
O que são 'sistemas de apoio à decisão clínica'?
São ferramentas que ajudam os médicos a tomar as melhores decisões para o tratamento dos pacientes, oferecendo informações e alertas baseados em dados.
Por que a 'segurança do paciente' é tão importante aqui?
Porque erros em medicamentos ou avaliações podem ter consequências graves para a saúde do paciente. Por isso, esses sistemas são feitos para serem muito confiáveis.
O que significa 'função pura sem efeitos colaterais'?
Significa que o sistema sempre dará a mesma resposta para as mesmas informações de entrada, sem alterar nada fora dele mesmo. Isso o torna mais fácil de testar e confiável.
Detalhes
Descrição original do autor
Clinical Decision Support System (CDSS) development patterns. Drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), alert severity classification, and integration into EMR workflows. Use when building clinical decision support — drug interaction checks, dose validation, clinical scoring, or alert severity.
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #200
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
template-skill
Este é um modelo genérico para novas habilidades. Ele precisa de uma descrição específica para ser útil.
anthropics/skills
shipping-and-launch
Prepara seu código para ser lançado em produção com segurança. Ajuda a garantir que tudo esteja pronto, monitorado e com um plano de volta.
addyosmani/agent-skills
using-agent-skills
Faz seu agente descobrir e usar outras habilidades. É útil para decidir qual ferramenta ou fluxo de trabalho usar para uma tarefa específica.
addyosmani/agent-skills