RIVO-Noord Zorgviewer Implementation Guide
1.11.0 - sprint49 Netherlands flag

This page is part of the RIVO-Noord Zorgviewer Implementation Guide (v1.11.0: Release) based on FHIR (HL7® FHIR® Standard) R3. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: Condition - Detailed Descriptions

Active as of 2025-01-20

Definitions for the Condition resource profile.

Guidance on how to interpret the contents of this table can be found here

0. Condition
Definition

A problem describes a situation with regard to an individual’s health and/or welfare. This situation can be described by the person involved (the patient) themselves (in the form of a complaint) or by their healthcare provider (in the form of a diagnosis, for example).


A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.

ShortProblemDetailed information about conditions, problems or diagnoses
Control0..*
Alternate NamesConcern, Probleem
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative (contained.text.empty())
dom-4: 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-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource (contained.where(('#'+id in %resource.descendants().reference).not()).empty())
con-4: If condition is abated, then clinicalStatus must be either inactive, resolved, or remission (abatement.empty() or (abatement as boolean).not() or clinicalStatus='resolved' or clinicalStatus='remission' or clinicalStatus='inactive')
con-3: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error (verificationStatus='entered-in-error' or clinicalStatus.exists())
zv-con-1: At least one of Condition.onsetDateTime or Condition.onsetPeriod SHALL be present (onsetDateTime.exists() or onsetPeriod.exists())
zv-con-2: Use either Condition.abatementDateTime or Condition.abatementPeriod for the resolved timestamp (abatementDateTime.exists() or abatementPeriod.exists())
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative (contained.text.empty())
dom-4: 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-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource (contained.where(('#'+id in %resource.descendants().reference).not()).empty())
con-4: If condition is abated, then clinicalStatus must be either inactive, resolved, or remission (abatement.empty() or (abatement as boolean).not() or clinicalStatus='resolved' or clinicalStatus='remission' or clinicalStatus='inactive')
con-3: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error (verificationStatus='entered-in-error' or clinicalStatus.exists())
2. Condition.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Control0..1
Typeuri
Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
4. Condition.modifierExtension
Definition

May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

ShortExtensions that cannot be ignored
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
Alternate Namesextensions, user content
6. Condition.clinicalStatus
Definition

The problem status describes the condition of the problem:

  • Active problems are problems of which the patient experiences symptoms or for which evidence exists.
  • Problems with the status 'Inactive' refer to problems that don't affect the patient anymore or that of which there is no evidence of existence anymore..

The clinical status of the condition.

ShortProblemStatusactive | recurrence | inactive | remission | resolved
Comments

This element is labeled as a modifier because the status contains codes that mark the condition as not currently valid or of concern.

Control10..1
This element is affected by the following invariants: con-3, con-4
BindingThe codes SHALL be taken from Condition Clinical Status Codeshttp://hl7.org/fhir/ValueSet/condition-clinical
(required to http://hl7.org/fhir/ValueSet/condition-clinical)
Typecode
Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summarytrue
Alternate NamesProbleemStatus
8. Condition.clinicalStatus.extension:ProblemStatusCodelist
Slice NameProblemStatusCodelist
Definition

Describes the condition of the problem, use this extension to include the original HCIM code

Shortclinicalstatus
Control0..*
This element is affected by the following invariants: ele-1
TypeExtension(HCIM extension code-specification) (Extension Type: CodeableConcept)
Alternate NamesBevat de specifieke code conform de zib, bij een FHIR-element die een verplichte koppeling heeft met een bepaalde FHIR waardelijst of een FHIR element die niet gecodeerd is gedefinieerd, terwijl de zib dit wel doet., Probleemstatus
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
10. Condition.clinicalStatus.extension:ProblemStatusCodelist.url
Definition

Source of the definition for the extension code - a logical name or a URL.

Shortidentifies the meaning of the extension
Comments

The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

Control1..1
Typeuri
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
XML FormatIn the XML format, this property is represented as an attribute.
Fixed Valuehttp://nictiz.nl/fhir/StructureDefinition/code-specification
12. Condition.clinicalStatus.extension:ProblemStatusCodelist.value[x]
Definition

Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).

