Guidance for populating and consuming the Immunization profile

Introduction

The headings below list the elements of the Immunization profile and describe how to populate and consume them.

Immunization elements

id

Data type: Id Optionality: Mandatory Cardinality: 1..1

The logical identifier of the Immunization profile.

meta.profile

Data type: uri Optionality: Mandatory Cardinality: 1..1

The Immunization profile URL.

Fixed value https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Immunization-1

extension[parentPresent]

Data type: boolean Optionality: Required Cardinality: 0..1

Indicates whether a parent was present at the immunisation.

extension[recordedDate]

Data type: dateTime Optionality: Mandatory Cardinality: 1..1

This is the date the immunisation record (given or not given) was entered on the clinical system. This may be an audit trail date or equivalent for the record. If the immunisation has been transferred by GP2GP this SHOULD be the recorded date from the original record entry from the originating system.

extension[vaccinationProcedure]

Data type: CodeableConcept Optionality: Mandatory Cardinality: 1..1

The procedure code describing the vaccine that was administered or the situation code for a vaccination that was intended to be administered but was not done. See the profile for the valid codes.

identifier

Data type: Identifier Optionality: Mandatory Cardinality: 1..*

This MUST be populated with a globally unique and persistent identifier (that is, it doesn’t change between requests and therefore stored with the source data). This MUST be scoped by a provider specific namespace for the identifier.

Where consuming systems are integrating data from this resource to their local system, they MUST also persist this identifier at the same time.

status

Data type: Code Optionality: Mandatory Cardinality: 1..1

Fixed to the value completed for all Care Connect profiles.

notGiven

Data type: Boolean Optionality: Mandatory Cardinality: 1..1

Value of false for vaccinations which have been given (or reported as given). Value of true for vaccinations which were intended but not given.

vaccineCode

Data type: CodeableConcept Optionality: Mandatory Cardinality: 1..1

Vaccine product administered or intended to be administered.

Where the vaccine product that was administered is not known then the null flavour value code UNK MUST be populated.

patient

Data type: Reference(Patient) Optionality: Mandatory Cardinality: 1..1

A reference to the patient due to be immunised.

encounter

Data type: Reference(Encounter) Optionality: Required Cardinality: 0..1

The consultation within which this immunisation record was captured. This may represent when the vaccination was administered, intended to be administered or when the registered practice was informed of an immunisation administered elsewhere.

date

Data type: dateTime Optionality: Required Cardinality: 0..1

The date (and time if applicable) when the immunization was administered or intended to be administered. If the immunisation was administered elsewhere, this may be an estimated or partial date.

primarySource

Data type: Boolean Optionality: Mandatory Cardinality: 1..1

This indicates whether the record is based on information from the person who administered or intended to administer the vaccine.

This MUST be true where the immunisation record was recorded by the person who administered the vaccine or directly on behalf of the administrator of the vaccine (this includes recording the immunisation based on a complete, original, verifiable document from the administration of the vaccine). This MUST be false where it is a secondary report of a vaccination for example the recollection of the patient, the patient’s parent, carer or guardian or a secondary document.

As this relates to the context of the original source of the immunisation record, a record from a GP2GP transfer is still a primary record if it was originally recorded as primary.

If it is not known whether the record of the vaccination was made from a primary or secondary source, then return the default value of true.

reportOrigin

Data type: CodeableConcept Optionality: Required Cardinality: 0..1

This indicates the source of a secondary reported record.

This provides additional context to the source of the immunisation record where it is not based on information from the person who administered the vaccine. The reportOrigin element can be absent if the record is NOT from a primary source, but the origin of the record is otherwise not recorded / known.

This MUST be absent where primarySource is true.

location

Data type: Reference(Location) Optionality: Required Cardinality: 0..1

The GP practice, branch surgery or other location where the vaccination occurred or was intended to occur, if known.

If the immunisation record in the GP Clinical System does not record a location for the vaccination, but is linked to a consultation then

  • if the vaccine was administered or was intended to be administered during the consultation the location MUST be populated with the location of the consultation
  • if the vaccine was NOT administered or intended to be administered during the consultation and the location for the vaccination is therefore unknown, then a location MUST be absent

