From 9b24bedf856f9ba41b87436d3e43e45a09ee53e4 Mon Sep 17 00:00:00 2001 From: "Dr. Keyur Patel" Date: Fri, 27 Mar 2026 04:02:44 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20address=20Greptile=20review=20=E2=80=94?= =?UTF-8?q?=20frontmatter,=20CI=20safety,=20null=20guards?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Greptile fixes: - Removed non-standard YAML frontmatter fields (observe, feedback, rollback) from all 4 skills — only name, description, origin, version per CONTRIBUTING.md - Added null guard to checkInteractions implementation (was missing despite test) - CI: replaced 2>/dev/null with 2>&1 (was silencing safety-critical errors) - CI: quoted $RESULT variable (was breaking jq on JSON with spaces) - CI: added division-by-zero guard when test suite is empty - CI: added note that Jest is reference implementation, thresholds are framework-agnostic --- skills/healthcare-cdss-patterns/SKILL.md | 4 +-- skills/healthcare-emr-patterns/SKILL.md | 3 --- skills/healthcare-eval-harness/SKILL.md | 32 ++++++++++++++--------- skills/healthcare-phi-compliance/SKILL.md | 3 --- 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/skills/healthcare-cdss-patterns/SKILL.md b/skills/healthcare-cdss-patterns/SKILL.md index 0cb991fd..818db026 100644 --- a/skills/healthcare-cdss-patterns/SKILL.md +++ b/skills/healthcare-cdss-patterns/SKILL.md @@ -3,9 +3,6 @@ name: healthcare-cdss-patterns description: Clinical Decision Support System (CDSS) development patterns. Drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), alert severity classification, and integration into EMR workflows. origin: Health1 Super Speciality Hospitals — contributed by Dr. Keyur Patel version: "1.0.0" -observe: "PostToolUse" -feedback: "manual" -rollback: "git revert" --- # Healthcare CDSS Development Patterns @@ -60,6 +57,7 @@ function checkInteractions( currentMedications: string[], allergyList: string[] ): InteractionAlert[] { + if (!newDrug) return []; const alerts: InteractionAlert[] = []; for (const current of currentMedications) { const interaction = findInteraction(newDrug, current); diff --git a/skills/healthcare-emr-patterns/SKILL.md b/skills/healthcare-emr-patterns/SKILL.md index 59ac0fd8..af004d70 100644 --- a/skills/healthcare-emr-patterns/SKILL.md +++ b/skills/healthcare-emr-patterns/SKILL.md @@ -3,9 +3,6 @@ name: healthcare-emr-patterns description: EMR/EHR development patterns for healthcare applications. Clinical safety, encounter workflows, prescription generation, clinical decision support integration, and accessibility-first UI for medical data entry. origin: Health1 Super Speciality Hospitals — contributed by Dr. Keyur Patel version: "1.0.0" -observe: "PostToolUse" -feedback: "manual" -rollback: "git revert" --- # Healthcare EMR Development Patterns diff --git a/skills/healthcare-eval-harness/SKILL.md b/skills/healthcare-eval-harness/SKILL.md index b901bb47..d13193c6 100644 --- a/skills/healthcare-eval-harness/SKILL.md +++ b/skills/healthcare-eval-harness/SKILL.md @@ -3,15 +3,14 @@ name: healthcare-eval-harness description: Patient safety evaluation harness for healthcare application deployments. Automated test suites for CDSS accuracy, PHI exposure, clinical workflow integrity, and integration compliance. Blocks deployments on safety failures. origin: Health1 Super Speciality Hospitals — contributed by Dr. Keyur Patel version: "1.0.0" -observe: "PostToolUse" -feedback: "manual" -rollback: "git revert" --- # Healthcare Eval Harness — Patient Safety Verification Automated verification system for healthcare application deployments. A single CRITICAL failure blocks deployment. Patient safety is non-negotiable. +> **Note:** Examples use Jest as the reference test runner. Adapt commands for your framework (Vitest, pytest, PHPUnit, etc.) — the test categories and pass thresholds are framework-agnostic. + ## When to Use - Before any deployment of EMR/EHR applications @@ -106,26 +105,33 @@ jobs: run: npx jest --testPathPattern='tests/data-integrity' --bail --ci # HIGH gates — 95%+ required, custom threshold check + # HIGH gates — 95%+ required - name: Clinical Workflows run: | - RESULT=$(npx jest --testPathPattern='tests/clinical' --ci --json 2>/dev/null) - PASSED=$(echo $RESULT | jq '.numPassedTests') - TOTAL=$(echo $RESULT | jq '.numTotalTests') + RESULT=$(npx jest --testPathPattern='tests/clinical' --ci --json 2>&1) || true + TOTAL=$(echo "$RESULT" | jq '.numTotalTests // 0') + PASSED=$(echo "$RESULT" | jq '.numPassedTests // 0') + if [ "$TOTAL" -eq 0 ]; then + echo "::error::No clinical tests found"; exit 1 + fi RATE=$(echo "scale=2; $PASSED * 100 / $TOTAL" | bc) - echo "Pass rate: ${RATE}%" + echo "Pass rate: ${RATE}% ($PASSED/$TOTAL)" if (( $(echo "$RATE < 95" | bc -l) )); then - echo "::warning::Clinical workflow pass rate ${RATE}% below 95% threshold" + echo "::warning::Clinical pass rate ${RATE}% below 95%" fi - name: Integration Compliance run: | - RESULT=$(npx jest --testPathPattern='tests/integration' --ci --json 2>/dev/null) - PASSED=$(echo $RESULT | jq '.numPassedTests') - TOTAL=$(echo $RESULT | jq '.numTotalTests') + RESULT=$(npx jest --testPathPattern='tests/integration' --ci --json 2>&1) || true + TOTAL=$(echo "$RESULT" | jq '.numTotalTests // 0') + PASSED=$(echo "$RESULT" | jq '.numPassedTests // 0') + if [ "$TOTAL" -eq 0 ]; then + echo "::error::No integration tests found"; exit 1 + fi RATE=$(echo "scale=2; $PASSED * 100 / $TOTAL" | bc) - echo "Pass rate: ${RATE}%" + echo "Pass rate: ${RATE}% ($PASSED/$TOTAL)" if (( $(echo "$RATE < 95" | bc -l) )); then - echo "::warning::Integration pass rate ${RATE}% below 95% threshold" + echo "::warning::Integration pass rate ${RATE}% below 95%" fi ``` diff --git a/skills/healthcare-phi-compliance/SKILL.md b/skills/healthcare-phi-compliance/SKILL.md index ddd1eb2e..d8822185 100644 --- a/skills/healthcare-phi-compliance/SKILL.md +++ b/skills/healthcare-phi-compliance/SKILL.md @@ -3,9 +3,6 @@ name: healthcare-phi-compliance description: Protected Health Information (PHI) and Personally Identifiable Information (PII) compliance patterns for healthcare applications. Covers data classification, access control, audit trails, encryption, and common leak vectors. origin: Health1 Super Speciality Hospitals — contributed by Dr. Keyur Patel version: "1.0.0" -observe: "PostToolUse" -feedback: "manual" -rollback: "git revert" --- # Healthcare PHI/PII Compliance Patterns