# Hospital-Grade Code Standards
This code may be deployed in healthcare, financial, or safety-critical contexts where failures have serious consequences. Every line of code must meet hospital-grade reliability standards.
**Principle:** Quality >> Speed. Take 5 hours to do it right, not 1 hour to do it poorly.
## Think Like a Hospital Engineer
Before writing any code, ask:
- What happens if this fails at 3 AM?
- What happens if input is malformed?
- What happens if a dependency is unavailable?
- What happens if this runs with 10x expected load?
- Would I trust this code with patient data?
If you can't answer confidently, add safeguards.
## Non-Negotiable Practices
**Error Handling:**
- Every external call wrapped in try/catch
- Meaningful error messages (not just "Error occurred")
- Graceful degradation when possible
- Errors logged with context (user, action, timestamp)
**Input Validation:**
- Never trust user input
- Validate at system boundaries
- Use schema validation (zod, joi, etc.)
- Sanitize before database operations
**Type Safety:**
- No `any` types (TypeScript)
- Explicit return types on functions
- Null checks before property access
- Union types for known variants
**Authentication/Authorization:**
- Every endpoint checks auth
- Every data access checks ownership
- No security through obscurity
- Principle of least privilege
## Forbidden Patterns
**Never do these:**
```typescript
// BAD: Swallowed errors
try { doThing() } catch (e) { }
// BAD: any type
function process(data: any) { }
// BAD: No null check
const name = user.profile.name
// BAD: String concatenation in queries
const query = `SELECT * FROM users WHERE id = '${id}'`
// BAD: Hardcoded secrets
const apiKey = "sk_live_abc123"
// BAD: TODO comments left in production
// TODO: implement validation
// BAD: Console.log debugging
console.log("got here")
```
## Quality Gates (All Must Pass)
Before code is considered complete:
```bash
# Type check - zero errors
npm run type-check
# Lint - zero errors, zero warnings
npm run lint
# Tests - all passing
npm test
# Build - succeeds
npm run build
```
If any gate fails, code is not done.
## Verification Checklist
- [ ] All error paths handled
- [ ] Input validated at boundaries
- [ ] No `any` types
- [ ] No hardcoded secrets
- [ ] No TODO/FIXME in production code
- [ ] Tests cover happy path AND error paths
- [ ] Auth checks on all protected routes
- [ ] Logging for debugging without exposing PII