{
  "what_this_is": "synthetic healthcare data for development. No real PHI is present and none may be sent to a sandbox organization.",
  "why_the_fixtures_are_provably_fake": {
    "phone": "555-01xx is the North American range reserved for fiction",
    "email": ".invalid is reserved by RFC 2606 and can never resolve",
    "ssn": "numbers beginning 9 have never been issued by the SSA",
    "mrn": "SYN- prefix",
    "address": "postal code 99999, state ZZ, a street that does not exist"
  },
  "get_credentials": "POST /health/v1/sandbox/signup with {\"name\":\"Your Company\",\"email\":\"you@example.com\"} — returns an API key immediately, no card, no wallet.",
  "fixtures": {
    "patient": {
      "resourceType": "Patient",
      "id": "syn-patient-001",
      "identifier": [
        {
          "system": "urn:animica:sandbox:mrn",
          "value": "SYN-100000"
        }
      ],
      "active": true,
      "name": [
        {
          "use": "official",
          "family": "Cordova",
          "given": [
            "Avery"
          ]
        }
      ],
      "telecom": [
        {
          "system": "phone",
          "value": "555-0110",
          "use": "home"
        },
        {
          "system": "email",
          "value": "avery.cordova@example.invalid"
        }
      ],
      "gender": "female",
      "birthDate": "1960-01-10",
      "address": [
        {
          "use": "home",
          "line": [
            "1 Nonexistent Way"
          ],
          "city": "Testville",
          "state": "ZZ",
          "postalCode": "99999",
          "country": "US"
        }
      ]
    },
    "patients": [
      {
        "resourceType": "Patient",
        "id": "syn-patient-001",
        "identifier": [
          {
            "system": "urn:animica:sandbox:mrn",
            "value": "SYN-100000"
          }
        ],
        "active": true,
        "name": [
          {
            "use": "official",
            "family": "Cordova",
            "given": [
              "Avery"
            ]
          }
        ],
        "telecom": [
          {
            "system": "phone",
            "value": "555-0110",
            "use": "home"
          },
          {
            "system": "email",
            "value": "avery.cordova@example.invalid"
          }
        ],
        "gender": "female",
        "birthDate": "1960-01-10",
        "address": [
          {
            "use": "home",
            "line": [
              "1 Nonexistent Way"
            ],
            "city": "Testville",
            "state": "ZZ",
            "postalCode": "99999",
            "country": "US"
          }
        ]
      },
      {
        "resourceType": "Patient",
        "id": "syn-patient-002",
        "identifier": [
          {
            "system": "urn:animica:sandbox:mrn",
            "value": "SYN-100007"
          }
        ],
        "active": true,
        "name": [
          {
            "use": "official",
            "family": "Fairbourne",
            "given": [
              "Jordan"
            ]
          }
        ],
        "telecom": [
          {
            "system": "phone",
            "value": "555-0111",
            "use": "home"
          },
          {
            "system": "email",
            "value": "jordan.fairbourne@example.invalid"
          }
        ],
        "gender": "male",
        "birthDate": "1961-02-11",
        "address": [
          {
            "use": "home",
            "line": [
              "1 Nonexistent Way"
            ],
            "city": "Testville",
            "state": "ZZ",
            "postalCode": "99999",
            "country": "US"
          }
        ]
      },
      {
        "resourceType": "Patient",
        "id": "syn-patient-003",
        "identifier": [
          {
            "system": "urn:animica:sandbox:mrn",
            "value": "SYN-100014"
          }
        ],
        "active": true,
        "name": [
          {
            "use": "official",
            "family": "Isley",
            "given": [
              "Riley"
            ]
          }
        ],
        "telecom": [
          {
            "system": "phone",
            "value": "555-0112",
            "use": "home"
          },
          {
            "system": "email",
            "value": "riley.isley@example.invalid"
          }
        ],
        "gender": "female",
        "birthDate": "1962-03-12",
        "address": [
          {
            "use": "home",
            "line": [
              "1 Nonexistent Way"
            ],
            "city": "Testville",
            "state": "ZZ",
            "postalCode": "99999",
            "country": "US"
          }
        ]
      }
    ],
    "observation": {
      "resourceType": "Observation",
      "id": "syn-obs-001",
      "status": "final",
      "category": [
        {
          "coding": [
            {
              "system": "http://terminology.hl7.org/CodeSystem/observation-category",
              "code": "laboratory"
            }
          ]
        }
      ],
      "code": {
        "coding": [
          {
            "system": "urn:animica:demo-terminology",
            "code": "LB-1000",
            "display": "Demonstration glucose measurement"
          }
        ],
        "text": "Glucose (synthetic)"
      },
      "subject": {
        "reference": "Patient/syn-patient-001"
      },
      "effectiveDateTime": "2026-03-04T09:15:00Z",
      "valueQuantity": {
        "value": 96,
        "unit": "mg/dL",
        "system": "http://unitsofmeasure.org",
        "code": "mg/dL"
      }
    },
    "observation_invalid": {
      "resourceType": "Observation",
      "id": "syn-obs-bad",
      "status": "complete",
      "subject": {
        "reference": "Encounter/syn-enc-001"
      },
      "valueQuantity": {
        "value": "ninety-six",
        "code": "mg/dL"
      }
    },
    "condition": {
      "resourceType": "Condition",
      "id": "syn-cond-001",
      "clinicalStatus": {
        "coding": [
          {
            "system": "http://terminology.hl7.org/CodeSystem/condition-clinical",
            "code": "active"
          }
        ]
      },
      "verificationStatus": {
        "coding": [
          {
            "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status",
            "code": "confirmed"
          }
        ]
      },
      "code": {
        "coding": [
          {
            "system": "urn:animica:demo-terminology",
            "code": "DX-B200",
            "display": "Synthetic hypertension (sandbox)"
          }
        ]
      },
      "subject": {
        "reference": "Patient/syn-patient-001"
      },
      "recordedDate": "2026-01-15"
    },
    "bundle": {
      "resourceType": "Bundle",
      "type": "collection",
      "entry": [
        {
          "fullUrl": "urn:uuid:syn-patient-001",
          "resource": {
            "resourceType": "Patient",
            "id": "syn-patient-001",
            "identifier": [
              {
                "system": "urn:animica:sandbox:mrn",
                "value": "SYN-100000"
              }
            ],
            "active": true,
            "name": [
              {
                "use": "official",
                "family": "Cordova",
                "given": [
                  "Avery"
                ]
              }
            ],
            "telecom": [
              {
                "system": "phone",
                "value": "555-0110",
                "use": "home"
              },
              {
                "system": "email",
                "value": "avery.cordova@example.invalid"
              }
            ],
            "gender": "female",
            "birthDate": "1960-01-10",
            "address": [
              {
                "use": "home",
                "line": [
                  "1 Nonexistent Way"
                ],
                "city": "Testville",
                "state": "ZZ",
                "postalCode": "99999",
                "country": "US"
              }
            ]
          }
        },
        {
          "fullUrl": "urn:uuid:syn-obs-001",
          "resource": {
            "resourceType": "Observation",
            "id": "syn-obs-001",
            "status": "final",
            "code": {
              "text": "Glucose (synthetic)"
            },
            "subject": {
              "reference": "Patient/syn-patient-001"
            },
            "valueQuantity": {
              "value": 96,
              "unit": "mg/dL",
              "system": "http://unitsofmeasure.org",
              "code": "mg/dL"
            }
          }
        }
      ]
    },
    "lab_row": {
      "patient_id": "syn-patient-001",
      "status": "final",
      "code": "LB-1000",
      "code_system": "urn:animica:demo-terminology",
      "test_name": "Glucose (synthetic)",
      "value": "96",
      "unit": "mg/dL",
      "unit_system": "http://unitsofmeasure.org",
      "observed_at": "2026-03-04T09:15:00Z",
      "ref_low": "70",
      "ref_high": "99",
      "ordering_lab": "Sandbox Reference Lab"
    },
    "demographics_row": {
      "mrn": "SYN-100000",
      "mrn_system": "urn:animica:sandbox:mrn",
      "first_name": "Avery",
      "last_name": "Bexley",
      "gender": "female",
      "dob": "1960-01-10",
      "phone": "555-0110",
      "email": "avery.bexley@example.invalid",
      "address_line": "1 Nonexistent Way",
      "city": "Testville",
      "state": "ZZ",
      "postal_code": "99999",
      "legacy_column_we_do_not_map": "this should appear in `unmapped`"
    },
    "discharge_summary": "DISCHARGE SUMMARY\n\nPatient: Avery Bexley\nMRN: SYN-100000\nDOB: 1960-01-10\nAccount Number: SYN-ACCT-4471\nDate of Admission: 03/01/2026\nDischarge Date: 03/04/2026\nAttending: Dr. Rowan Fairbourne\nFacility: Sandbox General Hospital\n\nCHIEF COMPLAINT:\nChest discomfort on exertion.\n\nHISTORY OF PRESENT ILLNESS:\nA 66-year-old patient with a history of HTN presented with CP. Contact number 555-0110,\nemail avery.bexley@example.invalid. SSN 900-11-2222 on file.\n\nPAST MEDICAL HISTORY:\n- Hypertension\n- Type 2 diabetes mellitus\n\nMEDICATIONS:\n- Lisinopril 10 mg PO daily\n- Metformin 500 mg PO BID\n\nALLERGIES:\nNKDA\n\nHOSPITAL COURSE:\nThe patient was admitted on 2026-03-01. EKG was WNL. Serial troponins were negative.\nA stress test performed on 2026-03-03 showed no inducible ischaemia.\n\nDISCHARGE MEDICATIONS:\n- Lisinopril 10 mg PO daily\n- Metformin 500 mg PO BID\n- Aspirin 81 mg PO daily\n\nDISCHARGE INSTRUCTIONS:\nResume normal activity. Return for any recurrence of chest pain.\n\nFOLLOW UP:\nCardiology clinic in two weeks.\n\nElectronically signed by: Dr. Rowan Fairbourne, 03/04/2026",
    "radiology_report": "RADIOLOGY REPORT\n\nPatient: Jordan Cordova    MRN: SYN-100007\nExam Date: 02/18/2026\n\nINDICATION:\nCough, synthetic case.\n\nTECHNIQUE:\nFrontal and lateral chest radiographs.\n\nCOMPARISON:\nPrior study 11/02/2025.\n\nFINDINGS:\nThe lungs are clear. No focal consolidation. Cardiomediastinal silhouette within normal limits.\n\nIMPRESSION:\nNo acute cardiopulmonary process.",
    "canaries": {
      "name": "ZZCANARYNAMEZZ",
      "mrn": "ZZCANARY-MRN-0001",
      "ssn": "900-99-8888",
      "note": "ZZCANARYNOTEZZ the patient reported ZZCANARYSYMPTOMZZ",
      "email": "zzcanaryzz@example.invalid"
    }
  },
  "examples": {
    "curl": {
      "validate_fhir": "curl -s https://animica.dev/health/v1/fhir/validate \\\n  -H \"Authorization: Bearer ahk_test_YOUR_KEY\" \\\n  -H 'content-type: application/json' \\\n  -d '{\"execution_class\":\"HEALTH_PUBLIC\",\"resource\":{\"resourceType\":\"Observation\",\"id\":\"syn-obs-bad\",\"status\":\"complete\",\"subject\":{\"reference\":\"Encounter/syn-enc-001\"},\"valueQuantity\":{\"value\":\"ninety-six\",\"code\":\"mg/dL\"}}}'",
      "structure_document": "curl -s https://animica.dev/health/v1/documents/structure \\\n  -H \"Authorization: Bearer ahk_test_YOUR_KEY\" \\\n  -H 'content-type: application/json' \\\n  -d '{\"execution_class\":\"HEALTH_PUBLIC\",\"text\":\"DISCHARGE SUMMARY\\n\\nCHIEF COMPLAINT:\\nChest pain\"}'",
      "deidentify": "curl -s https://animica.dev/health/v1/deidentify \\\n  -H \"Authorization: Bearer ahk_test_YOUR_KEY\" \\\n  -H 'content-type: application/json' \\\n  -d '{\"execution_class\":\"HEALTH_PUBLIC\",\"strategy\":\"REDACT\",\"text\":\"Patient: Avery Bexley, MRN SYN-100000, phone 555-0110\"}'",
      "verify_receipt": "curl -s https://animica.dev/health/v1/provenance/verify \\\n  -H 'content-type: application/json' \\\n  -d '{\"receipt\": <paste the receipt object here>}'",
      "literature": "curl -s https://animica.dev/health/v1/literature/search \\\n  -H \"Authorization: Bearer ahk_test_YOUR_KEY\" \\\n  -H 'content-type: application/json' \\\n  -d '{\"query\":\"sepsis early warning score\",\"limit\":5}'"
    },
    "python": "from animica_health import AnimicaHealth\n\nclient = AnimicaHealth(api_key=\"ahk_test_YOUR_KEY\", base_url=\"https://animica.dev\")\n\nresult = client.inference(\n    model=\"health-document-structure\",\n    input=open(\"discharge_summary.txt\").read(),\n    execution_class=\"HEALTH_SECURE\",\n)\nprint(result.output)\nprint(result.receipt[\"receipt_id\"], result.receipt[\"model_hash\"])\n\n# Verify the receipt without trusting the response you just got:\nprint(client.verify(result.receipt, input=..., salt=result.commitment_salt))",
    "javascript": "import { AnimicaHealth } from '@animica/health';\n\nconst client = new AnimicaHealth({ apiKey: 'ahk_test_YOUR_KEY', baseUrl: 'https://animica.dev' });\n\nconst result = await client.fhir.validate({\n  resource: { resourceType: 'Observation', code: { text: 'Glucose' } },\n  executionClass: 'HEALTH_PUBLIC',\n});\nconsole.log(result.output.issues);   // -> [{ path: 'Observation.status', severity: 'error', ... }]\nconsole.log(result.receipt.receipt_id);"
  },
  "note": "sandbox usage is metered but excluded from every billing aggregate, and sandbox receipts carry sandbox:true so they can never be mistaken for production evidence."
}