FHIR to CDISC Joint Mapping Implementation Guide
1.0.0 - STU 1 International flag

FHIR to CDISC Joint Mapping Implementation Guide, published by HL7 International - BR&R Work Group. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-cdisc-mapping/ and changes regularly. See the Directory of published versions

Adverse Events

Adverse event data in FHIR is handled by the AdverseEvent resource. This resource is the focus of the mappings in this guide. However, when using it to map to CDISC, implementers should consider two things

  • AdverseEvent will sometimes capture events that are not of interest to a particular study or do not qualify as "adverse events" per the study's protocol
  • Not all situations that a study might deem to qualify as an adverse event will result in the creation of an AdverseEvent instance in typical clinical systems

In the latter circumstance, research systems may also need to consult some or all of the following resources:

These latter resources won't convey information on relatedness to the study drug, mitigating actions, etc. However, they could trigger an investigation that would allow gathering of that information.

AE Mappings

Guidance on interpreting the tables can be found here.

CDISC FHIR map (or gap) Comment
Label CDASH SDTM Element FHIRPath
Study Identifier STUDYID
Core: HR
Type: Char
STUDYID
Core: Req
Type: Char
AdverseEvent.study
0..* Reference

AdverseEvent.study.resolve().partOf.resolve().identifier

ResearchSubject.where(subject=AdverseEvent.subject).study.resolve().partOf.resolve().identifier

Mapping is based on presumption that research subject will be tied to site-specific ResearchStudy, which will then be part of overall ResearchStudy.

The direct path using AdverseEvent.study will only exist if the system maintaining the AdverseEvent is aware of its relevance to the Study. ResearchStudy links to Patient. Observation links to Patient. If the patients are the same, that establishes the linkage. There's also an extension that allows direct linkage to a 'study' from any resource - if the source system has actually established such a linkage.
Study Site Identifier SITEID
Core: HR
Type: Char
DM.SITEID
Core: Req
Type: Char
ResearchStudy.site
0..* Reference

AdverseEvent.study.resolve().identifier

ResearchSubject.where(subject=AdverseEvent.subject).study.resolve().identifier

Mapping is based on presumption that research subject will be tied to site-specific ResearchStudy, which will then be part of overall ResearchStudy.

The direct path using AdverseEvent.study will only exist if the system maintaining the AdverseEvent is aware of its relevance to the Study.
Subject Identifier for the Study SUBJID
Core: HR
Type: Char
DM.SUBJID
Core: Req
Type: Char
ResearchSubject.identifier
0..* Identifier

ResearchSubject.where(individual=AdverseEvent.subject).identifier

Research subject points to patient, adverse event points to patient. Adverse event points to study. Check to see if they are the same in order to establish linkage. When extracting real world evidence either the extraction will be performed in a fully identified mode and de-identification will happen as a subsequent process or the de-identification will already have occurred. Any identify info in the resources will already have real world identification randomized or otherwise made nonsensitive. The mapping is referring to subject.reference not to the identifier element on the clinical resources.
Any Adverse Event AEYN
Core: O
Type: Char
In FHIR, this would be determined by searching for AdverseEvents with a given subject (possibly also filtered by research study) and excluding those that were entered in error. If a flag were necessary, it would be an extension on Study, not sent on AdverseEvent. It might also be necessary to search for Condition instances, Observation instances, Encounters with particular reasons and other resources if the desire is to have the full set of potential adverse reactions.
Category for Adverse Event AECAT
Core: O
Type: Char
AECAT
Core: Perm
Type: Char
AdverseEvent.category
0..* CodeableConcept
Binding: AdverseEventCategory extensible

AdverseEvent.category

This is typically sponsor-specific and we would not expect this to come from the site.

