{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/LogicalModels.schema.json",
  "title": "Logical Model Enumeration Schema",
  "description": "JSON Schema defining the structure of the Logical Model enumeration endpoint response",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "logical_model"
    },
    "count": {
      "type": "integer"
    },
    "schemas": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "logicalModelUrl": {
            "type": "string"
          },
          "propertyCount": {
            "type": "integer"
          }
        },
        "required": [
          "filename",
          "title",
          "url"
        ]
      }
    }
  },
  "required": [
    "type",
    "count",
    "schemas"
  ],
  "example": {
    "type": "logical_model",
    "count": 9,
    "schemas": [
      {
        "filename": "StructureDefinition-PreQualVaccine.schema.json",
        "id": "http://smart.who.int/base/StructureDefinition-PreQualVaccine.schema.json",
        "title": "WHO PreQual Vaccine",
        "description": "Logical model for the vaccine type details\nfrom the WHO PreQual API (ProductDetails.VaccineDetails).\nContains only vaccine-type-level fields that are stable across products.\nProduct-specific fields (CommercialName, RouteOfAdministration) remain on FinishedVaccineProducts.",
        "url": "./StructureDefinition-PreQualVaccine.schema.json",
        "propertyCount": 4
      },
      {
        "filename": "StructureDefinition-PreQualManufacturer.schema.json",
        "id": "http://smart.who.int/base/StructureDefinition-PreQualManufacturer.schema.json",
        "title": "WHO PreQual Manufacturer",
        "description": "Logical model for the manufacturer/applicant organization\nfrom the WHO PreQual API (ProductDetails.ApplicantOrganization).",
        "url": "./StructureDefinition-PreQualManufacturer.schema.json",
        "propertyCount": 12
      },
      {
        "filename": "StructureDefinition-PreQualSiteDetail.schema.json",
        "id": "http://smart.who.int/base/StructureDefinition-PreQualSiteDetail.schema.json",
        "title": "WHO PreQual Site Detail",
        "description": "Logical model for manufacturing site details\nfrom the WHO PreQual API (SiteDetails).",
        "url": "./StructureDefinition-PreQualSiteDetail.schema.json",
        "propertyCount": 10
      },
      {
        "filename": "StructureDefinition-PreQualNRA.schema.json",
        "id": "http://smart.who.int/base/StructureDefinition-PreQualNRA.schema.json",
        "title": "WHO PreQual NRA",
        "description": "Logical model for the responsible National Regulatory Authority (NRA)\nfrom the WHO PreQual API (ProductDetails.NRADetails).",
        "url": "./StructureDefinition-PreQualNRA.schema.json",
        "propertyCount": 7
      },
      {
        "filename": "StructureDefinition-PreQualProductPackaging.schema.json",
        "id": "http://smart.who.int/base/StructureDefinition-PreQualProductPackaging.schema.json",
        "title": "WHO PreQual Product Packaging",
        "description": "Logical model for product packaging details\nfrom the WHO PreQual API (ProductPackaging).",
        "url": "./StructureDefinition-PreQualProductPackaging.schema.json",
        "propertyCount": 13
      },
      {
        "filename": "StructureDefinition-PreQualProductIngredient.schema.json",
        "id": "http://smart.who.int/base/StructureDefinition-PreQualProductIngredient.schema.json",
        "title": "WHO PreQual Product Ingredient",
        "description": "Logical model for product ingredient details\nfrom the WHO PreQual API (ProductIngredients).",
        "url": "./StructureDefinition-PreQualProductIngredient.schema.json",
        "propertyCount": 7
      },
      {
        "filename": "StructureDefinition-FinishedVaccineProducts.schema.json",
        "id": "http://smart.who.int/base/StructureDefinition-FinishedVaccineProducts.schema.json",
        "title": "WHO Vaccine PreQual DB - Finished Vaccine Products",
        "description": "WHO Vaccine PreQual DB - Finished Vaccine Products.\nLogical model for the WHO PreQual DB as provided by the backend API at:\n     https://extranet.who.int/prequal/vaccines/prequalified-vaccines\nThis model provides authoritative vaccine product IDs and a richer data structure compared to the CSV export.\nSub-objects with Identification.Id are modeled as separate logical models and linked via references.\n\nKey fields from the API (FinishedVaccineProducts):\n  ProductDetails.Identification.Id - Vaccine Product ID (authoritative)\n  ProductDetails.Identification.Name - Product reference name (e.g. FVP-P-447)\n  ProductDetails.Type - Product type code (e.g. Finished Vaccine Product)\n  ProductDetails.DateOfPreQualifiedAcceptance - Date of prequalification\n  ProductDetails.AssessmentProcedure - Assessment procedure code\n  ProductDetails.ApplicantOrganization - Manufacturer/applicant with ID, name, address\n  ProductDetails.Presentation - Presentation form (Vial, Ampoule, etc.)\n  ProductDetails.PharmaceuticalForm - Pharmaceutical form details\n  ProductDetails.DosageDetails.NoOfDosagesPerPrimaryContainer - Number of doses\n  ProductDetails.NRADetails - Responsible NRA with ID, name, address\n  ProductDetails.VaccineDetails - Vaccine type with full, abbreviated, and commercial names\n  ProductDetails.StorageDetails - Storage temperature and shelf life\n  ProductDetails.Status - Prequalification status code",
        "url": "./StructureDefinition-FinishedVaccineProducts.schema.json",
        "propertyCount": 42
      },
      {
        "filename": "StructureDefinition-PreQualBulkSupplier.schema.json",
        "id": "http://smart.who.int/base/StructureDefinition-PreQualBulkSupplier.schema.json",
        "title": "WHO PreQual Bulk Supplier",
        "description": "Logical model for the bulk supplier organization\nfrom the WHO PreQual API (ProductDetails.BulkSupplier).",
        "url": "./StructureDefinition-PreQualBulkSupplier.schema.json",
        "propertyCount": 3
      },
      {
        "filename": "StructureDefinition-PreQualDocumentDetail.schema.json",
        "id": "http://smart.who.int/base/StructureDefinition-PreQualDocumentDetail.schema.json",
        "title": "WHO PreQual Document Detail",
        "description": "Logical model for document details\nfrom the WHO PreQual API (DocumentDetails).",
        "url": "./StructureDefinition-PreQualDocumentDetail.schema.json",
        "propertyCount": 7
      }
    ]
  }
}