## Profile Comparison between http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observation vs http://hl7.org/fhir/us/core/StructureDefinition/us-core-smokingstatus

Left: | IPA-Observation (http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observation)
Right: | US Core Smoking Status Observation Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-smokingstatus)

### Messages

Error | StructureDefinition.url | Values for url differ: 'http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observation' vs 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-smokingstatus'
Error | StructureDefinition.version | Values for version differ: '1.1.0' vs '8.0.1'
Information | StructureDefinition.name | Values for name differ: 'IPAObservation' vs 'USCoreSmokingStatusProfile'
Information | StructureDefinition.title | Values for title differ: 'IPA-Observation' vs 'US Core Smoking Status Observation Profile'
Information | StructureDefinition.date | Values for date differ: '2022-08-02' vs '2024-03-22'
Information | StructureDefinition.publisher | Values for publisher differ: 'HL7 International / Patient Care' vs 'HL7 International / Cross-Group Projects'
Information | StructureDefinition.copyright | Values for copyright differ: 'Used by permission of HL7 International all rights reserved Creative Commons License' vs 'Used by permission of HL7 International, all rights reserved Creative Commons License'
Information | StructureDefinition.jurisdiction | Removed the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#001'
Information | StructureDefinition.jurisdiction | Added the item 'urn:iso:std:iso:3166#US'
Information | Observation.language | Example/preferred bindings differ at Observation.language using binding from IPAObservation
Information | StructureDefinition.short | Values for short differ: 'registered | preliminary | final | amended +' vs 'final | entered-in-error'
Information | Observation.category | Element minimum cardinalities differ: '0' vs '1'
Information | Observation.category | Example/preferred bindings differ at Observation.category using binding from IPAObservation
Information | StructureDefinition.short | Values for short differ: 'Type of observation (code / type)' vs 'Smoking Status'
Information | Observation.effective[x] | Element minimum cardinalities differ: '0' vs '1'
Warning | Observation.performer | Elements differ in definition for mustSupport: 'false' vs 'true'
Information | Observation.value[x] | Element minimum cardinalities differ: '0' vs '1'
Warning | Observation.dataAbsentReason | Elements differ in definition for mustSupport: 'true' vs 'false'
Information | Observation.referenceRange.type | Example/preferred bindings differ at Observation.referenceRange.type using binding from IPAObservation
Information | Observation.component.referenceRange.type | Example/preferred bindings differ at Observation.component.referenceRange.type using binding from IPAObservation

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/Observation |
copyright | Used by permission of HL7 International all rights reserved Creative Commons License | Used by permission of HL7 International, all rights reserved Creative Commons License | Values Differ
date | 2022-08-02 | 2024-03-22 | Values Differ
description | Minimum expectations for an Observation resource when accessed via a International Patient Access API | The US Core Smoking Status Observation Profile inherits from the FHIR [Observation](https://hl7.org/fhir/R4/observation.html) resource; refer to it for scope and usage definitions. This profile meets the requirements of the U.S. Core Data for Interoperability (USCDI) *Smoking Status* Data Element. This profile sets minimum expectations for the Observation resource to record, search, and fetch smoking status data associated with a patient. It specifies which core elements, extensions, vocabularies, and value sets **SHALL** be present in the resource and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption. | Values Differ
experimental | false |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#001 |  | Removed the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#001'
jurisdiction[1] |  | urn:iso:std:iso:3166#US | Added the item 'urn:iso:std:iso:3166#US'
kind | resource |
name | IPAObservation | USCoreSmokingStatusProfile | Values Differ
publisher | HL7 International / Patient Care | HL7 International / Cross-Group Projects | Values Differ
purpose |  |
status | active |
title | IPA-Observation | US Core Smoking Status Observation Profile | Values Differ
type | Observation |
url | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observation | http://hl7.org/fhir/us/core/StructureDefinition/us-core-smokingstatus | Values Differ
version | 1.1.0 | 8.0.1 | 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 | Measurements and simple assertions Constraints: ipa-obs-1 | C | 0..* | Observation | Measurements and simple assertions Constraints: us-core-24, us-core-25 |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
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
| Example/preferred bindings differ at Observation.language using binding from IPAObservation
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
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 | ?!SO Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ?? (required): Codes providing the status of an observation.
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| ?!S Σ | 1..1 | code | final | entered-in-error Binding: ?? (required) |
category | SO | 0..* | CodeableConcept | Classification of type of observation Binding: ?? (preferred): Codes for high level observation categories.
Obligations | Actor
SHALL:populate-if-known | Server
SHOULD:handle | Client
| S | 1..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:$this Binding: ?? (preferred): Codes for high level observation categories. | Element minimum cardinalities differ: '0' vs '1' Example/preferred bindings differ at Observation.category using binding from IPAObservation
code | SO Σ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: ?? (example): Codes identifying names of simple observations.
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| S Σ C | 1..1 | CodeableConcept | Smoking Status Binding: ?? (extensible): Smoking status type |
subject | SO Σ | 1..1 | Reference(IPA-Patient) | Who and/or what the observation is about
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| S Σ | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
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 | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made |
effective[x] | SO Σ | 0..1 | dateTime, Period, Timing, instant | Clinically relevant time/time-period for observation
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| S Σ | 1..1 | dateTime, Period | Clinically relevant time/time-period for observation | Element minimum cardinalities differ: '0' vs '1'
issued | Σ | 0..1 | instant | Date/Time this version was made available | Σ | 0..1 | instant | Date/Time this version was made available |
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation | S Σ | 0..* | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core CareTeam Profile | US Core RelatedPerson Profile) | Who is responsible for the observation | Elements differ in definition for mustSupport: 'false' vs 'true'
value[x] | SO Σ C | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual result
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| S Σ C | 1..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual result Slice: Unordered, Open by type:$this | Element minimum cardinalities differ: '0' vs '1'
dataAbsentReason | SO C | 0..1 | CodeableConcept | Why the result is missing Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| C | 0..1 | CodeableConcept | Why the result is missing Binding: ?? (extensible): Codes specifying why the result (Observation.value[x]) is missing. | Elements differ in definition for mustSupport: 'true' vs 'false'
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..* | Annotation | Comments about the observation |  | 0..* | Annotation | Comments about the observation |
bodySite |  | 0..1 | CodeableConcept | Observed body part Binding: ?? (example): Codes describing anatomical locations. May include laterality. |  | 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 | C | 0..* | BackboneElement | Provides guide for interpretation |
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. | Example/preferred bindings differ at Observation.referenceRange.type using binding from IPAObservation
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 | Σ | 0..* | BackboneElement | Component results | Σ | 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 | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: ?? (example): Codes identifying names of simple observations. | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: ?? (example): Codes identifying names of simple observations. |
value[x] | Σ | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual component result | Σ | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual component result |
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 |
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. | Example/preferred bindings differ at Observation.component.referenceRange.type using binding from IPAObservation
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 |
Documentation for this format