In FHIR, an AdverseEvent can be categorized in as many ways as desired with whatever granularity is desired. When converting from FHIR to CDASH, systems will need to look at the FHIR categories (and potentially other information) to determine how best to populate AECAT and AESCAT based on the study-designed categories (unless they've pre-arranged with the EHR to ensure it captures the same codes)
Subcategory for Adverse Event AESCAT
Core: O
Type: Char
AESCAT
Core: Perm
Type: Char
AdverseEvent.category
0..* CodeableConcept
Binding: AdverseEventCategory extensible

AdverseEvent.category

This is typically sponsor-specific and we would not expect this to come from the site.

In FHIR, an AdverseEvent can be categorized in as many ways as desired with whatever granularity is desired. When converting from FHIR to CDASH, systems will need to look at the FHIR categories (and potentially other information) to determine how best to populate AECAT and AESCAT based on the study-designed categories (unless they've pre-arranged with the EHR to ensure it captures the same codes)
AE Sponsor-Defined Identifier AESPID
Core: O
Type: Char
AESPID
Core: Perm
Type: Char
AdverseEvent.identifier
0..1 Identifier

AdverseEvent.identifier.where(assigner=sponsor).value

AdverseEvent.refID

The assigner of the identifier can be explicit or inferred by the Identifier.system.
Reported Term for the Adverse Event AETERM
Core: HR
Type: Char
AETERM
Core: Req
Type: Char
Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

Adverse Event Occurrence AEOCCUR
Core: O
Type: Char
FHIR only captures AdverseEvents that have actually occurred. A flag about whether a particular potential adverse reaction has been detected or not could be captured using Questionnaire Response
Prespecified Adverse Event AEPRESP
Core: O
Type: Char
AEPRESP
Core: Perm
Type: Char
If captured within an EHR, this would be an extension on the existing extension that references the ResearchStudy. (An AdverseEvent might be pre-specified for one study and not for another.)
Adverse Event Start Date AESTDAT
Core: HR
Type: Char
AESTDTC
Core: Exp
Type: Char
values: ISO 8601
AdverseEvent.date
0..1 dateTime

AdverseEvent.date(date portion)

Start Time of Adverse Event AESTTIM
Core: R/C
Type: Char
AESTDTC
Core: Exp
Type: Char
values: ISO 8601
AdverseEvent.date
0..1 dateTime

AdverseEvent.date(time portion)

AE Location of Event AELOC
Core: O
Type: Char
AELOC
Core: Perm
Type: Char
Condition.bodySite
0..* CodeableConcept
Binding: BodySite example

AdverseEvent.resultingCondition.resolve().bodySite

Requires knowledge or review of data to ensure location, laterality and directionality are included in the code and can be parsed.
Adverse Event Laterality AELAT
Core: O
Type: Char
AELAT* Condition.bodySite
0..* CodeableConcept
Binding: BodySite example

AdverseEvent.resultingCondition.resolve().bodySite

Requires knowledge or review of data to ensure location, laterality and directionality are included in the code and can be parsed.
Adverse Event Directionality AEDIR
Core: O
Type: Char
AEDIR* Condition.bodySite
0..* CodeableConcept
Binding: BodySite example

AdverseEvent.resultingCondition.resolve().bodySite

Requires knowledge or review of data to ensure location, laterality and directionality are included in the code and can be parsed.
AE Location Portion or Totality AEPORTOT
Core: O
Type: Char
AEPORTOT* Condition.bodySite
0..* CodeableConcept
Binding: BodySite example

AdverseEvent.resultingCondition.resolve().bodySite

Review of data to ensure location, laterality and directionality are included in the code and can be parsed.
Ongoing Adverse Event AEONGO
Core: O
Type: Char
AEENRTPT
Core: Perm
Type: Char AEENRF
Core: Perm
Type: Char
AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome=ongoing

Note that the assertion of 'ongoing' is made at the time the adverse event is recorded, which may or may not be what's needed for submission purposes.
Adverse Event End Date AEENDAT
Core: R/C
Type: Char
AEENDTC
Core: Exp
Type: Char
values: ISO 8601
AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.occurrence).valuePeriod.end

Need to use a standard extension to pre-adopt the type allowed in R5. Element contains both date and time (if specified).
End Time of Adverse Event AEENTIM
Core: R/C
Type: Char
AEENDTC
Core: Exp
Type: Char
values: ISO 8601
AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.occurrence).valuePeriod.end

