2

Would like to constrain a particular code (defined by ValueSet) to a fixed value or subset of original ValueSet via FHIR Profiles. For Clinical Decision Support (CDS) we need to 1) restrict a Condition to a Condition Occurrence such that the status code cannot have value 'refuted' and 2) restrict a Condition NonOccurrence where the status must be 'refuted'.

The core profile for Condition resource is this:

<element>
      <path value="Condition.status"/>
      <definition>
        <short value="provisional | working | confirmed | refuted"/>
        <formal value="The clinical status of the condition."/>
        <min value="1"/>
        <max value="1"/>
        <type>
          <code value="code"/>
        </type>
        <isModifier value="true"/>
        <binding>
          <name value="ConditionStatus"/>
          <isExtensible value="false"/>
          <conformance value="required"/>
          <referenceResource>
            <reference value="http://hl7.org/fhir/vs/condition-status"/>
          </referenceResource>
        </binding>
      </definition>
    </element>

The Condition Occurrence status field can only contain status of values: provisional, working, or confirmed. The Condition NonOccurrence status field can only contain fixed refuted value.

Given that status is defined with isExtensible="false" need a valid way to constrain this nonextendable field that conforms to the FHIR spec.

UPDATE:

Given Grahame's answer below, the element definition for restricting code to fixed value is simple:

<element>
  <path value="Condition.status"/>
  <definition>
    <short value="refuted"/>
    <formal value="The clinical status of the condition non-occurrence"/>
    <type>
      <code value="code"/>
    </type>             
    <valueCode value="refuted"/>
  </definition>
</element>

Likewise, the status element in Condition Occurrence profile can define a binding that refers to a contained ValueSet as Grahame describes below with the appropriate concepts (i.e. refuted code removed).

CodeMonkey
  • 22,825
  • 4
  • 35
  • 75

1 Answers1

3

Condition NonOccurrence status field can only contain fixed refuted value

this is a profile that contains an element status with a fixed value of "refuted"

The Condition Occurrence status field can only contain status of values: provisional, working, or confirmed

define a value set that only contains those codes (cmpose, include (system = "http://hl7.org/fhir/condition-status"), codes = provisional, working, or confirmed

then a profile that contains an element status with a binding to your new value set

Grahame Grieve
  • 3,538
  • 3
  • 15
  • 17
  • Would it be equivalent to use an inline with set of coding elements (i.e. provisional, working, and confirmed) in the Condition Occurrence profile with status element of type="code" ? – CodeMonkey Oct 29 '14 at 19:08
  • no. if you use a fixed value, then you are saying "this fixed value" must be used - e.g. a codeableConcept with all these codes in it. You can put a contained value set in the profile – Grahame Grieve Oct 30 '14 at 00:00