Onconova Implementation Guide
0.2.0 - ci-build

Onconova Implementation Guide - Local Development build (v0.2.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Adverse Event Profile

Official URL: http://onconova.github.io/fhir/StructureDefinition/onconova-adverse-event Version: 0.2.0
Active as of 2025-10-17 Computable Name: OnconovaAdverseEvent

A profile representing an adverse event experienced by a cancer patient as a result of an antineoplastic treatment, structured according to the Common Terminology Criteria for Adverse Events (CTCAE). This resource is used to capture and standardize the documentation of adverse events occurring during cancer care, including the type of event, its CTCAE grade, and any mitigation actions taken.

The profile constrains the base FHIR AdverseEvent resource to ensure consistent use of CTCAE codes and grades, and supports linkage to related treatments such as medications, radiotherapy, or surgical procedures documented in Onconova. The profile also provides extensions for recording mitigation strategies, supporting detailed tracking and management of adverse events in cancer patients.

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. AdverseEvent C 0..* AdverseEvent(4.0.1) Medical care, research study or other healthcare event causing physical injury
Constraints: ae-req-1, ae-req-2, ae-req-3, ae-req-4, ae-req-5, ae-req-6, ae-req-7
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:ctcGrade C 1..1 integer CTCAE Grade
URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-ctc-grade
Constraints: ext-1, ctcae-grade
.... extension:adverseEventMitigation C 0..* (Complex) Adverse Event Mitigation Action(s)
URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation
Constraints: ext-1, drug-mitigation, adjustment-mitigation, procedural-mitigation
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... category Σ 0..* CodeableConcept Not used in this profile
Binding: AdverseEventCategory (extensible): Overall categorization of the event, e.g. product-related or situational.
... event Σ 0..1 CodeableConcept Type of the event itself in relation to the subject
Binding: CTCAdverseEvents (0.2.0) (required)
... subject Σ 1..1 Reference(Cancer Patient Profile(0.2.0)) Subject impacted by event
... encounter Σ 0..1 Reference(Encounter) Not used in this profile
... detected Σ 0..1 dateTime Not used in this profile
... recordedDate Σ 0..1 dateTime Not used in this profile
... resultingCondition Σ 0..* Reference(Condition) Not used in this profile
... location Σ 0..1 Reference(Location) Not used in this profile
... seriousness Σ 0..1 CodeableConcept Not used in this profile
Binding: AdverseEventSeriousness (example): Overall seriousness of this event for the patient.
... severity Σ 0..1 CodeableConcept Not used in this profile
Binding: AdverseEventSeverity (required): The severity of the adverse event itself, in direct relation to the subject.
... outcome SΣ 0..1 CodeableConcept resolved | recovering | ongoing | resolvedWithSequelae | fatal | unknown
Binding: AdverseEventOutcome (required): TODO (and should this be required?).
... recorder Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) Not used in this profile
... contributor Σ 0..* Reference(Practitioner | PractitionerRole | Device) Not used in this profile

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
AdverseEvent.actuality Base required AdverseEventActuality 📍4.0.1 FHIR Std.
AdverseEvent.category Base extensible AdverseEventCategory 📍4.0.1 FHIR Std.
AdverseEvent.event Base required CTC Adverse Events 📍0.2.0 This IG
AdverseEvent.seriousness Base example AdverseEventSeriousness 📍4.0.1 FHIR Std.
AdverseEvent.severity Base required AdverseEventSeverity 📍4.0.1 FHIR Std.
AdverseEvent.outcome Base required AdverseEventOutcome 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
adjustment-mitigation error AdverseEvent.extension:adverseEventMitigation If the mitigation category is 'Adjustment', then only mitigation adjustment must be specified. extension('category').valueCodeableConcept.coding.code = 'C49157' implies (extension('adjustment').exists() and not extension('procedure').exists() and not extension('drug').exists())
ae-req-1 error AdverseEvent The subject element is required and must be provided. subject.exists() and subject.resolve().is(Patient)
ae-req-2 error AdverseEvent The date element is required and must be provided. date.exists() and date.hasValue()
ae-req-3 error AdverseEvent The event element is required and must be provided. event.exists() and event.coding.exists()
ae-req-4 error AdverseEvent The CTC Grade extension is required and must be provided. extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-ctc-grade').exists()
ae-req-5 error AdverseEvent The outcome is required and must be provided. outcome.exists() and outcome.coding.exists()
ae-req-6 error AdverseEvent If suspectedEntity is provided, then at least one instance must exist. suspectEntity.exists() implies (suspectEntity.count() > 0 and suspectEntity.instance.exists())
ae-req-7 error AdverseEvent If adverseEventMitigation extension is provided, then at least one instance must exist. extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation').exists() implies extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation').count() > 0
ctcae-grade error AdverseEvent.extension:ctcGrade The CTCAE grade must be between 1 and 5, inclusive. valueInteger() >= 1 and valueInteger() <= 5
dom-2 error AdverseEvent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error AdverseEvent If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error AdverseEvent If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error AdverseEvent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice AdverseEvent A resource should have narrative for robust management text.`div`.exists()
drug-mitigation error AdverseEvent.extension:adverseEventMitigation If the mitigation category is 'Drug', then only mitigation drug must be specified. extension('category').valueCodeableConcept.coding.code = 'C49158' implies (extension('drug').exists() and not extension('procedure').exists() and not extension('adjustment').exists())
ele-1 error AdverseEvent.implicitRules, AdverseEvent.extension, AdverseEvent.extension:ctcGrade, AdverseEvent.extension:adverseEventMitigation, AdverseEvent.modifierExtension, AdverseEvent.actuality, AdverseEvent.category, AdverseEvent.event, AdverseEvent.subject, AdverseEvent.encounter, AdverseEvent.detected, AdverseEvent.recordedDate, AdverseEvent.resultingCondition, AdverseEvent.location, AdverseEvent.seriousness, AdverseEvent.severity, AdverseEvent.outcome, AdverseEvent.recorder, AdverseEvent.contributor All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error AdverseEvent.extension, AdverseEvent.extension:ctcGrade, AdverseEvent.extension:adverseEventMitigation, AdverseEvent.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
procedural-mitigation error AdverseEvent.extension:adverseEventMitigation If the mitigation category is 'Procedure', then only mitigation procedure must be specified. extension('category').valueCodeableConcept.coding.code = 'C49159' implies (extension('procedure').exists() and not extension('adjustment').exists() and not extension('drug').exists())