Need to use a standard extension to pre-adopt the type allowed in R5. Element contains both date and time (if specified).
AE Severity/Intensity AESEV
Core: R/C
Type: Char
AESEV
Core: Perm
Type: Char
AdverseEvent.severity
0..1 CodeableConcept
Binding: AdverseEventSeverity required

AdverseEvent.severity

AE Standard Toxicity Grade AETOXGR
Core: R/C
Type: Char
AETOXGR
Core: Perm
Type: Char
Recommendation is to add extension for oncology or other studies requiring toxicity grades.
AE Serious Event AESER
Core: R/C
Type: Char
AESER
Core: Exp
Type: Char
AdverseEvent.seriousness
0..1 CodeableConcept
Binding: AdverseEventSeriousness example

AdverseEvent.seriousness

Access if an adverse event should be classified as serious based on the serious criteria defined in the protocol.
Results in Death AESDTH
Core: R/C
Type: Char
AESDTH
Core: Perm
Type: Char
AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome='fatal'

Death Date DTHDAT
Core: O
Type: Char
DM.DTHDTC
Core: Exp
Type: Char
values: ISO 8601
Patient.deceasedDateTime
0..1 dateTime

Patient.deceasedDateTime

Is Life Threatening AESLIFE
Core: R/C
Type: Char
AESLIFE
Core: Perm
Type: Char
AdverseEvent.seriousness
0..1 CodeableConcept
Binding: AdverseEventSeriousness example

AdverseEvent.seriousness

These would typically be flagged by seriousness or outcome codes. Will need to propose change request to support capturing more than one
Requires or Prolongs Hospitalization AESHOSP
Core: R/C
Type: Char
AESHOSP
Core: Perm
Type: Char
Note: there is Encounter.hospitalization.[x], but its relevance to AESHOSP may not be explicit and would require additional analysis.
Persist or Signif Disability/Incapacity AESDISAB
Core: R/C
Type: Char
AESDISAB
Core: Perm
Type: Char
AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome

These would typically be flagged by seriousness or outcome codes. Will need to propose change request to support capturing more than one
Congenital Anomaly or Birth Defect AESCONG
Core: R/C
Type: Char
AESCONG
Core: Perm
Type: Char
AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome

These would typically be flagged by seriousness or outcome codes. Will need to propose change request to support capturing more than one
Needs Intervention to Prevent Impairment AESINTV
Core: O
Type: Char
SUPPAE.QVAL AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome

These would typically be flagged by seriousness or outcome codes. Will need to propose change request to support capturing more than one
Other Medically Important Serious Event AESMIE
Core: R/C
Type: Char
AESMIE
Core: Perm
Type: Char
AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome

Additional outcomes or seriousness codes would be specified
Involves Cancer AESCAN
Core: O
Type: Char
AESCAN
Core: Perm
Type: Char
AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome

Additional outcomes or seriousness codes would be specified
Occurred with Overdose AESOD
Core: O
Type: Char
AESOD
Core: Perm
Type: Char
AdverseEvent.suspectEntity.causality.productRelatedness
0..1 string

AdverseEvent.suspectEntity.causality.productRelatedness

Product Relatedness implies that the product is involved in the AE, but it doesn't indicate overdose.   After looking through other fields, it does not look like there is a field that would cover this situation.   In studies, OD  would be a reason why the AE was marked as an SAE.
AE Causality AEREL
Core: HR
Type: Char
AEREL
Core: Exp
Type: Char
AdverseEvent.suspectEntity.causality.productRelatedness
0..1 string

AdverseEvent.suspectEntity.causality.productRelatedness|AdverseEvent.suspectEntity.causality.assessment with binding to AdverseEventCausalityAssessment value set

