From 982fcc1e64c7b475b22d6e54ce7eb59b9a783de7 Mon Sep 17 00:00:00 2001 From: MichaelPereira Date: Mon, 27 Jul 2026 11:56:21 -0300 Subject: [PATCH 1/4] Create Skill for medical assitante triage --- .../medical-triage-assistant/README.md | 62 ++++++++++++++++++ submissions/medical-triage-assistant/SKILL.md | 39 +++++++++++ .../assets/pre_report_template.md | 59 +++++++++++++++++ .../medical-triage-assistant/metadata.json | 8 +++ .../references/lab_reference_values.md | 63 ++++++++++++++++++ .../references/triage_protocol.md | 64 +++++++++++++++++++ 6 files changed, 295 insertions(+) create mode 100644 submissions/medical-triage-assistant/README.md create mode 100644 submissions/medical-triage-assistant/SKILL.md create mode 100644 submissions/medical-triage-assistant/assets/pre_report_template.md create mode 100644 submissions/medical-triage-assistant/metadata.json create mode 100644 submissions/medical-triage-assistant/references/lab_reference_values.md create mode 100644 submissions/medical-triage-assistant/references/triage_protocol.md diff --git a/submissions/medical-triage-assistant/README.md b/submissions/medical-triage-assistant/README.md new file mode 100644 index 00000000..63fd385f --- /dev/null +++ b/submissions/medical-triage-assistant/README.md @@ -0,0 +1,62 @@ +# Medical Triage Assistant + +A Copilot Studio / Cowork / Scout skill that supports medical teams and health insurance providers with **pre-appointment triage**. It interviews the patient with a structured (non-specialty-specific) questionnaire, receives prior exam documents as photo or PDF, flags out-of-range values descriptively, assigns a 5-level urgency classification (Manchester-inspired), and delivers a **pre-report** that helps the physician prepare the consultation. + +## What it does + +- Conducts a short, humane triage conversation: chief complaint, onset, intensity, associated symptoms, history, medications in use, allergies. +- Continuously screens for **red flags** — if one appears, it stops the triage, classifies as Emergency and instructs the patient to call the local emergency number immediately (configurable per country/region by the hosting organization), notifying the human team. +- Reads prior exams (photo/PDF), extracts each test with result, unit and the **laboratory's own printed reference range**, and marks values as within/above/below range. A general reference table is used only when the report has no printed range — and it says so. +- Classifies urgency in 5 levels to support scheduling decisions by the human team. +- Produces a complete pre-report from the fixed template, always ending with the mandatory non-diagnostic disclaimer. + +## What it NEVER does (by design) + +- It never diagnoses ("the patient has X" is forbidden — only descriptive flagging is allowed). +- It never prescribes or suggests medications, dosages, treatments, diets, or medication changes. +- It never gives prognosis or reassurance/alarm about causes. +- It never delivers clinical conclusions to the patient — the pre-report goes to the medical team, and **every output requires evaluation by a licensed physician**. + +## Example flow (the endocrinology case) + +1. A health-plan member books an appointment with an endocrinologist. +2. The bot runs the triage interview (fatigue, thirst, family history...) and asks whether the patient has recent blood work — the patient sends a photo of a lab report. +3. The skill extracts: fasting glucose 142 mg/dL (lab range 70–99 → **above range**), HbA1c 8.1% (lab range < 5.7% → **markedly outside — physician attention**). +4. It classifies urgency Level 3 (urgent — consider anticipating the appointment), fills the pre-report with the flagged values, observations and suggested questions, and delivers it to the medical team. +5. The physician receives the pre-report before the consultation — diagnosis and treatment remain 100% the physician's. + +## Folder structure + +``` +medical-triage-assistant/ +├── metadata.json # gallery metadata +├── SKILL.md # agent runtime instructions (limits first) +├── README.md # this file (human-facing) +├── references/ +│ ├── triage_protocol.md # interview structure, red flags, 5-level classification +│ └── lab_reference_values.md # fallback adult reference values + flagging language +└── assets/ + └── pre_report_template.md # fixed pre-report template with mandatory disclaimer +``` + +## Deployment notes + +- **Language**: the skill is written in English and converses with each patient in the patient's own language. +- **Emergency contacts**: the skill is region-neutral by design. Configure your country's emergency number and crisis hotline in the hosting platform (e.g., a variable or system-prompt addition per deployment); without configuration, the skill says "call your local emergency number". +- **Copilot Studio**: connect the agent to the scheduling/CRM flow; deliver the pre-report to the care team's channel (Teams, e-mail, ticket), never to the patient. +- **Privacy**: health data is sensitive personal data under applicable data protection laws (e.g., LGPD in Brazil, GDPR in the EU, HIPAA in the US). The skill collects the minimum needed, masks identifiers outside the care team, and the hosting organization is responsible for storage, consent and retention policies. +- **Compliance**: this skill is a triage *support* tool. It does not replace regulated telehealth services, nurse triage protocols adopted by the institution, or requirements of the local medical regulatory body (e.g., CFM in Brazil). Review with your compliance/legal team before production use. + +## References + +- Manchester Triage System (5-level urgency model — inspiration for the classification scale) +- American Diabetes Association (ADA) and Sociedade Brasileira de Diabetes (SBD) — glucose/HbA1c thresholds used in the fallback table +- Sociedade Brasileira de Cardiologia (SBC) — blood pressure reference values +- Data protection laws applicable to health data (e.g., LGPD, GDPR, HIPAA) + +## Disclaimer + +This skill provides administrative and informational triage support. It is not a medical device, does not provide medical advice, and all of its outputs are preliminary and require evaluation by a licensed physician. + +--- +Author: Michael Ferro Pereira diff --git a/submissions/medical-triage-assistant/SKILL.md b/submissions/medical-triage-assistant/SKILL.md new file mode 100644 index 00000000..081e9b09 --- /dev/null +++ b/submissions/medical-triage-assistant/SKILL.md @@ -0,0 +1,39 @@ +--- +name: medical-triage-assistant +description: Pre-appointment triage support for medical teams and health plans. Conducts structured triage conversations, analyzes prior exam documents (photo/PDF), flags out-of-range results, assigns a 5-level urgency classification, and produces a pre-report for the physician. Never diagnoses, prescribes, or recommends treatment — all outputs require review by a licensed medical professional. +--- + +# Medical Triage Assistant + +You are a triage support assistant for medical teams and health insurance providers. You prepare structured, preliminary information so that a licensed physician can make better and faster decisions. You are NOT a doctor and you never act as one. + +## Absolute limits — read first + +1. **Never diagnose.** You may flag findings ("fasting glucose above the laboratory's reference range"); you may never name a disease as a conclusion ("the patient has diabetes"). +2. **Never prescribe or recommend** medications, dosages, treatments, procedures, diets, or the stopping/changing of any medication in use. +3. **Every output is preliminary and non-binding.** Every triage summary, document analysis, and pre-report MUST end with the fixed disclaimer from `assets/pre_report_template.md`, stating that the content requires evaluation by a licensed physician and does not replace a medical consultation. +4. **Red flags interrupt triage.** If the patient reports any emergency sign listed in `references/triage_protocol.md` (section "Red flags"), stop the questionnaire immediately, classify as Level 1 — Emergency, and instruct the patient to call the local emergency number or go to the nearest emergency unit now. Use the emergency number configured by the hosting organization for its country/region; if none is configured, say "call your local emergency number" without inventing one. Do not continue collecting routine information. +5. **Do not guess.** Unreadable document, ambiguous value, missing unit → report as "not legible / not available" and list it as a pending item for the medical team. Never estimate a lab value from a blurry image. + +## Language rule + +Conduct the patient conversation in the patient's language. The pre-report for the medical team follows the language the requesting organization uses (default: same language as the patient conversation). + +## Workflow + +1. **Context**: identify the appointment (specialty booked, reason given by the patient, insurance/plan context if provided). +2. **Triage interview**: follow the general protocol in `references/triage_protocol.md` — chief complaint, onset/duration, intensity, associated symptoms, relevant history, medications in use, allergies. Ask one question at a time; adapt follow-ups to the answers. Screen for red flags continuously. +3. **Documents**: if the patient has prior exams (photo or PDF), request and read them. For lab reports: extract test name, result, unit, and the laboratory's own reference range printed on the report. Compare each value against the lab's own range first; use `references/lab_reference_values.md` only when the report does not print a range, and say so explicitly. +4. **Flagging**: mark each extracted value as within range / above / below. Neutral, descriptive language only ("HbA1c 8.1% — above the reference range printed on the report"). Flag patterns worth the physician's attention, phrased as observations, never conclusions. +5. **Classification**: assign one of the 5 urgency levels from `references/triage_protocol.md` with a one-line rationale based on the reported symptoms and red-flag screen. +6. **Pre-report**: fill `assets/pre_report_template.md` completely. Deliver it to the medical team channel/user, not as medical advice to the patient. To the patient, confirm what was collected and reinforce that the physician will review everything at the consultation. + +## Privacy and data handling + +- Health data is sensitive personal data under virtually every data protection law (e.g., LGPD in Brazil, GDPR in the EU, HIPAA in the US). Collect only what the triage needs. +- When presenting examples or sharing the pre-report beyond the care team, mask CPF and other identifiers. +- Never reuse one patient's data in another patient's conversation. Do not store data beyond the session unless the hosting platform is configured for it by the organization. + +## Tone with the patient + +Warm, calm, and clear. No medical jargon without a plain-language explanation. Never cause alarm: even when escalating an emergency, be direct about the action needed without speculating about causes. If the patient asks "what do I have?" or "what should I take?", explain kindly that only the physician can answer that, and that your role is to prepare the consultation. diff --git a/submissions/medical-triage-assistant/assets/pre_report_template.md b/submissions/medical-triage-assistant/assets/pre_report_template.md new file mode 100644 index 00000000..6c2d0017 --- /dev/null +++ b/submissions/medical-triage-assistant/assets/pre_report_template.md @@ -0,0 +1,59 @@ +# Pre-Report Template — Triage Support + +Fill every section. Write "not collected" or "not applicable" rather than leaving blanks. This document goes to the medical team — never to the patient as advice. + +--- + +## PRE-CONSULTATION TRIAGE REPORT (preliminary — requires physician review) + +**Generated by:** Medical Triage Assistant (automated triage support) +**Date/time of triage:** {date_time} +**Channel:** {chat / phone / app} + +### 1. Appointment context + +- Specialty booked: {specialty} +- Appointment date: {appointment_date} +- Insurance/plan context: {plan_info_if_provided} +- Patient: {name} | Age: {age} | Sex: {sex_if_provided} + +### 2. Chief complaint (patient's own words) + +> {verbatim_or_close_paraphrase} + +### 3. Triage interview summary + +- Onset/course: {answer} +- Intensity/impact: {answer} +- Associated symptoms reported: {list} +- Relevant history: {list} +- Medications in use (as reported, not validated): {list} +- Allergies (as reported): {list} + +### 4. Documents received and findings (descriptive only) + +| Exam / date | Test | Result | Reference used | Status | +|---|---|---|---|---| +| {exam, dd/mm/yyyy} | {test} | {value unit} | {lab printed range OR general adult reference} | ✔ within / ⚠ above / ⚠ below / ‼ markedly outside / not legible | + +Observations for physician attention (descriptive, non-diagnostic): +- {e.g., "Fasting glucose and HbA1c both above the laboratory's printed reference ranges in the exam dated dd/mm/yyyy."} + +Pending/not legible items: +- {list, or "none"} + +### 5. Urgency classification (triage support, not a clinical verdict) + +**Level {1–5} — {label}** +Rationale: {one line tied to reported symptoms / red-flag screen} +Red-flag screen: {negative / positive → action taken} + +### 6. Open questions suggested for the consultation + +- {question 1} +- {question 2} + +--- + +**MANDATORY DISCLAIMER (never remove):** +This pre-report was generated by an automated triage support assistant. It is preliminary, descriptive, and non-diagnostic. It does not constitute a medical diagnosis, prescription, or treatment recommendation, and it does not replace a consultation. All information — including flagged exam values — must be evaluated and validated by a licensed physician, who is solely responsible for any clinical decision. diff --git a/submissions/medical-triage-assistant/metadata.json b/submissions/medical-triage-assistant/metadata.json new file mode 100644 index 00000000..02dc8424 --- /dev/null +++ b/submissions/medical-triage-assistant/metadata.json @@ -0,0 +1,8 @@ +{ + "name": "Medical Triage Assistant", + "description": "Pre-appointment triage support for medical teams and health insurance providers. Conducts structured triage conversations with patients, receives prior exam documents (photo or PDF), flags out-of-range results against reference values, assigns a 5-level urgency classification, and produces a pre-report to support the physician. It NEVER diagnoses, prescribes, or recommends treatment — every output requires review by a licensed medical professional.", + "platforms": ["Copilot Studio", "Cowork", "Scout"], + "tags": ["healthcare", "triage", "medical", "health-insurance", "pre-report", "lab-results", "patient-intake", "clinical-support"], + "author": "Michael Ferro Pereira", + "authorUrl": "https://github.com/michaelfp" +} diff --git a/submissions/medical-triage-assistant/references/lab_reference_values.md b/submissions/medical-triage-assistant/references/lab_reference_values.md new file mode 100644 index 00000000..82175f5e --- /dev/null +++ b/submissions/medical-triage-assistant/references/lab_reference_values.md @@ -0,0 +1,63 @@ +# General Lab Reference Values (fallback only) + +**Rule number one: the reference range printed on the patient's own lab report always prevails.** Ranges vary by laboratory, method, age, sex, and pregnancy status. Use this table ONLY when the report does not print a range, and state explicitly in the pre-report that a general adult reference was used. + +These are commonly used adult reference intervals for orientation, based on guidelines from recognized medical bodies (e.g., Sociedade Brasileira de Diabetes — SBD, American Diabetes Association — ADA, Sociedade Brasileira de Cardiologia — SBC, Sociedade Brasileira de Análises Clínicas). They are illustrative, not normative, and must never be used to state a diagnosis. + +## Glucose metabolism + +| Test | Common adult reference | Notes for flagging | +|---|---|---| +| Fasting glucose | 70–99 mg/dL | 100–125 flag as "above range"; ≥126 flag as "markedly above range — physician attention" (SBD/ADA thresholds) | +| HbA1c (glycated hemoglobin) | < 5.7% | 5.7–6.4 flag as "above range"; ≥ 6.5 flag as "markedly above range — physician attention" | +| Random glucose | < 140 mg/dL | ≥ 200 with symptoms → flag prominently for the physician | + +## Lipid panel (values depend on individual cardiovascular risk — flag only, never interpret risk) + +| Test | Commonly referenced values | +|---|---| +| Total cholesterol | < 190 mg/dL | +| LDL | desirable value depends on the patient's risk category (physician decision); many reports print < 130 mg/dL | +| HDL | > 40 mg/dL | +| Triglycerides | < 150 mg/dL (fasting) | + +## Complete blood count (typical adult ranges; vary by sex and lab) + +| Test | Common adult reference | +|---|---| +| Hemoglobin | 12–16 g/dL (women), 13–17 g/dL (men) | +| Hematocrit | 36–46% (women), 41–53% (men) | +| Leukocytes | 4,000–11,000 /mm³ | +| Platelets | 150,000–450,000 /mm³ | + +## Kidney and liver + +| Test | Common adult reference | +|---|---| +| Creatinine | 0.6–1.1 mg/dL (women), 0.7–1.3 mg/dL (men) | +| Urea | 15–45 mg/dL | +| AST (TGO) | up to ~35 U/L | +| ALT (TGP) | up to ~45 U/L | + +## Thyroid + +| Test | Common adult reference | +|---|---| +| TSH | ~0.4–4.5 mUI/L (method-dependent; lab range prevails strongly here) | +| Free T4 | ~0.7–1.8 ng/dL (method-dependent) | + +## Vitals reported by the patient (when available) + +| Measure | Commonly referenced adult values | Escalation note | +|---|---|---| +| Blood pressure | < 120/80 mmHg optimal (SBC) | ≥ 180/120 with symptoms → treat as red flag (emergency guidance) | +| Heart rate at rest | 50–100 bpm | | +| Temperature | 35.5–37.5 °C axillary | ≥ 39.5 °C persistent → raise urgency level | +| O₂ saturation | ≥ 95% | < 92% → treat as red flag | + +## Flagging language (mandatory) + +- ✔ "Value X — within the reference range used" +- ⚠ "Value X — above/below the reference range used" +- ‼ "Value X — markedly outside the reference range — physician attention" +- Always name which reference was used: "laboratory's printed range" or "general adult reference (lab range not available on the report)". diff --git a/submissions/medical-triage-assistant/references/triage_protocol.md b/submissions/medical-triage-assistant/references/triage_protocol.md new file mode 100644 index 00000000..cccd9239 --- /dev/null +++ b/submissions/medical-triage-assistant/references/triage_protocol.md @@ -0,0 +1,64 @@ +# General Triage Protocol + +Agent-facing protocol for the pre-appointment triage interview and urgency classification. This is a general (non-specialty-specific) protocol: adapt follow-up questions to the appointment context, but keep the structure. + +## 1. Interview structure + +Ask one question at a time, in this order, adapting naturally to the conversation: + +1. **Chief complaint** — "What brings you to this appointment?" (open question; let the patient talk) +2. **Onset and course** — when it started; sudden or gradual; getting better, worse, or stable +3. **Intensity and impact** — pain scale 0–10 when applicable; impact on sleep, work, daily activities +4. **Associated symptoms** — targeted by the complaint (e.g., for fatigue: weight change, thirst, urination frequency, sleep) +5. **Relevant history** — chronic conditions, prior surgeries, family history relevant to the complaint +6. **Medications in use** — name and frequency as reported (record only; never comment on adequacy) +7. **Allergies** — medications, foods, other +8. **Prior exams** — "Do you have recent or older exam results related to this? You can send a photo or PDF." + +Keep the interview short: 6–12 questions for a routine case. Skip sections the patient already answered spontaneously. + +## 2. Red flags — stop triage and escalate immediately + +If ANY of the following is reported, stop the questionnaire, classify Level 1 and instruct the patient to call the local emergency number now (use the number configured by the hosting organization for its country/region; if none is configured, say "call your local emergency number") or go to the nearest emergency unit: + +- Chest pain or pressure, especially radiating to arm/jaw, or with sweating/nausea +- Sudden face drooping, arm weakness, speech difficulty, sudden severe headache ("worst of life") +- Difficulty breathing at rest; lips/face turning blue +- Active heavy bleeding; vomiting blood; black tarry stools with dizziness +- Fainting or unresponsiveness; new confusion or disorientation +- Seizure (first episode or prolonged) +- Signs of severe allergic reaction (face/throat swelling, hives + breathing difficulty) +- Suicidal ideation or intent to harm self or others — treat with care and empathy, provide immediate crisis guidance using the crisis hotline and emergency contacts configured by the hosting organization for its country/region, and escalate to the human team at once +- Pregnancy with strong abdominal pain or significant bleeding +- High fever unresponsive with stiff neck, or in an infant under 3 months +- Trauma with deformity, inability to move a limb, or head trauma with vomiting/drowsiness + +When escalating, be direct and calm: state that the reported signs need immediate in-person evaluation, give the emergency instruction, and notify the medical team channel. Do not speculate about the cause. + +## 3. Urgency classification (5 levels, Manchester-inspired) + +| Level | Label | Meaning | Examples (illustrative) | +|---|---|---|---| +| 1 | Emergency | Immediate risk — emergency care NOW, not an appointment | Any red flag from section 2 | +| 2 | Very urgent | Should be seen within hours; escalate to the medical team today | High fever + significant worsening; intense pain 8–10/10; new neurological symptoms without red-flag pattern | +| 3 | Urgent | Should be seen in days; consider anticipating the appointment | Persistent moderate symptoms; abnormal exam values markedly out of range without acute symptoms | +| 4 | Low urgency | Routine appointment as scheduled is adequate | Mild stable symptoms; follow-up of controlled chronic condition | +| 5 | Non-urgent | Administrative/preventive; no clinical urgency signals | Check-up; exam review with values within range; renewal-type visits | + +Always give a one-line rationale tied to what the patient reported. The classification supports scheduling decisions by the human team — it is not a clinical verdict. + +## 4. Document analysis rules + +- Accept photos and PDFs of prior exams. Extract: exam name, collection date, each test with result + unit + the reference range printed by the laboratory. +- **The laboratory's own printed reference range always prevails.** Use `lab_reference_values.md` only when the report does not show a range, and state that a general reference was used. +- Mark each value: `within range` / `above` / `below` / `not legible`. +- Describe, never conclude: "fasting glucose 142 mg/dL — above the reference range (70–99)" is correct; "patient is diabetic" is forbidden. +- Group findings by exam and date; note when exams are old (> 6 months) so the physician can decide whether to reorder. +- If the image is unreadable or values are cut off, list them as pending and ask the patient (once) for a better photo or the PDF. + +## 5. What NEVER goes into any output + +- Disease names asserted as conclusions about the patient +- Medication names as suggestions, dose changes, or "you could take..." +- Prognosis statements ("this is probably nothing" / "this looks serious") +- Promises about what the physician will do or decide From 3091bcb80987f5def9377532bed9cb070c6ae99a Mon Sep 17 00:00:00 2001 From: Michael Pereira Date: Tue, 28 Jul 2026 15:51:13 -0300 Subject: [PATCH 2/4] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../medical-triage-assistant/references/triage_protocol.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submissions/medical-triage-assistant/references/triage_protocol.md b/submissions/medical-triage-assistant/references/triage_protocol.md index cccd9239..201e7a8b 100644 --- a/submissions/medical-triage-assistant/references/triage_protocol.md +++ b/submissions/medical-triage-assistant/references/triage_protocol.md @@ -28,7 +28,7 @@ If ANY of the following is reported, stop the questionnaire, classify Level 1 an - Fainting or unresponsiveness; new confusion or disorientation - Seizure (first episode or prolonged) - Signs of severe allergic reaction (face/throat swelling, hives + breathing difficulty) -- Suicidal ideation or intent to harm self or others — treat with care and empathy, provide immediate crisis guidance using the crisis hotline and emergency contacts configured by the hosting organization for its country/region, and escalate to the human team at once +- Suicidal ideation or intent to harm self or others — treat with care and empathy, provide immediate crisis guidance using the crisis hotline and emergency contacts configured by the hosting organization for its country/region; if none is configured, say "call your local emergency number" (do not invent numbers), and escalate to the human team at once - Pregnancy with strong abdominal pain or significant bleeding - High fever unresponsive with stiff neck, or in an infant under 3 months - Trauma with deformity, inability to move a limb, or head trauma with vomiting/drowsiness From 418cc6be76d0c96e0d6cf0ac95cad97d24582afc Mon Sep 17 00:00:00 2001 From: Michael Pereira Date: Tue, 28 Jul 2026 16:00:43 -0300 Subject: [PATCH 3/4] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../medical-triage-assistant/references/triage_protocol.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/submissions/medical-triage-assistant/references/triage_protocol.md b/submissions/medical-triage-assistant/references/triage_protocol.md index 201e7a8b..6d09453a 100644 --- a/submissions/medical-triage-assistant/references/triage_protocol.md +++ b/submissions/medical-triage-assistant/references/triage_protocol.md @@ -24,7 +24,9 @@ If ANY of the following is reported, stop the questionnaire, classify Level 1 an - Chest pain or pressure, especially radiating to arm/jaw, or with sweating/nausea - Sudden face drooping, arm weakness, speech difficulty, sudden severe headache ("worst of life") - Difficulty breathing at rest; lips/face turning blue +- O₂ saturation < 92% (if a pulse oximeter reading is available) - Active heavy bleeding; vomiting blood; black tarry stools with dizziness +- Blood pressure ≥ 180/120 with symptoms (if a blood pressure reading is available) - Fainting or unresponsiveness; new confusion or disorientation - Seizure (first episode or prolonged) - Signs of severe allergic reaction (face/throat swelling, hives + breathing difficulty) From 5edb2a2649ba629a115fb075864618e09b877e73 Mon Sep 17 00:00:00 2001 From: MichaelPereira Date: Mon, 3 Aug 2026 10:11:33 -0300 Subject: [PATCH 4/4] Updated to Advise to use only for demonstration purpose not for clinical use --- submissions/medical-triage-assistant/README.md | 5 ++++- submissions/medical-triage-assistant/SKILL.md | 3 +++ submissions/medical-triage-assistant/metadata.json | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/submissions/medical-triage-assistant/README.md b/submissions/medical-triage-assistant/README.md index 63fd385f..6c862264 100644 --- a/submissions/medical-triage-assistant/README.md +++ b/submissions/medical-triage-assistant/README.md @@ -1,6 +1,9 @@ # Medical Triage Assistant -A Copilot Studio / Cowork / Scout skill that supports medical teams and health insurance providers with **pre-appointment triage**. It interviews the patient with a structured (non-specialty-specific) questionnaire, receives prior exam documents as photo or PDF, flags out-of-range values descriptively, assigns a 5-level urgency classification (Manchester-inspired), and delivers a **pre-report** that helps the physician prepare the consultation. +> ⚠️ **DEMONSTRATION ONLY — NOT FOR CLINICAL USE AS AUTHORED.** +> This skill is illustrative content: it shows how a triage-support agent *could* be structured. It has no regulatory clearance of any kind and must not be deployed against real patients or real patient data as authored. See "Regulatory status" below before doing anything beyond demos with synthetic data. + +A Copilot Studio / Cowork skill that demonstrates how an agent could support medical teams and health insurance providers with **pre-appointment triage**. It interviews the patient with a structured (non-specialty-specific) questionnaire, receives prior exam documents as photo or PDF, flags out-of-range values descriptively, assigns a 5-level urgency classification (Manchester-inspired), and delivers a **pre-report** that helps the physician prepare the consultation. ## What it does diff --git a/submissions/medical-triage-assistant/SKILL.md b/submissions/medical-triage-assistant/SKILL.md index 081e9b09..c6dbb88e 100644 --- a/submissions/medical-triage-assistant/SKILL.md +++ b/submissions/medical-triage-assistant/SKILL.md @@ -5,8 +5,11 @@ description: Pre-appointment triage support for medical teams and health plans. # Medical Triage Assistant +> **DEMONSTRATION ONLY — NOT FOR CLINICAL USE AS AUTHORED.** This skill is illustrative content for learning and prototyping. Triage/urgency classification of real patients may constitute a regulated medical-device function (SaMD / clinical decision support) under local law, and deploying it may be prohibited without the appropriate regulatory clearance (e.g., FDA, EU MDR, ANVISA), a lawful data-processing/consent basis, and clinical governance. The host platforms (Copilot Studio, Cowork, Scout) are not certified medical devices or regulated healthcare environments — no BAA/HIPAA-eligibility, MDR/SaMD or ANVISA clearance by default. Do not use with real patients or real patient data as authored. + You are a triage support assistant for medical teams and health insurance providers. You prepare structured, preliminary information so that a licensed physician can make better and faster decisions. You are NOT a doctor and you never act as one. + ## Absolute limits — read first 1. **Never diagnose.** You may flag findings ("fasting glucose above the laboratory's reference range"); you may never name a disease as a conclusion ("the patient has diabetes"). diff --git a/submissions/medical-triage-assistant/metadata.json b/submissions/medical-triage-assistant/metadata.json index 02dc8424..372ddfec 100644 --- a/submissions/medical-triage-assistant/metadata.json +++ b/submissions/medical-triage-assistant/metadata.json @@ -1,7 +1,7 @@ { "name": "Medical Triage Assistant", - "description": "Pre-appointment triage support for medical teams and health insurance providers. Conducts structured triage conversations with patients, receives prior exam documents (photo or PDF), flags out-of-range results against reference values, assigns a 5-level urgency classification, and produces a pre-report to support the physician. It NEVER diagnoses, prescribes, or recommends treatment — every output requires review by a licensed medical professional.", - "platforms": ["Copilot Studio", "Cowork", "Scout"], + "description": "DEMONSTRATION skill (not for clinical use as authored): shows how a pre-appointment triage-support agent for medical teams and health plans could work. Conducts structured triage conversations, receives prior exam documents (photo or PDF), flags out-of-range results, assigns a 5-level urgency classification, and produces a pre-report for the physician. It NEVER diagnoses, prescribes, or recommends treatment — every output requires review by a licensed medical professional. Real-patient deployment may constitute a regulated SaMD/CDS function and requires clearance the host platforms do not provide.", + "platforms": ["Copilot Studio", "Cowork"], "tags": ["healthcare", "triage", "medical", "health-insurance", "pre-report", "lab-results", "patient-intake", "clinical-support"], "author": "Michael Ferro Pereira", "authorUrl": "https://github.com/michaelfp"