HRSA 2024 Uniform Data System (UDS) Patient Level Submission (PLS) (UDS+) FHIR IG
2.0.0 - STU2 Release 1 - Standard for Trial-Use

Publication Build: This will be filled in by the publication tooling

## Resource Profile: De-Identified UDS Plus AdverseEvent

Official URL: http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-adverseevent | Version: 2.0.0
Standards status: Trial-use | Maturity Level: 2 | Computable Name: UDSPlusAdverseEvent

The UDS+ profile is based on the AdverseEvent resource and establishes the core elements, extensions, vocabularies and value sets for representing Allergies and Intolerances for UDS+ program.

### Introduction

This profile is used to represent de-identified AdverseEvent information. The de-identification process has to remove all data elements not explicitly identified as "SUPPORTED" in the profile.

The HHS De-identification Guidance is to be followed to ensure appropriate level of de-identification is performed.

According to the HHS guidance, dates should not have a precision of more than the year. This means month and day cannot be included. This includes AdverseEvent.recorded and date elements.

In FHIR Resources, text elements and reference.display elements which provide human readable information to the providers may be generated using programs and tools from the data present within the resource. For e.g a AdverseEvent resource text element may contain information such as the AdverseEvent dates, patient information. This type of information will enable identification of the individuals. In order to avoid inadvertent revealing of PII/PHI, text elements cannot be included in the De-identified FHIR resource and the submission will be rejected when text elements are present by the validation process.

Ids and References

The original AdverseEvent resource id should not be included in the De-identified AdverseEvent instance. Instead a new id should be created and provided as part of the FHIR resource. The Data Submitter should be capable of using the generated id to relink the data to the original AdverseEvent. All resource references to the AdverseEvent submitted as part of the UDS+ report should refer to newly generated id.

Resource references cannot contain text element as it may contain PHI/PII. The text element for following references are not allowed

- subject

Date Truncation

The Data Submitter has to truncate the following dates to only have a precision of year

- date
- recordedDate

Usage:

- Examples for this Resource Profile: AdverseEvent/de-identified-example

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
AdverseEvent |  | 0..* | AdverseEvent | De-Identified UDS Plus AdverseEvent dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-3: 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 dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management
id | S Σ | 0..1 | id | The de-identified AdverseEvent identifier created by the health center to send data to UDS+ Data Receiver
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
actuality | ?!S Σ | 1..1 | code | actual | potential Binding: AdverseEventActuality (required): Overall nature of the adverse event, e.g. real or potential. ele-1: All FHIR elements must have a @value or children
category | S Σ | 0..* | CodeableConcept | product-problem | product-quality | product-use-error | wrong-dose | incorrect-prescribing-information | wrong-technique | wrong-route-of-administration | wrong-rate | wrong-duration | wrong-time | expired-drug | medical-device-use-error | problem-different-manufacturer | unsafe-physical-environment Binding: AdverseEventCategory (extensible): Overall categorization of the event, e.g. product-related or situational. ele-1: All FHIR elements must have a @value or children
event | S Σ | 1..1 | CodeableConcept | Type of the event itself in relation to the subject Binding: SNOMEDCTClinicalFindings (example): Detailed type of event. ele-1: All FHIR elements must have a @value or children
subject | S Σ | 1..1 | Reference(De-Identified UDS Plus Patient) | Subject impacted by event ele-1: All FHIR elements must have a @value or children
date | S Σ C | 0..1 | dateTime | When the event occurred ele-1: All FHIR elements must have a @value or children uds-plus-advevent-1: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-1a: All dateTime data elements should have valid year >= 1900 uds-plus-advevent-1b: All dateTime data elements should have valid year <= 2030
detected | Σ C | 0..1 | dateTime | When the event was detected ele-1: All FHIR elements must have a @value or children uds-plus-advevent-2: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-2a: All dateTime data elements should have valid year >= 1900 uds-plus-advevent-2b: All dateTime data elements should have valid year <= 2030
recordedDate | S Σ C | 0..1 | dateTime | When the event was recorded ele-1: All FHIR elements must have a @value or children uds-plus-advevent-3: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-3a: All dateTime data elements should have valid year > 1900 uds-plus-advevent-3b: All dateTime data elements should have valid year < 2030
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
AdverseEvent.actuality | required | AdverseEventActuality `http://hl7.org/fhir/ValueSet/adverse-event-actuality|4.0.1` from the FHIR Standard
AdverseEvent.category | extensible | AdverseEventCategory `http://hl7.org/fhir/ValueSet/adverse-event-category` from the FHIR Standard
AdverseEvent.event | example | SNOMEDCTClinicalFindings `http://hl7.org/fhir/ValueSet/adverse-event-type` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
uds-plus-advevent-1 | error | AdverseEvent.date | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-1a | error | AdverseEvent.date | All dateTime data elements should have valid year >= 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-1b | error | AdverseEvent.date | All dateTime data elements should have valid year <= 2030 : $this is DateTime implies $this.toString() <= '2030' |
uds-plus-advevent-2 | error | AdverseEvent.detected | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-2a | error | AdverseEvent.detected | All dateTime data elements should have valid year >= 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-2b | error | AdverseEvent.detected | All dateTime data elements should have valid year <= 2030 : $this is DateTime implies $this.toString() <= '2030' |
uds-plus-advevent-3 | error | AdverseEvent.recordedDate | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-3a | error | AdverseEvent.recordedDate | All dateTime data elements should have valid year > 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-3b | error | AdverseEvent.recordedDate | All dateTime data elements should have valid year < 2030 : $this is DateTime implies $this.toString() <= '2030' |