Reasonable to map to both. Information could be useful in either of these fields.
Action Taken with Study Treatment AEACN
Core: R/C
Type: Char
AEACN
Core: Exp
Type: Char
AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.mitigatingAction).extension(item).valueCodeableConcept

Pre-adopting R5 capability via a standard extension. Note that the extension captures all actions taken, so filtration would be needed to select only those related to study treatment
Actions Taken with Device AEACNDEV
Core: O
Type: Char
SUPPAE.QVAL AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.mitigatingAction).extension(item).valueCodeableConcept

Pre-adopting R5 capability via a standard extension. Note that the extension captures all actions taken, so filtration would be needed to select only those related to devices
Other Action Taken AEACNOTH
Core: O
Type: Char
AEACNOTH
Core: Perm
Type: Char
AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.mitigatingAction).extension(item).valueCodeableConcept

Pre-adopting R5 capability via a standard extension. Note that the extension captures all actions taken, so filtration would be needed to exclude actions related to study treatment or device
Outcome of Adverse Event AEOUT
Core: R/C
Type: Char
AEOUT
Core: Perm
Type: Char
AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome

The coded equivalents matching up the CDISC controlled terminology. Meaning, in the EHR we may not have value-based coordination from FHIR-to-CDISC
AE Caused Study Discontinuation AEDIS
Core: O
Type: Char
SUPPAE.QVAL An extension would be added that would be study specific as the relationship might vary study to study.
AE Related to Non-Study Treatment AERLNSYN
Core: O
Type: Char
An extension would be added that would be study specific as the relationship might vary study to study.
AE Relationship to Non-Study Treatment AERELNST
Core: O
Type: Char
AERELNST
Core: Perm
Type: Char
An extension would be added that would be study specific as the relationship might vary study to study.
Adverse Event of Special Interest AESI
Core: O
Type: Char
Add extension, probably on a study-specific link. (Adverse events of interst to one study wouldn't necessarily be of interest to others.)
Pattern of Adverse Event AEPATT
Core: O
Type: Char
AEPATT
Core: Perm
Type: Char
An extension would be added that would be study specific as the relationship might vary study to study.
Concomitant or Additional Trtmnt Given AECONTRT
Core: O
Type: Char
AECONTRT
Core: Perm
Type: Char
AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.mitigatingAction).extension(item).valueCodeableConcept

R5 pre-adoption extension. Note that mitigatingActions aren't necessarily treatments, so codes would need to be examined to only map those that were treatments
AE Modified Reported Term AEMODIFY
Core: R/C
Type: Char
AEMODIFY
Core: Perm
Type: Char
The fact one of the codings was modified would be captured as an extension
AE Dictionary-Derived Term AEDECOD
Core: O
Type: Char
AEDECOD
Core: Req
Type: Char
values: MedDRA
Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE Lowest Level Term AELLT
Core: R/C
Type: Char
AELLT
Core: Exp
Type: Char
values: MedDRA
Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE Lowest Level Term Code AELLTCD
Core: R/C
Type: Num
AELLTCD
Core: Exp
Type: Num
values: MedDRA
Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE Preferred Term Code AEPTCD
Core: R/C
Type: Num
AEPTCD
Core: Exp
Type: Num
values: MedDRA
Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE High Level Term AEHLT
Core: R/C
Type: Char
AEHLT
Core: Exp
Type: Char
values: MedDRA
Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE High Level Term Code AEHLTCD
Core: R/C
Type: Num
AEHLTCD
Core: Exp
Type: Num
values: MedDRA
Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE High Level Group Term AEHLGT
Core: R/C
Type: Char
AEHLGT
Core: Exp
Type: Char
values: MedDRA
Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE High Level Group Term Code AEHLGTCD
Core: R/C
Type: Num
AEHLGTCD
Core: Exp
Type: Num
values: MedDRA
Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE Primary System Organ Class AESOC
Core: R/C
Type: Char
AESOC
Core: Exp
Type: Char
values: MedDRA
Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE Primary System Organ Class Code AESOCCD
Core: R/C
Type: Num
AESOCCD
Core: Exp
Type: Num
values: MedDRA
Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
Any Other Actions Taken AEACNOYN
Core: O
Type: Char
AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.mitigatingAction).extension(item).valueCodeableConcept

