Phenomics Exchange for Research and Diagnostics
0.1.0 - ci-build International flag

Phenomics Exchange for Research and Diagnostics, published by HL7 International / Clinical Interoperability Council. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/phenomics-exchange-ig/ and changes regularly. See the Directory of published versions

Resource Profile: Disease profile

Official URL: http://hl7.org/fhir/uv/phenomics-exchange/StructureDefinition/Disease Version: 0.1.0
Draft as of 2021-06-03 Computable Name: Disease

Copyright/Legal: Global Alliance for Genomics and Health

This profile stipulates that a FHIR Condition must have a codeable concept that represents the disease. The concepts can be taken from various ontologies, but for rare-disease concepts, we recommend MONDO.

Introduction

In the phenopacket-schema, an Individual can have zero to many Diseases. The disease is a diagnosis, i.e., an inference or hypothesis about the cause underlying the observed phenotypic abnormalities. Some use cases of the phenopacket-schema involve genomics diagnostics for rare disease. In this case, a patient may receive a general diagnosis such as inherited retinal dystrophy (MONDO:0019118), and this would be the term that is entered in the Disease field of the phenopacket. In this example, analysis of the phenotypic abnormalities and the variants in whole-genome sequencing leads to the diagnosis of cone-rod dystrophy 16 (MONDO:0013786). In this case, we would use the Ontology term MONDO:0013786 to denote the diagnosis in the Interpretation TODO – ADD LINK. In other cases, we may know the etiological (molecular) or other precise diagnosis at the time the Phenopacket is generated, and the specific term would be used here.

Thus, the Disease element can be used to model disease diagnoses at different levels of granularity depending on the preciseness of the clinical diagnosis.

The FHIR Condition and the GA4GH phenopacket-schema Disease.

The GA4GH Disease element can be coded using the native FHIR Condition element. The following explains how this should be done.

  1. In the GA4GH phenopacket, the term element is an OntologyClass that represents the disease diagnosis. This corresponds to the code element of Condition.

  2. In the GA4GH phenopacket, excluded is a boolean that is false by default. If set true, the meaning is that the disease indicated by the term element was explicitly excluded by clinical examination. The clinicalStatus element of Condition uses a Preferred value set for the codes (active, relapse, remission, resolved) but it is valid to use other codes here. To represent the fact that a disease has been excluded, the SNOMED code 315215002, Disorder excluded (situation), or a comparable code should be used.

  3. In the GA4GH phenopacket, onset is a TimeElement that represents the time or age of onset of the disease. This corresponds to onset in Condition.

  4. In the GA4GH phenopacket, resolution is a TimeElement that represents the time or age of resolution or abatement of the disease. This corresponds to abatement in Condition.

  5. In the GA4GH phenopacket, disease_stage is a list of OntologyClass that represent the disease stage. For instance, there are four stages of heart failure (A,B,C,D) ranging from high risk of developing heart failure to advanced heart failure. The FHIR Condition element represents the same information using an optional, single code. Software for transforming FHIR to GA4GH phenopackets may transform single composite codes into a list of codes if appropriate, but that is outside the scope of this IG.

  6. In the GA4GH phenopacket, clinical_tnm_finding is a list of OntologyClass that represent TNM findings score the progression of cancer with respect to the originating tumor (T), spread to lymph nodes (N), and presence of metastases (M). Users should consider the mCODE FHIR IG for representing cancer patients rather than this IG; both can be transformed into a GA4GH phenopacket. Therefore, we do not recommended modelling this aspect of the GA4GH phenopacket using this IG.

  7. In the GA4GH phenopacket, primary_site is an OntologyClass that represents the primary site of disease. This corresponds to bodySite in Condition.

  8. In the GA4GH phenopacket, laterality is an OntologyClass that represents the laterality (left or right) of the primary site of sites (if applicable). There is not element in Condition that explicitly represents laterality. We recommend that if this is an important data element, a code be used that contains a reference to laterality, e.g., SNOMED 44029006, Left lung structure (body structure). Software for transforming FHIR to GA4GH phenopackets may infer the appropriate laterality term for right or left if needed.

Usage:

Formal Views of Profile Content

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

This structure is derived from Condition

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition 0..* Condition Detailed information about conditions, problems or diagnoses

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition C 0..* Condition Detailed information about conditions, problems or diagnoses
con-3: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item
con-4: If condition is abated, then clinicalStatus must be either inactive, resolved, or remission
con-5: Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... clinicalStatus ?!ΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.

... subject Σ 1..1 Reference(Patient | Group) Who has the condition?

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1
from the FHIR Standard
Condition.verificationStatusrequiredConditionVerificationStatus
http://hl7.org/fhir/ValueSet/condition-ver-status|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
con-3best practiceConditionCondition.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-4errorConditionIf 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-5errorConditionCondition.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-2errorConditionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConditionIf 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-4errorConditionIf 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-5errorConditionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceConditionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition C 0..* Condition Detailed information about conditions, problems or diagnoses
con-3: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item
con-4: If condition is abated, then clinicalStatus must be either inactive, resolved, or remission
con-5: Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this condition
... clinicalStatus ?!ΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.