This structure is derived from AdverseEvent

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. AdverseEvent C 0..* AdverseEvent(4.0.1) Medical care, research study or other healthcare event causing physical injury
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:ctcGrade 1..1 integer CTCAE Grade
URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-ctc-grade
.... extension:adverseEventMitigation 0..* (Complex) Adverse Event Mitigation Action(s)
URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation
... actuality 1..1 code actual | potential
Required Pattern: actual
... category 0..* CodeableConcept Not used in this profile
... subject 1..1 Reference(Cancer Patient Profile(0.2.0)) Subject impacted by event
... encounter 0..1 Reference(Encounter) Not used in this profile
... detected 0..1 dateTime Not used in this profile
... recordedDate 0..1 dateTime Not used in this profile
... resultingCondition 0..* Reference(Condition) Not used in this profile
... location 0..1 Reference(Location) Not used in this profile
... seriousness 0..1 CodeableConcept Not used in this profile
... severity 0..1 CodeableConcept Not used in this profile
... outcome S 0..1 CodeableConcept resolved | recovering | ongoing | resolvedWithSequelae | fatal | unknown
... recorder 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) Not used in this profile
... contributor 0..* Reference(Practitioner | PractitionerRole | Device) Not used in this profile
... suspectEntity
.... instance 1..1 Reference(Medication Administration Profile(0.2.0) | Radiotherapy Summary Profile(0.2.0) | Surgical Procedure Profile(0.2.0)) Refers to the specific entity that caused the adverse event

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
AdverseEvent.event Base required CTC Adverse Events 📍0.2.0 This IG

Constraints