R5 pre-adoption extension. Note that mitigatingActions also include treatments, so codes would need to be examined to only map those that were NOT treatments
FHIR map (or gap) CDISC Comment
Label Element FHIRPath CDASH SDTM
Study Identifier AdverseEvent.study
0..* Reference

AdverseEvent.study.resolve().partOf.resolve().identifier

ResearchSubject.where(subject=AdverseEvent.subject).study.resolve().partOf.resolve().identifier

STUDYID
Core: HR
Type: Char
STUDYID
Core: Req
Type: Char
Mapping is based on presumption that research subject will be tied to site-specific ResearchStudy, which will then be part of overall ResearchStudy.

The direct path using AdverseEvent.study will only exist if the system maintaining the AdverseEvent is aware of its relevance to the Study. ResearchStudy links to Patient. Observation links to Patient. If the patients are the same, that establishes the linkage. There's also an extension that allows direct linkage to a 'study' from any resource - if the source system has actually established such a linkage.
Study Site Identifier ResearchStudy.site
0..* Reference

AdverseEvent.study.resolve().identifier

ResearchSubject.where(subject=AdverseEvent.subject).study.resolve().identifier

SITEID
Core: HR
Type: Char
DM.SITEID
Core: Req
Type: Char
Mapping is based on presumption that research subject will be tied to site-specific ResearchStudy, which will then be part of overall ResearchStudy.

The direct path using AdverseEvent.study will only exist if the system maintaining the AdverseEvent is aware of its relevance to the Study.
Subject Identifier for the Study ResearchSubject.identifier
0..* Identifier

ResearchSubject.where(individual=AdverseEvent.subject).identifier

SUBJID
Core: HR
Type: Char
DM.SUBJID
Core: Req
Type: Char
Research subject points to patient, adverse event points to patient. Adverse event points to study. Check to see if they are the same in order to establish linkage. When extracting real world evidence either the extraction will be performed in a fully identified mode and de-identification will happen as a subsequent process or the de-identification will already have occurred. Any identify info in the resources will already have real world identification randomized or otherwise made nonsensitive. The mapping is referring to subject.reference not to the identifier element on the clinical resources.
Any Adverse Event In FHIR, this would be determined by searching for AdverseEvents with a given subject (possibly also filtered by research study) and excluding those that were entered in error. If a flag were necessary, it would be an extension on Study, not sent on AdverseEvent. It might also be necessary to search for Condition instances, Observation instances, Encounters with particular reasons and other resources if the desire is to have the full set of potential adverse reactions. AEYN
Core: O
Type: Char
Category for Adverse Event AdverseEvent.category
0..* CodeableConcept
Binding: AdverseEventCategory extensible

AdverseEvent.category

AECAT
Core: O
Type: Char
AECAT
Core: Perm
Type: Char
This is typically sponsor-specific and we would not expect this to come from the site.

