Healthcare data science rules: encounter-based grain, clinical coding hierarchies, cost allocation, NULL semantics in clinical data.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add SignalPilot-Labs/SignalPilot --skill domain-healthcare --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Domain Healthcare?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/signalpilot-labs-domain-healthcare)More formats (shields.io, HTML) on the badges page.
---
name: domain-healthcare
description: "Healthcare data science rules: encounter-based grain, clinical coding hierarchies, cost allocation, NULL semantics in clinical data."
---
# Healthcare Data Science
## Driving Table
When aggregating clinical metrics, drive FROM the fact/event table (encounters, procedures, diagnoses), not the dimension table (patients, providers). Patients with zero encounters MUST NOT appear in utilization reports - they have no data to aggregate.
## Encounter-Based Grain
One patient encounter generates multiple diagnoses, procedures, medications, and cost entries. The grain of clinical fact tables is the EVENT (diagnosis, procedure), not the encounter or patient.
Do NOT aggregate to patient level without first verifying whether the task asks for patient-level or encounter-level output. Premature patient-level aggregation destroys per-encounter detail.
## Clinical Code Hierarchies
Healthcare coding systems are hierarchical - a parent code rolls up child codes:
- **ICD** (International Classification of Diseases) - diagnoses and conditions
- **CPT** (Current Procedural Terminology) - physician procedures
- **HCPCS** (Healthcare Common Procedure Coding System) - equipment, supplies, non-physician services
- **SNOMED CT** - clinical terms (conditions, procedures, substances)
- **DRG** (Diagnosis Related Groups) - inpatient payment grouping (MS-DRG for Medicare, APR-DRG for all-payer)
- **NUCC** (National Uniform Claim Committee) - provider taxonomy/specialty codes
- **LOINC** - lab tests and clinical observations
- **NDC** (National Drug Codes) - drug/medication identifiers
- **RxNorm** - normalized drug names
- **NPI** (National Provider Identifier) - provider identification
- **APC** (Ambulatory Payment Classification) - outpatient payment grouping
- **Revenue Codes** - facility billing line items
- **Place of Service Codes** - where care was delivered
When the task asks for a "condition" or "procedure category," check whether the project maps to a specific hierarchy level. Use the mapping table's grain, not a substring of the code.
When multiple codes map to one encounter, the encounter appears multiple times in the fact table - this is correct grain, not a duplicate.
## Taxonomy and Crosswalk Tables
When building a mapping between a complete taxonomy (all codes) and a partial crosswalk (only some codes have mappings), drive FROM the complete taxonomy table. LEFT JOIN the crosswalk onto it. Codes without a crosswalk mapping get NULL - that is correct, they are unmapped codes.
Driving from the crosswalk drops all codes that have no mapping, producing an incomplete taxonomy.
## Cost Allocation
Healthcare costs are allocated across diagnoses and procedures within an encounter. SUM(cost) across all rows for a patient double-counts shared encounter costs.
When the task asks for "total cost," verify whether costs are pre-allocated (sum is correct) or shared (need to deduplicate by encounter first).
## NULL Semantics
In clinical data, NULL means "not recorded," which is clinically different from "not present." A NULL diagnosis does NOT mean the patient is healthy - it means the data is incomplete.
NEVER filter NULL clinical columns unless the task explicitly excludes incomplete records. Filtering NULLs in clinical data silently drops patients with missing documentation.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!