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 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
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.
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 |