In FHIR, an AdverseEvent can be categorized in as many ways as desired with whatever granularity is desired. When converting from FHIR to CDASH, systems will need to look at the FHIR categories (and potentially other information) to determine how best to populate AECAT and AESCAT based on the study-designed categories (unless they've pre-arranged with the EHR to ensure it captures the same codes)
Subcategory for Adverse Event AdverseEvent.category
0..* CodeableConcept
Binding: AdverseEventCategory extensible

AdverseEvent.category

AESCAT
Core: O
Type: Char
AESCAT
Core: Perm
Type: Char
This is typically sponsor-specific and we would not expect this to come from the site.

In FHIR, an AdverseEvent can be categorized in as many ways as desired with whatever granularity is desired. When converting from FHIR to CDASH, systems will need to look at the FHIR categories (and potentially other information) to determine how best to populate AECAT and AESCAT based on the study-designed categories (unless they've pre-arranged with the EHR to ensure it captures the same codes)
AE Sponsor-Defined Identifier AdverseEvent.identifier
0..1 Identifier

AdverseEvent.identifier.where(assigner=sponsor).value

AdverseEvent.refID

AESPID
Core: O
Type: Char
AESPID
Core: Perm
Type: Char
The assigner of the identifier can be explicit or inferred by the Identifier.system.
Reported Term for the Adverse Event Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

AETERM
Core: HR
Type: Char
AETERM
Core: Req
Type: Char
Adverse Event Occurrence FHIR only captures AdverseEvents that have actually occurred. A flag about whether a particular potential adverse reaction has been detected or not could be captured using Questionnaire Response AEOCCUR
Core: O
Type: Char
Prespecified Adverse Event If captured within an EHR, this would be an extension on the existing extension that references the ResearchStudy. (An AdverseEvent might be pre-specified for one study and not for another.) AEPRESP
Core: O
Type: Char
AEPRESP
Core: Perm
Type: Char
Adverse Event Start Date AdverseEvent.date
0..1 dateTime

AdverseEvent.date(date portion)

AESTDAT
Core: HR
Type: Char
AESTDTC
Core: Exp
Type: Char
values: ISO 8601
Start Time of Adverse Event AdverseEvent.date
0..1 dateTime

AdverseEvent.date(time portion)

AESTTIM
Core: R/C
Type: Char
AESTDTC
Core: Exp
Type: Char
values: ISO 8601
AE Location of Event Condition.bodySite
0..* CodeableConcept
Binding: BodySite example

AdverseEvent.resultingCondition.resolve().bodySite

AELOC
Core: O
Type: Char
AELOC
Core: Perm
Type: Char
Requires knowledge or review of data to ensure location, laterality and directionality are included in the code and can be parsed.
Adverse Event Laterality Condition.bodySite
0..* CodeableConcept
Binding: BodySite example

AdverseEvent.resultingCondition.resolve().bodySite

AELAT
Core: O
Type: Char
AELAT* Requires knowledge or review of data to ensure location, laterality and directionality are included in the code and can be parsed.
Adverse Event Directionality Condition.bodySite
0..* CodeableConcept
Binding: BodySite example

AdverseEvent.resultingCondition.resolve().bodySite

AEDIR
Core: O
Type: Char
AEDIR* Requires knowledge or review of data to ensure location, laterality and directionality are included in the code and can be parsed.
AE Location Portion or Totality Condition.bodySite
0..* CodeableConcept
Binding: BodySite example

AdverseEvent.resultingCondition.resolve().bodySite

AEPORTOT
Core: O
Type: Char
AEPORTOT* Review of data to ensure location, laterality and directionality are included in the code and can be parsed.
Ongoing Adverse Event AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome=ongoing

AEONGO
Core: O
Type: Char
AEENRTPT
Core: Perm
Type: Char AEENRF
Core: Perm
Type: Char
Note that the assertion of 'ongoing' is made at the time the adverse event is recorded, which may or may not be what's needed for submission purposes.
Adverse Event End Date AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.occurrence).valuePeriod.end

AEENDAT
Core: R/C
Type: Char
AEENDTC
Core: Exp
Type: Char
values: ISO 8601
Need to use a standard extension to pre-adopt the type allowed in R5. Element contains both date and time (if specified).
End Time of Adverse Event AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.occurrence).valuePeriod.end

AEENTIM
Core: R/C
Type: Char
AEENDTC
Core: Exp
Type: Char
values: ISO 8601
Need to use a standard extension to pre-adopt the type allowed in R5. Element contains both date and time (if specified).
AE Severity/Intensity AdverseEvent.severity
0..1 CodeableConcept
Binding: AdverseEventSeverity required

AdverseEvent.severity

AESEV
Core: R/C
Type: Char
AESEV
Core: Perm
Type: Char
AE Standard Toxicity Grade Recommendation is to add extension for oncology or other studies requiring toxicity grades. AETOXGR
Core: R/C
Type: Char
AETOXGR
Core: Perm
Type: Char
AE Serious Event AdverseEvent.seriousness
0..1 CodeableConcept
Binding: AdverseEventSeriousness example

