# Orthodontics: Knowledge Base Using Django

## Summary  
A knowledge base blueprint for orthodontics built with Django on Ample. Domain schema:  
- **appliance_types** (code, name, description, typical_duration_months): braces and aligner options;  
- **treatment_stages** (appliance_type_id, stage_no, name, what_to_expect): public description of treatment phases;  
- **locations** (name, address, phone, opening_hours): practice locations;  
- **age_groups** (name, guidance): children, teens and adults guidance;  
- **asset_versions** (version, cdn_key, published_at): versioned assets served from the CDN bucket.  
Public information includes appliance options and durations, stage-by-stage expectations, and age-group guidance.  
Kept out of scope until handling is reviewed: patient scans and treatment plans, progress photos, guardian and minor identity.  
Orthodontic plans and progress imagery are health data; keep them out of scope 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  
- Orthodontics: knowledge base using Django  
- Where can I host Orthodontics: Knowledge base built with Django?  
- I need a genuinely specialized knowledge base workflow covering public specialty-service navigation and clinician information; no treatment records.

## Workflow Steps  
1. **Model the orthodontics domain**  
   Create the tables `appliance_types`, `treatment_stages`, `locations`, `age_groups`, and `asset_versions`.  
   Braces and aligner options live in `appliance_types`; keep the sensitive classes (patient scans and treatment plans, progress photos, guardian and minor identity) 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 orthodontics workflow.  
   Command: `ample logs  --kind build`

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

## Success Checks  
- App responds on its public URL:  
   Kind: `http_get`  
   Path: `/`  
   Expect: `ample canary django patterns`  
- 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 orthodontics 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. Orthodontic plans and progress imagery are health data; keep them out of scope 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  
- Authoritative: true  
- 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  
- 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.

## Evidence Summary  
- **Canary Run**  
  Summary: Django pattern fixture deployed on Ample (pip install into .ample/python from requirements.txt, then waitress serving project.wsgi from run.py reading PORT on the python-3.12 template); 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.  
  The blueprint's Orthodontics schema and workflow below build on that verified basis and were not separately executed.  
  Observed At: `2026-09-20T03:31:44Z`  
  Implementation Revision: `03b6402b1b3e19178985f08ea4033804521d85d4-dirty (CLI b75e104)`  
  Expires At: `2027-03-19T03:31:44Z`  
  Scope:  
  - Checks: `/p/versioned-static-assets`  
  - Pattern: `pattern:public-web-service`  
  - Template: `python-3.12`

## Last Verified At  
- `2026-09-20T03:31:44Z`

## Unknowns  
- Region availability is unknown until a verified region fact is recorded.  
- Compliance attestations are unknown; none are claimed.

## Formats  
- HTML: [https://ample.computer/blueprints/orthodontics/knowledge-base/django](/content/blueprints/orthodontics/knowledge-base/django/index.html)  
- Markdown: [https://ample.computer/blueprints/orthodontics/knowledge-base/django.md](/content/blueprints/orthodontics/knowledge-base/django.md)  
- JSON: [https://api.ample.computer/v1/catalog/recipes/page%3Ablueprints%3Aorthodontics%3Aknowledge-base%3Adjango](https://api.ample.computer/v1/catalog/recipes/page%3Ablueprints%3Aorthodontics%3Aknowledge-base%3Adjango)

## Next Actions  
- **Browse Catalog**: Browse the catalog index  
  - Operation: `GET`  
  - Relative Path: `/v1/catalog`  
- **Search Recipes**: Search published recipes by intent, stack, and constraints  
  - Operation: `POST`  
  - Relative Path: `/v1/catalog/search`  
  - Body:  
    - Limit: 5  
    - Query: `Orthodontics: knowledge base using Django`  
- **Prepare Deployment Plan**: Prepare a side-effect-free deployment plan for an authorized project  
  - Operation: `POST`  
  - Relative Path: `/v1/catalog/plan`  
- **Read Authentication Setup**: Read the existing agent authentication setup  
  - Operation: `GET`  
  - Relative Path: `/mcp/setup`  
- **Browse Orthodontics**: Browse Orthodontics  
  - Operation: `GET`  
  - Relative Path: `/v1/catalog/nodes/industry%3Aorthodontics`  
- **Browse Knowledge Base**: Browse Knowledge base  
  - Operation: `GET`  
  - Relative Path: `/v1/catalog/nodes/workload%3Aknowledge-base`  
- **Browse Django**: Browse Django  
  - Operation: `GET`  
  - Relative Path: `/v1/catalog/nodes/stack%3Aframework-django`  
- **Browse Deploy Web App**: Browse Deploy web app  
  - Operation: `GET`  
  - Relative Path: `/v1/catalog/nodes/intent%3Adeploy-web-app`