This structure is derived from AdverseEvent

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
AdverseEvent |  | 0..* | AdverseEvent | De-Identified UDS Plus AdverseEvent
id | S | 0..1 | id | The de-identified AdverseEvent identifier created by the health center to send data to UDS+ Data Receiver
text |  | 0..0 |  |
contained |  | 0..0 |  |
actuality | S | 1..1 | code | actual | potential
category | S | 0..* | CodeableConcept | product-problem | product-quality | product-use-error | wrong-dose | incorrect-prescribing-information | wrong-technique | wrong-route-of-administration | wrong-rate | wrong-duration | wrong-time | expired-drug | medical-device-use-error | problem-different-manufacturer | unsafe-physical-environment
event | S | 1..1 | CodeableConcept | Type of the event itself in relation to the subject
subject | S | 1..1 | Reference(De-Identified UDS Plus Patient) | Subject impacted by event
display |  | 0..0 |  |
encounter |  |  |  |
display |  | 0..0 |  |
date | S C | 0..1 | dateTime | When the event occurred uds-plus-advevent-1: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-1a: All dateTime data elements should have valid year >= 1900 uds-plus-advevent-1b: All dateTime data elements should have valid year <= 2030
detected | C | 0..1 | dateTime | When the event was detected uds-plus-advevent-2: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-2a: All dateTime data elements should have valid year >= 1900 uds-plus-advevent-2b: All dateTime data elements should have valid year <= 2030
recordedDate | S C | 0..1 | dateTime | When the event was recorded uds-plus-advevent-3: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-3a: All dateTime data elements should have valid year > 1900 uds-plus-advevent-3b: All dateTime data elements should have valid year < 2030
recorder |  |  |  |
display |  | 0..0 |  |
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Details | Requirements
uds-plus-advevent-1 | error | AdverseEvent.date | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-1a | error | AdverseEvent.date | All dateTime data elements should have valid year >= 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-1b | error | AdverseEvent.date | All dateTime data elements should have valid year <= 2030 : $this is DateTime implies $this.toString() <= '2030' |
uds-plus-advevent-2 | error | AdverseEvent.detected | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-2a | error | AdverseEvent.detected | All dateTime data elements should have valid year >= 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-2b | error | AdverseEvent.detected | All dateTime data elements should have valid year <= 2030 : $this is DateTime implies $this.toString() <= '2030' |
uds-plus-advevent-3 | error | AdverseEvent.recordedDate | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-3a | error | AdverseEvent.recordedDate | All dateTime data elements should have valid year > 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-3b | error | AdverseEvent.recordedDate | All dateTime data elements should have valid year < 2030 : $this is DateTime implies $this.toString() <= '2030' |

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
AdverseEvent |  | 0..* | AdverseEvent | De-Identified UDS Plus AdverseEvent
id | S Σ | 0..1 | id | The de-identified AdverseEvent identifier created by the health center to send data to UDS+ Data Receiver
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 Bindings | Purpose
AllLanguages | Max Binding
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..1 | Identifier | Business identifier for the event
actuality | ?!S Σ | 1..1 | code | actual | potential Binding: AdverseEventActuality (required): Overall nature of the adverse event, e.g. real or potential.
category | S Σ | 0..* | CodeableConcept | product-problem | product-quality | product-use-error | wrong-dose | incorrect-prescribing-information | wrong-technique | wrong-route-of-administration | wrong-rate | wrong-duration | wrong-time | expired-drug | medical-device-use-error | problem-different-manufacturer | unsafe-physical-environment Binding: AdverseEventCategory (extensible): Overall categorization of the event, e.g. product-related or situational.
event | S Σ | 1..1 | CodeableConcept | Type of the event itself in relation to the subject Binding: SNOMEDCTClinicalFindings (example): Detailed type of event.
subject | S Σ | 1..1 | Reference(De-Identified UDS Plus Patient) | Subject impacted by event
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
date | S Σ C | 0..1 | dateTime | When the event occurred uds-plus-advevent-1: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-1a: All dateTime data elements should have valid year >= 1900 uds-plus-advevent-1b: All dateTime data elements should have valid year <= 2030
detected | Σ C | 0..1 | dateTime | When the event was detected uds-plus-advevent-2: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-2a: All dateTime data elements should have valid year >= 1900 uds-plus-advevent-2b: All dateTime data elements should have valid year <= 2030
recordedDate | S Σ C | 0..1 | dateTime | When the event was recorded uds-plus-advevent-3: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-3a: All dateTime data elements should have valid year > 1900 uds-plus-advevent-3b: All dateTime data elements should have valid year < 2030
resultingCondition | Σ | 0..* | Reference(Condition) | Effect on the subject due to this event
location | Σ | 0..1 | Reference(Location) | Location where adverse event occurred
seriousness | Σ | 0..1 | CodeableConcept | Seriousness of the event Binding: AdverseEventSeriousness (example): Overall seriousness of this event for the patient.
severity | Σ | 0..1 | CodeableConcept | mild | moderate | severe Binding: AdverseEventSeverity (required): The severity of the adverse event itself, in direct relation to the subject.
outcome | Σ | 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) | Who recorded the adverse event
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
contributor | Σ | 0..* | Reference(Practitioner | PractitionerRole | Device) | Who was involved in the adverse event or the potential adverse event
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
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
instance | Σ | 1..1 | Reference(Immunization | Procedure | Substance | Medication | MedicationAdministration | MedicationStatement | Device) | 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
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
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
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
AdverseEvent.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` from the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
AdverseEvent.actuality | required | AdverseEventActuality `http://hl7.org/fhir/ValueSet/adverse-event-actuality|4.0.1` from the FHIR Standard
AdverseEvent.category | extensible | AdverseEventCategory `http://hl7.org/fhir/ValueSet/adverse-event-category` from the FHIR Standard
AdverseEvent.event | example | SNOMEDCTClinicalFindings `http://hl7.org/fhir/ValueSet/adverse-event-type` from the FHIR Standard
AdverseEvent.subject.type | extensible | ResourceType `http://hl7.org/fhir/ValueSet/resource-types` from the FHIR Standard
AdverseEvent.encounter.type | extensible | ResourceType `http://hl7.org/fhir/ValueSet/resource-types` from the FHIR Standard
AdverseEvent.seriousness | example | AdverseEventSeriousness `http://hl7.org/fhir/ValueSet/adverse-event-seriousness` from the FHIR Standard
AdverseEvent.severity | required | AdverseEventSeverity `http://hl7.org/fhir/ValueSet/adverse-event-severity|4.0.1` from the FHIR Standard
AdverseEvent.outcome | required | AdverseEventOutcome `http://hl7.org/fhir/ValueSet/adverse-event-outcome|4.0.1` from the FHIR Standard
AdverseEvent.recorder.type | extensible | ResourceType `http://hl7.org/fhir/ValueSet/resource-types` from the FHIR Standard
AdverseEvent.suspectEntity.causality.assessment | example | AdverseEventCausalityAssessment `http://hl7.org/fhir/ValueSet/adverse-event-causality-assess` from the FHIR Standard
AdverseEvent.suspectEntity.causality.method | example | AdverseEventCausalityMethod `http://hl7.org/fhir/ValueSet/adverse-event-causality-method` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
uds-plus-advevent-1 | error | AdverseEvent.date | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-1a | error | AdverseEvent.date | All dateTime data elements should have valid year >= 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-1b | error | AdverseEvent.date | All dateTime data elements should have valid year <= 2030 : $this is DateTime implies $this.toString() <= '2030' |
uds-plus-advevent-2 | error | AdverseEvent.detected | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-2a | error | AdverseEvent.detected | All dateTime data elements should have valid year >= 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-2b | error | AdverseEvent.detected | All dateTime data elements should have valid year <= 2030 : $this is DateTime implies $this.toString() <= '2030' |
uds-plus-advevent-3 | error | AdverseEvent.recordedDate | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-3a | error | AdverseEvent.recordedDate | All dateTime data elements should have valid year > 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-3b | error | AdverseEvent.recordedDate | All dateTime data elements should have valid year < 2030 : $this is DateTime implies $this.toString() <= '2030' |

