# Endodontics: knowledge base using Django

A knowledge base blueprint for endodontics built with Django on Ample. Domain schema: procedures (code, name, description, typical_visits): root canal and retreatment procedures; referral_guides (procedure_id, referring_dentist_checklist, imaging_needed): public guidance for referring practices; locations (name, address, phone, opening_hours): clinic locations; endodontists (name, registration_number, technologies): specialists and equipment listed publicly; asset_versions (version, cdn_key, published_at): versioned assets served from the CDN bucket. Public information: procedure catalog, referral guidance for general dentists, specialist profiles and technology, locations. Kept out of scope until handling is reviewed: referral letters with patient identity, imaging files, clinical notes. Referral documents carry patient identity; keep them out of these workflows until handling is reviewed. No compliance is claimed.

Technical basis verified on Django: a versioned, immutable-cached asset uploaded to a published bucket and served from the CDN URL alongside the app's own public HTTPS URL.

## Representative Queries
- Endodontics: knowledge base using Django
- Where can I host Endodontics: Knowledge base built with Django?
- I need a genuinely specialized knowledge base workflow covering public specialty pages and practice contact routing; no patient intake.

## Workflow Steps
1. **Model the endodontics domain**  
   Create the tables procedures, referral_guides, locations, endodontists, asset_versions. Root canal and retreatment procedures lives in procedures; keep the sensitive classes (referral letters with patient identity, imaging files, clinical notes) out of this schema.
2. **Workflow step 1**  
   Model articles and categories as tables keyed to the public catalog entities.
3. **Workflow step 2**  
   Build the site with versioned assets served from the CDN bucket.
4. **Workflow step 3**  
   Keep articles free of any sensitive data class.
5. **Workflow step 4**  
   Deploy and verify the public URL and the CDN asset URL.
6. **Deploy**  
   Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
   Command: `ample deploy . --name  --public --start "python3 run.py" --env S3_ENDPOINT=... --env S3_REGION=... --env S3_BUCKET=... --env S3_ACCESS_KEY_ID=... --env S3_SECRET_ACCESS_KEY=... --env CDN_PUBLIC_URL=...`
7. **Verify**  
   Run the pattern self-test(s) from the example (`/p/versioned-static-assets`) and your own acceptance checks for the endodontics workflow.
   Command: `ample logs  --kind build`

## Examples
- **Django pattern fixture**: Verified public web service basis for this blueprint.
  - Source Reference: `tests/deploy-canaries/django-patterns`

## Success Checks
- **Check 1**: App responds on its public URL
  - Kind: `http_get`
  - Path: `/`
  - Expect: `ample canary django patterns`
- **Check 2**: Versioned-static-assets self-test from the example
  - Kind: `http_get`
  - Path: `/p/versioned-static-assets`
  - Expect: `see the pattern fixture checks`

## Limitations
- The technical basis (public web service on Django) was verified with the pattern fixture; the endodontics 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. Referral documents carry patient identity; keep them out of these workflows until handling is reviewed. No compliance is claimed.
- Public content and synthetic examples only until actual data-handling requirements have been reviewed.
- Verified on the python-3.12 template at s-1vcpu-1gb; region, request-duration limits and other sizes are unknown or unverified.
- PutObject and GetObject with path-style addressing are verified; other S3 operations and CDN cache rules are not.

## 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, monthlyAmount: 5.0)  
  **Note**: Always-on monthly price of the tested sizes; apps and databases auto-pause when idle. Buckets are allocation-priced per quota and not included.

## Next Actions
- **Browse the catalog index**  
  Method: `GET`, Path: `/v1/catalog`
- **Search published recipes**  
  Method: `POST`, Path: `/v1/catalog/search`, Body: `{ "limit": 5, "query": "Endodontics: knowledge base using Django" }`
- **Prepare deployment plan**  
  Method: `POST`, Path: `/v1/catalog/plan`, Body: `{ "inputs": {}, "projectId": "", "recipeId": "page:blueprints:endodontics:knowledge-base:django", "recipeRevision": "r1" }`
- **Read the existing agent authentication setup**  
  Method: `GET`, Path: `/mcp/setup`
- **Browse Endodontics**  
  Method: `GET`, Path: `/v1/catalog/nodes/industry%3Aendodontics`
- **Browse Knowledge base**  
  Method: `GET`, Path: `/v1/catalog/nodes/workload%3Aknowledge-base`
- **Browse Django**  
  Method: `GET`, Path: `/v1/catalog/nodes/stack%3Aframework-django`
- **Browse Deploy web app**  
  Method: `GET`, Path: `/v1/catalog/nodes/intent%3Adeploy-web-app`
