This page is part of the US Core (v7.0.0-ballot: STU7 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 6.1.0. For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition-encounter-diagnosis | Version: 7.0.0-ballot | |||
Standards status: Trial-use | Maturity Level: 3 | Computable Name: USCoreConditionEncounterDiagnosisProfile | ||
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License |
The US Core Condition Encounter Diagnosis Profile is based upon the core FHIR Condition Resource and meets the U.S. Core Data for Interoperability (USCDI) v2 Encounter Diagnosis requirements. In version 5.0.0, The US Core Condition Profile has been split into the US Core Condition Encounter Diagnosis Profile and US Core Condition Problems and Health Concerns Profile. To promote interoperability and adoption through common implementation, this profile defines constraints and extensions on the Condition resource for the minimal set of data to record, search, and fetch information about an encounter diagnosis. It identifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource and constrains the way the elements are used when using this profile. It provides the floor for standards development for specific use cases.
Example Usage Scenarios:
The following are example usage scenarios for this profile:
The following data-elements must always be present (Mandatory definition) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.
Each Condition Must Have:
Each Condition Must Support:
*see guidance below
Profile Specific Implementation Guidance:
Condition.encounter
.encounter-diagnosis
. An example search is shown in the Quick Start section below.Condition.onsetDateTime
, or Condition.recordedDate
.
Condition.recordedDate
.Condition.onsetDateTime
. A server may support both, which means they support all 3 dates.Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Condition
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Condition | 0..* | Condition | Detailed information about conditions, problems or diagnoses | |
assertedDate | S | 0..1 | dateTime | Date the condition was first asserted URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate |
clinicalStatus | S | 0..1 | CodeableConcept | active | recurrence | relapse | inactive | remission | resolved Binding: ConditionClinicalStatusCodes (required) |
verificationStatus | S | 0..1 | CodeableConcept | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error Binding: ConditionVerificationStatus (required) |
Slices for category | S | 1..* | CodeableConcept | category codes Slice: Unordered, Open by pattern:$this |
category:us-core | S | 1..1 | CodeableConcept | encounter-diagnosis Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/condition-category | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: encounter-diagnosis | |
code | S | 1..1 | CodeableConcept | Identification of the condition, problem or diagnosis Binding: US Core Condition Codes (extensible): Valueset to describe the actual problem experienced by the patient |
subject | S | 1..1 | Reference(US Core Patient Profile S | Group) | Who has the condition? |
encounter | S | 0..1 | Reference(US Core Encounter Profile) | Encounter created as part of |
onset[x] | S | 0..1 | Estimated or actual date, date-time, or age | |
onsetDateTime | dateTime S | |||
onsetAge | Age | |||
onsetPeriod | Period | |||
onsetRange | Range | |||
onsetString | string | |||
abatement[x] | S | 0..1 | When in resolution/remission | |
abatementDateTime | dateTime S | |||
abatementAge | Age | |||
abatementPeriod | Period | |||
abatementRange | Range | |||
abatementString | string | |||
recordedDate | S | 0..1 | dateTime | Date record was first recorded |
Documentation for this format |
Path | Conformance | ValueSet |
Condition.clinicalStatus | required | ConditionClinicalStatusCodes |
Condition.verificationStatus | required | ConditionVerificationStatus |
Condition.code | extensible | USCoreConditionCodes |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Condition | C | 0..* | Condition | Detailed information about conditions, problems or diagnoses |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
assertedDate | S | 0..1 | dateTime | Date the condition was first asserted URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
clinicalStatus | ?!SΣC | 0..1 | CodeableConcept | active | recurrence | relapse | inactive | remission | resolved Binding: ConditionClinicalStatusCodes (required) |
verificationStatus | ?!SΣC | 0..1 | CodeableConcept | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error Binding: ConditionVerificationStatus (required) |
Slices for category | S | 1..* | CodeableConcept | category codes Slice: Unordered, Open by pattern:$this Binding: ConditionCategoryCodes (extensible): A category assigned to the condition. |
category:us-core | S | 1..1 | CodeableConcept | encounter-diagnosis Binding: ConditionCategoryCodes (extensible): A category assigned to the condition. Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/condition-category | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: encounter-diagnosis | |
code | SΣ | 1..1 | CodeableConcept | Identification of the condition, problem or diagnosis Binding: US Core Condition Codes (extensible): Valueset to describe the actual problem experienced by the patient |
subject | SΣ | 1..1 | Reference(US Core Patient Profile) | Who has the condition? |
encounter | SΣ | 0..1 | Reference(US Core Encounter Profile) | Encounter created as part of |
onset[x] | SΣ | 0..1 | Estimated or actual date, date-time, or age | |
onsetDateTime | dateTime | |||
abatement[x] | SC | 0..1 | When in resolution/remission | |
abatementDateTime | dateTime | |||
recordedDate | SΣ | 0..1 | dateTime | Date record was first recorded |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Condition.clinicalStatus | required | ConditionClinicalStatusCodes |
Condition.verificationStatus | required | ConditionVerificationStatus |
Condition.category | extensible | ConditionCategoryCodes |
Condition.category:us-core | extensible | Pattern: encounter-diagnosis |
Condition.code | extensible | USCoreConditionCodes |
Id | Grade | Path(s) | Details | Requirements |
con-3 | best practice | Condition | Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item : clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty() | |
con-4 | error | Condition | If condition is abated, then clinicalStatus must be either inactive, resolved, or remission : abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists() | |
con-5 | error | Condition | Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error : verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty() | |
dom-2 | error | Condition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Condition | 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 | Condition | 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 | Condition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Condition | 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() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Condition | C | 0..* | Condition | Detailed information about conditions, problems or diagnoses | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
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.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
assertedDate | S | 0..1 | dateTime | Date the condition was first asserted URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate | ||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | Σ | 0..* | Identifier | External Ids for this condition | ||||
clinicalStatus | ?!SΣC | 0..1 | CodeableConcept | active | recurrence | relapse | inactive | remission | resolved Binding: ConditionClinicalStatusCodes (required) | ||||
verificationStatus | ?!SΣC | 0..1 | CodeableConcept | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error Binding: ConditionVerificationStatus (required) | ||||
Slices for category | S | 1..* | CodeableConcept | category codes Slice: Unordered, Open by pattern:$this Binding: ConditionCategoryCodes (extensible): A category assigned to the condition. | ||||
category:us-core | S | 1..1 | CodeableConcept | encounter-diagnosis Binding: ConditionCategoryCodes (extensible): A category assigned to the condition. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/condition-category | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: encounter-diagnosis | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
severity | 0..1 | CodeableConcept | Subjective severity of condition Binding: Condition/DiagnosisSeverity (preferred): A subjective assessment of the severity of the condition as evaluated by the clinician. | |||||
code | SΣ | 1..1 | CodeableConcept | Identification of the condition, problem or diagnosis Binding: US Core Condition Codes (extensible): Valueset to describe the actual problem experienced by the patient | ||||
bodySite | Σ | 0..* | CodeableConcept | Anatomical location, if relevant Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | ||||
subject | SΣ | 1..1 | Reference(US Core Patient Profile S | Group) | Who has the condition? | ||||
encounter | SΣ | 0..1 | Reference(US Core Encounter Profile) | Encounter created as part of | ||||
onset[x] | SΣ | 0..1 | Estimated or actual date, date-time, or age | |||||
onsetDateTime | dateTime S | |||||||
onsetAge | Age | |||||||
onsetPeriod | Period | |||||||
onsetRange | Range | |||||||
onsetString | string | |||||||
abatement[x] | SC | 0..1 | When in resolution/remission | |||||
abatementDateTime | dateTime S | |||||||
abatementAge | Age | |||||||
abatementPeriod | Period | |||||||
abatementRange | Range | |||||||
abatementString | string | |||||||
recordedDate | SΣ | 0..1 | dateTime | Date record was first recorded | ||||
recorder | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | Who recorded the condition | ||||
asserter | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | Person who asserts this condition | ||||
stage | C | 0..* | BackboneElement | Stage/grade, usually assessed formally | ||||
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 | ||||
summary | C | 0..1 | CodeableConcept | Simple summary (disease specific) Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages). | ||||
assessment | C | 0..* | Reference(ClinicalImpression | DiagnosticReport | Observation) | Formal record of assessment | ||||
type | 0..1 | CodeableConcept | Kind of staging Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological). | |||||
evidence | C | 0..* | BackboneElement | Supporting evidence | ||||
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 | ||||
code | ΣC | 0..* | CodeableConcept | Manifestation/symptom Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition. | ||||
detail | ΣC | 0..* | Reference(Resource) | Supporting information found elsewhere | ||||
note | 0..* | Annotation | Additional information about the Condition | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Condition.language | preferred | CommonLanguages
| ||||
Condition.clinicalStatus | required | ConditionClinicalStatusCodes | ||||
Condition.verificationStatus | required | ConditionVerificationStatus | ||||
Condition.category | extensible | ConditionCategoryCodes | ||||
Condition.category:us-core | extensible | Pattern: encounter-diagnosis | ||||
Condition.severity | preferred | Condition/DiagnosisSeverity | ||||
Condition.code | extensible | USCoreConditionCodes | ||||
Condition.bodySite | example | SNOMEDCTBodyStructures | ||||
Condition.stage.summary | example | ConditionStage | ||||
Condition.stage.type | example | ConditionStageType | ||||
Condition.evidence.code | example | ManifestationAndSymptomCodes |
Id | Grade | Path(s) | Details | Requirements |
con-1 | error | Condition.stage | Stage SHALL have summary or assessment : summary.exists() or assessment.exists() | |
con-2 | error | Condition.evidence | evidence SHALL have code or details : code.exists() or detail.exists() | |
con-3 | best practice | Condition | Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item : clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty() | |
con-4 | error | Condition | If condition is abated, then clinicalStatus must be either inactive, resolved, or remission : abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists() | |
con-5 | error | Condition | Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error : verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty() | |
dom-2 | error | Condition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Condition | 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 | Condition | 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 | Condition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Condition | 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() |
This structure is derived from Condition
Summary
Mandatory: 3 elements
Must-Support: 11 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Maturity: 3
Differential View
This structure is derived from Condition
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Condition | 0..* | Condition | Detailed information about conditions, problems or diagnoses | |
assertedDate | S | 0..1 | dateTime | Date the condition was first asserted URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate |
clinicalStatus | S | 0..1 | CodeableConcept | active | recurrence | relapse | inactive | remission | resolved Binding: ConditionClinicalStatusCodes (required) |
verificationStatus | S | 0..1 | CodeableConcept | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error Binding: ConditionVerificationStatus (required) |
Slices for category | S | 1..* | CodeableConcept | category codes Slice: Unordered, Open by pattern:$this |
category:us-core | S | 1..1 | CodeableConcept | encounter-diagnosis Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/condition-category | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: encounter-diagnosis | |
code | S | 1..1 | CodeableConcept | Identification of the condition, problem or diagnosis Binding: US Core Condition Codes (extensible): Valueset to describe the actual problem experienced by the patient |
subject | S | 1..1 | Reference(US Core Patient Profile S | Group) | Who has the condition? |
encounter | S | 0..1 | Reference(US Core Encounter Profile) | Encounter created as part of |
onset[x] | S | 0..1 | Estimated or actual date, date-time, or age | |
onsetDateTime | dateTime S | |||
onsetAge | Age | |||
onsetPeriod | Period | |||
onsetRange | Range | |||
onsetString | string | |||
abatement[x] | S | 0..1 | When in resolution/remission | |
abatementDateTime | dateTime S | |||
abatementAge | Age | |||
abatementPeriod | Period | |||
abatementRange | Range | |||
abatementString | string | |||
recordedDate | S | 0..1 | dateTime | Date record was first recorded |
Documentation for this format |
Path | Conformance | ValueSet |
Condition.clinicalStatus | required | ConditionClinicalStatusCodes |
Condition.verificationStatus | required | ConditionVerificationStatus |
Condition.code | extensible | USCoreConditionCodes |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Condition | C | 0..* | Condition | Detailed information about conditions, problems or diagnoses |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
assertedDate | S | 0..1 | dateTime | Date the condition was first asserted URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
clinicalStatus | ?!SΣC | 0..1 | CodeableConcept | active | recurrence | relapse | inactive | remission | resolved Binding: ConditionClinicalStatusCodes (required) |
verificationStatus | ?!SΣC | 0..1 | CodeableConcept | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error Binding: ConditionVerificationStatus (required) |
Slices for category | S | 1..* | CodeableConcept | category codes Slice: Unordered, Open by pattern:$this Binding: ConditionCategoryCodes (extensible): A category assigned to the condition. |
category:us-core | S | 1..1 | CodeableConcept | encounter-diagnosis Binding: ConditionCategoryCodes (extensible): A category assigned to the condition. Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/condition-category | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: encounter-diagnosis | |
code | SΣ | 1..1 | CodeableConcept | Identification of the condition, problem or diagnosis Binding: US Core Condition Codes (extensible): Valueset to describe the actual problem experienced by the patient |
subject | SΣ | 1..1 | Reference(US Core Patient Profile) | Who has the condition? |
encounter | SΣ | 0..1 | Reference(US Core Encounter Profile) | Encounter created as part of |
onset[x] | SΣ | 0..1 | Estimated or actual date, date-time, or age | |
onsetDateTime | dateTime | |||
abatement[x] | SC | 0..1 | When in resolution/remission | |
abatementDateTime | dateTime | |||
recordedDate | SΣ | 0..1 | dateTime | Date record was first recorded |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Condition.clinicalStatus | required | ConditionClinicalStatusCodes |
Condition.verificationStatus | required | ConditionVerificationStatus |
Condition.category | extensible | ConditionCategoryCodes |
Condition.category:us-core | extensible | Pattern: encounter-diagnosis |
Condition.code | extensible | USCoreConditionCodes |
Id | Grade | Path(s) | Details | Requirements |
con-3 | best practice | Condition | Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item : clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty() | |
con-4 | error | Condition | If condition is abated, then clinicalStatus must be either inactive, resolved, or remission : abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists() | |
con-5 | error | Condition | Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error : verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty() | |
dom-2 | error | Condition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Condition | 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 | Condition | 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 | Condition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Condition | 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() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Condition | C | 0..* | Condition | Detailed information about conditions, problems or diagnoses | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
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.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
assertedDate | S | 0..1 | dateTime | Date the condition was first asserted URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate | ||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | Σ | 0..* | Identifier | External Ids for this condition | ||||
clinicalStatus | ?!SΣC | 0..1 | CodeableConcept | active | recurrence | relapse | inactive | remission | resolved Binding: ConditionClinicalStatusCodes (required) | ||||
verificationStatus | ?!SΣC | 0..1 | CodeableConcept | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error Binding: ConditionVerificationStatus (required) | ||||
Slices for category | S | 1..* | CodeableConcept | category codes Slice: Unordered, Open by pattern:$this Binding: ConditionCategoryCodes (extensible): A category assigned to the condition. | ||||
category:us-core | S | 1..1 | CodeableConcept | encounter-diagnosis Binding: ConditionCategoryCodes (extensible): A category assigned to the condition. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/condition-category | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: encounter-diagnosis | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
severity | 0..1 | CodeableConcept | Subjective severity of condition Binding: Condition/DiagnosisSeverity (preferred): A subjective assessment of the severity of the condition as evaluated by the clinician. | |||||
code | SΣ | 1..1 | CodeableConcept | Identification of the condition, problem or diagnosis Binding: US Core Condition Codes (extensible): Valueset to describe the actual problem experienced by the patient | ||||
bodySite | Σ | 0..* | CodeableConcept | Anatomical location, if relevant Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | ||||
subject | SΣ | 1..1 | Reference(US Core Patient Profile S | Group) | Who has the condition? | ||||
encounter | SΣ | 0..1 | Reference(US Core Encounter Profile) | Encounter created as part of | ||||
onset[x] | SΣ | 0..1 | Estimated or actual date, date-time, or age | |||||
onsetDateTime | dateTime S | |||||||
onsetAge | Age | |||||||
onsetPeriod | Period | |||||||
onsetRange | Range | |||||||
onsetString | string | |||||||
abatement[x] | SC | 0..1 | When in resolution/remission | |||||
abatementDateTime | dateTime S | |||||||
abatementAge | Age | |||||||
abatementPeriod | Period | |||||||
abatementRange | Range | |||||||
abatementString | string | |||||||
recordedDate | SΣ | 0..1 | dateTime | Date record was first recorded | ||||
recorder | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | Who recorded the condition | ||||
asserter | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | Person who asserts this condition | ||||
stage | C | 0..* | BackboneElement | Stage/grade, usually assessed formally | ||||
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 | ||||
summary | C | 0..1 | CodeableConcept | Simple summary (disease specific) Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages). | ||||
assessment | C | 0..* | Reference(ClinicalImpression | DiagnosticReport | Observation) | Formal record of assessment | ||||
type | 0..1 | CodeableConcept | Kind of staging Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological). | |||||
evidence | C | 0..* | BackboneElement | Supporting evidence | ||||
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 | ||||
code | ΣC | 0..* | CodeableConcept | Manifestation/symptom Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition. | ||||
detail | ΣC | 0..* | Reference(Resource) | Supporting information found elsewhere | ||||
note | 0..* | Annotation | Additional information about the Condition | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Condition.language | preferred | CommonLanguages
| ||||
Condition.clinicalStatus | required | ConditionClinicalStatusCodes | ||||
Condition.verificationStatus | required | ConditionVerificationStatus | ||||
Condition.category | extensible | ConditionCategoryCodes | ||||
Condition.category:us-core | extensible | Pattern: encounter-diagnosis | ||||
Condition.severity | preferred | Condition/DiagnosisSeverity | ||||
Condition.code | extensible | USCoreConditionCodes | ||||
Condition.bodySite | example | SNOMEDCTBodyStructures | ||||
Condition.stage.summary | example | ConditionStage | ||||
Condition.stage.type | example | ConditionStageType | ||||
Condition.evidence.code | example | ManifestationAndSymptomCodes |
Id | Grade | Path(s) | Details | Requirements |
con-1 | error | Condition.stage | Stage SHALL have summary or assessment : summary.exists() or assessment.exists() | |
con-2 | error | Condition.evidence | evidence SHALL have code or details : code.exists() or detail.exists() | |
con-3 | best practice | Condition | Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item : clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty() | |
con-4 | error | Condition | If condition is abated, then clinicalStatus must be either inactive, resolved, or remission : abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists() | |
con-5 | error | Condition | Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error : verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty() | |
dom-2 | error | Condition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Condition | 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 | Condition | 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 | Condition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Condition | 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() |
This structure is derived from Condition
Summary
Mandatory: 3 elements
Must-Support: 11 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Maturity: 3
Other representations of profile: CSV, Excel, Schematron
Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile’s information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.
Servers providing access to encounter diagnosis data SHALL support these US Core SMART Scopes:
patient/Condition.rs
patient.Condition.rs?category=http://terminology.hl7.org/CodeSystem/condition-category|encounter-diagnosis
.The following search parameters and search parameter combinations SHALL be supported:
SHALL support searching for all conditions including problems, health concerns, and encounter diagnosis for a patient using the patient
search parameter:
GET [base]/Condition?patient={Type/}[id]
Example:
Implementation Notes: Fetches a bundle of all Condition resources for the specified patient (how to search by reference)
SHALL support searching using the combination of the patient
and category
search parameters:
GET [base]/Condition?patient={Type/}[id]&category={system|}[code]
Example:
Implementation Notes: Fetches a bundle of all Condition resources for the specified patient and category. (how to search by reference and how to search by token)
The following search parameter combinations SHOULD be supported:
SHOULD support searching using the combination of the patient
and clinical-status
search parameters:
GET [base]/Condition?patient={Type/}[id]&clinical-status=http://terminology.hl7.org/CodeSystem/condition-clinical|active,http://terminology.hl7.org/CodeSystem/condition-clinical|recurrance,http://terminology.hl7.org/CodeSystem/condition-clinical|remission
Example:
Implementation Notes: Fetches a bundle of all Condition resources for the specified patient and all "active" statuses (active,relapse,remission). This will exclude diagnoses and health concerns without a clinicalStatus specified. (how to search by reference and how to search by token)
SHOULD support searching using the combination of the patient
and category
and clinical-status
search parameters:
GET [base]/Condition?patient={Type/}[id]&category={system|}[code]&clinical-status=http://terminology.hl7.org/CodeSystem/condition-clinical|active,http://terminology.hl7.org/CodeSystem/condition-clinical|recurrance,http://terminology.hl7.org/CodeSystem/condition-clinical|remission
Example:
Implementation Notes: Fetches a bundle of all Condition resources for the specified patient and category for all "active" statuses (active,relapse,remission). This will exclude diagnoses and health concerns without a clinicalStatus specified. (how to search by reference and how to search by token)
SHOULD support searching using the combination of the patient
and category
and encounter
search parameters:
GET [base]/Condition?patient={Type/}[id]&category={system|}[code]&encounter={Type/}[id]
Example:
Implementation Notes: Fetches a bundle of all Condition resources for the specified patient and category and encounter. When category = "encounter-diagnosis" will return the encounter diagnosis for the encounter. (how to search by reference and how to search by token)
SHOULD support searching using the combination of the patient
and code
search parameters:
GET [base]/Condition?patient={Type/}[id]&code={system|}[code]
Example:
Implementation Notes: Fetches a bundle of all Condition resources for the specified patient and code. (how to search by reference and how to search by token)
patient
and onset-date
search parameters:
onset-date
comparators: gt,lt,ge,le
onset-date
(e.g.onset-date=[date]&onset-date=[date]]&...
)GET [base]/Condition?patient={Type/}[id]&onset-date={gt|lt|ge|le}[date]{&onset-date={gt|lt|ge|le}[date]&...}
Example:
Implementation Notes: Fetches a bundle of all Condition resources for the specified patient and date. (how to search by reference and how to search by date)
patient
and asserted-date
search parameters:
asserted-date
comparators: gt,lt,ge,le
asserted-date
(e.g.asserted-date=[date]&asserted-date=[date]]&...
)GET [base]/Condition?patient={Type/}[id]&asserted-date={gt|lt|ge|le}[date]{&asserted-date={gt|lt|ge|le}[date]&...}
Example:
Implementation Notes: Fetches a bundle of all Condition resources for the specified patient and date. (how to search by reference and how to search by date)
patient
and recorded-date
search parameters:
recorded-date
comparators: gt,lt,ge,le
recorded-date
(e.g.recorded-date=[date]&recorded-date=[date]]&...
)GET [base]/Condition?patient={Type/}[id]&recorded-date={gt|lt|ge|le}[date]{&recorded-date={gt|lt|ge|le}[date]&...}
Example:
Implementation Notes: Fetches a bundle of all Condition resources for the specified patient and date. (how to search by reference and how to search by date)
patient
and abatement-date
search parameters:
abatement-date
comparators: gt,lt,ge,le
abatement-date
(e.g.abatement-date=[date]&abatement-date=[date]]&...
)GET [base]/Condition?patient={Type/}[id]&abatement-date={gt|lt|ge|le}[date]{&abatement-date={gt|lt|ge|le}[date]&...}
Example:
Implementation Notes: Fetches a bundle of all Condition resources for the specified patient and date. (how to search by reference and how to search by date)