This structure is derived from AdverseEvent

Summary

Mandatory: 3 elements
Must-Support: 7 elements
Prohibited: 5 elements

Structures

This structure refers to these other structures:

- De-Identified UDS Plus Patient (http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/de-identified-uds-plus-patient)

Maturity: 2

Key Elements View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
AdverseEvent |  | 0..* | AdverseEvent | De-Identified UDS Plus AdverseEvent dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-3: 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 dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management
id | S Σ | 0..1 | id | The de-identified AdverseEvent identifier created by the health center to send data to UDS+ Data Receiver
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
actuality | ?!S Σ | 1..1 | code | actual | potential Binding: AdverseEventActuality (required): Overall nature of the adverse event, e.g. real or potential. ele-1: All FHIR elements must have a @value or children
category | S Σ | 0..* | CodeableConcept | product-problem | product-quality | product-use-error | wrong-dose | incorrect-prescribing-information | wrong-technique | wrong-route-of-administration | wrong-rate | wrong-duration | wrong-time | expired-drug | medical-device-use-error | problem-different-manufacturer | unsafe-physical-environment Binding: AdverseEventCategory (extensible): Overall categorization of the event, e.g. product-related or situational. ele-1: All FHIR elements must have a @value or children
event | S Σ | 1..1 | CodeableConcept | Type of the event itself in relation to the subject Binding: SNOMEDCTClinicalFindings (example): Detailed type of event. ele-1: All FHIR elements must have a @value or children
subject | S Σ | 1..1 | Reference(De-Identified UDS Plus Patient) | Subject impacted by event ele-1: All FHIR elements must have a @value or children
date | S Σ C | 0..1 | dateTime | When the event occurred ele-1: All FHIR elements must have a @value or children uds-plus-advevent-1: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-1a: All dateTime data elements should have valid year >= 1900 uds-plus-advevent-1b: All dateTime data elements should have valid year <= 2030
detected | Σ C | 0..1 | dateTime | When the event was detected ele-1: All FHIR elements must have a @value or children uds-plus-advevent-2: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-2a: All dateTime data elements should have valid year >= 1900 uds-plus-advevent-2b: All dateTime data elements should have valid year <= 2030
recordedDate | S Σ C | 0..1 | dateTime | When the event was recorded ele-1: All FHIR elements must have a @value or children uds-plus-advevent-3: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-3a: All dateTime data elements should have valid year > 1900 uds-plus-advevent-3b: All dateTime data elements should have valid year < 2030
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
AdverseEvent.actuality | required | AdverseEventActuality `http://hl7.org/fhir/ValueSet/adverse-event-actuality|4.0.1` from the FHIR Standard
AdverseEvent.category | extensible | AdverseEventCategory `http://hl7.org/fhir/ValueSet/adverse-event-category` from the FHIR Standard
AdverseEvent.event | example | SNOMEDCTClinicalFindings `http://hl7.org/fhir/ValueSet/adverse-event-type` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
uds-plus-advevent-1 | error | AdverseEvent.date | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-1a | error | AdverseEvent.date | All dateTime data elements should have valid year >= 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-1b | error | AdverseEvent.date | All dateTime data elements should have valid year <= 2030 : $this is DateTime implies $this.toString() <= '2030' |
uds-plus-advevent-2 | error | AdverseEvent.detected | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-2a | error | AdverseEvent.detected | All dateTime data elements should have valid year >= 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-2b | error | AdverseEvent.detected | All dateTime data elements should have valid year <= 2030 : $this is DateTime implies $this.toString() <= '2030' |
uds-plus-advevent-3 | error | AdverseEvent.recordedDate | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-3a | error | AdverseEvent.recordedDate | All dateTime data elements should have valid year > 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-3b | error | AdverseEvent.recordedDate | All dateTime data elements should have valid year < 2030 : $this is DateTime implies $this.toString() <= '2030' |

