@@ -112,27 +112,29 @@ public static List<Bundle.BundleEntryComponent> transformImportBundle(
112112 switch (resource .getResourceType ()) {
113113 case ValueSet :
114114 var valueSet = (ValueSet ) resource ;
115- List <UsageContext > conditionsList = new ArrayList <>();
115+ List <UsageContext > genericContextList = new ArrayList <>();
116116 List <UsageContext > priorityList = new ArrayList <>();
117117 valueSet .setIdentifier (fixIdentifiers (valueSet .getIdentifier ()));
118118 var valueSetCanonicalUrl = adapterFactory
119119 .createKnowledgeArtifactAdapter (valueSet )
120120 .getCanonical ();
121- extractPrioritiesAndConditions (
122- valueSet .getUseContext (), priorityList , conditionsList , valueSetCanonicalUrl );
121+ extractUsageContexts (
122+ valueSet .getUseContext (), priorityList , genericContextList , valueSetCanonicalUrl );
123123 if (hasGrouperCompose (valueSet )) {
124124 prepareGrouperValueSet (valueSet , appAuthoritativeUrl );
125- groupers .add (
126- relatedArtifactFromGrouperUrl ( valueSetCanonicalUrl , conditionsList , priorityList ));
125+ groupers .add (relatedArtifactFromGrouperUrl (
126+ valueSetCanonicalUrl , genericContextList , priorityList ));
127127 } else {
128128 prepareLeafValueSet (valueSet );
129- leafs .add (relatedArtifactFromLeafUrl (valueSetCanonicalUrl , conditionsList , priorityList ));
129+ leafs .add (
130+ relatedArtifactFromLeafUrl (valueSetCanonicalUrl , genericContextList , priorityList ));
130131 }
131132 // Remove conditions and priority from useContext of leaf valuesets and groupers
132133 var cleanedContext = valueSet .getUseContext ().stream ()
133134 .filter (ctx -> ctx .hasCode ()
134135 && !(ctx .getCode ().getCode ().equals ("focus" )
135- || ctx .getCode ().getCode ().equals ("priority" )))
136+ || ctx .getCode ().getCode ().equals ("priority" )
137+ || ctx .getCode ().getCode ().equals ("reporting" )))
136138 .collect (Collectors .toList ());
137139 valueSet .setUseContext (cleanedContext );
138140 // Check if ValueSet already exists
@@ -249,10 +251,10 @@ static List<CanonicalType> removeProfileFromList(List<CanonicalType> profiles, S
249251 .collect (Collectors .toList ());
250252 }
251253
252- static void extractPrioritiesAndConditions (
254+ static void extractUsageContexts (
253255 List <UsageContext > contexts ,
254256 List <UsageContext > priorityList ,
255- List <UsageContext > conditionsList ,
257+ List <UsageContext > genericContextList ,
256258 String valueSetCanonicalUrl ) {
257259
258260 if (contexts == null || contexts .isEmpty ()) return ;
@@ -262,7 +264,7 @@ static void extractPrioritiesAndConditions(
262264 if (!isValidUsageContext ) continue ;
263265
264266 switch (context .getCode ().getCode ()) {
265- case "focus" -> conditionsList .add (context );
267+ case "focus" , "reporting" -> genericContextList .add (context );
266268 case "priority" -> handlePriorityContext (context , priorityList , valueSetCanonicalUrl );
267269 default -> {
268270 /* ignore other usage contexts */
@@ -360,16 +362,16 @@ private static void prepareRCTCLibrary(Library rctcLibrary, Set<RelatedArtifact>
360362 }
361363
362364 private static RelatedArtifact relatedArtifactFromGrouperUrl (
363- String grouperUrl , List <UsageContext > conditions , List <UsageContext > priorities ) {
365+ String grouperUrl , List <UsageContext > genericContexts , List <UsageContext > priorities ) {
364366 var relatedArtifact = new RelatedArtifact ();
365367 relatedArtifact .setType (RelatedArtifact .RelatedArtifactType .COMPOSEDOF );
366368 relatedArtifact .setResource (grouperUrl );
367369 var isOwnedExtension = new Extension ();
368370 isOwnedExtension .setUrl (TransformProperties .crmiIsOwned );
369371 isOwnedExtension .setValue (new BooleanType (true ));
370372 var extensions = new ArrayList <Extension >();
371- extensions .addAll (
372- processUsageContextMapForLibrary ( conditions , TransformProperties .CRMI_INTENDED_USAGE_CONTEXT_EXT_URL ));
373+ extensions .addAll (processUsageContextMapForLibrary (
374+ genericContexts , TransformProperties .CRMI_INTENDED_USAGE_CONTEXT_EXT_URL ));
373375 extensions .addAll (
374376 processUsageContextMapForLibrary (priorities , TransformProperties .CRMI_INTENDED_USAGE_CONTEXT_EXT_URL ));
375377 extensions .add (isOwnedExtension );
@@ -378,13 +380,13 @@ private static RelatedArtifact relatedArtifactFromGrouperUrl(
378380 }
379381
380382 private static RelatedArtifact relatedArtifactFromLeafUrl (
381- String leafUrl , List <UsageContext > conditions , List <UsageContext > priorities ) {
383+ String leafUrl , List <UsageContext > genericContexts , List <UsageContext > priorities ) {
382384 var relatedArtifact = new RelatedArtifact ();
383385 relatedArtifact .setType (RelatedArtifact .RelatedArtifactType .DEPENDSON );
384386 relatedArtifact .setResource (leafUrl );
385387 var extensions = new ArrayList <Extension >();
386- extensions .addAll (
387- processUsageContextMapForLibrary ( conditions , TransformProperties .CRMI_INTENDED_USAGE_CONTEXT_EXT_URL ));
388+ extensions .addAll (processUsageContextMapForLibrary (
389+ genericContexts , TransformProperties .CRMI_INTENDED_USAGE_CONTEXT_EXT_URL ));
388390 extensions .addAll (
389391 processUsageContextMapForLibrary (priorities , TransformProperties .CRMI_INTENDED_USAGE_CONTEXT_EXT_URL ));
390392 relatedArtifact .setExtension (extensions );
0 commit comments