ShortValue of extension
Control10..1
TypeCodeableConcept, date, dateTime, Meta, code, string, Address, Attachment, integer, oid, Count, instant, ContactPoint, HumanName, Money, Identifier, Coding, markdown, SampledData, Ratio, id, positiveInt, Age, Distance, Reference, Period, Quantity, Duration, Range, uri, Annotation, boolean, base64Binary, Signature, unsignedInt, time, Timing, decimal
[x] NoteSeeChoice of Data Typesfor further information about how to use [x]
SlicingThis element introduces a set of slices on Condition.clinicalStatus.extension.value[x]. The slices areUnordered and Closed, and can be differentiated using the following discriminators:
  • type @ $this
  • 14. Condition.clinicalStatus.extension:ProblemStatusCodelist.value[x]:valueCodeableConcept
    Slice NamevalueCodeableConcept
    Definition

    Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).

    ShortValue of extension
    Control10..1
    BindingUnless not suitable, these codes SHALL be taken from For codes, see ProbleemStatusCodelijst
    (extensible to http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.5.1.2--20171231000000)

    ProbleemStatusCodelijst

    TypeCodeableConcept, date, dateTime, Meta, code, string, Address, Attachment, integer, oid, Count, instant, ContactPoint, HumanName, Money, Identifier, Coding, markdown, SampledData, Ratio, id, positiveInt, Age, Distance, Reference, Period, Quantity, Duration, Range, uri, Annotation, boolean, base64Binary, Signature, unsignedInt, time, Timing, decimal
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    16. Condition.verificationStatus
    Definition

    Clinical status of the problem or the diagnosis.


    The verification status to support the clinical status of the condition.

    ShortVerificationStatusprovisional | differential | confirmed | refuted | entered-in-error | unknown
    Comments

    verificationStatus is not required. For example, when a patient has abdominal pain in the ED, there is not likely going to be a verification status.

    This element is labeled as a modifier because the status contains the code refuted and entered-in-error that mark the Condition as not currently valid.

    Control0..1
    This element is affected by the following invariants: con-3
    BindingThe codes SHALL be taken from ConditionVerificationStatushttp://hl7.org/fhir/ValueSet/condition-ver-status
    (required to http://hl7.org/fhir/ValueSet/condition-ver-status)
    Typecode
    Is Modifiertrue because No Modifier Reason provideed in previous versions of FHIR
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Alternate NamesVerificatieStatus
    Default Valueunknown
    18. Condition.verificationStatus.extension:VerificatieStatusCodelijst
    Slice NameVerificatieStatusCodelijst
    Definition

    Describes the verification status of the problem, use this extension to include the original HCIM code

    ShortVerificationstatus
    Control0..1
    This element is affected by the following invariants: ele-1
    TypeExtension(HCIM extension code-specification) (Extension Type: CodeableConcept)
    Alternate NamesBevat de specifieke code conform de zib, bij een FHIR-element die een verplichte koppeling heeft met een bepaalde FHIR waardelijst of een FHIR element die niet gecodeerd is gedefinieerd, terwijl de zib dit wel doet., VerificatieStatusCodelijst
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() | (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    20. Condition.verificationStatus.extension:VerificatieStatusCodelijst.url
    Definition

    Source of the definition for the extension code - a logical name or a URL.

    Shortidentifies the meaning of the extension
    Comments

    The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

    Control1..1
    Typeuri
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    XML FormatIn the XML format, this property is represented as an attribute.
    Fixed Valuehttp://nictiz.nl/fhir/StructureDefinition/code-specification
    22. Condition.verificationStatus.extension:VerificatieStatusCodelijst.value[x]
    Definition

    Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).

    ShortValue of extension
    Control10..1
    TypeCodeableConcept, date, dateTime, Meta, code, string, Address, Attachment, integer, oid, Count, instant, ContactPoint, HumanName, Money, Identifier, Coding, markdown, SampledData, Ratio, id, positiveInt, Age, Distance, Reference, Period, Quantity, Duration, Range, uri, Annotation, boolean, base64Binary, Signature, unsignedInt, time, Timing, decimal
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    SlicingThis element introduces a set of slices on Condition.verificationStatus.extension.value[x]. The slices areUnordered and Closed, and can be differentiated using the following discriminators:
    • type @ $this
    • 24. Condition.verificationStatus.extension:VerificatieStatusCodelijst.value[x]:valueCodeableConcept
      Slice NamevalueCodeableConcept
      Definition

      Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).

      ShortValue of extension
      Control10..1
      BindingUnless not suitable, these codes SHALL be taken from For codes, see VerificatieStatusCodelijst
      (extensible to http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.5.1.4--20171231000000)

      VerificatieStatusCodelijst

      TypeCodeableConcept, date, dateTime, Meta, code, string, Address, Attachment, integer, oid, Count, instant, ContactPoint, HumanName, Money, Identifier, Coding, markdown, SampledData, Ratio, id, positiveInt, Age, Distance, Reference, Period, Quantity, Duration, Range, uri, Annotation, boolean, base64Binary, Signature, unsignedInt, time, Timing, decimal
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      26. Condition.code
      Definition

      The problem name defines the problem. Depending on the setting, different code systems can be used. The ProblemNameCodelist provides an overview of the possible code systems.


      Identification of the condition, problem or diagnosis.

      ShortProblemNameIdentification of the condition, problem or diagnosis
      Control10..1
      BindingUnless not suitable, these codes SHALL be taken from For example codes, see Zorgviewer probleem naam waardelijsthttp://hl7.org/fhir/ValueSet/condition-code
      (extensible to http://fhir.hl7.nl/zorgviewer/ValueSet/ProbleemNaamCodelist)
      TypeCodeableConcept
      Must Supporttrue
      Summarytrue
      Requirements

      0..1 to account for primarily narrative only resources.

      Alternate Namestype, ProbleemNaam
      28. Condition.code.text
      Definition

      A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

      ShortPlain text representation of the concept
      Comments

      Very often the text is the same as a displayName of one of the codings.

      Control0..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      Requirements

      The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

      30. Condition.subject
      Definition

      Indicates the patient or group who the condition record is associated with.

      ShortWho has the condition?
      Control1..1
      TypeReference(nl-core-patient, Patient, Group)
      Summarytrue
      Requirements

      Group is typically used for veterinary or public health use cases.

      Alternate Namespatient
      32. Condition.onset[x]
      Definition

      Estimated or actual date or date-time the condition began, in the opinion of the clinician.

      ShortEstimated or actual date, date-time, or age
      Comments

      Age is generally used when the patient reports an age at which the Condition began to occur.

      Control10..1
      TypedateTime, string, Period, Range, Age
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      SlicingThis element introduces a set of slices on Condition.onset[x]. The slices areUnordered and Closed, and can be differentiated using the following discriminators:
      • type @ $this
      • 34. Condition.onset[x]:onsetDateTime
        Slice NameonsetDateTime
        Definition

        Start of the disorder to which the problem applies. Especially in symptoms in which it takes longer for the final diagnosis, it is important to know not only the date of the diagnosis, but also how long the patient has had the disorder. A ‘vague’ date, such as only the year or the month and the year, is permitted.


        Estimated or actual date or date-time the condition began, in the opinion of the clinician.

        ShortProblemStartDateEstimated or actual date, date-time, or age
        Comments

        Age is generally used when the patient reports an age at which the Condition began to occur.

        Control0..1
        TypedateTime, string, Period, Range, Age
        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Summarytrue
        Alternate NamesProbleemBeginDatum
        36. Condition.abatement[x]
        Definition

        The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.

        ShortIf/when in resolution/remission
        Comments

        There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated.

        Control0..1
        This element is affected by the following invariants: con-4
        TypedateTime, boolean, string, Period, Range, Age
        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supporttrue
        SlicingThis element introduces a set of slices on Condition.abatement[x]. The slices areUnordered and Closed, and can be differentiated using the following discriminators:
        • type @ $this
        • 38. Condition.abatement[x]:abatementDateTime
          Slice NameabatementDateTime
          Definition

          Date on which the disorder to which the problem applies, is considered not to be present anymore. This date does not need to be the same as the date of the change in problem status. A ‘vague’ date, such as only the year or the month and the year, is permitted.


          The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.

          ShortProblemEndDateIf/when in resolution/remission
          Comments

          There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated.

          Control0..1
          This element is affected by the following invariants: con-4
          TypedateTime, boolean, string, Period, Range, Age
          [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Alternate NamesProbleemEindDatum
          40. Condition.note
          Definition

          Comment by the one who determined or updated the Problem.


          Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis.

          ShortCommentAdditional information about the Condition
          Control0..*
          TypeAnnotation
          Must Supporttrue
          Alternate NamesToelichting