Differential View

This structure is derived from AdverseEvent

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
AdverseEvent |  | 0..* | AdverseEvent | De-Identified UDS Plus AdverseEvent
id | S | 0..1 | id | The de-identified AdverseEvent identifier created by the health center to send data to UDS+ Data Receiver
text |  | 0..0 |  |
contained |  | 0..0 |  |
actuality | S | 1..1 | code | actual | potential
category | S | 0..* | CodeableConcept | product-problem | product-quality | product-use-error | wrong-dose | incorrect-prescribing-information | wrong-technique | wrong-route-of-administration | wrong-rate | wrong-duration | wrong-time | expired-drug | medical-device-use-error | problem-different-manufacturer | unsafe-physical-environment
event | S | 1..1 | CodeableConcept | Type of the event itself in relation to the subject
subject | S | 1..1 | Reference(De-Identified UDS Plus Patient) | Subject impacted by event
display |  | 0..0 |  |
encounter |  |  |  |
display |  | 0..0 |  |
date | S C | 0..1 | dateTime | When the event occurred uds-plus-advevent-1: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-1a: All dateTime data elements should have valid year >= 1900 uds-plus-advevent-1b: All dateTime data elements should have valid year <= 2030
detected | C | 0..1 | dateTime | When the event was detected uds-plus-advevent-2: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-2a: All dateTime data elements should have valid year >= 1900 uds-plus-advevent-2b: All dateTime data elements should have valid year <= 2030
recordedDate | S C | 0..1 | dateTime | When the event was recorded uds-plus-advevent-3: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-3a: All dateTime data elements should have valid year > 1900 uds-plus-advevent-3b: All dateTime data elements should have valid year < 2030
recorder |  |  |  |
display |  | 0..0 |  |
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Details | Requirements
uds-plus-advevent-1 | error | AdverseEvent.date | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-1a | error | AdverseEvent.date | All dateTime data elements should have valid year >= 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-1b | error | AdverseEvent.date | All dateTime data elements should have valid year <= 2030 : $this is DateTime implies $this.toString() <= '2030' |
uds-plus-advevent-2 | error | AdverseEvent.detected | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-2a | error | AdverseEvent.detected | All dateTime data elements should have valid year >= 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-2b | error | AdverseEvent.detected | All dateTime data elements should have valid year <= 2030 : $this is DateTime implies $this.toString() <= '2030' |
uds-plus-advevent-3 | error | AdverseEvent.recordedDate | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-3a | error | AdverseEvent.recordedDate | All dateTime data elements should have valid year > 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-3b | error | AdverseEvent.recordedDate | All dateTime data elements should have valid year < 2030 : $this is DateTime implies $this.toString() <= '2030' |