AdverseEvent.seriousness

AESER
Core: R/C
Type: Char
AESER
Core: Exp
Type: Char
Access if an adverse event should be classified as serious based on the serious criteria defined in the protocol.
Results in Death AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome='fatal'

AESDTH
Core: R/C
Type: Char
AESDTH
Core: Perm
Type: Char
Death Date Patient.deceasedDateTime
0..1 dateTime

Patient.deceasedDateTime

DTHDAT
Core: O
Type: Char
DM.DTHDTC
Core: Exp
Type: Char
values: ISO 8601
Is Life Threatening AdverseEvent.seriousness
0..1 CodeableConcept
Binding: AdverseEventSeriousness example

AdverseEvent.seriousness

AESLIFE
Core: R/C
Type: Char
AESLIFE
Core: Perm
Type: Char
These would typically be flagged by seriousness or outcome codes. Will need to propose change request to support capturing more than one
Requires or Prolongs Hospitalization Note: there is Encounter.hospitalization.[x], but its relevance to AESHOSP may not be explicit and would require additional analysis. AESHOSP
Core: R/C
Type: Char
AESHOSP
Core: Perm
Type: Char
Persist or Signif Disability/Incapacity AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome

AESDISAB
Core: R/C
Type: Char
AESDISAB
Core: Perm
Type: Char
These would typically be flagged by seriousness or outcome codes. Will need to propose change request to support capturing more than one
Congenital Anomaly or Birth Defect AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome

AESCONG
Core: R/C
Type: Char
AESCONG
Core: Perm
Type: Char
These would typically be flagged by seriousness or outcome codes. Will need to propose change request to support capturing more than one
Needs Intervention to Prevent Impairment AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome

AESINTV
Core: O
Type: Char
SUPPAE.QVAL These would typically be flagged by seriousness or outcome codes. Will need to propose change request to support capturing more than one
Other Medically Important Serious Event AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome

AESMIE
Core: R/C
Type: Char
AESMIE
Core: Perm
Type: Char
Additional outcomes or seriousness codes would be specified
Involves Cancer AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome

AESCAN
Core: O
Type: Char
AESCAN
Core: Perm
Type: Char
Additional outcomes or seriousness codes would be specified
Occurred with Overdose AdverseEvent.suspectEntity.causality.productRelatedness
0..1 string

AdverseEvent.suspectEntity.causality.productRelatedness

AESOD
Core: O
Type: Char
AESOD
Core: Perm
Type: Char
Product Relatedness implies that the product is involved in the AE, but it doesn't indicate overdose.   After looking through other fields, it does not look like there is a field that would cover this situation.   In studies, OD  would be a reason why the AE was marked as an SAE.
AE Causality AdverseEvent.suspectEntity.causality.productRelatedness
0..1 string

AdverseEvent.suspectEntity.causality.productRelatedness|AdverseEvent.suspectEntity.causality.assessment with binding to AdverseEventCausalityAssessment value set

AEREL
Core: HR
Type: Char
AEREL
Core: Exp
Type: Char
Reasonable to map to both. Information could be useful in either of these fields.
Action Taken with Study Treatment AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.mitigatingAction).extension(item).valueCodeableConcept

AEACN
Core: R/C
Type: Char
AEACN
Core: Exp
Type: Char
Pre-adopting R5 capability via a standard extension. Note that the extension captures all actions taken, so filtration would be needed to select only those related to study treatment
Actions Taken with Device AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.mitigatingAction).extension(item).valueCodeableConcept

AEACNDEV
Core: O
Type: Char
SUPPAE.QVAL Pre-adopting R5 capability via a standard extension. Note that the extension captures all actions taken, so filtration would be needed to select only those related to devices
Other Action Taken AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.mitigatingAction).extension(item).valueCodeableConcept

