-
Notifications
You must be signed in to change notification settings - Fork 4
Labels
enhancementNew feature or requestNew feature or request
Description
BACKGROUND:
Recent updates in the fhir-ontology-generator project have introduced support of multiple value sets for a single attribute. With this change, there is no longer a need to support multiple attributes for each value set an element supports via slicing. An example is the element Specimen.bodySite.coding
of the MII CDS Biobank modules Bioprobe profile which supports both SNOMED CT and ICD-O-3 codes.
Refer to the relevant issue in the fhir-ontology-generator repository.
TODO:
Update to UI profile model in the backend to support the new ontology version.
Current:
@JsonInclude(JsonInclude.Include.ALWAYS)
@Builder
public record AttributeDefinition(
@JsonProperty(value = "display", required = true) DisplayEntry display,
@JsonProperty(value = "type", required = true) ValueDefinitonType type,
@JsonProperty("selectableConcepts") List<TermCode> selectableConcepts,
@JsonProperty("attributeCode") TermCode attributeCode,
@JsonProperty("comparator") Comparator comparator,
@JsonProperty("optional") Boolean optional,
@JsonProperty("allowedUnits") List<TermCode> allowedUnits,
@JsonProperty(value = "precision", required = true, defaultValue = "0") double precision,
@JsonProperty(value = "min") Double min,
@JsonProperty(value = "max") Double max,
@JsonProperty("referencedCriteriaSet") String referencedCriteriaSet,
@JsonProperty("referencedValueSet") String referencedValueSet
) {
public AttributeDefinition {
selectableConcepts = (selectableConcepts == null) ? List.of() : selectableConcepts;
allowedUnits = (allowedUnits == null) ? List.of() : allowedUnits;
}
}
New:
@JsonInclude(JsonInclude.Include.ALWAYS)
@Builder
public record AttributeDefinition(
@JsonProperty(value = "display", required = true) DisplayEntry display,
@JsonProperty(value = "type", required = true) ValueDefinitonType type,
@JsonProperty("selectableConcepts") List<TermCode> selectableConcepts,
@JsonProperty("attributeCode") TermCode attributeCode,
@JsonProperty("comparator") Comparator comparator,
@JsonProperty("optional") Boolean optional,
@JsonProperty("allowedUnits") List<TermCode> allowedUnits,
@JsonProperty(value = "precision", required = true, defaultValue = "0") double precision,
@JsonProperty(value = "min") Double min,
@JsonProperty(value = "max") Double max,
@JsonProperty("referencedCriteriaSet") List<String> referencedCriteriaSet, //Updated
@JsonProperty("referencedValueSet") List<String> referencedValueSets // Updated
) {
public AttributeDefinition {
selectableConcepts = (selectableConcepts == null) ? List.of() : selectableConcepts;
allowedUnits = (allowedUnits == null) ? List.of() : allowedUnits;
}
}
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request