Snapshot View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
AdverseEvent |  | 0..* | AdverseEvent | De-Identified UDS Plus AdverseEvent
id | S Σ | 0..1 | id | The de-identified AdverseEvent identifier created by the health center to send data to UDS+ Data Receiver
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 Bindings | Purpose
AllLanguages | Max Binding
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..1 | Identifier | Business identifier for the event
actuality | ?!S Σ | 1..1 | code | actual | potential Binding: AdverseEventActuality (required): Overall nature of the adverse event, e.g. real or potential.
category | S Σ | 0..* | CodeableConcept | product-problem | product-quality | product-use-error | wrong-dose | incorrect-prescribing-information | wrong-technique | wrong-route-of-administration | wrong-rate | wrong-duration | wrong-time | expired-drug | medical-device-use-error | problem-different-manufacturer | unsafe-physical-environment Binding: AdverseEventCategory (extensible): Overall categorization of the event, e.g. product-related or situational.
event | S Σ | 1..1 | CodeableConcept | Type of the event itself in relation to the subject Binding: SNOMEDCTClinicalFindings (example): Detailed type of event.
subject | S Σ | 1..1 | Reference(De-Identified UDS Plus Patient) | Subject impacted by event
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
date | S Σ C | 0..1 | dateTime | When the event occurred uds-plus-advevent-1: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-1a: All dateTime data elements should have valid year >= 1900 uds-plus-advevent-1b: All dateTime data elements should have valid year <= 2030
detected | Σ C | 0..1 | dateTime | When the event was detected uds-plus-advevent-2: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-2a: All dateTime data elements should have valid year >= 1900 uds-plus-advevent-2b: All dateTime data elements should have valid year <= 2030
recordedDate | S Σ C | 0..1 | dateTime | When the event was recorded uds-plus-advevent-3: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-advevent-3a: All dateTime data elements should have valid year > 1900 uds-plus-advevent-3b: All dateTime data elements should have valid year < 2030
resultingCondition | Σ | 0..* | Reference(Condition) | Effect on the subject due to this event
location | Σ | 0..1 | Reference(Location) | Location where adverse event occurred
seriousness | Σ | 0..1 | CodeableConcept | Seriousness of the event Binding: AdverseEventSeriousness (example): Overall seriousness of this event for the patient.
severity | Σ | 0..1 | CodeableConcept | mild | moderate | severe Binding: AdverseEventSeverity (required): The severity of the adverse event itself, in direct relation to the subject.
outcome | Σ | 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) | Who recorded the adverse event
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
contributor | Σ | 0..* | Reference(Practitioner | PractitionerRole | Device) | Who was involved in the adverse event or the potential adverse event
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
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
instance | Σ | 1..1 | Reference(Immunization | Procedure | Substance | Medication | MedicationAdministration | MedicationStatement | Device) | 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
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
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
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
AdverseEvent.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` from the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
AdverseEvent.actuality | required | AdverseEventActuality `http://hl7.org/fhir/ValueSet/adverse-event-actuality|4.0.1` from the FHIR Standard
AdverseEvent.category | extensible | AdverseEventCategory `http://hl7.org/fhir/ValueSet/adverse-event-category` from the FHIR Standard
AdverseEvent.event | example | SNOMEDCTClinicalFindings `http://hl7.org/fhir/ValueSet/adverse-event-type` from the FHIR Standard
AdverseEvent.subject.type | extensible | ResourceType `http://hl7.org/fhir/ValueSet/resource-types` from the FHIR Standard
AdverseEvent.encounter.type | extensible | ResourceType `http://hl7.org/fhir/ValueSet/resource-types` from the FHIR Standard
AdverseEvent.seriousness | example | AdverseEventSeriousness `http://hl7.org/fhir/ValueSet/adverse-event-seriousness` from the FHIR Standard
AdverseEvent.severity | required | AdverseEventSeverity `http://hl7.org/fhir/ValueSet/adverse-event-severity|4.0.1` from the FHIR Standard
AdverseEvent.outcome | required | AdverseEventOutcome `http://hl7.org/fhir/ValueSet/adverse-event-outcome|4.0.1` from the FHIR Standard
AdverseEvent.recorder.type | extensible | ResourceType `http://hl7.org/fhir/ValueSet/resource-types` from the FHIR Standard
AdverseEvent.suspectEntity.causality.assessment | example | AdverseEventCausalityAssessment `http://hl7.org/fhir/ValueSet/adverse-event-causality-assess` from the FHIR Standard
AdverseEvent.suspectEntity.causality.method | example | AdverseEventCausalityMethod `http://hl7.org/fhir/ValueSet/adverse-event-causality-method` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
uds-plus-advevent-1 | error | AdverseEvent.date | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-1a | error | AdverseEvent.date | All dateTime data elements should have valid year >= 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-1b | error | AdverseEvent.date | All dateTime data elements should have valid year <= 2030 : $this is DateTime implies $this.toString() <= '2030' |
uds-plus-advevent-2 | error | AdverseEvent.detected | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-2a | error | AdverseEvent.detected | All dateTime data elements should have valid year >= 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-2b | error | AdverseEvent.detected | All dateTime data elements should have valid year <= 2030 : $this is DateTime implies $this.toString() <= '2030' |
uds-plus-advevent-3 | error | AdverseEvent.recordedDate | All dateTime data elements should be truncated to a year only for de-identified resources. : $this is DateTime implies $this.toString().length() = 4 |
uds-plus-advevent-3a | error | AdverseEvent.recordedDate | All dateTime data elements should have valid year > 1900 : $this is DateTime implies $this.toString() >= '1900' |
uds-plus-advevent-3b | error | AdverseEvent.recordedDate | All dateTime data elements should have valid year < 2030 : $this is DateTime implies $this.toString() <= '2030' |

This structure is derived from AdverseEvent

Summary

Mandatory: 3 elements
Must-Support: 7 elements
Prohibited: 5 elements

Structures

This structure refers to these other structures:

- De-Identified UDS Plus Patient (http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/de-identified-uds-plus-patient)

Maturity: 2

Other representations of profile: CSV, Excel, Schematron