From 6eaeaf47c2c0b65e4a2a5572c636a646ac4b8eb9 Mon Sep 17 00:00:00 2001 From: "A. Anil Sinaci" Date: Thu, 22 Aug 2024 23:33:45 +0300 Subject: [PATCH] :sparkles: Feat: Improve StructureDefinition parser to parse the schema descriptions as well. --- .../scala/io/onfhir/api/validation/ProfileRestrictions.scala | 2 ++ .../scala/io/onfhir/r4/parsers/StructureDefinitionParser.scala | 2 ++ 2 files changed, 4 insertions(+) diff --git a/onfhir-common/src/main/scala/io/onfhir/api/validation/ProfileRestrictions.scala b/onfhir-common/src/main/scala/io/onfhir/api/validation/ProfileRestrictions.scala index 20edbe4c..2b835b23 100644 --- a/onfhir-common/src/main/scala/io/onfhir/api/validation/ProfileRestrictions.scala +++ b/onfhir-common/src/main/scala/io/onfhir/api/validation/ProfileRestrictions.scala @@ -33,6 +33,7 @@ case class ConstraintFailure(errorOrWarningMessage: String, isWarning: Boolean = * @param baseUrl Base profile that this extends if exist * @param resourceType Resource type for the StructureDefinition * @param resourceName Given name of the StructureDefinition resource + * @param resourceDescription Description of the StructureDefinition resource * @param elementRestrictions Defined restrictions on elements with path as key e.g. component.value[x] -> ... * @param summaryElements Paths of the elements that are defined as summary element * @param constraints Root constraints defined for the content @@ -43,6 +44,7 @@ case class ProfileRestrictions(url: String, baseUrl: Option[String], resourceType: String, resourceName: Option[String], + resourceDescription: Option[String], elementRestrictions: Seq[(String, ElementRestrictions)], summaryElements: Set[String], constraints: Option[FhirRestriction] = None, diff --git a/onfhir-r4/src/main/scala/io/onfhir/r4/parsers/StructureDefinitionParser.scala b/onfhir-r4/src/main/scala/io/onfhir/r4/parsers/StructureDefinitionParser.scala index 92d1ebd2..2e1b8384 100644 --- a/onfhir-r4/src/main/scala/io/onfhir/r4/parsers/StructureDefinitionParser.scala +++ b/onfhir-r4/src/main/scala/io/onfhir/r4/parsers/StructureDefinitionParser.scala @@ -30,6 +30,7 @@ class StructureDefinitionParser(fhirComplexTypes: Set[String], fhirPrimitiveType baseUrl = None, resourceType = rtype, resourceName = FHIRUtil.extractValueOption[String](structureDef, "name"), + resourceDescription = FHIRUtil.extractValueOption[String](structureDef, "description"), elementRestrictions = Nil, summaryElements = Set.empty[String], constraints = None, @@ -64,6 +65,7 @@ class StructureDefinitionParser(fhirComplexTypes: Set[String], fhirPrimitiveType baseUrl = FHIRUtil.extractValueOption[String](structureDef, "baseDefinition"), resourceType = rtype, resourceName = FHIRUtil.extractValueOption[String](structureDef, "name"), + resourceDescription = FHIRUtil.extractValueOption[String](structureDef, "description"), elementRestrictions = elemDefs.map(e => e._1.path -> e._1), summaryElements = getSummaryElements(elemDefs), //elemDefs.filter(_._2).map(e => e._1.path).toSet, constraints =