{
  "openapi": "3.0.3",
  "info": {
    "title": "LogicalModels Enumeration API",
    "description": "API endpoint providing an enumeration of all available Logical Model schemas",
    "version": "1.0.0"
  },
  "paths": {
    "/LogicalModels.schema.json": {
      "get": {
        "summary": "Get enumeration of all logical_model schemas",
        "description": "Returns a list of all available logical_model schemas with metadata",
        "responses": {
          "200": {
            "description": "Successfully retrieved logical_model enumeration",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnumerationResponse"
                },
                "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
                    }
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "EnumerationResponse": {
        "$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
            }
          ]
        }
      }
    }
  }
}