Skip to content

Commit

Permalink
issue #3641 - pre-expand select valuesets via the VSAC Term Service
Browse files Browse the repository at this point in the history
Added a fledgling VSACRegistryResourceProvider and used it to expand US
Core ValueSets which were composed from VSAC value sets.

The expansion step was added to the ResourceProcessor.

Additionally, we were failing to validate the QuestionnaireResponse examples
due to a new constraint that uses an unsupported FHIRPath function.
I added a workaround and opened #3646 to get proper support added.

Signed-off-by: Lee Surprenant <lmsurpre@us.ibm.com>
  • Loading branch information
lmsurpre committed May 18, 2022
1 parent e201321 commit e10434d
Show file tree
Hide file tree
Showing 20 changed files with 8,475 additions and 4 deletions.
19 changes: 18 additions & 1 deletion conformance/fhir-ig-us-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>fhir-registry</artifactId>
<artifactId>fhir-profile</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
Expand All @@ -38,5 +38,22 @@
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<!-- used to look up VSAC ValueSets for expanding US Core ValueSets -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>fhir-provider</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-hc</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
* (C) Copyright IBM Corp. 2022
*
* SPDX-License-Identifier: Apache-2.0
*/

package com.ibm.fhir.ig.us.core;

import java.util.List;
import java.util.function.Predicate;

import com.ibm.fhir.model.annotation.Constraint;
import com.ibm.fhir.profile.constraint.spi.AbstractProfileConstraintProvider;

public class USCore500ConstraintModifier extends AbstractProfileConstraintProvider {
private static final String targetUrl = "http://hl7.org/fhir/us/core/StructureDefinition/us-core-questionnaireresponse";
private static final String targetVersion = "5.0.0";

@Override
public boolean appliesTo(String url, String version) {
return targetUrl.equals(url) && targetVersion.equals(version);
}

@Override
protected void addRemovalPredicates(List<Predicate<Constraint>> removalPredicates) {
removalPredicates.add(idEquals("sdcqr-2"));
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
com.ibm.fhir.ig.us.core.USCore500ConstraintModifier
Original file line number Diff line number Diff line change
Expand Up @@ -52,5 +52,41 @@
]
}
]
},
"expansion": {
"timestamp": "2022-05-18T05:56:23.502731Z",
"total": 5,
"contains": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-AdministrativeGender",
"version": "20210301",
"code": "F",
"display": "Female"
},
{
"system": "http://terminology.hl7.org/CodeSystem/v3-AdministrativeGender",
"version": "20210301",
"code": "M",
"display": "Male"
},
{
"system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor",
"version": "20210301",
"code": "ASKU",
"display": "asked but unknown"
},
{
"system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor",
"version": "20210301",
"code": "OTH",
"display": "other"
},
{
"system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor",
"version": "20210301",
"code": "UNK",
"display": "unknown"
}
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -52,5 +52,275 @@
]
}
]
},
"expansion": {
"timestamp": "2022-05-18T05:55:59.103407Z",
"total": 44,
"contains": [
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2137-8",
"display": "Spaniard"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2138-6",
"display": "Andalusian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2139-4",
"display": "Asturian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2140-2",
"display": "Castillian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2141-0",
"display": "Catalonian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2142-8",
"display": "Belearic Islander"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2143-6",
"display": "Gallego"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2144-4",
"display": "Valencian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2145-1",
"display": "Canarian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2146-9",
"display": "Spanish Basque"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2148-5",
"display": "Mexican"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2149-3",
"display": "Mexican American"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2150-1",
"display": "Mexicano"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2151-9",
"display": "Chicano"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2152-7",
"display": "La Raza"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2153-5",
"display": "Mexican American Indian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2155-0",
"display": "Central American"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2156-8",
"display": "Costa Rican"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2157-6",
"display": "Guatemalan"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2158-4",
"display": "Honduran"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2159-2",
"display": "Nicaraguan"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2160-0",
"display": "Panamanian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2161-8",
"display": "Salvadoran"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2162-6",
"display": "Central American Indian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2163-4",
"display": "Canal Zone"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2165-9",
"display": "South American"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2166-7",
"display": "Argentinean"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2167-5",
"display": "Bolivian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2168-3",
"display": "Chilean"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2169-1",
"display": "Colombian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2170-9",
"display": "Ecuadorian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2171-7",
"display": "Paraguayan"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2172-5",
"display": "Peruvian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2173-3",
"display": "Uruguayan"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2174-1",
"display": "Venezuelan"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2175-8",
"display": "South American Indian"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2176-6",
"display": "Criollo"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2178-2",
"display": "Latin American"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2180-8",
"display": "Puerto Rican"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2182-4",
"display": "Cuban"
},
{
"system": "urn:oid:2.16.840.1.113883.6.238",
"version": "1.2",
"code": "2184-0",
"display": "Dominican"
},
{
"system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor",
"version": "20210301",
"code": "ASKU",
"display": "asked but unknown"
},
{
"system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor",
"version": "20210301",
"code": "OTH",
"display": "other"
},
{
"system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor",
"version": "20210301",
"code": "UNK",
"display": "unknown"
}
]
}
}
Loading

0 comments on commit e10434d

Please sign in to comment.