{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://hl7.erp.uno/priv/schema/ImmunizationEvaluation.schema.json",
  "$ref": "#/definitions/ImmunizationEvaluation",
  "description": "see https://hl7.org/fhir/R5/json.html for information about the FHIR Json Schemas",
  "definitions": {
    "markdown": {
      "pattern": "^^[\\s\\S]+$$",
      "type": "string",
      "description": "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine"
    },
    "canonical": {},
     "dateTime": {
      "description": "The date that the list was prepared.",
      "type": "string",
      "pattern": "-?([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?"
    },
    "code": {
      "pattern": "^[^\\s]+( [^\\s]+)*$",
      "type": "string",
      "description": "A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents"
    },
    "uri": {
      "pattern": "^\\S*$",
      "type": "string",
      "description": "String of characters used to identify a name or a resource"
    },
    "ImmunizationEvaluation": {
      "description": "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those  recommendations.",
      "properties": {
        "resourceType": {
          "description": "This is a ImmunizationEvaluation resource",
          "const": "ImmunizationEvaluation"
        },
        "id": {
          "description": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
          "type": "string"
        },
        "meta": {
          "description": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
          "$ref": "Meta.schema.json#/definitions/Meta"
        },
        "implicitRules": {
          "description": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
          "$ref": "#/definitions/uri"
        },
        "_implicitRules": {
          "description": "Extensions for implicitRules",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "language": {
          "description": "The base language in which the resource is written.",
          "$ref": "#/definitions/code"
        },
        "_language": {
          "description": "Extensions for language",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "text": {
          "description": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
          "$ref": "Narrative.schema.json#/definitions/Narrative"
        },
        "contained": {
          "description": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.",
          "items": {
            "$ref": "ResourceList.schema.json#/definitions/ResourceList"
          },
          "type": "array"
        },
        "extension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
          "items": {
            "$ref": "Extension.schema.json#/definitions/Extension"
          },
          "type": "array"
        },
        "modifierExtension": {
          "description": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element\u0027s descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
          "items": {
            "$ref": "Extension.schema.json#/definitions/Extension"
          },
          "type": "array"
        },
        "identifier": {
          "description": "A unique identifier assigned to this immunization evaluation record.",
          "items": {
            "$ref": "Identifier.schema.json#/definitions/Identifier"
          },
          "type": "array"
        },
        "status": {
          "description": "Indicates the current status of the evaluation of the vaccination administration event.",
          "$ref": "#/definitions/code"
        },
        "_status": {
          "description": "Extensions for status",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "patient": {
          "description": "The individual for whom the evaluation is being done.",
          "$ref": "Reference.schema.json#/definitions/Reference"
        },
        "date": {
          "description": "The date the evaluation of the vaccine administration event was performed.",
          "$ref": "#/definitions/dateTime"
        },
        "_date": {
          "description": "Extensions for date",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "authority": {
          "description": "Indicates the authority who published the protocol (e.g. ACIP).",
          "$ref": "Reference.schema.json#/definitions/Reference"
        },
        "targetDisease": {
          "description": "The vaccine preventable disease the dose is being evaluated against.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "immunizationEvent": {
          "description": "The vaccine administration event being evaluated.",
          "$ref": "Reference.schema.json#/definitions/Reference"
        },
        "doseStatus": {
          "description": "Indicates if the dose is valid or not valid with respect to the published recommendations.",
          "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
        },
        "doseStatusReason": {
          "description": "Provides an explanation as to why the vaccine administration event is valid or not relative to the published recommendations.",
          "items": {
            "$ref": "CodeableConcept.schema.json#/definitions/CodeableConcept"
          },
          "type": "array"
        },
        "description": {
          "description": "Additional information about the evaluation.",
          "$ref": "#/definitions/markdown"
        },
        "_description": {
          "description": "Extensions for description",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "series": {
          "description": "One possible path to achieve presumed immunity against a disease - within the context of an authority.",
          "type": "string"
        },
        "_series": {
          "description": "Extensions for series",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "doseNumber": {
          "description": "Nominal position in a series as determined by the outcome of the evaluation process.",
          "type": "string"
        },
        "_doseNumber": {
          "description": "Extensions for doseNumber",
          "$ref": "Element.schema.json#/definitions/Element"
        },
        "seriesDoses": {
          "description": "The recommended number of doses to achieve immunity as determined by the outcome of the evaluation process.",
          "type": "string"
        },
        "_seriesDoses": {
          "description": "Extensions for seriesDoses",
          "$ref": "Element.schema.json#/definitions/Element"
        }
      },
      "type": "object",
      "additionalProperties": false,
      "required": [
        "doseStatus",
        "patient",
        "targetDisease",
        "immunizationEvent",
        "resourceType"
      ]
    }
  }
}