Introduction
The headings below list the elements of the AllergyIntolerance resource and describe how to populate and consume them.
AllergyIntolerance elements
id
Data type: Id |
Optionality: Mandatory | Cardinality: 1..1 |
The logical identifier of the Medication resource.
meta.profile
Data type: uri |
Optionality: Mandatory | Cardinality: 1..1 |
The AllergyIntolerance profile URL.
Fixed value https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-AllergyIntolerance-1
extension[encounter]
Data type:Reference |
Optionality:Required | Cardinality:0..1 |
Contains a link to the encounter resource.
extension[allergyEnd]
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
.
extension[allergyEnd].endDate
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
.
extension[allergyEnd].endReason
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’.
extension[evidence]
Data type: Reference(DiagnosticReport) |
Optionality: Optional | Cardinality: 0..1 |
Reference to confirmatory diagnostic report - for example, pathology RAST test result.
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.
clinicalStatus
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.
verificationStatus
Data type: Code |
Optionality: Mandatory | Cardinality: 1..1 |
Fixed value of unconfirmed
.
type
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.
Some systems allow explicit identification of adverse reactions and intolerances and the type MUST be used to make this distinction where it exists.
category
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.
criticality
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.
code
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.
patient
Data type: Reference(Patient) |
Optionality: Mandatory | Cardinality: 1..1 |
A reference to the Patient who has, or had, the allergy or intolerance specified.
onset.DateTime
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.
assertedDate
Data type: dateTime |
Optionality: Mandatory | Cardinality: 1..1 |
The datetime the record was recorded or 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 entered onto the system, although some systems may allow this date to be modified.
recorder
Data type: Reference |
Optionality: Mandatory | Cardinality: 1..1 |
Who recorded the allergy in the clinical system.
asserter
Data type: Reference |
Optionality: Required | Cardinality: 0..1 |
Source of the information about the allergy.
lastOccurrence
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.
note
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.
reaction.manifestation
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.
reaction.description
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.
reaction.severity
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
.
reaction.exposureRoute
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:
meta.versionId
Data type: Id |
meta.lastUpdated
Data type: Instant |
reaction.note
Data type: Annotation |
AllergyIntolerance.note
should contain all the consolidated text from the Allergy/Intolerance.
reaction.onset[x]
Data type: dateTime |
Onset explicitly supplied via AllergyIntolerance.onset[dateTime]
.
reaction.substance
Data type: CodeableConcept |
The causative is explicitly and specifically coded via AllergyIntolerance.