manufacturer

Data type: Reference(Organization) Optionality: Required Cardinality: 0..1

The manufacturer of the vaccine.

lotNumber

Data type: string Optionality: Required Cardinality: 0..1

The batch number of the vaccine.

expirationDate

Data type: date Optionality: Required Cardinality: 0..1

The expiry date of the batch the vaccine is from.

site

Data type: CodeableConcept Optionality: Required Cardinality: 0..1

The site on the body where the vaccine was administered. This MUST be absent for an intended vaccination which was not given.

route

Data type: CodeableConcept Optionality: Required Cardinality: 0..1

The route through which the vaccine entered the body. This MUST be absent for an intended vaccination which was not given.

doseQuantity

Data type: SimpleQuantity Optionality: Required Cardinality: 0..1

The amount of the vaccine administered. This MUST be absent for an intended vaccination which was not given.

practitioner

Data type: BackboneElement Optionality: Required Cardinality: 0..*

The person who recorded the vaccine as having been administered (or reason for not administering an intended vaccination) MUST be included. This MUST also include the practitioner who administered the vaccine if different to who recorded the vaccination.

practitioner.role

Data type: CodeableConcept Optionality:Required Cardinality: 0..1

The role of the referenced practitioner, if known. Where the role is unknown this MUST be absent.

The code EP (Entering Provider) MUST be used to designate the practitioner as having recorded the vaccination (or reason not given).

The code AP (Administering Provider) MUST be used to designate the practitioner as having administered the vaccination or intending to if the vaccine was not given.

practitioner.actor

Data type: Reference(Practitioner) Optionality: Mandatory Cardinality: 1..1

A reference to the practitioner profile for who administered and / or recorded the vaccine.

Where there is only a single practitioner recorded against the immunisation record:

  • if the practitioner recording the vaccination also administered it (or intended to), then associate a practitioner.role code AP (Administering Provider) with practitioner profile
  • if the GP Clinical System cannot determine whether the practitioner administered the vaccine or just recorded the vaccination event or both, then do not return a practitioner.role

This is mandatory where the practitioner.role is populated.

note

Data type: Annotation Optionality: Required Cardinality: 0..*

Notes about the immunization.

explanation.reason

Data type: CodeableConcept Optionality: Required Cardinality: 0..*

The reason why the immunization was given, for example, travel, occupation, and so on. This MUST be absent if notGiven is true.

explanation.reasonNotGiven

Data type: CodeableConcept Optionality: Required Cardinality: 0..*

The reason why the immunization was not given, such as declined, contra-indicated, unfit or did not attend. This MUST be absent if notGiven is false.

vaccinationProtocol

Data type: BackboneElement Optionality: Required Cardinality: 0..*

The protocol for the vaccination. This MUST be absent if notGiven is true.

vaccinationProtocol.doseSequence

Data type: positiveInt Optionality: Mandatory Cardinality: 1..1

If the immunisation is achieved via a series of vaccinations, this is the position of the vaccine procedure in the series.

vaccinationProtocol.description

Data type: string Optionality: Required Cardinality: 0..1

A description for the vaccination protocol this vaccination is administered under.

vaccinationProtocol.seriesDoses

Data type: positiveInt Optionality: Required Cardinality: 0..1

The number of doses in the series which are required for vaccination given (at the time it was given / not given).

vaccinationProtocol.targetDisease

Data type: CodeableConcept Optionality: Mandatory Cardinality: 1..*

The disease or diseases the patient is being immunised against.

vaccinationProtocol.doseStatus

Data type: CodeableConcept Optionality Mandatory Cardinality 1..1

Fixed value count

Immunization elements not in use

The following elements MUST NOT be populated:

reaction

Data type: BackboneElement

Any reaction to an immunization MUST be sent separately in an AllergyIntolerance profile.

vaccinationProtocol.authority

Data type: Reference(Organization)

vaccinationProtocol.series

Data type: string

vaccinationProtocol.doseStatusReason

Data type: CodeableConcept