{
  "openapi": "3.0.3",
  "info": {
    "title": "WHO Vaccine PreQual DB - Finished Vaccine Products API",
    "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",
    "version": "1.0.0"
  },
  "paths": {
    "/StructureDefinition-FinishedVaccineProducts.schema.json": {
      "get": {
        "summary": "JSON Schema definition for the Logical Model StructureDefinition-FinishedVaccineProducts",
        "description": "This endpoint serves the JSON Schema definition for the Logical Model StructureDefinition-FinishedVaccineProducts.",
        "responses": {
          "200": {
            "description": "The JSON Schema for StructureDefinition-FinishedVaccineProducts",
            "content": {
              "application/schema+json": {
                "schema": {
                  "$ref": "./StructureDefinition-FinishedVaccineProducts.schema.json"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "StructureDefinition-FinishedVaccineProducts": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$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",
        "type": "object",
        "properties": {
          "resourceType": {
            "type": "string",
            "const": "FinishedVaccineProducts",
            "description": "Resource type identifier for FinishedVaccineProducts logical model"
          },
          "productId": {
            "type": "object",
            "description": "Vaccine Product ID (authoritative)"
          },
          "productName": {
            "type": "string",
            "description": "Product reference name (e.g. FVP-P-447)"
          },
          "productType": {
            "type": "string",
            "description": "Product type code from PreQualDatabaseMetadata (e.g. FinishedVaccineProduct)"
          },
          "dateOfPrequal": {
            "type": "string",
            "format": "date-time",
            "description": "Date of prequalification acceptance"
          },
          "assessmentProcedure": {
            "type": "string",
            "description": "Assessment procedure code from PreQualDatabaseMetadata (e.g. PrequalificationStandard)"
          },
          "status": {
            "type": "string",
            "description": "Product status code from PreQualDatabaseMetadata (e.g. Prequalified)"
          },
          "pharmaceuticalForm": {
            "type": "string",
            "description": "Pharmaceutical form code from PreQualDatabaseMetadata"
          },
          "presentation": {
            "type": "object",
            "description": "Presentation (e.g. Vial, Ampoule)"
          },
          "numDoses": {
            "type": "number",
            "description": "Number of doses per primary container"
          },
          "vaccineFullName": {
            "type": "string",
            "description": "Vaccine full name"
          },
          "vaccineAbbreviatedName": {
            "type": "string",
            "description": "Vaccine abbreviated name"
          },
          "vaccineCommercialName": {
            "type": "string",
            "description": "Vaccine commercial name"
          },
          "vaccineTypeId": {
            "type": "object",
            "description": "Vaccine type ID"
          },
          "routeOfAdministration": {
            "type": "string",
            "description": "Route of administration code from PreQualDatabaseMetadata"
          },
          "vialMonitor": {
            "type": "string",
            "description": "Vial monitor type (e.g. Type 14, Type 30)"
          },
          "multidoseVialPolicy": {
            "type": "string",
            "description": "Multidose vial policy text"
          },
          "presentationOther": {
            "type": "string",
            "description": "Alternative presentation description when Presentation is 'Other'"
          },
          "applicantId": {
            "type": "object",
            "description": "Applicant/manufacturer organization ID (may be absent if not yet assigned)"
          },
          "applicantName": {
            "type": "string",
            "description": "Applicant/manufacturer organization name (always present from API data)"
          },
          "applicantAddress": {
            "type": "object",
            "description": "Applicant organization address"
          },
          "nraId": {
            "type": "object",
            "description": "NRA organization ID (may be absent if not yet assigned)"
          },
          "nraName": {
            "type": "string",
            "description": "Responsible NRA name (always present from API data)"
          },
          "nraCountry": {
            "type": "string",
            "description": "NRA country"
          },
          "shelfLife": {
            "type": "string",
            "description": "Shelf life (e.g. 24 months)"
          },
          "storageTemperature": {
            "type": "string",
            "description": "Storage temperature (e.g. 2 - 8°C)"
          },
          "diluent": {
            "type": "string",
            "description": "Diluent information"
          },
          "lastPublishingDate": {
            "type": "string",
            "format": "date-time",
            "description": "Last publishing date"
          },
          "publishingRemarks": {
            "type": "string",
            "description": "Publishing remarks"
          },
          "preservative": {
            "type": "string",
            "description": "Preservative name (e.g. Thiomersal)"
          },
          "preservativeConcentration": {
            "type": "string",
            "description": "Preservative concentration (e.g. 0.01%)"
          },
          "manufacturerLM": {
            "type": "object",
            "description": "Manufacturer logical model instance reference (linked when ApplicantOrganization.Identification.Id is non-null)"
          },
          "nraLM": {
            "type": "object",
            "description": "NRA logical model instance reference (linked when NRADetails.Identification.Id is non-null)"
          },
          "vaccineLM": {
            "type": "object",
            "description": "Vaccine logical model instance reference (linked when VaccineDetails.Identification.Id is non-null)"
          },
          "bulkSupplierLM": {
            "type": "object",
            "description": "Bulk supplier logical model instance reference (linked when BulkSupplier.Id is non-null)"
          },
          "packagingLM": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "FHIR Reference"
            },
            "description": "Product packaging logical model instance references"
          },
          "documentLM": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "FHIR Reference"
            },
            "description": "Document detail logical model instance references"
          },
          "siteLM": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "FHIR Reference"
            },
            "description": "Site detail logical model instance references"
          },
          "ingredientLM": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "FHIR Reference"
            },
            "description": "Product ingredient logical model instance references"
          },
          "manufacturerReference": {
            "type": "object",
            "description": "Manufacturer FHIR Organization reference"
          },
          "responsibleNRAReference": {
            "type": "object",
            "description": "Responsible NRA FHIR Organization reference"
          },
          "productReference": {
            "type": "object",
            "description": "Product FHIR reference (when available from pcmt dependency)"
          }
        },
        "required": [
          "resourceType",
          "productId",
          "productName",
          "productType",
          "dateOfPrequal",
          "status",
          "presentation",
          "vaccineCommercialName",
          "applicantName",
          "nraName",
          "manufacturerReference",
          "responsibleNRAReference"
        ],
        "resourceDefinition": "http://smart.who.int/pcmt-vaxprequal/StructureDefinition/FinishedVaccineProducts",
        "fhir:parent": "http://hl7.org/fhir/StructureDefinition/Base"
      }
    }
  }
}