Id Grade Path(s) Description Expression
ae-req-1 error AdverseEvent The subject element is required and must be provided. subject.exists() and subject.resolve().is(Patient)
ae-req-2 error AdverseEvent The date element is required and must be provided. date.exists() and date.hasValue()
ae-req-3 error AdverseEvent The event element is required and must be provided. event.exists() and event.coding.exists()
ae-req-4 error AdverseEvent The CTC Grade extension is required and must be provided. extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-ctc-grade').exists()
ae-req-5 error AdverseEvent The outcome is required and must be provided. outcome.exists() and outcome.coding.exists()
ae-req-6 error AdverseEvent If suspectedEntity is provided, then at least one instance must exist. suspectEntity.exists() implies (suspectEntity.count() > 0 and suspectEntity.instance.exists())
ae-req-7 error AdverseEvent If adverseEventMitigation extension is provided, then at least one instance must exist. extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation').exists() implies extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation').count() > 0
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. AdverseEvent C 0..* AdverseEvent(4.0.1) Medical care, research study or other healthcare event causing physical injury
Constraints: ae-req-1, ae-req-2, ae-req-3, ae-req-4, ae-req-5, ae-req-6, ae-req-7
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:ctcGrade C 1..1 integer CTCAE Grade
URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-ctc-grade
Constraints: ext-1, ctcae-grade
.... extension:adverseEventMitigation C 0..* (Complex) Adverse Event Mitigation Action(s)
URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation
Constraints: ext-1, drug-mitigation, adjustment-mitigation, procedural-mitigation
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier Σ 0..1 Identifier Business identifier for the event
... actuality ?!Σ 1..1 code actual | potential
Binding: AdverseEventActuality (required): Overall nature of the adverse event, e.g. real or potential.
Required Pattern: actual
... category Σ 0..* CodeableConcept Not used in this profile
Binding: AdverseEventCategory (extensible): Overall categorization of the event, e.g. product-related or situational.
... event Σ 0..1 CodeableConcept Type of the event itself in relation to the subject
Binding: CTCAdverseEvents (0.2.0) (required)
... subject Σ 1..1 Reference(Cancer Patient Profile(0.2.0)) Subject impacted by event
... encounter Σ 0..1 Reference(Encounter) Not used in this profile
... date Σ 0..1 dateTime When the event occurred
... detected Σ 0..1 dateTime Not used in this profile
... recordedDate Σ 0..1 dateTime Not used in this profile
... resultingCondition Σ 0..* Reference(Condition) Not used in this profile
... location Σ 0..1 Reference(Location) Not used in this profile
... seriousness Σ 0..1 CodeableConcept Not used in this profile
Binding: AdverseEventSeriousness (example): Overall seriousness of this event for the patient.
... severity Σ 0..1 CodeableConcept Not used in this profile
Binding: AdverseEventSeverity (required): The severity of the adverse event itself, in direct relation to the subject.
... outcome SΣ 0..1 CodeableConcept resolved | recovering | ongoing | resolvedWithSequelae | fatal | unknown
Binding: AdverseEventOutcome (required): TODO (and should this be required?).
... recorder Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) Not used in this profile
... contributor Σ 0..* Reference(Practitioner | PractitionerRole | Device) Not used in this profile
... suspectEntity Σ 0..* BackboneElement The suspected agent causing the adverse event
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... instance Σ 1..1 Reference(Medication Administration Profile(0.2.0) | Radiotherapy Summary Profile(0.2.0) | Surgical Procedure Profile(0.2.0)) Refers to the specific entity that caused the adverse event
.... causality Σ 0..* BackboneElement Information on the possible cause of the event
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... assessment Σ 0..1 CodeableConcept Assessment of if the entity caused the event
Binding: AdverseEventCausalityAssessment (example): Codes for the assessment of whether the entity caused the event.
..... productRelatedness Σ 0..1 string AdverseEvent.suspectEntity.causalityProductRelatedness
..... author Σ 0..1 Reference(Practitioner | PractitionerRole) AdverseEvent.suspectEntity.causalityAuthor
..... method Σ 0..1 CodeableConcept ProbabilityScale | Bayesian | Checklist
Binding: AdverseEventCausalityMethod (example): TODO.
... subjectMedicalHistory Σ 0..* Reference(Condition | Observation | AllergyIntolerance | FamilyMemberHistory | Immunization | Procedure | Media | DocumentReference) AdverseEvent.subjectMedicalHistory
... referenceDocument Σ 0..* Reference(DocumentReference) AdverseEvent.referenceDocument
... study Σ 0..* Reference(ResearchStudy) AdverseEvent.study

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
AdverseEvent.language Base preferred Common Languages 📍4.0.1 FHIR Std.
AdverseEvent.actuality Base required AdverseEventActuality 📍4.0.1 FHIR Std.
AdverseEvent.category Base extensible AdverseEventCategory 📍4.0.1 FHIR Std.
AdverseEvent.event Base required CTC Adverse Events 📍0.2.0 This IG
AdverseEvent.seriousness Base example AdverseEventSeriousness 📍4.0.1 FHIR Std.
AdverseEvent.severity Base required AdverseEventSeverity 📍4.0.1 FHIR Std.
AdverseEvent.outcome Base required AdverseEventOutcome 📍4.0.1 FHIR Std.
AdverseEvent.suspectEntity.​causality.assessment Base example AdverseEventCausalityAssessment 📍4.0.1 FHIR Std.
AdverseEvent.suspectEntity.​causality.method Base example AdverseEventCausalityMethod 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
adjustment-mitigation error AdverseEvent.extension:adverseEventMitigation If the mitigation category is 'Adjustment', then only mitigation adjustment must be specified. extension('category').valueCodeableConcept.coding.code = 'C49157' implies (extension('adjustment').exists() and not extension('procedure').exists() and not extension('drug').exists())
ae-req-1 error AdverseEvent The subject element is required and must be provided. subject.exists() and subject.resolve().is(Patient)
ae-req-2 error AdverseEvent The date element is required and must be provided. date.exists() and date.hasValue()
ae-req-3 error AdverseEvent The event element is required and must be provided. event.exists() and event.coding.exists()
ae-req-4 error AdverseEvent The CTC Grade extension is required and must be provided. extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-ctc-grade').exists()
ae-req-5 error AdverseEvent The outcome is required and must be provided. outcome.exists() and outcome.coding.exists()
ae-req-6 error AdverseEvent If suspectedEntity is provided, then at least one instance must exist. suspectEntity.exists() implies (suspectEntity.count() > 0 and suspectEntity.instance.exists())
ae-req-7 error AdverseEvent If adverseEventMitigation extension is provided, then at least one instance must exist. extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation').exists() implies extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation').count() > 0
ctcae-grade error AdverseEvent.extension:ctcGrade The CTCAE grade must be between 1 and 5, inclusive. valueInteger() >= 1 and valueInteger() <= 5
dom-2 error AdverseEvent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error AdverseEvent If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error AdverseEvent If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error AdverseEvent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice AdverseEvent A resource should have narrative for robust management text.`div`.exists()
drug-mitigation error AdverseEvent.extension:adverseEventMitigation If the mitigation category is 'Drug', then only mitigation drug must be specified. extension('category').valueCodeableConcept.coding.code = 'C49158' implies (extension('drug').exists() and not extension('procedure').exists() and not extension('adjustment').exists())
ele-1 error AdverseEvent.meta, AdverseEvent.implicitRules, AdverseEvent.language, AdverseEvent.text, AdverseEvent.extension, AdverseEvent.extension:ctcGrade, AdverseEvent.extension:adverseEventMitigation, AdverseEvent.modifierExtension, AdverseEvent.identifier, AdverseEvent.actuality, AdverseEvent.category, AdverseEvent.event, AdverseEvent.subject, AdverseEvent.encounter, AdverseEvent.date, AdverseEvent.detected, AdverseEvent.recordedDate, AdverseEvent.resultingCondition, AdverseEvent.location, AdverseEvent.seriousness, AdverseEvent.severity, AdverseEvent.outcome, AdverseEvent.recorder, AdverseEvent.contributor, AdverseEvent.suspectEntity, AdverseEvent.suspectEntity.extension, AdverseEvent.suspectEntity.modifierExtension, AdverseEvent.suspectEntity.instance, AdverseEvent.suspectEntity.causality, AdverseEvent.suspectEntity.causality.extension, AdverseEvent.suspectEntity.causality.modifierExtension, AdverseEvent.suspectEntity.causality.assessment, AdverseEvent.suspectEntity.causality.productRelatedness, AdverseEvent.suspectEntity.causality.author, AdverseEvent.suspectEntity.causality.method, AdverseEvent.subjectMedicalHistory, AdverseEvent.referenceDocument, AdverseEvent.study All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error AdverseEvent.extension, AdverseEvent.extension:ctcGrade, AdverseEvent.extension:adverseEventMitigation, AdverseEvent.modifierExtension, AdverseEvent.suspectEntity.extension, AdverseEvent.suspectEntity.modifierExtension, AdverseEvent.suspectEntity.causality.extension, AdverseEvent.suspectEntity.causality.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
procedural-mitigation error AdverseEvent.extension:adverseEventMitigation If the mitigation category is 'Procedure', then only mitigation procedure must be specified. extension('category').valueCodeableConcept.coding.code = 'C49159' implies (extension('procedure').exists() and not extension('adjustment').exists() and not extension('drug').exists())

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. AdverseEvent C 0..* AdverseEvent(4.0.1) Medical care, research study or other healthcare event causing physical injury
Constraints: ae-req-1, ae-req-2, ae-req-3, ae-req-4, ae-req-5, ae-req-6, ae-req-7
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:ctcGrade C 1..1 integer CTCAE Grade
URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-ctc-grade
Constraints: ext-1, ctcae-grade
.... extension:adverseEventMitigation C 0..* (Complex) Adverse Event Mitigation Action(s)
URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation
Constraints: ext-1, drug-mitigation, adjustment-mitigation, procedural-mitigation
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... category Σ 0..* CodeableConcept Not used in this profile
Binding: AdverseEventCategory (extensible): Overall categorization of the event, e.g. product-related or situational.
... event Σ 0..1 CodeableConcept Type of the event itself in relation to the subject
Binding: CTCAdverseEvents (0.2.0) (required)
... subject Σ 1..1 Reference(Cancer Patient Profile(0.2.0)) Subject impacted by event
... encounter Σ 0..1 Reference(Encounter) Not used in this profile
... detected Σ 0..1 dateTime Not used in this profile
... recordedDate Σ 0..1 dateTime Not used in this profile
... resultingCondition Σ 0..* Reference(Condition) Not used in this profile
... location Σ 0..1 Reference(Location) Not used in this profile
... seriousness Σ 0..1 CodeableConcept Not used in this profile
Binding: AdverseEventSeriousness (example): Overall seriousness of this event for the patient.
... severity Σ 0..1 CodeableConcept Not used in this profile
Binding: AdverseEventSeverity (required): The severity of the adverse event itself, in direct relation to the subject.
... outcome SΣ 0..1 CodeableConcept resolved | recovering | ongoing | resolvedWithSequelae | fatal | unknown
Binding: AdverseEventOutcome (required): TODO (and should this be required?).
... recorder Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) Not used in this profile
... contributor Σ 0..* Reference(Practitioner | PractitionerRole | Device) Not used in this profile

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
AdverseEvent.actuality Base required AdverseEventActuality 📍4.0.1 FHIR Std.
AdverseEvent.category Base extensible AdverseEventCategory 📍4.0.1 FHIR Std.
AdverseEvent.event Base required CTC Adverse Events 📍0.2.0 This IG
AdverseEvent.seriousness Base example AdverseEventSeriousness 📍4.0.1 FHIR Std.
AdverseEvent.severity Base required AdverseEventSeverity 📍4.0.1 FHIR Std.
AdverseEvent.outcome Base required AdverseEventOutcome 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
adjustment-mitigation error AdverseEvent.extension:adverseEventMitigation If the mitigation category is 'Adjustment', then only mitigation adjustment must be specified. extension('category').valueCodeableConcept.coding.code = 'C49157' implies (extension('adjustment').exists() and not extension('procedure').exists() and not extension('drug').exists())
ae-req-1 error AdverseEvent The subject element is required and must be provided. subject.exists() and subject.resolve().is(Patient)
ae-req-2 error AdverseEvent The date element is required and must be provided. date.exists() and date.hasValue()
ae-req-3 error AdverseEvent The event element is required and must be provided. event.exists() and event.coding.exists()
ae-req-4 error AdverseEvent The CTC Grade extension is required and must be provided. extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-ctc-grade').exists()
ae-req-5 error AdverseEvent The outcome is required and must be provided. outcome.exists() and outcome.coding.exists()
ae-req-6 error AdverseEvent If suspectedEntity is provided, then at least one instance must exist. suspectEntity.exists() implies (suspectEntity.count() > 0 and suspectEntity.instance.exists())
ae-req-7 error AdverseEvent If adverseEventMitigation extension is provided, then at least one instance must exist. extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation').exists() implies extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation').count() > 0
ctcae-grade error AdverseEvent.extension:ctcGrade The CTCAE grade must be between 1 and 5, inclusive. valueInteger() >= 1 and valueInteger() <= 5
dom-2 error AdverseEvent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error AdverseEvent If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error AdverseEvent If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error AdverseEvent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice AdverseEvent A resource should have narrative for robust management text.`div`.exists()
drug-mitigation error AdverseEvent.extension:adverseEventMitigation If the mitigation category is 'Drug', then only mitigation drug must be specified. extension('category').valueCodeableConcept.coding.code = 'C49158' implies (extension('drug').exists() and not extension('procedure').exists() and not extension('adjustment').exists())
ele-1 error AdverseEvent.implicitRules, AdverseEvent.extension, AdverseEvent.extension:ctcGrade, AdverseEvent.extension:adverseEventMitigation, AdverseEvent.modifierExtension, AdverseEvent.actuality, AdverseEvent.category, AdverseEvent.event, AdverseEvent.subject, AdverseEvent.encounter, AdverseEvent.detected, AdverseEvent.recordedDate, AdverseEvent.resultingCondition, AdverseEvent.location, AdverseEvent.seriousness, AdverseEvent.severity, AdverseEvent.outcome, AdverseEvent.recorder, AdverseEvent.contributor All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error AdverseEvent.extension, AdverseEvent.extension:ctcGrade, AdverseEvent.extension:adverseEventMitigation, AdverseEvent.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
procedural-mitigation error AdverseEvent.extension:adverseEventMitigation If the mitigation category is 'Procedure', then only mitigation procedure must be specified. extension('category').valueCodeableConcept.coding.code = 'C49159' implies (extension('procedure').exists() and not extension('adjustment').exists() and not extension('drug').exists())

