Skip to content

Negation handling with US Quality Core #1714

@brynrhodes

Description

@brynrhodes

In flattened models, negation handling was managed as part of a retrieve by the translator expanding terminology filters for terminology-valued elements that had a choice of Concept or ValueSet. This choice representation was built in to the model info as part of the primitive mapping.

In derived models, since the primitive mapping no longer occurs, validate that retrieve mapping for terminology filters is still happening as expected.

Specifically:

define TestGeneralMedicationAdministrationNotDone:
    ["MedicationAdministrationNotDone": MedicationCodes]

Should be expanded as:

define TestGeneralMedicationAdministrationNotDoneActual:
    ["MedicationAdministrationNotDone": medication in MedicationCodes]
      union ["MedicationAdministrationNotDone": medication ~ MedicationCodes]

Where the use of the ~ is ValueSet comparison, returning true if the value of the notDoneValueSet extension is referencing the same value set as the terminology filter.

This needs to work with the following extensions:
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDoneValueSet
http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet
http://hl7.org/fhir/StructureDefinition/codeOptions

Consider whether there is something that the model info generation should still be doing with this representation, so that it's not a translator-driven mapping.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions