Source profileQuality 86/100Review permissions

aks129/HealthClawGuardrails/skills/fasten-connect/SKILL.md

fasten-connect

Use this skill whenever connecting a patient's real health records from EHR systems (Epic, Cerner, Athena) or the TEFCA national network into HealthClaw Guardrails. Covers: Fasten Stitch widget embed, org_connection_id registration, EHI export job tracking, NDJSON ingestion status, TEFCA IAS identity-verified multi-provider retrieval, and post-import Curatr quality scan workflow.

Source repository stars
27
Declared platforms
0
Static risk flags
3
Last source update
2026-08-04
Source checked
2026-08-04

Decision brief

What it does—and where it fits

Connects patient-authorized real EHR data into HealthClaw Guardrails via Fasten Connect. Once ingested, all records flow through the full guardrail stack: PHI redaction, audit trail, step-up authorization, and tenant isolation.

Best for

    Not for

    • Background download uses a daemon thread — if the process restarts mid-download,
    • Download links expire after 24 hours — webhook triggers immediate download

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/aks129/HealthClawGuardrails --skill "skills/fasten-connect"
    Safe inspection promptEditorial

    Inspect the Agent Skill "fasten-connect" from https://github.com/aks129/HealthClawGuardrails/blob/b94ae9ea95695d5755e22b02ef7b7385f0e3aee7/skills/fasten-connect/SKILL.md at commit b94ae9ea95695d5755e22b02ef7b7385f0e3aee7. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      CLEAR verification (test mode)

      Phone: (from Fasten test patient credentials page) Email: (from Fasten test patient credentials page)

      Phone: (from Fasten test patient credentials page) Email: (from Fasten test patient credentials page)
    2. 02

      ID.me verification (test mode)

      Username: (test patient email) Password: IDme2026!!

      Username: (test patient email) Password: IDme2026!!
    3. 03

      Post-Import Curatr Workflow

      After ingestion completes, run Curatr evaluation on clinical resources:

      Deprecated code systems (ICD-9-CM flagged as critical)Invalid RxNorm, LOINC, SNOMED, CVX codesMissing US Core required fields (clinicalStatus, verificationStatus, etc.)
    4. 04

      Setup

      Review the “Setup” section in the pinned source before continuing.

      Review and apply the “Setup” source section.
    5. 05

      Environment Variables

      Review the “Environment Variables” section in the pinned source before continuing.

      Review and apply the “Environment Variables” source section.

    Permission review

    Static risk signals and limitations

    Network access

    medium · line 38

    The documentation includes network, browsing, or remote request actions.

    <link rel="stylesheet" href="https://stitch.fastenhealth.com/v0.4/bundle.css">

    Network access

    medium · line 39

    The documentation includes network, browsing, or remote request actions.

    <script src="https://stitch.fastenhealth.com/v0.4/bundle.js"></script>

    Sends data out

    high · line 82

    The documentation includes sending, uploading, or posting data to a remote service.

    curl -X POST https://api.connect.fastenhealth.com/v1/bridge/fhir/ehi-export \

    Runs scripts

    medium · line 211

    The documentation asks the agent to run terminal commands or scripts.

    docker-compose up -d --build

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score86/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars27SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    aks129/HealthClawGuardrails
    Skill path
    skills/fasten-connect/SKILL.md
    Commit
    b94ae9ea95695d5755e22b02ef7b7385f0e3aee7
    License
    MIT
    Collected
    2026-08-04
    Default branch
    main
    View the original SKILL.md

    Fasten Connect — Patient Health Record Ingestion

    Connects patient-authorized real EHR data into HealthClaw Guardrails via Fasten Connect. Once ingested, all records flow through the full guardrail stack: PHI redaction, audit trail, step-up authorization, and tenant isolation.

    Two modes:

    • Standard — patient authenticates with their EHR portal (Epic, Cerner, Athena, etc.)
    • TEFCA IAS — single identity verification (CLEAR / ID.me) retrieves records from all QHINs the patient has records at, without per-provider logins

    Environment Variables

    VariableRequiredDescription
    FASTEN_PUBLIC_KEYYesFasten API public key (public_test_* or public_live_*)
    FASTEN_PRIVATE_KEYYesFasten API private key — never expose client-side
    FASTEN_WEBHOOK_SECRETRecommendedStandard-Webhooks HMAC secret from Fasten portal
    FASTEN_CURATR_SCANNoSet true to run Curatr quality scan after each import

    Integration Flow

    1. Embed the Fasten Stitch Widget

    <!-- Standard mode -->
    <fasten-stitch-element public-id="your_public_test_key"></fasten-stitch-element>
    
    <!-- TEFCA IAS mode — identity-verified, multi-provider -->
    <fasten-stitch-element public-id="your_public_test_key" tefca-mode="true"></fasten-stitch-element>
    
    <link rel="stylesheet" href="https://stitch.fastenhealth.com/v0.4/bundle.css">
    <script src="https://stitch.fastenhealth.com/v0.4/bundle.js"></script>
    

    2. Handle the Widget Callback

    document.querySelector('fasten-stitch-element')
      .addEventListener('widget.complete', async (event) => {
        const { org_connection_id, endpoint_id, tefca_directory_id,
                platform_type, connection_status } = event.detail;
    
        // Register connection with HealthClaw Guardrails
        await fetch('/fasten/connections', {
          method: 'POST',
          headers: {
            'Content-Type': 'application/json',
            'X-Tenant-Id': YOUR_TENANT_ID,
          },
          body: JSON.stringify({
            org_connection_id,
            endpoint_id,
            tefca_directory_id,  // use this as stable ID in TEFCA mode
            platform_type,
            connection_status,
          }),
        });
      });
    

    3. Configure Your Webhook

    In the Fasten Developer Portal, set your webhook URL:

    https://your-domain.com/fasten/webhook
    

    The webhook fires patient.ehi_export_success when the export is ready. HealthClaw automatically downloads and ingests the FHIR NDJSON files.

    4. Trigger an EHI Export (optional — Fasten may auto-trigger)

    curl -X POST https://api.connect.fastenhealth.com/v1/bridge/fhir/ehi-export \
      -u "public_test_XXX:private_test_XXX" \
      -H "Content-Type: application/json" \
      -d '{"org_connection_id": "your-org-connection-id"}'
    

    5. Monitor Ingestion

    # List jobs for your tenant
    curl /fasten/jobs -H "X-Tenant-Id: tenant-001"
    
    # Poll a specific job
    curl /fasten/jobs/<task_id> -H "X-Tenant-Id: tenant-001"
    

    Job status lifecycle: pendingdownloadingingestingcomplete | failed


    HealthClaw API Endpoints

    MethodPathAuthDescription
    POST/fasten/webhookHMAC (Fasten-signed)Receive Fasten events
    POST/fasten/connectionsX-Tenant-IdRegister connection after Stitch widget
    GET/fasten/connections/<id>X-Tenant-IdConnection status
    GET/fasten/jobsX-Tenant-IdList ingestion jobs
    GET/fasten/jobs/<task_id>X-Tenant-IdSingle job status

    Guardrails Applied to Ingested Data

    Fasten imports pass through the full HealthClaw guardrail stack. Once a resource is ingested, all existing guardrails apply automatically:

    GuardrailBehavior
    PHI redactionApplied on every read — names to initials, identifiers masked, addresses stripped
    Audit trailEvery resource write creates an immutable AuditEvent
    Tenant isolationorg_connection_id is bound to one tenant_id at registration
    Curatr scanOptional: runs quality evaluation post-import (FASTEN_CURATR_SCAN=true)

    TEFCA IAS Specifics

    • Enable with tefca-mode="true" on the Stitch widget
    • Use tefca_directory_id (not endpoint_id) as the stable identifier
    • Scope is always patient/*.read — no narrower scope negotiation
    • Identity verification via CLEAR (phone + email) or ID.me (username/password)
    • May return tefca_no_documents_found when health systems have no records
    • Additional live-mode fees apply — test with synthetic patients first

    TEFCA Test Patients

    # CLEAR verification (test mode)
    Phone: (from Fasten test patient credentials page)
    Email: (from Fasten test patient credentials page)
    
    # ID.me verification (test mode)
    Username: (test patient email)
    Password: IDme2026!!
    
    # CCDA fixture override (API-mode testing)
    POST /v1/bridge/fhir/ehi-export
    {"org_connection_id": "...", "fixtures": {"tefca_ccda": "myra-jones.xml"}}
    

    Post-Import Curatr Workflow

    After ingestion completes, run Curatr evaluation on clinical resources:

    1. GET /fasten/jobs/<task_id>          → wait for status: "complete"
    2. fhir.search(patient, Condition)     → list ingested Conditions
    3. curatr.evaluate(Condition, id)      → check each for coding issues
    4. Present issues to patient in plain language
    5. Patient approves fixes
    6. curatr.apply_fix(resource, fixes)   → apply with Provenance trail
    

    Curatr checks ingested resources for:

    • Deprecated code systems (ICD-9-CM flagged as critical)
    • Invalid RxNorm, LOINC, SNOMED, CVX codes
    • Missing US Core required fields (clinicalStatus, verificationStatus, etc.)

    Webhook Events

    EventTriggerAction
    patient.ehi_export_successExport readyAuto-download + ingest
    patient.ehi_export_failedExport failedRecord failure reason
    patient.authorization_revokedConsent expiredMark connection revoked
    patient.connection_successWidget completeOptional auto-register
    webhook.testConfig testAccepted silently

    Note: Never log raw webhook payloads — patient.request_support events explicitly may contain PHI per Fasten documentation.


    File Size Handling

    Fasten exports range from ~30MB to 3GB+. HealthClaw uses HTTP streaming (httpx stream()) to handle large files without loading them into memory. Progress is committed to the database every 50 resources.

    Vercel limitation: Serverless functions timeout before large downloads complete. Railway or any persistent server deployment is required for production use with Fasten Connect. See railway.toml for Railway deployment config.


    Setup

    # Local development
    export FASTEN_PUBLIC_KEY=public_test_XXX
    export FASTEN_PRIVATE_KEY=private_test_XXX
    export FASTEN_WEBHOOK_SECRET=whsec_XXX  # from Fasten Developer Portal
    export FASTEN_CURATR_SCAN=true
    
    docker-compose up -d --build
    
    # Test webhook locally (use Fasten webhook simulator or ngrok)
    # Fasten Webhook Simulator: https://docs.connect.fastenhealth.com/guides/webhook-debugging-simulator.md
    

    Known Limitations

    • Background download uses a daemon thread — if the process restarts mid-download, the job remains in downloading status (re-trigger by calling the Fasten API again)
    • Download links expire after 24 hours — webhook triggers immediate download
    • TEFCA live mode has additional per-use fees (test mode is free with synthetic patients)
    • Upstream tenant isolation is local only — Fasten does not enforce tenant boundaries

    Alternatives

    Compare before choosing

    Computed 976

    mgiovani/cc-arsenal

    team-review

    Multi-agent review team: architecture, security, performance, testing, style, docs/UX, plus an adversary that cross-examines the other 6, for security-sensitive, architectural, or large PRs (15+ files) where a single-agent pass risks missing cross-cutting issues. Use for auth/payments/PII changes, schema/pattern changes, compliance sign-off, or when asked to 'get the review team on this' / 'multi-agent review' / 'thorough review before merge'. For a standard PR or a quick pre-merge check, use /r

    Computed 964,922

    dotnet/skills

    dotnet-webapi

    Guides creation and modification of ASP.NET Core Web API endpoints with correct HTTP semantics, OpenAPI metadata, and error handling. USE FOR: adding new API endpoints (controllers or minimal APIs), wiring up OpenAPI/Swagger, creating .http test files, setting up global error handling middleware. DO NOT USE FOR: general C# coding style, EF Core data access or query optimization (use optimizing-ef-core-queries), frontend/Blazor work, gRPC services, or SignalR hubs.

    Computed 95961

    fcakyon/claude-codex-settings

    livekit-skills

    Build voice AI agents with LiveKit Agents SDK. Use when the user asks to "build a voice agent", "create a LiveKit agent", "add voice AI", "implement handoffs", "structure agent workflows", or is working with LiveKit Agents SDK. Covers both LiveKit Cloud and self-hosted deployments using lk CLI.

    Computed 95195

    PramodDutta/qaskills

    API Test Suite Generator

    Automatically generate comprehensive API test suites from OpenAPI specifications covering CRUD operations, error handling, authentication, pagination, and edge cases