Differential View

This structure is derived from AdverseEvent

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. AdverseEvent C 0..* AdverseEvent(4.0.1) Medical care, research study or other healthcare event causing physical injury
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:ctcGrade 1..1 integer CTCAE Grade
URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-ctc-grade
.... extension:adverseEventMitigation 0..* (Complex) Adverse Event Mitigation Action(s)
URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation
... actuality 1..1 code actual | potential
Required Pattern: actual
... category 0..* CodeableConcept Not used in this profile
... subject 1..1 Reference(Cancer Patient Profile(0.2.0)) Subject impacted by event
... encounter 0..1 Reference(Encounter) Not used in this profile
... detected 0..1 dateTime Not used in this profile
... recordedDate 0..1 dateTime Not used in this profile
... resultingCondition 0..* Reference(Condition) Not used in this profile
... location 0..1 Reference(Location) Not used in this profile
... seriousness 0..1 CodeableConcept Not used in this profile
... severity 0..1 CodeableConcept Not used in this profile
... outcome S 0..1 CodeableConcept resolved | recovering | ongoing | resolvedWithSequelae | fatal | unknown
... recorder 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) Not used in this profile
... contributor 0..* Reference(Practitioner | PractitionerRole | Device) Not used in this profile
... suspectEntity
.... instance 1..1 Reference(Medication Administration Profile(0.2.0) | Radiotherapy Summary Profile(0.2.0) | Surgical Procedure Profile(0.2.0)) Refers to the specific entity that caused the adverse event

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
AdverseEvent.event Base required CTC Adverse Events 📍0.2.0 This IG

