main Build fixes: new version of FHIR (4.3.0) + transit to using release indicators in version + fix various build issues
This commit is contained in:
parent
5b1412ce25
commit
c15e60f2c6
|
@ -613,10 +613,10 @@ public class ElementDefinition30_40 {
|
|||
Type t = ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getValueSet());
|
||||
if (t instanceof org.hl7.fhir.r4.model.Reference) {
|
||||
tgt.setValueSet(((org.hl7.fhir.r4.model.Reference) t).getReference());
|
||||
tgt.getValueSetElement().addExtension(VersionConvertor_30_40.EXT_SRC_TYPE, new UriType("Reference"));
|
||||
tgt.getValueSetElement().addExtension(VersionConvertor_30_40.EXT_SRC_TYPE, new org.hl7.fhir.r4.model.UrlType("Reference"));
|
||||
} else {
|
||||
tgt.setValueSet(t.primitiveValue());
|
||||
tgt.getValueSetElement().addExtension(VersionConvertor_30_40.EXT_SRC_TYPE, new UriType("uri"));
|
||||
tgt.getValueSetElement().addExtension(VersionConvertor_30_40.EXT_SRC_TYPE, new org.hl7.fhir.r4.model.UrlType("uri"));
|
||||
}
|
||||
tgt.setValueSet(VersionConvertorConstants.refToVS(tgt.getValueSet()));
|
||||
}
|
||||
|
|
|
@ -625,10 +625,10 @@ public class ElementDefinition30_50 {
|
|||
DataType t = ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getValueSet());
|
||||
if (t instanceof org.hl7.fhir.r5.model.Reference) {
|
||||
tgt.setValueSet(((org.hl7.fhir.r5.model.Reference) t).getReference());
|
||||
tgt.getValueSetElement().addExtension(VersionConvertor_30_50.EXT_SRC_TYPE, new UriType("Reference"));
|
||||
tgt.getValueSetElement().addExtension(VersionConvertor_30_50.EXT_SRC_TYPE, new org.hl7.fhir.r5.model.UrlType("Reference"));
|
||||
} else {
|
||||
tgt.setValueSet(t.primitiveValue());
|
||||
tgt.getValueSetElement().addExtension(VersionConvertor_30_50.EXT_SRC_TYPE, new UriType("uri"));
|
||||
tgt.getValueSetElement().addExtension(VersionConvertor_30_50.EXT_SRC_TYPE, new org.hl7.fhir.r5.model.UrlType("uri"));
|
||||
}
|
||||
tgt.setValueSet(VersionConvertorConstants.refToVS(tgt.getValueSet()));
|
||||
}
|
||||
|
|
|
@ -10036,6 +10036,7 @@ The primary difference between a medication statement and a medication administr
|
|||
* R4B - manually added
|
||||
*/
|
||||
_4_1_0,
|
||||
_4_3_0_CIBUILD,
|
||||
NULL;
|
||||
public static FHIRVersion fromCode(String codeString) throws FHIRException {
|
||||
if (codeString == null || "".equals(codeString))
|
||||
|
@ -10088,6 +10089,8 @@ The primary difference between a medication statement and a medication administr
|
|||
return _4_0_1;
|
||||
if ("4.1.0".equals(codeString))
|
||||
return _4_1_0;
|
||||
if ("4.3.0-CIBUILD".equals(codeString))
|
||||
return _4_3_0_CIBUILD;
|
||||
throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'");
|
||||
}
|
||||
@Override
|
||||
|
@ -10120,6 +10123,8 @@ The primary difference between a medication statement and a medication administr
|
|||
case _4_0_0: return "4.0.0";
|
||||
case _4_0_1: return "4.0.1";
|
||||
case _4_1_0: return "4.1.0";
|
||||
case _4_3_0_CIBUILD: return "4.3.0-CIBUILD";
|
||||
|
||||
case NULL: return null;
|
||||
default: return "?";
|
||||
}
|
||||
|
@ -10150,6 +10155,7 @@ The primary difference between a medication statement and a medication administr
|
|||
case _4_0_0: return "http://hl7.org/fhir/FHIR-version";
|
||||
case _4_0_1: return "http://hl7.org/fhir/FHIR-version";
|
||||
case _4_1_0: return "http://hl7.org/fhir/FHIR-version";
|
||||
case _4_3_0_CIBUILD: return "http://hl7.org/fhir/FHIR-version";
|
||||
case NULL: return null;
|
||||
default: return "?";
|
||||
}
|
||||
|
@ -10179,7 +10185,8 @@ The primary difference between a medication statement and a medication administr
|
|||
case _3_5_0: return "R4 Ballot #2.";
|
||||
case _4_0_0: return "FHIR Release 4 (Normative + STU).";
|
||||
case _4_0_1: return "FHIR Release 4 Technical Correction #1.";
|
||||
case _4_1_0: return "FHIR Release 4B";
|
||||
case _4_1_0: return "FHIR Release 4B Ballot #1";
|
||||
case _4_3_0_CIBUILD: return "FHIR Release 4B CI-Builld";
|
||||
case NULL: return null;
|
||||
default: return "?";
|
||||
}
|
||||
|
@ -10210,6 +10217,7 @@ The primary difference between a medication statement and a medication administr
|
|||
case _4_0_0: return "4.0.0";
|
||||
case _4_0_1: return "4.0.1";
|
||||
case _4_1_0: return "4.1.0";
|
||||
case _4_3_0_CIBUILD: return "4.3.0-CIBUILD";
|
||||
case NULL: return null;
|
||||
default: return "?";
|
||||
}
|
||||
|
@ -10275,6 +10283,8 @@ The primary difference between a medication statement and a medication administr
|
|||
return FHIRVersion._4_0_1;
|
||||
if ("4.1.0".equals(codeString))
|
||||
return FHIRVersion._4_1_0;
|
||||
if ("4.3.0-CIBUILD".equals(codeString))
|
||||
return FHIRVersion._4_3_0_CIBUILD;
|
||||
throw new IllegalArgumentException("Unknown FHIRVersion code '"+codeString+"'");
|
||||
}
|
||||
public Enumeration<FHIRVersion> fromType(Base code) throws FHIRException {
|
||||
|
@ -10333,6 +10343,8 @@ The primary difference between a medication statement and a medication administr
|
|||
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_0_1);
|
||||
if ("4.1.0".equals(codeString))
|
||||
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_1_0);
|
||||
if ("4.3.0-CIBUILD".equals(codeString))
|
||||
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3_0_CIBUILD);
|
||||
throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'");
|
||||
}
|
||||
public String toCode(FHIRVersion code) {
|
||||
|
@ -10384,6 +10396,8 @@ The primary difference between a medication statement and a medication administr
|
|||
return "4.0.1";
|
||||
if (code == FHIRVersion._4_1_0)
|
||||
return "4.1.0";
|
||||
if (code == FHIRVersion._4_3_0_CIBUILD)
|
||||
return "4.3.0_CIBUILD";
|
||||
return "?";
|
||||
}
|
||||
public String toSystem(FHIRVersion code) {
|
||||
|
|
|
@ -6716,6 +6716,10 @@ The MedicationUsage resource was previously called MedicationStatement.
|
|||
* R5 Preview #1.
|
||||
*/
|
||||
_4_2_0,
|
||||
/**
|
||||
* R4B
|
||||
*/
|
||||
_4_3_0_CIBUILD,
|
||||
/**
|
||||
* R5 Preview #2.
|
||||
*/
|
||||
|
@ -6733,8 +6737,6 @@ The MedicationUsage resource was previously called MedicationStatement.
|
|||
*/
|
||||
NULL;
|
||||
|
||||
public static final FHIRVersion R4B = FHIRVersion._4_1_0;
|
||||
|
||||
public static FHIRVersion fromCode(String codeString) throws FHIRException {
|
||||
if (codeString == null || "".equals(codeString))
|
||||
return null;
|
||||
|
@ -6788,6 +6790,8 @@ The MedicationUsage resource was previously called MedicationStatement.
|
|||
return _4_1_0;
|
||||
if ("4.2.0".equals(codeString))
|
||||
return _4_2_0;
|
||||
if ("4.3.0-CIBUILD".equals(codeString))
|
||||
return _4_3_0_CIBUILD;
|
||||
if ("4.4.0".equals(codeString))
|
||||
return _4_4_0;
|
||||
if ("4.5.0".equals(codeString))
|
||||
|
@ -6823,6 +6827,7 @@ The MedicationUsage resource was previously called MedicationStatement.
|
|||
case _4_0_1: return "4.0.1";
|
||||
case _4_1_0: return "4.1.0";
|
||||
case _4_2_0: return "4.2.0";
|
||||
case _4_3_0_CIBUILD: return "4.3.0-CIBUILD";
|
||||
case _4_4_0: return "4.4.0";
|
||||
case _4_5_0: return "4.5.0";
|
||||
case _4_6_0: return "4.6.0";
|
||||
|
@ -6857,6 +6862,7 @@ The MedicationUsage resource was previously called MedicationStatement.
|
|||
case _4_0_1: return "http://hl7.org/fhir/FHIR-version";
|
||||
case _4_1_0: return "http://hl7.org/fhir/FHIR-version";
|
||||
case _4_2_0: return "http://hl7.org/fhir/FHIR-version";
|
||||
case _4_3_0_CIBUILD: return "http://hl7.org/fhir/FHIR-version";
|
||||
case _4_4_0: return "http://hl7.org/fhir/FHIR-version";
|
||||
case _4_5_0: return "http://hl7.org/fhir/FHIR-version";
|
||||
case _4_6_0: return "http://hl7.org/fhir/FHIR-version";
|
||||
|
@ -6891,6 +6897,7 @@ The MedicationUsage resource was previously called MedicationStatement.
|
|||
case _4_0_1: return "FHIR Release 4 (Normative + STU) with 1 technical errata.";
|
||||
case _4_1_0: return "Interim Version.";
|
||||
case _4_2_0: return "R5 Preview #1.";
|
||||
case _4_3_0_CIBUILD: return "R4B CIBuild";
|
||||
case _4_4_0: return "R5 Preview #2.";
|
||||
case _4_5_0: return "R5 Preview #3.";
|
||||
case _4_6_0: return "R5 Draft Ballot.";
|
||||
|
@ -6925,6 +6932,7 @@ The MedicationUsage resource was previously called MedicationStatement.
|
|||
case _4_0_1: return "4.0.1";
|
||||
case _4_1_0: return "4.1.0";
|
||||
case _4_2_0: return "4.2.0";
|
||||
case _4_3_0_CIBUILD: return "4.3.0-CIBUILD";
|
||||
case _4_4_0: return "4.4.0";
|
||||
case _4_5_0: return "4.5.0";
|
||||
case _4_6_0: return "4.6.0";
|
||||
|
@ -6988,6 +6996,8 @@ public String toCode(int len) {
|
|||
return true;
|
||||
if ("4.2.0".equals(codeString))
|
||||
return true;
|
||||
if ("4.3.0-CIBUILD".equals(codeString))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -6998,7 +7008,7 @@ public String toCode(int len) {
|
|||
|
||||
|
||||
public boolean isR4B() {
|
||||
return toCode().startsWith("4.1");
|
||||
return toCode().startsWith("4.1") || toCode().startsWith("4.3");
|
||||
}
|
||||
|
||||
// end addition
|
||||
|
@ -7059,6 +7069,8 @@ public String toCode(int len) {
|
|||
return FHIRVersion._4_1_0;
|
||||
if ("4.2.0".equals(codeString))
|
||||
return FHIRVersion._4_2_0;
|
||||
if ("4.3.0-CIBUILD".equals(codeString))
|
||||
return FHIRVersion._4_3_0_CIBUILD;
|
||||
if ("4.4.0".equals(codeString))
|
||||
return FHIRVersion._4_4_0;
|
||||
if ("4.5.0".equals(codeString))
|
||||
|
@ -7125,6 +7137,8 @@ public String toCode(int len) {
|
|||
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_1_0);
|
||||
if ("4.2.0".equals(codeString))
|
||||
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_2_0);
|
||||
if ("4.3.0-CIBUILD".equals(codeString))
|
||||
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3_0_CIBUILD);
|
||||
if ("4.4.0".equals(codeString))
|
||||
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_4_0);
|
||||
if ("4.5.0".equals(codeString))
|
||||
|
@ -7184,6 +7198,8 @@ public String toCode(int len) {
|
|||
return "4.1.0";
|
||||
if (code == FHIRVersion._4_2_0)
|
||||
return "4.2.0";
|
||||
if (code == FHIRVersion._4_3_0_CIBUILD)
|
||||
return "4.3.0-CIBUILD";
|
||||
if (code == FHIRVersion._4_4_0)
|
||||
return "4.4.0";
|
||||
if (code == FHIRVersion._4_5_0)
|
||||
|
|
|
@ -120,6 +120,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer {
|
|||
generateByProfile(r, sd, r.root(), sd.getSnapshot().getElement(), ed, context.getProfileUtilities().getChildList(sd, ed), x, r.fhirType(), context.isTechnicalMode(), 0);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.out.println("Error Generating Narrative for "+r.fhirType()+"/"+r.getId()+": "+e.getMessage());
|
||||
e.printStackTrace();
|
||||
x.para().b().style("color: maroon").tx("Exception generating Narrative: "+e.getMessage());
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ public class DOMWrappers {
|
|||
|
||||
@Override
|
||||
public Base getBase() throws UnsupportedEncodingException, IOException, FHIRException {
|
||||
if (type == null || type.equals("Resource") || type.equals("BackboneElement") || type.equals("Element"))
|
||||
if (Utilities.noString(type) || type.equals("Resource") || type.equals("BackboneElement") || type.equals("Element"))
|
||||
return null;
|
||||
|
||||
String xml;
|
||||
|
|
|
@ -33,6 +33,8 @@ package org.hl7.fhir.r5.terminologies;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
@ -51,6 +53,7 @@ import org.hl7.fhir.r5.model.CodeType;
|
|||
import org.hl7.fhir.r5.model.DataType;
|
||||
import org.hl7.fhir.r5.model.DateTimeType;
|
||||
import org.hl7.fhir.r5.model.Enumerations.PublicationStatus;
|
||||
import org.hl7.fhir.r5.terminologies.CodeSystemUtilities.ConceptDefinitionComponentSorter;
|
||||
import org.hl7.fhir.r5.model.Identifier;
|
||||
import org.hl7.fhir.r5.model.Meta;
|
||||
import org.hl7.fhir.r5.model.UriType;
|
||||
|
@ -60,6 +63,15 @@ import org.hl7.fhir.utilities.Utilities;
|
|||
|
||||
public class CodeSystemUtilities {
|
||||
|
||||
public static class ConceptDefinitionComponentSorter implements Comparator<ConceptDefinitionComponent> {
|
||||
|
||||
@Override
|
||||
public int compare(ConceptDefinitionComponent o1, ConceptDefinitionComponent o2) {
|
||||
return o1.getCode().compareTo(o2.getCode());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static final String USER_DATA_CROSS_LINK = "cs.utils.cross.link";
|
||||
|
||||
public static class CodeSystemNavigator {
|
||||
|
@ -273,6 +285,10 @@ public class CodeSystemUtilities {
|
|||
}
|
||||
|
||||
public static CodeSystem makeShareable(CodeSystem cs) {
|
||||
if (!cs.hasExperimental()) {
|
||||
cs.setExperimental(false);
|
||||
}
|
||||
|
||||
if (!cs.hasMeta())
|
||||
cs.setMeta(new Meta());
|
||||
for (UriType t : cs.getMeta().getProfile())
|
||||
|
@ -350,9 +366,13 @@ public class CodeSystemUtilities {
|
|||
}
|
||||
if (fmm != null) {
|
||||
String sfmm = ToolingExtensions.readStringExtension(cs, ToolingExtensions.EXT_FMM_LEVEL);
|
||||
if (Utilities.noString(sfmm) || Integer.parseInt(sfmm) < Integer.parseInt(fmm))
|
||||
if (Utilities.noString(sfmm) || Integer.parseInt(sfmm) < Integer.parseInt(fmm)) {
|
||||
ToolingExtensions.setIntegerExtension(cs, ToolingExtensions.EXT_FMM_LEVEL, Integer.parseInt(fmm));
|
||||
}
|
||||
if (Integer.parseInt(fmm) <= 1) {
|
||||
cs.setExperimental(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -500,4 +520,17 @@ public class CodeSystemUtilities {
|
|||
return false;
|
||||
}
|
||||
|
||||
public static void sortAllCodes(CodeSystem cs) {
|
||||
sortAllCodes(cs.getConcept());
|
||||
}
|
||||
|
||||
private static void sortAllCodes(List<ConceptDefinitionComponent> list) {
|
||||
Collections.sort(list, new ConceptDefinitionComponentSorter());
|
||||
for (ConceptDefinitionComponent cd : list) {
|
||||
if (cd.hasConcept()) {
|
||||
sortAllCodes(cd.getConcept());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -48,6 +48,9 @@ import org.hl7.fhir.utilities.Utilities;
|
|||
public class ValueSetUtilities {
|
||||
|
||||
public static ValueSet makeShareable(ValueSet vs) {
|
||||
if (!vs.hasExperimental()) {
|
||||
vs.setExperimental(false);
|
||||
}
|
||||
if (!vs.hasMeta())
|
||||
vs.setMeta(new Meta());
|
||||
for (UriType t : vs.getMeta().getProfile())
|
||||
|
@ -129,9 +132,13 @@ public class ValueSetUtilities {
|
|||
}
|
||||
if (fmm != null) {
|
||||
String sfmm = ToolingExtensions.readStringExtension(vs, ToolingExtensions.EXT_FMM_LEVEL);
|
||||
if (Utilities.noString(sfmm) || Integer.parseInt(sfmm) < Integer.parseInt(fmm))
|
||||
if (Utilities.noString(sfmm) || Integer.parseInt(sfmm) < Integer.parseInt(fmm)) {
|
||||
ToolingExtensions.setIntegerExtension(vs, ToolingExtensions.EXT_FMM_LEVEL, Integer.parseInt(fmm));
|
||||
}
|
||||
if (Integer.parseInt(fmm) <= 1) {
|
||||
vs.setExperimental(true);
|
||||
}
|
||||
}
|
||||
if (vs.hasUserData("cs"))
|
||||
CodeSystemUtilities.markStatus((CodeSystem) vs.getUserData("cs"), wg, status, pckage, fmm, normativeVersion);
|
||||
else if (status == StandardsStatus.NORMATIVE && context != null) {
|
||||
|
|
|
@ -276,7 +276,7 @@ public class NPMPackageGenerator {
|
|||
return "hl7.fhir.r3.core";
|
||||
if (v.startsWith("4.0"))
|
||||
return "hl7.fhir.r4.core";
|
||||
if (v.startsWith("4.1"))
|
||||
if (v.startsWith("4.1") || v.startsWith("4.3"))
|
||||
return "hl7.fhir.r4b.core";
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -230,6 +230,7 @@ public class QuestionnaireBuilder {
|
|||
questionnaire.setPublisher(profile.getPublisher());
|
||||
Questionnaire.QuestionnaireItemComponent item = new Questionnaire.QuestionnaireItemComponent();
|
||||
questionnaire.addItem(item);
|
||||
item.setLinkId("meta");
|
||||
item.getCode().addAll(profile.getKeyword());
|
||||
questionnaire.setId(nextId("qs"));
|
||||
}
|
||||
|
@ -241,6 +242,7 @@ public class QuestionnaireBuilder {
|
|||
response.setStatus(QuestionnaireResponseStatus.INPROGRESS);
|
||||
QuestionnaireResponse.QuestionnaireResponseItemComponent item = new QuestionnaireResponse.QuestionnaireResponseItemComponent();
|
||||
response.addItem(item);
|
||||
item.setLinkId("meta");
|
||||
item.setUserData("object", resource);
|
||||
}
|
||||
|
||||
|
@ -260,9 +262,10 @@ public class QuestionnaireBuilder {
|
|||
display.setType(QuestionnaireItemType.DISPLAY);
|
||||
display.setText(element.getComment());
|
||||
group.addItem(display);
|
||||
display.setLinkId(element.getId()+"-display");
|
||||
}
|
||||
group.setType(QuestionnaireItemType.GROUP);
|
||||
ToolingExtensions.addFlyOver(group, element.getDefinition());
|
||||
ToolingExtensions.addFlyOver(group, element.getDefinition(), element.getId()+"-flyover");
|
||||
group.setRequired(element.getMin() > 0);
|
||||
if (element.getMin() > 0)
|
||||
ToolingExtensions.addMin(group, element.getMin());
|
||||
|
@ -284,10 +287,11 @@ public class QuestionnaireBuilder {
|
|||
nparents.addAll(parents);
|
||||
nparents.add(child);
|
||||
QuestionnaireItemComponent childGroup = group.addItem();
|
||||
childGroup.setLinkId(child.getId()+"-grp");
|
||||
childGroup.setType(QuestionnaireItemType.GROUP);
|
||||
|
||||
List<QuestionnaireResponse.QuestionnaireResponseItemComponent> nResponse = new ArrayList<QuestionnaireResponse.QuestionnaireResponseItemComponent>();
|
||||
processExisting(child.getPath(), answerGroups, nResponse);
|
||||
processExisting(child.getPath(), answerGroups, childGroup, nResponse);
|
||||
// if the element has a type, we add a question. else we add a group on the basis that
|
||||
// it will have children of its own
|
||||
if (child.getType().isEmpty() || isAbstractType(child.getType()))
|
||||
|
@ -334,13 +338,14 @@ public class QuestionnaireBuilder {
|
|||
return path.substring(path.lastIndexOf('.')+1);
|
||||
}
|
||||
|
||||
private void processExisting(String path, List<QuestionnaireResponse.QuestionnaireResponseItemComponent> answerGroups, List<QuestionnaireResponse.QuestionnaireResponseItemComponent> nResponse) throws FHIRException {
|
||||
private void processExisting(String path, List<QuestionnaireResponse.QuestionnaireResponseItemComponent> answerGroups, QuestionnaireItemComponent item, List<QuestionnaireResponse.QuestionnaireResponseItemComponent> nResponse) throws FHIRException {
|
||||
// processing existing data
|
||||
for (QuestionnaireResponse.QuestionnaireResponseItemComponent ag : answerGroups) {
|
||||
List<Base> children = ((Element) ag.getUserData("object")).listChildrenByName(tail(path));
|
||||
for (Base child : children) {
|
||||
if (child != null) {
|
||||
QuestionnaireResponse.QuestionnaireResponseItemComponent ans = ag.addItem();
|
||||
ag.setLinkId(item.getLinkId());
|
||||
ans.setUserData("object", child);
|
||||
nResponse.add(ans);
|
||||
}
|
||||
|
@ -366,9 +371,9 @@ public class QuestionnaireBuilder {
|
|||
}
|
||||
|
||||
if (!Utilities.noString(element.getComment()))
|
||||
ToolingExtensions.addFlyOver(group, element.getDefinition()+" "+element.getComment());
|
||||
ToolingExtensions.addFlyOver(group, element.getDefinition()+" "+element.getComment(), group.getLinkId()+"-flyover");
|
||||
else
|
||||
ToolingExtensions.addFlyOver(group, element.getDefinition());
|
||||
ToolingExtensions.addFlyOver(group, element.getDefinition(), group.getLinkId()+"-flyover");
|
||||
|
||||
if (element.getType().size() > 1 || element.getType().get(0).getWorkingCode().equals("*")) {
|
||||
List<TypeRefComponent> types = expandTypeList(element.getType());
|
||||
|
|
|
@ -468,11 +468,12 @@ public class ToolingExtensions {
|
|||
// return findBooleanExtension(c, EXT_DEPRECATED);
|
||||
// }
|
||||
|
||||
public static void addFlyOver(QuestionnaireItemComponent item, String text){
|
||||
public static void addFlyOver(QuestionnaireItemComponent item, String text, String linkId){
|
||||
if (!StringUtils.isBlank(text)) {
|
||||
QuestionnaireItemComponent display = item.addItem();
|
||||
display.setType(QuestionnaireItemType.DISPLAY);
|
||||
display.setText(text);
|
||||
display.setLinkId(linkId);
|
||||
display.getExtension().add(Factory.newExtension(EXT_CONTROL, Factory.newCodeableConcept("flyover", "http://hl7.org/fhir/questionnaire-item-control", "Fly-over"), true));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,8 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
import org.hl7.fhir.utilities.Utilities;
|
||||
import org.hl7.fhir.utilities.VersionUtilities;
|
||||
import org.hl7.fhir.utilities.VersionUtilities.VersionURLInfo;
|
||||
|
||||
|
||||
public class TypesUtilities {
|
||||
|
@ -111,7 +113,7 @@ public class TypesUtilities {
|
|||
res.add(new WildcardInformation("id", TypeClassification.PRIMITIVE));
|
||||
res.add(new WildcardInformation("instant", TypeClassification.PRIMITIVE));
|
||||
res.add(new WildcardInformation("integer", TypeClassification.PRIMITIVE));
|
||||
if (!version.startsWith("4.1")) {
|
||||
if (!VersionUtilities.isR4BVer(version)) {
|
||||
res.add(new WildcardInformation("integer64", TypeClassification.PRIMITIVE));
|
||||
}
|
||||
res.add(new WildcardInformation("markdown", TypeClassification.PRIMITIVE));
|
||||
|
@ -130,6 +132,7 @@ public class TypesUtilities {
|
|||
res.add(new WildcardInformation("Annotation", TypeClassification.DATATYPE));
|
||||
res.add(new WildcardInformation("Attachment", TypeClassification.DATATYPE));
|
||||
res.add(new WildcardInformation("CodeableConcept", TypeClassification.DATATYPE));
|
||||
res.add(new WildcardInformation("CodeableReference", TypeClassification.DATATYPE));
|
||||
res.add(new WildcardInformation("Coding", TypeClassification.DATATYPE));
|
||||
res.add(new WildcardInformation("ContactPoint", TypeClassification.DATATYPE));
|
||||
res.add(new WildcardInformation("Count", TypeClassification.DATATYPE));
|
||||
|
@ -142,6 +145,7 @@ public class TypesUtilities {
|
|||
res.add(new WildcardInformation("Quantity", TypeClassification.DATATYPE));
|
||||
res.add(new WildcardInformation("Range", TypeClassification.DATATYPE));
|
||||
res.add(new WildcardInformation("Ratio", TypeClassification.DATATYPE));
|
||||
res.add(new WildcardInformation("RatioRange", TypeClassification.DATATYPE));
|
||||
res.add(new WildcardInformation("Reference", " - a reference to another resource", TypeClassification.DATATYPE));
|
||||
res.add(new WildcardInformation("SampledData", TypeClassification.DATATYPE));
|
||||
res.add(new WildcardInformation("Signature", TypeClassification.DATATYPE));
|
||||
|
|
|
@ -127,11 +127,14 @@ public class VersionUtilities {
|
|||
}
|
||||
|
||||
public static boolean isSupportedVersion(String version) {
|
||||
return Utilities.existsInList(version, "1.0.2", "1.4.0", "3.0.2", "4.0.1", "4.1.0", CURRENT_FULL_VERSION);
|
||||
if (version.contains("-")) {
|
||||
version = version.substring(0, version.indexOf("-"));
|
||||
}
|
||||
return Utilities.existsInList(version, "1.0.2", "1.4.0", "3.0.2", "4.0.1", "4.1.0", "4.3.0",CURRENT_FULL_VERSION);
|
||||
}
|
||||
|
||||
public static String listSupportedVersions() {
|
||||
return "1.0.2, 1.4.0, 3.0.2, 4.0.1, 4.1.0, "+CURRENT_FULL_VERSION;
|
||||
return "1.0.2, 1.4.0, 3.0.2, 4.0.1, 4.1.0, 4.3.0, "+CURRENT_FULL_VERSION;
|
||||
}
|
||||
|
||||
public static boolean isR5Ver(String ver) {
|
||||
|
@ -139,7 +142,7 @@ public class VersionUtilities {
|
|||
}
|
||||
|
||||
public static boolean isR4BVer(String ver) {
|
||||
return ver != null && ver.startsWith("4.1");
|
||||
return ver != null && (ver.startsWith("4.1") || ver.startsWith("4.3"));
|
||||
}
|
||||
|
||||
public static boolean isR4Ver(String ver) {
|
||||
|
|
|
@ -83,8 +83,6 @@ import java.util.Map.Entry;
|
|||
*/
|
||||
public class FilesystemPackageCacheManager extends BasePackageCacheManager implements IPackageCacheManager {
|
||||
|
||||
public static final String PRIMARY_SERVER = "http://packages.fhir.org";
|
||||
public static final String SECONDARY_SERVER = "https://packages2.fhir.org/packages";
|
||||
// private static final String SECONDARY_SERVER = "http://local.fhir.org:960/packages";
|
||||
public static final String PACKAGE_REGEX = "^[a-zA-Z][A-Za-z0-9\\_\\-]*(\\.[A-Za-z0-9\\_\\-]+)+$";
|
||||
public static final String PACKAGE_VERSION_REGEX = "^[A-Za-z][A-Za-z0-9\\_\\-]*(\\.[A-Za-z0-9\\_\\-]+)+\\#[A-Za-z0-9\\-\\_\\$]+(\\.[A-Za-z0-9\\-\\_\\$]+)*$";
|
||||
|
@ -102,8 +100,8 @@ public class FilesystemPackageCacheManager extends BasePackageCacheManager imple
|
|||
* Constructor
|
||||
*/
|
||||
public FilesystemPackageCacheManager(boolean userMode, int toolsVersion) throws IOException {
|
||||
addPackageServer(PRIMARY_SERVER);
|
||||
addPackageServer(SECONDARY_SERVER);
|
||||
addPackageServer(PackageClient.PRIMARY_SERVER);
|
||||
addPackageServer(PackageClient.SECONDARY_SERVER);
|
||||
|
||||
if (userMode)
|
||||
cacheFolder = Utilities.path(System.getProperty("user.home"), ".fhir", "packages");
|
||||
|
@ -226,7 +224,7 @@ public class FilesystemPackageCacheManager extends BasePackageCacheManager imple
|
|||
public String getLatestVersion(String id) throws IOException {
|
||||
for (String nextPackageServer : getPackageServers()) {
|
||||
// special case:
|
||||
if (!(CommonPackages.ID_PUBPACK.equals(id) && PRIMARY_SERVER.equals(nextPackageServer))) {
|
||||
if (!(CommonPackages.ID_PUBPACK.equals(id) && PackageClient.PRIMARY_SERVER.equals(nextPackageServer))) {
|
||||
CachingPackageClient pc = new CachingPackageClient(nextPackageServer);
|
||||
try {
|
||||
return pc.getLatestVersion(id);
|
||||
|
|
|
@ -25,6 +25,9 @@ import java.util.Set;
|
|||
|
||||
public class PackageClient {
|
||||
|
||||
public static final String PRIMARY_SERVER = "http://packages.fhir.org";
|
||||
public static final String SECONDARY_SERVER = "https://packages2.fhir.org/packages";
|
||||
|
||||
private String address;
|
||||
private String cacheFolder;
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -10,6 +10,7 @@ import org.hl7.fhir.utilities.VersionUtilities;
|
|||
import org.hl7.fhir.utilities.npm.CachingPackageClient;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager;
|
||||
import org.hl7.fhir.utilities.npm.NpmPackage;
|
||||
import org.hl7.fhir.utilities.npm.PackageClient;
|
||||
import org.hl7.fhir.utilities.npm.PackageInfo;
|
||||
import org.hl7.fhir.utilities.npm.ToolsVersion;
|
||||
|
||||
|
@ -22,7 +23,7 @@ public class PackageValidator {
|
|||
private void execute() throws IOException {
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
|
||||
CachingPackageClient pc = new CachingPackageClient(FilesystemPackageCacheManager.PRIMARY_SERVER);
|
||||
CachingPackageClient pc = new CachingPackageClient(PackageClient.PRIMARY_SERVER);
|
||||
for (PackageInfo t : pc.search(null, null, null, false)) {
|
||||
System.out.println("Check Package "+t.getId());
|
||||
List<PackageInfo> vl = pc.getVersions(t.getId());
|
||||
|
|
|
@ -113,7 +113,7 @@ public class ProfileValidator extends BaseValidator {
|
|||
if (snapshotElements != null) {
|
||||
for (ElementDefinition diffElement : profile.getDifferential().getElement()) {
|
||||
if (diffElement == null)
|
||||
throw new Error("What?");
|
||||
throw new Error("Diff Element is null - this is not an expected thing");
|
||||
ElementDefinition snapElement = snapshotElements.get(diffElement.getId());
|
||||
if (snapElement!=null) { // Happens with profiles in the main build - should be able to fix once snapshot generation is fixed - Lloyd
|
||||
warning(errors, IssueType.BUSINESSRULE, diffElement.getId(), !checkMustSupport || snapElement.hasMustSupport(), "Elements included in the differential should declare mustSupport");
|
||||
|
|
2
pom.xml
2
pom.xml
|
@ -19,7 +19,7 @@
|
|||
|
||||
<properties>
|
||||
<hapi_fhir_version>5.1.0</hapi_fhir_version>
|
||||
<validator_test_case_version>1.1.82</validator_test_case_version>
|
||||
<validator_test_case_version>1.1.83-SNAPSHOT</validator_test_case_version>
|
||||
<junit_jupiter_version>5.7.1</junit_jupiter_version>
|
||||
<junit_platform_launcher_version>1.7.1</junit_platform_launcher_version>
|
||||
<maven_surefire_version>3.0.0-M5</maven_surefire_version>
|
||||
|
|
Loading…
Reference in New Issue