{
    "Serilog": {
      "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.Seq" ],
      "MinimumLevel": {
        "Default": "Information",
        "Override": {
          "Microsoft.AspNetCore": "Warning",
          "Microsoft.EntityFrameworkCore.Database.Command": "Warning"
        }
      },
      "WriteTo": [
        { "Name": "Console", "Args": { "formatter": "Serilog.Formatting.Compact.CompactJsonFormatter, Serilog.Formatting.Compact" } },
        { "Name": "Seq", "Args": { "serverUrl": "http://localhost:5341" } }
      ],
      "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
      "Properties": {
        "Application": "VigilCareClinicalAPI"
      }
    },
    "Logging": {
      "LogLevel": {
        "Default": "Information",
        "Microsoft.AspNetCore": "Warning",
        "Microsoft.EntityFrameworkCore.Database.Command": "Warning"
      }
    },
    "Kafka": {
      "ReplicationFactor": 3,
      "NumPartitions": 6,
      "SecurityProtocol": "SaslSsl"
    },
    "Minio": {
      "UseSSL": true
    },
    "RabbitMq": {
      "UseSsl": true
    },
    "PhiEncryption": {
      "LogListAccess": true
    },
    "Swagger": { "Enabled": false },
    "Seeding": { "EnableDemoData": false },
    "Simulation": {
      // UAT / clinical evaluation: in-app scenario replay is on so testers can
      // exercise the ward without a terminal. Patients created here are marked
      // IsSimulated; Reset ward only deletes those rows. Do not enable against a
      // database that also holds real care data — use a dedicated UAT DB.
      "Enabled": true,
      "ScenarioDirectory": "Scenarios/List",
      "LoopbackBaseUrl": "http://localhost:8080",
      "RunnerUsername": "simulation.runner",
      "MaxConcurrentRuns": 8,
      "MaxSpeed": 600,
      "RunHistoryLimit": 50
    }
  }
  