AEACNOTH
Core: O
Type: Char
AEACNOTH
Core: Perm
Type: Char
Pre-adopting R5 capability via a standard extension. Note that the extension captures all actions taken, so filtration would be needed to exclude actions related to study treatment or device
Outcome of Adverse Event AdverseEvent.outcome
0..1 CodeableConcept
Binding: AdverseEventOutcome required

AdverseEvent.outcome

AEOUT
Core: R/C
Type: Char
AEOUT
Core: Perm
Type: Char
The coded equivalents matching up the CDISC controlled terminology. Meaning, in the EHR we may not have value-based coordination from FHIR-to-CDISC
AE Caused Study Discontinuation An extension would be added that would be study specific as the relationship might vary study to study. AEDIS
Core: O
Type: Char
SUPPAE.QVAL
AE Related to Non-Study Treatment An extension would be added that would be study specific as the relationship might vary study to study. AERLNSYN
Core: O
Type: Char
AE Relationship to Non-Study Treatment An extension would be added that would be study specific as the relationship might vary study to study. AERELNST
Core: O
Type: Char
AERELNST
Core: Perm
Type: Char
Adverse Event of Special Interest Add extension, probably on a study-specific link. (Adverse events of interst to one study wouldn't necessarily be of interest to others.) AESI
Core: O
Type: Char
Pattern of Adverse Event An extension would be added that would be study specific as the relationship might vary study to study. AEPATT
Core: O
Type: Char
AEPATT
Core: Perm
Type: Char
Concomitant or Additional Trtmnt Given AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.mitigatingAction).extension(item).valueCodeableConcept

AECONTRT
Core: O
Type: Char
AECONTRT
Core: Perm
Type: Char
R5 pre-adoption extension. Note that mitigatingActions aren't necessarily treatments, so codes would need to be examined to only map those that were treatments
AE Modified Reported Term The fact one of the codings was modified would be captured as an extension AEMODIFY
Core: R/C
Type: Char
AEMODIFY
Core: Perm
Type: Char
AE Dictionary-Derived Term Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

AEDECOD
Core: O
Type: Char
AEDECOD
Core: Req
Type: Char
values: MedDRA
Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE Lowest Level Term Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

AELLT
Core: R/C
Type: Char
AELLT
Core: Exp
Type: Char
values: MedDRA
Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE Lowest Level Term Code Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

AELLTCD
Core: R/C
Type: Num
AELLTCD
Core: Exp
Type: Num
values: MedDRA
Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE Preferred Term Code Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

AEPTCD
Core: R/C
Type: Num
AEPTCD
Core: Exp
Type: Num
values: MedDRA
Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE High Level Term Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

AEHLT
Core: R/C
Type: Char
AEHLT
Core: Exp
Type: Char
values: MedDRA
Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE High Level Term Code Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

AEHLTCD
Core: R/C
Type: Num
AEHLTCD
Core: Exp
Type: Num
values: MedDRA
Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE High Level Group Term Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

AEHLGT
Core: R/C
Type: Char
AEHLGT
Core: Exp
Type: Char
values: MedDRA
Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE High Level Group Term Code Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

AEHLGTCD
Core: R/C
Type: Num
AEHLGTCD
Core: Exp
Type: Num
values: MedDRA
Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE Primary System Organ Class Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

AESOC
Core: R/C
Type: Char
AESOC
Core: Exp
Type: Char
values: MedDRA
Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
AE Primary System Organ Class Code Condition.code
0..1 CodeableConcept
Binding: ConditionKind example

AdverseEvent.resultingCondition.resolve().code

AESOCCD
Core: R/C
Type: Num
AESOCCD
Core: Exp
Type: Num
values: MedDRA
Sponsors will populate this through the coding process and is applicable to items using MedDRA coding.
Any Other Actions Taken AdverseEvent.extension
0..* Extension

AdverseEvent.extension(AdverseEvent.mitigatingAction).extension(item).valueCodeableConcept

AEACNOYN
Core: O
Type: Char
R5 pre-adoption extension. Note that mitigatingActions also include treatments, so codes would need to be examined to only map those that were NOT treatments