## Profile Comparison between http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-observation vs http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-observation

Left: | De-Identified UDS Plus Observation (http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-observation)
Right: | De-Identified UDS Plus Observation (http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-observation)

### Messages

Error | StructureDefinition.version | Values for version differ: '1.1.0' vs '2.0.0'
Information | StructureDefinition.date | Values for date differ: '2024-09-20T09:28:19-04:00' vs '2025-03-28T22:44:56+11:00'

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/Observation |
copyright |  |
date | 2024-09-20T09:28:19-04:00 | 2025-03-28T22:44:56+11:00 | Values Differ
description | The UDS+ profile is based on the Observation resource and establishes the core elements, extensions, vocabularies and value sets for representing assessments, vitals and other social history observations for UDS+ program. |
experimental | false |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#001 |
kind | resource |
name | UDSPlusObservation |
publisher | HRSA BPHC |
purpose |  |
status | active |
title | De-Identified UDS Plus Observation |
type | Observation |
url | http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-observation |
version | 1.1.0 | 2.0.0 | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Observation | C | 0..* | Observation | De-Identified UDS Plus Observation obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present | C | 0..* | Observation | De-Identified UDS Plus Observation obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present |
id | S Σ | 0..1 | id | The de-identified Observation identifier created by the health center to send data to UDS+ Data Receiver | S Σ | 0..1 | id | The de-identified Observation identifier created by the health center to send data to UDS+ Data Receiver |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
text |  | 0..0 |  |  |  | 0..0 |  |  |
contained |  | 0..0 |  |  |  | 0..0 |  |  |
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | Business Identifier for observation | Σ | 0..* | Identifier | Business Identifier for observation |
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order |
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event |
status | ?!S Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ?? (required): Codes providing the status of an observation. | ?!S Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ?? (required): Codes providing the status of an observation. |
category | S | 1..* | CodeableConcept | Classification of type of observation Binding: ?? (preferred): Codes for high level observation categories. | S | 1..* | CodeableConcept | Classification of type of observation Binding: ?? (preferred): Codes for high level observation categories. |
code | S Σ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: ?? (preferred): The set of codes indicating the Observations | S Σ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: ?? (preferred): The set of codes indicating the Observations |
subject | S Σ | 1..1 | Reference(De-Identified UDS Plus Patient) | Who and/or what the observation is about | S Σ | 1..1 | Reference(De-Identified UDS Plus Patient) | Who and/or what the observation is about |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 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 | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL |
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (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 | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known |
display | Σ | 0..0 |  |  | Σ | 0..0 |  |  |
focus | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record |
encounter | S Σ | 0..1 | Reference(De-Identified UDS Plus Encounter) | Healthcare event during which this observation is made | S Σ | 0..1 | Reference(De-Identified UDS Plus Encounter) | Healthcare event during which this observation is made |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 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 | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL |
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (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 | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known |
display | Σ | 0..0 |  |  | Σ | 0..0 |  |  |
effective[x] | S Σ C | 0..1 | dateTime S, Period, Timing | Clinically relevant time/time-period for observation uds-plus-obs-1: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-obs-2: All Period.start data elements should be truncated to a year only for de-identified resources. uds-plus-obs-3: All Period.emd data elements should be truncated to a year only for de-identified resources. uds-plus-obs-4: All Timing.event data elements should be truncated to a year only for de-identified resources. uds-plus-obs-5: All Timing.event data elements should be truncated to a year only for de-identified resources. | S Σ C | 0..1 | dateTime S, Period, Timing | Clinically relevant time/time-period for observation uds-plus-obs-1: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-obs-1a: All dateTime data elements should have valid year > 1900 uds-plus-obs-1b: All dateTime data elements should have valid year < 2030 uds-plus-obs-2: All Period.start data elements should be truncated to a year only for de-identified resources. uds-plus-obs-2a: All Period.start data elements should have valid year > 1900 uds-plus-obs-2b: All Period.start data elements should have valid year < 2030 uds-plus-obs-3: All Period.emd data elements should be truncated to a year only for de-identified resources. uds-plus-obs-3a: All Period.end data elements should have valid year > 1900 uds-plus-obs-3b: All Period.end data elements should have valid year < 2030 uds-plus-obs-4: All Timing.event data elements should be truncated to a year only for de-identified resources. uds-plus-obs-5: All Timing.event data elements should be truncated to a year only for de-identified resources. uds-plus-obs-5a: All Timing data elements should have valid year > 1900 uds-plus-obs-5b: All Timing data elements should have valid year < 2030 |
issued | Σ | 0..0 |  |  | Σ | 0..0 |  |  |
performer | S Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation | S Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 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 | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL |
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (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 | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known |
display | Σ | 0..0 |  |  | Σ | 0..0 |  |  |
value[x] | S Σ C | 0..1 | Quantity S, CodeableConcept S, string S, boolean, integer, Range, Ratio, SampledData, dateTime, Period | Actual result uds-plus-obs-6: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-obs-7: All Period.start data elements should be truncated to a year only for de-identified resources. uds-plus-obs-8: All Period.end data elements should be truncated to a year only for de-identified resources. | S Σ C | 0..1 | Quantity S, CodeableConcept S, string S, boolean, integer, Range, Ratio, SampledData, dateTime, Period | Actual result uds-plus-obs-6: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-obs-6a: All Period.start data elements should have valid year > 1900 uds-plus-obs-6b: All Period.start data elements should have valid year < 2030 uds-plus-obs-7: All Period.start data elements should be truncated to a year only for de-identified resources. uds-plus-obs-7a: All Period.start data elements should have valid year > 1900 uds-plus-obs-7b: All Period.start data elements should have valid year < 2030 uds-plus-obs-8: All Period.end data elements should be truncated to a year only for de-identified resources. uds-plus-obs-8a: All Period.end data elements should have valid year > 1900 uds-plus-obs-8b: All Period.end data elements should have valid year < 2030 |
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. | C | 0..1 | CodeableConcept | Why the result is missing Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ?? (extensible): Codes identifying interpretations of observations. |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ?? (extensible): Codes identifying interpretations of observations. |
note |  | 0..0 |  |  |  | 0..0 |  |  |
bodySite | S | 0..1 | CodeableConcept | Observed body part Binding: ?? (example): Codes describing anatomical locations. May include laterality. | S | 0..1 | CodeableConcept | Observed body part Binding: ?? (example): Codes describing anatomical locations. May include laterality. |
method |  | 0..1 | CodeableConcept | How it was done Binding: ?? (example): Methods for simple observations. |  | 0..1 | CodeableConcept | How it was done Binding: ?? (example): Methods for simple observations. |
specimen |  | 0..1 | Reference(Specimen) | Specimen used for this observation |  | 0..1 | Reference(Specimen) | Specimen used for this observation |
device |  | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device |  | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device |
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text | C | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
low | C | 0..1 | ?? | Low Range, if relevant | C | 0..1 | ?? | Low Range, if relevant |
high | C | 0..1 | ?? | High Range, if relevant | C | 0..1 | ?? | High Range, if relevant |
type |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ?? (preferred): Code for the meaning of a reference range. |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ?? (preferred): Code for the meaning of a reference range. |
appliesTo |  | 0..* | CodeableConcept | Reference range population Binding: ?? (example): Codes identifying the population the reference range applies to. |  | 0..* | CodeableConcept | Reference range population Binding: ?? (example): Codes identifying the population the reference range applies to. |
age |  | 0..1 | Range | Applicable age range, if relevant |  | 0..1 | Range | Applicable age range, if relevant |
text |  | 0..1 | string | Text based reference range in an observation |  | 0..1 | string | Text based reference range in an observation |
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group |
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from |
component | S Σ | 0..* | BackboneElement | Component results | S Σ | 0..* | BackboneElement | Component results |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: ?? (preferred): The set of codes indicating the Observations | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: ?? (preferred): The set of codes indicating the Observations |
value[x] | S Σ C | 0..1 | Quantity S, CodeableConcept S, string S, boolean, integer, Range, Ratio, SampledData, dateTime, Period | Actual component result uds-plus-obs-9: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-obs-10: All Period.start data elements should be truncated to a year only for de-identified resources. uds-plus-obs-11: All Period.end data elements should be truncated to a year only for de-identified resources. | S Σ C | 0..1 | Quantity S, CodeableConcept S, string S, boolean, integer, Range, Ratio, SampledData, dateTime, Period | Actual component result uds-plus-obs-9: All dateTime data elements should be truncated to a year only for de-identified resources. uds-plus-obs-9a: All dateTime data elements should have valid year > 1900 uds-plus-obs-9b: All dateTime data elements should have valid year < 2030 uds-plus-obs-10: All Period.start data elements should be truncated to a year only for de-identified resources. uds-plus-obs-10a: All Period.start data elements should have valid year > 1900 uds-plus-obs-10b: All Period.start data elements should have valid year < 2030 uds-plus-obs-11: All Period.end data elements should be truncated to a year only for de-identified resources. uds-plus-obs-11a: All Period.end data elements should have valid year > 1900 uds-plus-obs-11b: All Period.end data elements should have valid year < 2030 |
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. | C | 0..1 | CodeableConcept | Why the component result is missing Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ?? (extensible): Codes identifying interpretations of observations. |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ?? (extensible): Codes identifying interpretations of observations. |
referenceRange |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result |  | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result |
Documentation for this format