fix problem converting opdef params to R5

This commit is contained in:
Grahame Grieve 2020-01-13 12:59:56 +11:00
parent aabe8b43eb
commit 1d3d21d4bc
4 changed files with 29 additions and 7 deletions

View File

@ -37,6 +37,7 @@ import org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent;
import org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent; import org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent;
import org.hl7.fhir.dstu3.model.DocumentReference.ReferredDocumentStatus; import org.hl7.fhir.dstu3.model.DocumentReference.ReferredDocumentStatus;
import org.hl7.fhir.dstu3.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent; import org.hl7.fhir.dstu3.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent;
import org.hl7.fhir.dstu3.model.Enumerations.SearchParamType;
import org.hl7.fhir.dstu3.model.Immunization.ImmunizationPractitionerComponent; import org.hl7.fhir.dstu3.model.Immunization.ImmunizationPractitionerComponent;
import org.hl7.fhir.dstu3.model.ReferralRequest.ReferralPriority; import org.hl7.fhir.dstu3.model.ReferralRequest.ReferralPriority;
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind; import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind;
@ -9225,7 +9226,12 @@ public class VersionConvertor_10_30 {
tgt.setMin(src.getMin()); tgt.setMin(src.getMin());
tgt.setMax(src.getMax()); tgt.setMax(src.getMax());
tgt.setDocumentation(src.getDocumentation()); tgt.setDocumentation(src.getDocumentation());
if (Utilities.existsInList(src.getType(), "token", "reference", "composite", "number", "date", "quantity", "uri")) {
tgt.setType("string");
tgt.setSearchType(SearchParamType.fromCode(src.getType()));
} else {
tgt.setType(src.getType()); tgt.setType(src.getType());
}
tgt.setProfile(convertReference(src.getProfile())); tgt.setProfile(convertReference(src.getProfile()));
tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding())); tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding()));
for (org.hl7.fhir.dstu2.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getPart()) for (org.hl7.fhir.dstu2.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getPart())
@ -9245,7 +9251,6 @@ public class VersionConvertor_10_30 {
tgt.setDocumentation(src.getDocumentation()); tgt.setDocumentation(src.getDocumentation());
if (src.hasSearchType()) { if (src.hasSearchType()) {
tgt.setType(src.getSearchType().toCode()); tgt.setType(src.getSearchType().toCode());
tgt.setType("string");
} else } else
tgt.setType(src.getType()); tgt.setType(src.getType());
if (src.hasProfile()) if (src.hasProfile())

View File

@ -52,6 +52,8 @@ import org.hl7.fhir.r4.model.Dosage.DosageDoseAndRateComponent;
import org.hl7.fhir.r4.model.ElementDefinition; import org.hl7.fhir.r4.model.ElementDefinition;
import org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent; import org.hl7.fhir.r4.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent;
import org.hl7.fhir.r4.model.Enumeration; import org.hl7.fhir.r4.model.Enumeration;
import org.hl7.fhir.r4.model.Enumerations.FHIRAllTypes;
import org.hl7.fhir.r4.model.Enumerations.SearchParamType;
import org.hl7.fhir.r4.model.Immunization.ImmunizationPerformerComponent; import org.hl7.fhir.r4.model.Immunization.ImmunizationPerformerComponent;
import org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration; import org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration;
import org.hl7.fhir.r4.model.Questionnaire.QuestionnaireItemAnswerOptionComponent; import org.hl7.fhir.r4.model.Questionnaire.QuestionnaireItemAnswerOptionComponent;
@ -8852,7 +8854,12 @@ public class VersionConvertor_10_40 {
tgt.setMin(src.getMin()); tgt.setMin(src.getMin());
tgt.setMax(src.getMax()); tgt.setMax(src.getMax());
tgt.setDocumentation(src.getDocumentation()); tgt.setDocumentation(src.getDocumentation());
if (Utilities.existsInList(src.getType(), "token", "reference", "composite", "number", "date", "quantity", "uri")) {
tgt.setType("string");
tgt.setSearchType(SearchParamType.fromCode(src.getType()));
} else {
tgt.setType(src.getType()); tgt.setType(src.getType());
}
tgt.addTargetProfile(src.getProfile().getReference()); tgt.addTargetProfile(src.getProfile().getReference());
tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding())); tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding()));
for (org.hl7.fhir.dstu2.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getPart()) for (org.hl7.fhir.dstu2.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getPart())
@ -8872,7 +8879,6 @@ public class VersionConvertor_10_40 {
tgt.setDocumentation(src.getDocumentation()); tgt.setDocumentation(src.getDocumentation());
if (src.hasSearchType()) { if (src.hasSearchType()) {
tgt.setType(src.getSearchType().toCode()); tgt.setType(src.getSearchType().toCode());
tgt.setType("string");
} else } else
tgt.setType(src.getType()); tgt.setType(src.getType());
for (org.hl7.fhir.r4.model.UriType t: src.getTargetProfile()) for (org.hl7.fhir.r4.model.UriType t: src.getTargetProfile())

View File

@ -54,7 +54,9 @@ import org.hl7.fhir.r5.model.ElementDefinition;
import org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent; import org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent;
import org.hl7.fhir.r5.model.Enumeration; import org.hl7.fhir.r5.model.Enumeration;
import org.hl7.fhir.r5.model.Enumerations; import org.hl7.fhir.r5.model.Enumerations;
import org.hl7.fhir.r5.model.Enumerations.FHIRAllTypes;
import org.hl7.fhir.r5.model.Enumerations.ResourceTypeEnum; import org.hl7.fhir.r5.model.Enumerations.ResourceTypeEnum;
import org.hl7.fhir.r5.model.Enumerations.SearchParamType;
import org.hl7.fhir.r5.model.Immunization.ImmunizationPerformerComponent; import org.hl7.fhir.r5.model.Immunization.ImmunizationPerformerComponent;
import org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGeneration; import org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGeneration;
import org.hl7.fhir.r5.model.Questionnaire.QuestionnaireItemAnswerOptionComponent; import org.hl7.fhir.r5.model.Questionnaire.QuestionnaireItemAnswerOptionComponent;
@ -8911,7 +8913,12 @@ public class VersionConvertor_10_50 {
tgt.setMin(src.getMin()); tgt.setMin(src.getMin());
tgt.setMax(src.getMax()); tgt.setMax(src.getMax());
tgt.setDocumentation(src.getDocumentation()); tgt.setDocumentation(src.getDocumentation());
if (Utilities.existsInList(src.getType(), "token", "reference", "composite", "number", "date", "quantity", "uri")) {
tgt.setType(FHIRAllTypes.STRING);
tgt.setSearchType(SearchParamType.fromCode(src.getType()));
} else {
tgt.setType(Enumerations.FHIRAllTypes.fromCode(src.getType())); tgt.setType(Enumerations.FHIRAllTypes.fromCode(src.getType()));
}
tgt.addTargetProfile(src.getProfile().getReference()); tgt.addTargetProfile(src.getProfile().getReference());
tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding())); tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding()));
for (org.hl7.fhir.dstu2.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getPart()) for (org.hl7.fhir.dstu2.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getPart())
@ -8931,7 +8938,6 @@ public class VersionConvertor_10_50 {
tgt.setDocumentation(src.getDocumentation()); tgt.setDocumentation(src.getDocumentation());
if (src.hasSearchType()) { if (src.hasSearchType()) {
tgt.setType(src.getSearchType().toCode()); tgt.setType(src.getSearchType().toCode());
tgt.setType("string");
} else } else
tgt.setType(src.getType().toCode()); tgt.setType(src.getType().toCode());
for (org.hl7.fhir.r5.model.UriType t: src.getTargetProfile()) for (org.hl7.fhir.r5.model.UriType t: src.getTargetProfile())

View File

@ -67,6 +67,7 @@ import org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent;
import org.hl7.fhir.dstu3.model.ContactDetail; import org.hl7.fhir.dstu3.model.ContactDetail;
import org.hl7.fhir.dstu3.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent; import org.hl7.fhir.dstu3.model.ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent;
import org.hl7.fhir.dstu3.model.Enumeration; import org.hl7.fhir.dstu3.model.Enumeration;
import org.hl7.fhir.dstu3.model.Enumerations.SearchParamType;
import org.hl7.fhir.dstu3.model.Timing.EventTiming; import org.hl7.fhir.dstu3.model.Timing.EventTiming;
import org.hl7.fhir.dstu3.model.UsageContext; import org.hl7.fhir.dstu3.model.UsageContext;
import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRException;
@ -4756,8 +4757,12 @@ public class VersionConvertor_14_30 {
tgt.setMax(src.getMax()); tgt.setMax(src.getMax());
if (src.hasDocumentation()) if (src.hasDocumentation())
tgt.setDocumentation(src.getDocumentation()); tgt.setDocumentation(src.getDocumentation());
if (src.hasType()) if (Utilities.existsInList(src.getType(), "token", "reference", "composite", "number", "date", "quantity", "uri")) {
tgt.setType("string");
tgt.setSearchType(SearchParamType.fromCode(src.getType()));
} else {
tgt.setType(src.getType()); tgt.setType(src.getType());
}
tgt.setSearchType(convertSearchParamType(src.getSearchType())); tgt.setSearchType(convertSearchParamType(src.getSearchType()));
tgt.setProfile(convertReference(src.getProfile())); tgt.setProfile(convertReference(src.getProfile()));
tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding())); tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding()));