{
  "resourceType": "StructureDefinition",
  "id": "immunization-model",
  "url": "https://www.example.org/fhir/StructureDefinition/immunization-model",
  "version": "0.1.0",
  "name": "Model1",
  "status": "draft",
  "description": "This is the logical model of the patient's vaccination entries in an immunization or vaccination record. The patient vaccination record of several entries as modeled here.",
  "fhirVersion": "4.0.1",
  "kind": "logical",
  "abstract": false,
  "type": "Model-Immunization",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element",
  "derivation": "specialization",
  "differential": {
    "element": [
      {
        "id": "Model-Immunization",
        "path": "Model-Immunization",
        "short": "A record of an immunization or vaccination",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Model-Immunization.identifier",
        "path": "Model-Immunization.identifier",
        "short": "The business identifier(s) for the vaccination entry",
        "definition": "The business identifier(s) for the vaccination entry - This is an optional attribute, used for example to track an entry throughout its lifecycle, or across vaults.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Identifier"
          }
        ]
      },
      {
        "id": "Model-Immunization.status",
        "path": "Model-Immunization.status",
        "short": "The status of this vaccination record entry",
        "definition": "The status of the vaccination record entry - whether it is active, entered in error, etc.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code",
            "profile": "http://hl7.org/fhir/StructureDefinition/code"
          }
        ]
      },
      {
        "id": "Model-Immunization.statusReason",
        "path": "Model-Immunization.statusReason",
        "short": "The reason for the status e.g. 'not completed because...'",
        "definition": "Supporting reason for status information.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": "http://hl7.org/fhir/StructureDefinition/CodeableConcept"
          }
        ]
      },
      {
        "id": "Model-Immunization.patient",
        "path": "Model-Immunization.patient",
        "short": "The patient that received immunization.",
        "definition": "The patient that has received the immunization.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
          }
        ]
      },
      {
        "id": "Model-Immunization.vaccineCode",
        "path": "Model-Immunization.vaccineCode",
        "short": "The vaccine code, typically identified by the diseas(s) it covers. For example MMR, HPV, Tetanus, DTPa",
        "definition": "The vaccine code - a type of vaccine, typically identified by the disease(s) it covers. For example MMR, HPV, Tetanus, DTPa. This should be a coded value.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Model-Immunization.vaccinationDate[x]",
        "path": "Model-Immunization.vaccinationDate[x]",
        "short": "The date and time when the vaccination has been administered",
        "definition": "The date and/or time when the immunization administration has been administered or presumed to be administered",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          },
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Model-Immunization.vaccinationRequest",
        "path": "Model-Immunization.vaccinationRequest",
        "short": "The patient-specific order or recommendation for the vaccination",
        "definition": "The patient-specific order or recommendation for the vaccination, for example a prescription or a request for vaccination for a patient by a physician, for example for optional vaccines.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference"
          }
        ]
      },
      {
        "id": "Model-Immunization.protocol",
        "path": "Model-Immunization.protocol",
        "short": "The vaccination plan or protocol (not patient-specific) that this vaccination is fulfilling",
        "definition": "The vaccination plan or protocol (not patient-specific) that this vaccination is fulfilling. For example 'Basisvaccinatieschema'",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference"
          }
        ]
      },
      {
        "id": "Model-Immunization.type",
        "path": "Model-Immunization.type",
        "short": "The type of vaccination action - for example first dose or reinforcement.",
        "definition": "The type of vaccination action - for example first dose or reinforcement.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ]
      },
      {
        "id": "Model-Immunization.sequenceNumber",
        "path": "Model-Immunization.sequenceNumber",
        "short": "The sequence number of an immunization - whether it is the first dose, or second dose...",
        "definition": "The sequence number of an immunization when part of a protocol - if it is the first dose, or second dose...",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Model-Immunization.reporter",
        "path": "Model-Immunization.reporter",
        "short": "The professional that recorded the administration of the vaccine",
        "definition": "The professional that recorded the administration of the vaccine.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
          }
        ]
      },
      {
        "id": "Model-Immunization.recorded",
        "path": "Model-Immunization.recorded",
        "short": "The date and time when the administration of the vaccine was recorded",
        "definition": "The date and time when the administration of the vaccine was recorded - typically used when the vaccine event is recorded a posteriori.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ]
      },
      {
        "id": "Model-Immunization.performer",
        "path": "Model-Immunization.performer",
        "short": "The professional that administered the medication",
        "definition": "The professional that administered the medication. Use code \"unknown\" if not known.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
          }
        ]
      },
      {
        "id": "Model-Immunization.route",
        "path": "Model-Immunization.route",
        "short": "The route of administration.",
        "definition": "The route of administration for the vaccine. This can be free text (not desired) or a code",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Model-Immunization.administeredProduct",
        "path": "Model-Immunization.administeredProduct",
        "short": "The details of the product that was administered.",
        "definition": "The details of the product that was administered",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Model-Immunization.administeredProduct.product",
        "path": "Model-Immunization.administeredProduct.product",
        "short": "The actual product that was administered. This should be a produc code or a reference to an actual Medication resource",
        "definition": "The actual product that was administered. This can be just text (not desired), or a code (e.g. 1696392 = Neisvac C Dos 0,5ml) or a reference to an actual Medication product (e.g. http://server/Medication/1696392)",
        "comment": "In the case where the product is not known, use code \"unknown\"",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Reference"
          }
        ]
      },
      {
        "id": "Model-Immunization.administeredProduct.lotNumber",
        "path": "Model-Immunization.administeredProduct.lotNumber",
        "short": "The lot number",
        "definition": "The lot number",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Model-Immunization.administeredProduct.expirationDate",
        "path": "Model-Immunization.administeredProduct.expirationDate",
        "short": "The expiration date of the product.",
        "definition": "The expiration date of the product.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "date"
          }
        ]
      },
      {
        "id": "Model-Immunization.location",
        "path": "Model-Immunization.location",
        "short": "The location where the immunization is performed.",
        "definition": "The location where the immunization administration was performed. This can be a text (e.g. 'at the physician's office' or a code e.g. '00078' meaning 'patient's home' or a resource (Location) if one exists e.g. 'Location/kind-en-gezin-092375' which could be defining 'Kind en Gezin Gent Koepoortkaai'",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference"
          }
        ]
      },
      {
        "id": "Model-Immunization.note",
        "path": "Model-Immunization.note",
        "short": "Additional notes for the vaccination.",
        "definition": "Additional notes for the vaccination",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Attachment",
            "profile": "http://hl7.org/fhir/StructureDefinition/Attachment"
          }
        ]
      }
    ]
  }
}