Constraints

Id Grade Path(s) Description Expression
ae-req-1 error AdverseEvent The subject element is required and must be provided. subject.exists() and subject.resolve().is(Patient)
ae-req-2 error AdverseEvent The date element is required and must be provided. date.exists() and date.hasValue()
ae-req-3 error AdverseEvent The event element is required and must be provided. event.exists() and event.coding.exists()
ae-req-4 error AdverseEvent The CTC Grade extension is required and must be provided. extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-ctc-grade').exists()
ae-req-5 error AdverseEvent The outcome is required and must be provided. outcome.exists() and outcome.coding.exists()
ae-req-6 error AdverseEvent If suspectedEntity is provided, then at least one instance must exist. suspectEntity.exists() implies (suspectEntity.count() > 0 and suspectEntity.instance.exists())
ae-req-7 error AdverseEvent If adverseEventMitigation extension is provided, then at least one instance must exist. extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation').exists() implies extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation').count() > 0

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. AdverseEvent C 0..* AdverseEvent(4.0.1) Medical care, research study or other healthcare event causing physical injury
Constraints: ae-req-1, ae-req-2, ae-req-3, ae-req-4, ae-req-5, ae-req-6, ae-req-7
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:ctcGrade C 1..1 integer CTCAE Grade
URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-ctc-grade
Constraints: ext-1, ctcae-grade
.... extension:adverseEventMitigation C 0..* (Complex) Adverse Event Mitigation Action(s)
URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation
Constraints: ext-1, drug-mitigation, adjustment-mitigation, procedural-mitigation
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier Σ 0..1 Identifier Business identifier for the event
... actuality ?!Σ 1..1 code actual | potential
Binding: AdverseEventActuality (required): Overall nature of the adverse event, e.g. real or potential.
Required Pattern: actual
... category Σ 0..* CodeableConcept Not used in this profile
Binding: AdverseEventCategory (extensible): Overall categorization of the event, e.g. product-related or situational.
... event Σ 0..1 CodeableConcept Type of the event itself in relation to the subject
Binding: CTCAdverseEvents (0.2.0) (required)
... subject Σ 1..1 Reference(Cancer Patient Profile(0.2.0)) Subject impacted by event
... encounter Σ 0..1 Reference(Encounter) Not used in this profile
... date Σ 0..1 dateTime When the event occurred
... detected Σ 0..1 dateTime Not used in this profile
... recordedDate Σ 0..1 dateTime Not used in this profile
... resultingCondition Σ 0..* Reference(Condition) Not used in this profile
... location Σ 0..1 Reference(Location) Not used in this profile
... seriousness Σ 0..1 CodeableConcept Not used in this profile
Binding: AdverseEventSeriousness (example): Overall seriousness of this event for the patient.
... severity Σ 0..1 CodeableConcept Not used in this profile
Binding: AdverseEventSeverity (required): The severity of the adverse event itself, in direct relation to the subject.
... outcome SΣ 0..1 CodeableConcept resolved | recovering | ongoing | resolvedWithSequelae | fatal | unknown
Binding: AdverseEventOutcome (required): TODO (and should this be required?).
... recorder Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) Not used in this profile
... contributor Σ 0..* Reference(Practitioner | PractitionerRole | Device) Not used in this profile
... suspectEntity Σ 0..* BackboneElement The suspected agent causing the adverse event
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... instance Σ 1..1 Reference(Medication Administration Profile(0.2.0) | Radiotherapy Summary Profile(0.2.0) | Surgical Procedure Profile(0.2.0)) Refers to the specific entity that caused the adverse event
.... causality Σ 0..* BackboneElement Information on the possible cause of the event
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... assessment Σ 0..1 CodeableConcept Assessment of if the entity caused the event
Binding: AdverseEventCausalityAssessment (example): Codes for the assessment of whether the entity caused the event.
..... productRelatedness Σ 0..1 string AdverseEvent.suspectEntity.causalityProductRelatedness
..... author Σ 0..1 Reference(Practitioner | PractitionerRole) AdverseEvent.suspectEntity.causalityAuthor
..... method Σ 0..1 CodeableConcept ProbabilityScale | Bayesian | Checklist
Binding: AdverseEventCausalityMethod (example): TODO.
... subjectMedicalHistory Σ 0..* Reference(Condition | Observation | AllergyIntolerance | FamilyMemberHistory | Immunization | Procedure | Media | DocumentReference) AdverseEvent.subjectMedicalHistory
... referenceDocument Σ 0..* Reference(DocumentReference) AdverseEvent.referenceDocument
... study Σ 0..* Reference(ResearchStudy) AdverseEvent.study

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
AdverseEvent.language Base preferred Common Languages 📍4.0.1 FHIR Std.
AdverseEvent.actuality Base required AdverseEventActuality 📍4.0.1 FHIR Std.
AdverseEvent.category Base extensible AdverseEventCategory 📍4.0.1 FHIR Std.
AdverseEvent.event Base required CTC Adverse Events 📍0.2.0 This IG
AdverseEvent.seriousness Base example AdverseEventSeriousness 📍4.0.1 FHIR Std.
AdverseEvent.severity Base required AdverseEventSeverity 📍4.0.1 FHIR Std.
AdverseEvent.outcome Base required AdverseEventOutcome 📍4.0.1 FHIR Std.
AdverseEvent.suspectEntity.​causality.assessment Base example AdverseEventCausalityAssessment 📍4.0.1 FHIR Std.
AdverseEvent.suspectEntity.​causality.method Base example AdverseEventCausalityMethod 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
adjustment-mitigation error AdverseEvent.extension:adverseEventMitigation If the mitigation category is 'Adjustment', then only mitigation adjustment must be specified. extension('category').valueCodeableConcept.coding.code = 'C49157' implies (extension('adjustment').exists() and not extension('procedure').exists() and not extension('drug').exists())
ae-req-1 error AdverseEvent The subject element is required and must be provided. subject.exists() and subject.resolve().is(Patient)
ae-req-2 error AdverseEvent The date element is required and must be provided. date.exists() and date.hasValue()
ae-req-3 error AdverseEvent The event element is required and must be provided. event.exists() and event.coding.exists()
ae-req-4 error AdverseEvent The CTC Grade extension is required and must be provided. extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-ctc-grade').exists()
ae-req-5 error AdverseEvent The outcome is required and must be provided. outcome.exists() and outcome.coding.exists()
ae-req-6 error AdverseEvent If suspectedEntity is provided, then at least one instance must exist. suspectEntity.exists() implies (suspectEntity.count() > 0 and suspectEntity.instance.exists())
ae-req-7 error AdverseEvent If adverseEventMitigation extension is provided, then at least one instance must exist. extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation').exists() implies extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adverse-event-mitigation').count() > 0
ctcae-grade error AdverseEvent.extension:ctcGrade The CTCAE grade must be between 1 and 5, inclusive. valueInteger() >= 1 and valueInteger() <= 5
dom-2 error AdverseEvent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error AdverseEvent If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error AdverseEvent If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error AdverseEvent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice AdverseEvent A resource should have narrative for robust management text.`div`.exists()
drug-mitigation error AdverseEvent.extension:adverseEventMitigation If the mitigation category is 'Drug', then only mitigation drug must be specified. extension('category').valueCodeableConcept.coding.code = 'C49158' implies (extension('drug').exists() and not extension('procedure').exists() and not extension('adjustment').exists())
ele-1 error AdverseEvent.meta, AdverseEvent.implicitRules, AdverseEvent.language, AdverseEvent.text, AdverseEvent.extension, AdverseEvent.extension:ctcGrade, AdverseEvent.extension:adverseEventMitigation, AdverseEvent.modifierExtension, AdverseEvent.identifier, AdverseEvent.actuality, AdverseEvent.category, AdverseEvent.event, AdverseEvent.subject, AdverseEvent.encounter, AdverseEvent.date, AdverseEvent.detected, AdverseEvent.recordedDate, AdverseEvent.resultingCondition, AdverseEvent.location, AdverseEvent.seriousness, AdverseEvent.severity, AdverseEvent.outcome, AdverseEvent.recorder, AdverseEvent.contributor, AdverseEvent.suspectEntity, AdverseEvent.suspectEntity.extension, AdverseEvent.suspectEntity.modifierExtension, AdverseEvent.suspectEntity.instance, AdverseEvent.suspectEntity.causality, AdverseEvent.suspectEntity.causality.extension, AdverseEvent.suspectEntity.causality.modifierExtension, AdverseEvent.suspectEntity.causality.assessment, AdverseEvent.suspectEntity.causality.productRelatedness, AdverseEvent.suspectEntity.causality.author, AdverseEvent.suspectEntity.causality.method, AdverseEvent.subjectMedicalHistory, AdverseEvent.referenceDocument, AdverseEvent.study All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error AdverseEvent.extension, AdverseEvent.extension:ctcGrade, AdverseEvent.extension:adverseEventMitigation, AdverseEvent.modifierExtension, AdverseEvent.suspectEntity.extension, AdverseEvent.suspectEntity.modifierExtension, AdverseEvent.suspectEntity.causality.extension, AdverseEvent.suspectEntity.causality.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
procedural-mitigation error AdverseEvent.extension:adverseEventMitigation If the mitigation category is 'Procedure', then only mitigation procedure must be specified. extension('category').valueCodeableConcept.coding.code = 'C49159' implies (extension('procedure').exists() and not extension('adjustment').exists() and not extension('drug').exists())

 

Other representations of profile: CSV, Excel, Schematron