## Oral surgery: campaign site using Next.js

### Summary
A campaign site blueprint for oral surgery built with Next.js on Ample. Domain schema: procedures (code, name, description, anesthesia_options, recovery_days): extractions, implants and corrective surgery; pre_op_instructions (procedure_id, instructions, fasting_rules): public preparation guidance; post_op_instructions (procedure_id, instructions, warning_signs): public recovery guidance; locations (name, address, phone, opening_hours, emergency_line): surgery locations; asset_versions (version, cdn_key, published_at): versioned assets served from the CDN bucket. Public information: procedure catalog with recovery expectations, pre- and post-operative instructions, emergency contact per location.

### Representative Queries
- Oral surgery: campaign site using Next.js
- Where can I host Oral surgery: Campaign site built with Next.js?
- I need a genuinely specialized campaign site workflow covering public procedure-category content and referral-contact directory; no clinical referrals.

### Technical Information
- **Framework:** Next.js
- **Workload:** Campaign site
- **Industry:** Oral surgery
- **Release Status:** published
- **Support Status:** verified
- **Execution Status:** ready

### Prerequisites
- A Next.js project (next build then next start -H 0.0.0.0 -p $PORT on the node-22 template)
- Bucket credentials from `ample bucket create` passed as encrypted S3_* environment variables and a published bucket for public assets (CDN_*)
- A review of which oral surgery data classes may be handled at all; this blueprint models public information only.

### Workflow Steps
1. Model the oral surgery domain: Create the tables procedures, pre_op_instructions, post_op_instructions, locations, asset_versions.
2. Build the site's offers and locations as tables with start and end dates.
3. Publish versioned static assets to the CDN bucket.
4. Collect no personal data on the site itself; hand off to an authorized system.
5. Deploy, verify the public URL and the CDN asset URL, and retire the campaign by end date.
6. Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
7. Run the pattern self-test(s) from the example and your own acceptance checks for the oral surgery workflow.

### Success Checks
- App responds on its public URL.
- Versioned-static-assets self-test from the example.

### Limitations
- The technical basis (public web service on Next.js) was verified with the pattern fixture; the oral surgery schema and workflow are an original design for this blueprint and were not executed as a separate application.
- No health, financial, privacy or other compliance claim is made. Surgical and medication records are health data; only public guidance belongs here. No compliance is claimed.

### Cost Estimate
- **Currency:** USD
- **Monthly Amount:** 5.0
- **Basis:** size prices from pricing.toml (loaded by the API) at build revision 1ac5595375130d45290090e82ed0f554ccd45405-dirty
- **Components:**
  - App server size: s-1vcpu-1gb; Quantity: 1.0; Monthly Amount: 5.0

### Examples
- **Next.js pattern fixture:** Verified public web service basis for this blueprint.

### Evidence Summary
- Next.js pattern fixture deployed on Ample; the public web service checks passed: a versioned, immutable-cached asset uploaded to a published bucket and served from the CDN URL alongside the app's own public HTTPS URL.