... verificationStatus ?!ΣC 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis.

... category 0..* CodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.


... 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 Σ 0..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the condition or diagnosis.

... bodySite Σ 0..* CodeableConcept Anatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... subject Σ 1..1 Reference(Patient | Group) Who has the condition?
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... onset[x] Σ 0..1 Estimated or actual date, date-time, or age
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
... abatement[x] C 0..1 When in resolution/remission
.... abatementDateTime dateTime
.... abatementAge Age
.... abatementPeriod Period
.... abatementRange Range
.... abatementString string
... recordedDate Σ 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
con-1: Stage SHALL have summary or assessment
.... 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
con-2: evidence SHALL have code or details
.... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Condition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1
from the FHIR Standard
Condition.verificationStatusrequiredConditionVerificationStatus
http://hl7.org/fhir/ValueSet/condition-ver-status|4.0.1
from the FHIR Standard
Condition.categoryextensibleConditionCategoryCodes
http://hl7.org/fhir/ValueSet/condition-category
from the FHIR Standard
Condition.severitypreferredCondition/DiagnosisSeverity
http://hl7.org/fhir/ValueSet/condition-severity
from the FHIR Standard
Condition.codeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Condition.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Condition.stage.summaryexampleConditionStage
http://hl7.org/fhir/ValueSet/condition-stage
from the FHIR Standard
Condition.stage.typeexampleConditionStageType
http://hl7.org/fhir/ValueSet/condition-stage-type
from the FHIR Standard
Condition.evidence.codeexampleManifestationAndSymptomCodes
http://hl7.org/fhir/ValueSet/manifestation-or-symptom
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
con-1errorCondition.stageStage SHALL have summary or assessment
: summary.exists() or assessment.exists()
con-2errorCondition.evidenceevidence SHALL have code or details
: code.exists() or detail.exists()
con-3best practiceConditionCondition.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-4errorConditionIf 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-5errorConditionCondition.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-2errorConditionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConditionIf 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-4errorConditionIf 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-5errorConditionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceConditionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Condition

Summary

Differential View

This structure is derived from Condition

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition 0..* Condition Detailed information about conditions, problems or diagnoses

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition C 0..* Condition Detailed information about conditions, problems or diagnoses
con-3: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item
con-4: If condition is abated, then clinicalStatus must be either inactive, resolved, or remission
con-5: Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... clinicalStatus ?!ΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.

... subject Σ 1..1 Reference(Patient | Group) Who has the condition?

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1
from the FHIR Standard
Condition.verificationStatusrequiredConditionVerificationStatus
http://hl7.org/fhir/ValueSet/condition-ver-status|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
con-3best practiceConditionCondition.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-4errorConditionIf 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-5errorConditionCondition.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-2errorConditionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConditionIf 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-4errorConditionIf 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-5errorConditionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceConditionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition C 0..* Condition Detailed information about conditions, problems or diagnoses
con-3: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item
con-4: If condition is abated, then clinicalStatus must be either inactive, resolved, or remission
con-5: Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this condition
... clinicalStatus ?!ΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.

... verificationStatus ?!ΣC 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis.

... category 0..* CodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.


... 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 Σ 0..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the condition or diagnosis.

... bodySite Σ 0..* CodeableConcept Anatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... subject Σ 1..1 Reference(Patient | Group) Who has the condition?
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... onset[x] Σ 0..1 Estimated or actual date, date-time, or age
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
... abatement[x] C 0..1 When in resolution/remission
.... abatementDateTime dateTime
.... abatementAge Age
.... abatementPeriod Period
.... abatementRange Range
.... abatementString string
... recordedDate Σ 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
con-1: Stage SHALL have summary or assessment
.... 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
con-2: evidence SHALL have code or details
.... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Condition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1
from the FHIR Standard
Condition.verificationStatusrequiredConditionVerificationStatus
http://hl7.org/fhir/ValueSet/condition-ver-status|4.0.1
from the FHIR Standard
Condition.categoryextensibleConditionCategoryCodes
http://hl7.org/fhir/ValueSet/condition-category
from the FHIR Standard
Condition.severitypreferredCondition/DiagnosisSeverity
http://hl7.org/fhir/ValueSet/condition-severity
from the FHIR Standard
Condition.codeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Condition.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Condition.stage.summaryexampleConditionStage
http://hl7.org/fhir/ValueSet/condition-stage
from the FHIR Standard
Condition.stage.typeexampleConditionStageType
http://hl7.org/fhir/ValueSet/condition-stage-type
from the FHIR Standard
Condition.evidence.codeexampleManifestationAndSymptomCodes
http://hl7.org/fhir/ValueSet/manifestation-or-symptom
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
con-1errorCondition.stageStage SHALL have summary or assessment
: summary.exists() or assessment.exists()
con-2errorCondition.evidenceevidence SHALL have code or details
: code.exists() or detail.exists()
con-3best practiceConditionCondition.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-4errorConditionIf 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-5errorConditionCondition.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-2errorConditionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConditionIf 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-4errorConditionIf 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-5errorConditionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceConditionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Condition

Summary

 

Other representations of profile: CSV, Excel, Schematron