Search loading...


Explore and Make use of Nationally Defined Messaging APIs



Guidance for populating and consuming the AllergyIntolerance profile


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

AllergyIntolerance elements


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

The logical identifier of the AllergyIntolerance profile.


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

The AllergyIntolerance profile URL.

Fixed value


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

Contains a link to the consultation where the allergy was first recorded.


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

Contains the date and reason the allergy or intolerance was recorded as resolved.

Must be populated if the clinicalStatus is set to resolved.


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

The date the allergy or intolerance was recorded as resolved.

Must be populated if the clinicalStatus is set to resolved.


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

The reason why the allergy or intolerance has been resolved. In exceptional cases where for legacy data there is no endReason recorder in the system then this MUST be populated with the text ‘No information available’.


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.


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

active for all active allergies. resolved for resolved allergies.

GP systems which support the concept of resolved/ended allergies MUST set the clinicalStatus of resolved allergies to resolved and populate the end date field, where an allergy or intolerance is resolved/ended.


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

Fixed value of unconfirmed.


Data type: Code Optionality: Optional Cardinality: 0..1

Set to allergy for reactions which are allergenic in nature (immunological), a value of intolerance MAY be used to indicate adverse reactions (not immunologic in nature). Where the type is unknown the type element may be omitted.


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

Use medication for all drug allergy types, environment for all non-drug allergies. The other values in the ValueSet (food and biologic) MUST NOT be used.

It is expected that it will always be possible to assign a category of ‘medication’ for drug allergies or ‘environmental’ for all other types of allergy/intolerance. Generally, the choice in a given system is explicit. The GP suppliers MUST follow the categorisation already in use in populating the GP2GP message.

In some cases, the type of allergy/intolerance may be more general - for example, a system designated type of Other or equivalent. In such cases, if the allergy/intolerance entry interacts with prescribing decision support it MUST be assigned a category of medication. Otherwise, the category of environment MUST be used.


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

Distinguishes between life-threatening (high) and non-life-threatening (low) potential as well as unable-to-assess. It MAY be used in addition to severity within the reaction element to express severity - for example, systems that support a severity of life-threatening MAY set criticality to high.

It MAY be used in conjunction with reaction/severity by systems which support a severity of life-threatening or equivalent.


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

The causative agent such as food, drug or substances that has caused or may cause an allergy, intolerance or adverse reaction in this patient.

Systems will evolve to use the specified vocabulary of SNOMED CT concepts from the specified subset. The subset includes products and concepts from the substance and product hierarchies and allows medication concepts from the dm+d SNOMED CT extension.

In the interim this coded element will hold the primary code for the AllergyIntolerance which may in the case of drug allergies be a medication code or a pre-coordinated code which triggers decision support on the system.

Where the AllergyIntolerance has no coded representation in the source system, but is identified as such in the source record then the appropriate degrade code may be used and the text of the AllergyIntolerance placed in the text of the code.


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

A reference to the Patient who has, or had, the allergy or intolerance specified.


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

Date when allergy/intolerance first manifested. Currently restricted to values of dateTime for GP Connect.

This field MUST be populated where the GP system records an explicit onset date for an allergy.


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

The datetime the record was believed to be true.

The asserted date is when the allergy related to the patient was asserted. In many cases, this will be when the allergy is recorded onto the system however there are situations where they can differ. For example, if an allergy is asserted during a home visit that is recorded on the clinical system the following day, the asserted date is the date the consultation took place, not the date it was recorded.

Where no asserted date is available, the recorded date is used.


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

Who recorded the allergy in the clinical system.


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

Source of the information about the allergy.


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

Represents the date and/or time of the last known occurrence of a reaction event.

This data item may not currently be available from providing systems and in this circumstance MAY be omitted. Omission SHOULD NOT prejudice the ability of providers and consumers to process this element if and when it is available.


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

All text associated with the AllergyIntolerance including user-entered notes and qualifiers is grouped together and expressed in this field, which ensures unmapped coded values or qualifiers are not lost.

Must be used to contain any textual data relevant to the allergy.


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

Conveys the reaction resulting from the allergy/intolerance as a code.

This element is mandatory in the FHIR base profile and so if no data is present please use the nullFlavour as outlined here.

Where no code is available, but a textual description of the reaction is available, then the nullFlavor UNC MAY be used and the textual description conveyed via reaction/description.

If no reaction has explicitly been recorded, but the reaction element is present to convey severity, then reaction/manifestation SHOULD be coded as the nullFlavor NI.

If the patient has been asked, but is unable to specify a reaction the nullFlavor, ‘ASKU’ SHOULD be used.


Data type: String Optionality: Optional Cardinality: 0..1

Conveys the textual description of the manifestation where no code is available.

A consuming system MAY concatenate the contents (appropriately labelled) with text in AllergyIntolerance.note if a textual description of the manifestation is not supported in the receiving system record structure.


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

Severities of Mild, Moderate, Severe are mapped directly to the ValueSet. Map life threatening to Severe and populate criticality with high.


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

The route by which exposure to the substance causing the reaction occurred. Utilise the dm+d route codes.

AllergyIntolerance elements not in use

The following elements SHALL NOT be populated:


Data type: Reference(DiagnosticReport)


Data type: Id


Data type: Instant


Data type: Annotation

AllergyIntolerance.note should contain all the consolidated text from the Allergy/Intolerance.


Data type: dateTime

Onset explicitly supplied via AllergyIntolerance.onset[dateTime].


Data type: CodeableConcept

The causative is explicitly and specifically coded via AllergyIntolerance.

All content is available under the Open Government Licence v3.0, except where otherwise stated