diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 0cf47220d..b9cb9c252 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 3.7.43-SNAPSHOT + 3.7.44-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index ac8661198..733ccf00b 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 3.7.43-SNAPSHOT + 3.7.44-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 950353573..b24784c33 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 3.7.43-SNAPSHOT + 3.7.44-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 433b3342b..200ee8f8e 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 3.7.43-SNAPSHOT + 3.7.44-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 8d49596fb..6295f248f 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 3.7.43-SNAPSHOT + 3.7.44-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index ac6886d79..c6d3847aa 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 3.7.43-SNAPSHOT + 3.7.44-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileComparer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileComparer.java index 5d8a69710..3fb5b9e43 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileComparer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileComparer.java @@ -1246,7 +1246,7 @@ public class ProfileComparer { // // then we produce value set pages for each value set // // // TODO Auto-generated method stub - return null; + return Utilities.path(dest, getId()+".html"); } private void producePage(String src, String path, Map vars) throws IOException { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/NPMPackageGenerator.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/NPMPackageGenerator.java index fe84ae71e..7c9f28468 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/NPMPackageGenerator.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/NPMPackageGenerator.java @@ -76,14 +76,13 @@ public class NPMPackageGenerator { } } - - private String destFile; private Set created = new HashSet(); private TarArchiveOutputStream tar; private ByteArrayOutputStream OutputStream; private BufferedOutputStream bufferedOutputStream; private GzipCompressorOutputStream gzipOutputStream; + private JsonObject packageJ; public NPMPackageGenerator(String destFile, String canonical, String url, PackageType kind, ImplementationGuide ig, String genDate) throws FHIRException, IOException { super(); @@ -96,6 +95,17 @@ public class NPMPackageGenerator { buildPackageJson(canonical, kind, url, genDate, ig, fhirVersion); } + public static NPMPackageGenerator subset(NPMPackageGenerator master, String destFile, String id, String name) throws FHIRException, IOException { + JsonObject p = master.packageJ.deepCopy(); + p.remove("name"); + p.addProperty("name", id); + p.remove("type"); + p.addProperty("type", PackageType.SUBSET.getCode()); + p.remove("title"); + p.addProperty("title", name); + return new NPMPackageGenerator(destFile, p); + } + public NPMPackageGenerator(String destFile, String canonical, String url, PackageType kind, ImplementationGuide ig, String genDate, List fhirVersion) throws FHIRException, IOException { super(); System.out.println("create package file at "+destFile); @@ -115,6 +125,7 @@ public class NPMPackageGenerator { addFile(Category.RESOURCE, "package.json", json.getBytes("UTF-8")); } catch (UnsupportedEncodingException e) { } + packageJ = npm; } private void buildPackageJson(String canonical, PackageType kind, String web, String genDate, ImplementationGuide ig, List fhirVersion) throws FHIRException, IOException { @@ -182,6 +193,7 @@ public class NPMPackageGenerator { addFile(Category.RESOURCE, "package.json", json.getBytes("UTF-8")); } catch (UnsupportedEncodingException e) { } + packageJ = npm; } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java index 4b902b22d..307eecf14 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java @@ -149,6 +149,7 @@ public class ToolingExtensions { public static final String EXT_MAX_VALUESET = "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"; public static final String EXT_MIN_VALUESET = "http://hl7.org/fhir/StructureDefinition/elementdefinition-minValueSet"; public static final String EXT_PROFILE_ELEMENT = "http://hl7.org/fhir/StructureDefinition/elementdefinition-profile-element"; + public static final String EXT_LIST_PACKAGE = "http://hl7.org/fhir/StructureDefinition/list-packageId"; // specific extension helpers diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index d8152a194..91c093acd 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 3.7.43-SNAPSHOT + 3.7.44-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/cache/PackageGenerator.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/cache/PackageGenerator.java index c30d3c172..739333f26 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/cache/PackageGenerator.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/cache/PackageGenerator.java @@ -40,7 +40,7 @@ import com.google.gson.JsonSyntaxException; public class PackageGenerator { public enum PackageType { - CORE, IG, TOOL, TEMPLATE; + CORE, IG, TOOL, TEMPLATE, SUBSET; public String getCode() { switch (this) { @@ -48,7 +48,7 @@ public class PackageGenerator { case IG: return "fhir.ig"; case TOOL: return "fhir.tool"; case TEMPLATE: return "fhir.template"; - + case SUBSET: return "fhir.subset"; } throw new Error("Unknown Type"); } diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index bed879971..80e448c28 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 3.7.43-SNAPSHOT + 3.7.44-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 93c406a04..48781adcc 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 3.7.43-SNAPSHOT + 3.7.44-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/src/test/java/org/hl7/fhir/validation/tests/AllR5ValidationTests.java b/org.hl7.fhir.validation/src/test/java/org/hl7/fhir/validation/tests/AllR5ValidationTests.java index 8297eba66..d1d619e83 100644 --- a/org.hl7.fhir.validation/src/test/java/org/hl7/fhir/validation/tests/AllR5ValidationTests.java +++ b/org.hl7.fhir.validation/src/test/java/org/hl7/fhir/validation/tests/AllR5ValidationTests.java @@ -9,6 +9,7 @@ import org.junit.runners.Suite.SuiteClasses; ValidationTestSuite.class, ValidationEngineTests.class, JsonSchemaTests.class, + ProfileComparisonTests.class, CDAValidationTestCase.class}) public class AllR5ValidationTests { diff --git a/org.hl7.fhir.validation/src/test/java/org/hl7/fhir/validation/tests/ValidationTestSuite.java b/org.hl7.fhir.validation/src/test/java/org/hl7/fhir/validation/tests/ValidationTestSuite.java index 47dd84fad..a92c4f099 100644 --- a/org.hl7.fhir.validation/src/test/java/org/hl7/fhir/validation/tests/ValidationTestSuite.java +++ b/org.hl7.fhir.validation/src/test/java/org/hl7/fhir/validation/tests/ValidationTestSuite.java @@ -101,7 +101,7 @@ public class ValidationTestSuite implements IEvaluationContext, IValidatorResour @SuppressWarnings("deprecation") @Test public void test() throws Exception { - System.out.println("Name: " + name); + System.out.println("Name: " + name+" - base"); String v = "5.0"; List messages = new ArrayList(); if (content.has("version")) @@ -156,6 +156,7 @@ public class ValidationTestSuite implements IEvaluationContext, IValidatorResour List errorsProfile = new ArrayList(); JsonObject profile = content.getAsJsonObject("profile"); String filename = TestUtilities.resourceNameToFile("validation-examples", profile.get("source").getAsString()); + System.out.println("Name: " + name+" - profile : "+profile.get("source").getAsString()); v = content.has("version") ? content.get("version").getAsString() : Constants.VERSION; StructureDefinition sd = loadProfile(filename, v, messages); if (name.startsWith("Json.")) diff --git a/org.hl7.fhir.validation/src/test/resources/validation-examples/manifest.json b/org.hl7.fhir.validation/src/test/resources/validation-examples/manifest.json index f53f1664e..6d935965b 100644 --- a/org.hl7.fhir.validation/src/test/resources/validation-examples/manifest.json +++ b/org.hl7.fhir.validation/src/test/resources/validation-examples/manifest.json @@ -149,7 +149,7 @@ ] }, "synthea.json": { - "errorCount": 2 + "errorCount": 1 }, "patient-good.json": { "errorCount": 0, @@ -721,7 +721,8 @@ ], "profile": { "source": "slicing-example-uk.profile.xml", - "errorCount": 16 + "errorCount": 19, + "errors-for-debugging" : "ERROR: Bundle.entry[4].resource.entry[1].resource.section[1].code.coding: unable to find code 886921000000105 in http://snomed.info/sct\r\nERROR: Bundle.entry[4].resource.entry[1].resource.section[2].code.coding: unable to find code 1077881000000105 in http://snomed.info/sct\r\nERROR: Bundle.entry[4].resource.entry[1].resource.section[3].code.coding: Concept not found (next char = "c", in "cons") at character 1\r\nERROR: Bundle.entry[4].resource.entry[1].resource.section[4].code.coding: Concept not found (next char = "e", in "eligcrit") at character 1\r\nERROR: Bundle.entry[4].resource.entry[1].resource.section[5].code.coding: unable to find code 886711000000101 in http://snomed.info/sct\r\nERROR: Bundle.entry[4].resource.entry[1].resource.section[6].code.coding: unable to find code 717121000000105 in http://snomed.info/sct\r\nERROR: Bundle.entry[4].resource.entry[1].resource.section[7].code.coding: unable to find code 1102181000000102 in http://snomed.info/sct\r\nERROR: Bundle.entry[4].resource.entry[1].resource.section[8].code.coding: unable to find code 1052951000000105 in http://snomed.info/sct\r\nERROR: Bundle.entry[4].resource.entry[1].resource.section[9].code.coding: unable to find code 886731000000109 in http://snomed.info/sct\r\nERROR: Bundle.entry[4].resource.entry[1].resource.section[10].code.coding: unable to find code 1052891000000108 in http://snomed.info/sct\r\nERROR: Bundle.entry[4].resource.entry[5].resource: Profile https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Patient-1, Element 'Bundle.entry[4].resource.entry[5].resource.name[official]': minimum required = 1, but only found 0\r\nERROR: Bundle.entry[4].resource.entry[5].resource.generalPractitioner: Unable to resolve the profile reference 'https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1'\r\nERROR: Bundle.entry[4].resource.entry[5].resource.generalPractitioner: Unable to resolve the profile reference 'https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Practitioner-1'\r\nERROR: Bundle.entry[4].resource.entry[5].resource.generalPractitioner: Invalid Resource target type. Found Practitioner, but expected one of ()\r\nERROR: Bundle.entry[4].resource.entry[5].resource.managingOrganization: Unable to resolve the profile reference 'https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Organization-1'\r\nERROR: Bundle.entry[4].resource.entry[5].resource.managingOrganization: Invalid Resource target type. Found Organization, but expected one of ()\r\nERROR: Bundle.entry[4].resource.entry[8].resource.extension.valueCodeableConcept.coding: unable to find code 822851000000102 in http://snomed.info/sct\r\nERROR: Bundle.entry[4].resource.entry[8].resource.vaccineCode.coding: unable to find code 22704311000001109 in http://snomed.info/sct\r\nERROR: Bundle.entry[4].resource.entry[9].resource.code.coding: unable to find code 886921000000105 in http://snomed.info/sct" } }, "patient-translated-codes.xml": { diff --git a/pom.xml b/pom.xml index 354a9ba94..6882f146e 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ each other. It is fine to bump the point version of this POM without affecting HAPI FHIR. --> - 3.7.43-SNAPSHOT + 3.7.44-SNAPSHOT 3.7.0-SNAPSHOT diff --git a/release.bat b/release.bat index cc71a8575..454a166d8 100644 --- a/release.bat +++ b/release.bat @@ -4,25 +4,25 @@ REM make sure you are committed @echo off echo .. echo ===================================================================== -echo upgrade and release fhir.core from 3.7.42-SNAPSHOT to 3.7.43-SNAPSHOT +echo upgrade and release fhir.core from 3.7.43-SNAPSHOT to 3.7.44-SNAPSHOT echo ===================================================================== echo .. echo check versions and make sure committed... pause -call mvn versions:set -DnewVersion=3.7.43-SNAPSHOT +call mvn versions:set -DnewVersion=3.7.44-SNAPSHOT call git commit -a -m "Release new version" call git push origin master -call "C:\tools\fnr.exe" --cl --dir "C:\work\org.hl7.fhir\build" --fileMask "*.java" --includeSubDirectories --find "3.7.42-SNAPSHOT" --replace "3.7.43-SNAPSHOT" -call "C:\tools\fnr.exe" --cl --dir "C:\work\org.hl7.fhir\fhir-ig-publisher" --fileMask "*.xml" --includeSubDirectories --find "3.7.42-SNAPSHOT" --replace "3.7.43-SNAPSHOT" -call "C:\tools\fnr.exe" --cl --dir "C:\work\org.hl7.fhir\build" --fileMask "*.xml" --find "3.7.42-SNAPSHOT" --replace "3.7.43-SNAPSHOT" +call "C:\tools\fnr.exe" --cl --dir "C:\work\org.hl7.fhir\build" --fileMask "*.java" --includeSubDirectories --find "3.7.43-SNAPSHOT" --replace "3.7.44-SNAPSHOT" +call "C:\tools\fnr.exe" --cl --dir "C:\work\org.hl7.fhir\fhir-ig-publisher" --fileMask "*.xml" --includeSubDirectories --find "3.7.43-SNAPSHOT" --replace "3.7.44-SNAPSHOT" +call "C:\tools\fnr.exe" --cl --dir "C:\work\org.hl7.fhir\build" --fileMask "*.xml" --find "3.7.43-SNAPSHOT" --replace "3.7.44-SNAPSHOT" call mvn deploy -copy org.hl7.fhir.validation.cli\target\org.hl7.fhir.validation.cli-3.7.43-SNAPSHOT.jar ..\latest-ig-publisher\org.hl7.fhir.validator.jar +copy org.hl7.fhir.validation.cli\target\org.hl7.fhir.validation.cli-3.7.44-SNAPSHOT.jar ..\latest-ig-publisher\org.hl7.fhir.validator.jar cd ..\latest-ig-publisher -call git commit -a -m "Release new version 3.7.43-SNAPSHOT" +call git commit -a -m "Release new version 3.7.44-SNAPSHOT" call git push origin master cd ..\org.hl7.fhir.core -call python c:\tools\zulip-api\zulip\zulip\send.py --stream committers/notification --subject "java core" -m "New Java Core v3.7.43-SNAPSHOT released. New Validator at https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=ca.uhn.hapi.fhir&a=org.hl7.fhir.validation.cli&v=3.7.43-SNAPSHOT&e=jar, and also deployed at https://fhir.github.io/latest-ig-publisher/org.hl7.fhir.validator.jar" --config-file zuliprc +call python c:\tools\zulip-api\zulip\zulip\send.py --stream committers/notification --subject "java core" -m "New Java Core v3.7.44-SNAPSHOT released. New Validator at https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=ca.uhn.hapi.fhir&a=org.hl7.fhir.validation.cli&v=3.7.44-SNAPSHOT&e=jar, and also deployed at https://fhir.github.io/latest-ig-publisher/org.hl7.fhir.validator.jar" --config-file zuliprc echo =============================================================== echo all done