Adding version option to ignore bundle entry in conversion advisors (#492)
This commit is contained in:
parent
5a11851ec7
commit
9a82457b36
|
@ -7,6 +7,7 @@
|
||||||
* Issue 484 https://github.com/hapifhir/org.hl7.fhir.core/issues/484
|
* Issue 484 https://github.com/hapifhir/org.hl7.fhir.core/issues/484
|
||||||
* Adding Kotlin to the build process
|
* Adding Kotlin to the build process
|
||||||
* random cleaning up in convertors
|
* random cleaning up in convertors
|
||||||
|
* Adding version option to ignore bundle entry in conversion advisors
|
||||||
* Validator: Load code systems from known packages on the fly
|
* Validator: Load code systems from known packages on the fly
|
||||||
* Validator: better handle invalid v3 dates
|
* Validator: better handle invalid v3 dates
|
||||||
* Renderer: Render OperationDefinition.InputProfile and OutputProfile
|
* Renderer: Render OperationDefinition.InputProfile and OutputProfile
|
||||||
|
|
|
@ -1,83 +0,0 @@
|
||||||
package org.hl7.fhir.convertors.advisors;
|
|
||||||
|
|
||||||
/*
|
|
||||||
Copyright (c) 2011+, HL7, Inc.
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright notice, this
|
|
||||||
list of conditions and the following disclaimer.
|
|
||||||
* Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer in the documentation
|
|
||||||
and/or other materials provided with the distribution.
|
|
||||||
* Neither the name of HL7 nor the names of its contributors may be used to
|
|
||||||
endorse or promote products derived from this software without specific
|
|
||||||
prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
||||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
|
||||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
||||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
||||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
*/
|
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This interface is passed into the version conversion routines when on of the
|
|
||||||
* converters is producing or converting R3 resources.
|
|
||||||
*
|
|
||||||
* The interface allows users of the code to
|
|
||||||
* 1. manage the life cycle of new resources created (or needed) during the conversion process
|
|
||||||
* 2. manage how unknown content etc is handled
|
|
||||||
*
|
|
||||||
* @author grahame
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public interface VersionConvertorAdvisor30 {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* when processing a bundle, and converting from R3 to R2 whether to ignore an entry in the bundle.
|
|
||||||
* typically, return true when it's a resource that isn't handled, and you don't care.
|
|
||||||
*
|
|
||||||
* by default, always return false unless you know why not do this
|
|
||||||
*
|
|
||||||
* todo: why only R2? generalise this to all targets
|
|
||||||
*
|
|
||||||
* @param src
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
boolean ignoreEntry(org.hl7.fhir.dstu3.model.Bundle.BundleEntryComponent src);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* In R2, code systems are internal to value sets, but in subsequent versions, they
|
|
||||||
* exist as separate resources. The convertor will create the code system, and then
|
|
||||||
* call this routine for the host to decide what to do with it
|
|
||||||
*
|
|
||||||
* It can make it a contained resource, or it can put it somewhere else
|
|
||||||
*
|
|
||||||
* @param tgtcs
|
|
||||||
* @param source
|
|
||||||
* @throws FHIRException
|
|
||||||
*/
|
|
||||||
void handleCodeSystem(org.hl7.fhir.dstu3.model.CodeSystem tgtcs, org.hl7.fhir.dstu3.model.ValueSet source) throws FHIRException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* when converting from R3 to R2, and converting a value set, the convertor will need
|
|
||||||
* to find the code system a value set is referring to, so it can include it inline.
|
|
||||||
*
|
|
||||||
* This routine should find the actual resource
|
|
||||||
*
|
|
||||||
* @param src
|
|
||||||
* @return
|
|
||||||
* @throws FHIRException
|
|
||||||
*/
|
|
||||||
org.hl7.fhir.dstu3.model.CodeSystem getCodeSystem(org.hl7.fhir.dstu3.model.ValueSet src) throws FHIRException;
|
|
||||||
}
|
|
|
@ -1,84 +0,0 @@
|
||||||
package org.hl7.fhir.convertors.advisors;
|
|
||||||
|
|
||||||
/*
|
|
||||||
Copyright (c) 2011+, HL7, Inc.
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright notice, this
|
|
||||||
list of conditions and the following disclaimer.
|
|
||||||
* Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer in the documentation
|
|
||||||
and/or other materials provided with the distribution.
|
|
||||||
* Neither the name of HL7 nor the names of its contributors may be used to
|
|
||||||
endorse or promote products derived from this software without specific
|
|
||||||
prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
||||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
|
||||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
||||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
||||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
*/
|
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This interface is passed into the version conversion routines when on of the
|
|
||||||
* converters is producing or converting R4 resources.
|
|
||||||
*
|
|
||||||
* The interface allows users of the code to
|
|
||||||
* 1. manage the life cycle of new resources created (or needed) during the conversion process
|
|
||||||
* 2. manage how unknown content etc is handled
|
|
||||||
*
|
|
||||||
* @author grahame
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public interface VersionConvertorAdvisor40 {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* when processing a bundle, and converting from R4 to R2 whether to ignore an entry in the bundle.
|
|
||||||
* typically, return true when it's a resource that isn't handled, and you don't care.
|
|
||||||
*
|
|
||||||
* by default, always return false unless you know why not do this
|
|
||||||
*
|
|
||||||
* todo: why only R2? generalise this to all targets
|
|
||||||
*
|
|
||||||
* @param src
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
boolean ignoreEntry(org.hl7.fhir.r4.model.Bundle.BundleEntryComponent src);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* In R2, code systems are internal to value sets, but in subsequent versions, they
|
|
||||||
* exist as separate resources. The convertor will create the code system, and then
|
|
||||||
* call this routine for the host to decide what to do with it
|
|
||||||
*
|
|
||||||
* It can make it a contained resource, or it can put it somewhere else
|
|
||||||
*
|
|
||||||
* @param tgtcs
|
|
||||||
* @param source
|
|
||||||
* @throws FHIRException
|
|
||||||
*/
|
|
||||||
void handleCodeSystem(org.hl7.fhir.r4.model.CodeSystem tgtcs, org.hl7.fhir.r4.model.ValueSet source) throws FHIRException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* when converting from R4 to R2, and converting a value set, the convertor will need
|
|
||||||
* to find the code system a value set is referring to, so it can include it inline.
|
|
||||||
*
|
|
||||||
* This routine should find the actual resource
|
|
||||||
*
|
|
||||||
* @param src
|
|
||||||
* @return
|
|
||||||
* @throws FHIRException
|
|
||||||
*/
|
|
||||||
org.hl7.fhir.r4.model.CodeSystem getCodeSystem(org.hl7.fhir.r4.model.ValueSet src) throws FHIRException;
|
|
||||||
}
|
|
|
@ -1,71 +0,0 @@
|
||||||
package org.hl7.fhir.convertors.advisors;
|
|
||||||
|
|
||||||
/*
|
|
||||||
Copyright (c) 2011+, HL7, Inc.
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright notice, this
|
|
||||||
list of conditions and the following disclaimer.
|
|
||||||
* Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer in the documentation
|
|
||||||
and/or other materials provided with the distribution.
|
|
||||||
* Neither the name of HL7 nor the names of its contributors may be used to
|
|
||||||
endorse or promote products derived from this software without specific
|
|
||||||
prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
||||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
|
||||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
||||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
||||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
*/
|
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
|
||||||
|
|
||||||
public interface VersionConvertorAdvisor50 {
|
|
||||||
/**
|
|
||||||
* when processing a bundle, and converting from R5 to R2 whether to ignore an entry in the bundle.
|
|
||||||
* typically, return true when it's a resource that isn't handled, and you don't care.
|
|
||||||
*
|
|
||||||
* by default, always return false unless you know why not do this
|
|
||||||
*
|
|
||||||
* todo: why only R2? generalise this to all targets
|
|
||||||
*
|
|
||||||
* @param src
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
boolean ignoreEntry(org.hl7.fhir.r5.model.Bundle.BundleEntryComponent src);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* In R2, code systems are internal to value sets, but in subsequent versions, they
|
|
||||||
* exist as separate resources. The convertor will create the code system, and then
|
|
||||||
* call this routine for the host to decide what to do with it
|
|
||||||
*
|
|
||||||
* It can make it a contained resource, or it can put it somewhere else
|
|
||||||
*
|
|
||||||
* @param tgtcs
|
|
||||||
* @param source
|
|
||||||
* @throws FHIRException
|
|
||||||
*/
|
|
||||||
void handleCodeSystem(org.hl7.fhir.r5.model.CodeSystem tgtcs, org.hl7.fhir.r5.model.ValueSet source) throws FHIRException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* when converting from R5 to R2, and converting a value set, the convertor will need
|
|
||||||
* to find the code system a value set is referring to, so it can include it inline.
|
|
||||||
*
|
|
||||||
* This routine should find the actual resource
|
|
||||||
*
|
|
||||||
* @param src
|
|
||||||
* @return
|
|
||||||
* @throws FHIRException
|
|
||||||
*/
|
|
||||||
org.hl7.fhir.r5.model.CodeSystem getCodeSystem(org.hl7.fhir.r5.model.ValueSet src) throws FHIRException;
|
|
||||||
}
|
|
|
@ -1,8 +1,9 @@
|
||||||
package org.hl7.fhir.convertors.conv10_30;
|
package org.hl7.fhir.convertors.conv10_30;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor30;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_30;
|
import org.hl7.fhir.convertors.VersionConvertor_10_30;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor30;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.r5.model.FhirPublication;
|
||||||
|
|
||||||
public class Bundle10_30 {
|
public class Bundle10_30 {
|
||||||
|
|
||||||
|
@ -45,7 +46,7 @@ public class Bundle10_30 {
|
||||||
public static org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent convertBundleEntryComponent(org.hl7.fhir.dstu3.model.Bundle.BundleEntryComponent src, VersionConvertorAdvisor30 advisor) throws FHIRException {
|
public static org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent convertBundleEntryComponent(org.hl7.fhir.dstu3.model.Bundle.BundleEntryComponent src, VersionConvertorAdvisor30 advisor) throws FHIRException {
|
||||||
if (src == null || src.isEmpty())
|
if (src == null || src.isEmpty())
|
||||||
return null;
|
return null;
|
||||||
if (advisor.ignoreEntry(src))
|
if (advisor.ignoreEntry(src, FhirPublication.DSTU2))
|
||||||
return null;
|
return null;
|
||||||
org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent tgt = new org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent();
|
org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent tgt = new org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent();
|
||||||
VersionConvertor_10_30.copyElement(src, tgt);
|
VersionConvertor_10_30.copyElement(src, tgt);
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package org.hl7.fhir.convertors.conv10_30;
|
package org.hl7.fhir.convertors.conv10_30;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor30;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_30;
|
import org.hl7.fhir.convertors.VersionConvertor_10_30;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor30;
|
||||||
import org.hl7.fhir.dstu2.model.ValueSet;
|
import org.hl7.fhir.dstu2.model.ValueSet;
|
||||||
import org.hl7.fhir.dstu3.model.CodeSystem;
|
import org.hl7.fhir.dstu3.model.CodeSystem;
|
||||||
import org.hl7.fhir.dstu3.model.CodeSystem.CodeSystemContentMode;
|
import org.hl7.fhir.dstu3.model.CodeSystem.CodeSystemContentMode;
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package org.hl7.fhir.convertors.conv10_40;
|
package org.hl7.fhir.convertors.conv10_40;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.r5.model.FhirPublication;
|
||||||
|
|
||||||
public class Bundle10_40 {
|
public class Bundle10_40 {
|
||||||
|
|
||||||
|
@ -64,7 +65,7 @@ public class Bundle10_40 {
|
||||||
public static org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent convertBundleEntryComponent(org.hl7.fhir.r4.model.Bundle.BundleEntryComponent src, VersionConvertorAdvisor40 advisor) throws FHIRException {
|
public static org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent convertBundleEntryComponent(org.hl7.fhir.r4.model.Bundle.BundleEntryComponent src, VersionConvertorAdvisor40 advisor) throws FHIRException {
|
||||||
if (src == null || src.isEmpty())
|
if (src == null || src.isEmpty())
|
||||||
return null;
|
return null;
|
||||||
if (advisor.ignoreEntry(src))
|
if (advisor.ignoreEntry(src, FhirPublication.DSTU2))
|
||||||
return null;
|
return null;
|
||||||
org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent tgt = new org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent();
|
org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent tgt = new org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent();
|
||||||
VersionConvertor_10_40.copyElement(src, tgt);
|
VersionConvertor_10_40.copyElement(src, tgt);
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package org.hl7.fhir.convertors.conv10_40;
|
package org.hl7.fhir.convertors.conv10_40;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
||||||
import org.hl7.fhir.dstu2.model.ValueSet;
|
import org.hl7.fhir.dstu2.model.ValueSet;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.r4.model.BooleanType;
|
import org.hl7.fhir.r4.model.BooleanType;
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package org.hl7.fhir.convertors.conv10_50;
|
package org.hl7.fhir.convertors.conv10_50;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_50;
|
import org.hl7.fhir.convertors.VersionConvertor_10_50;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.r5.model.FhirPublication;
|
||||||
|
|
||||||
public class Bundle10_50 {
|
public class Bundle10_50 {
|
||||||
|
|
||||||
|
@ -64,7 +65,7 @@ public class Bundle10_50 {
|
||||||
public static org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent convertBundleEntryComponent(org.hl7.fhir.r5.model.Bundle.BundleEntryComponent src, VersionConvertorAdvisor50 advisor) throws FHIRException {
|
public static org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent convertBundleEntryComponent(org.hl7.fhir.r5.model.Bundle.BundleEntryComponent src, VersionConvertorAdvisor50 advisor) throws FHIRException {
|
||||||
if (src == null || src.isEmpty())
|
if (src == null || src.isEmpty())
|
||||||
return null;
|
return null;
|
||||||
if (advisor.ignoreEntry(src))
|
if (advisor.ignoreEntry(src, FhirPublication.DSTU2))
|
||||||
return null;
|
return null;
|
||||||
org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent tgt = new org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent();
|
org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent tgt = new org.hl7.fhir.dstu2.model.Bundle.BundleEntryComponent();
|
||||||
VersionConvertor_10_50.copyElement(src, tgt);
|
VersionConvertor_10_50.copyElement(src, tgt);
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package org.hl7.fhir.convertors.conv10_50;
|
package org.hl7.fhir.convertors.conv10_50;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_50;
|
import org.hl7.fhir.convertors.VersionConvertor_10_50;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
||||||
import org.hl7.fhir.dstu2.model.ValueSet;
|
import org.hl7.fhir.dstu2.model.ValueSet;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.r5.model.BooleanType;
|
import org.hl7.fhir.r5.model.BooleanType;
|
||||||
|
|
|
@ -37,8 +37,8 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_14_40;
|
import org.hl7.fhir.convertors.VersionConvertor_14_40;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
||||||
import org.hl7.fhir.dstu2016may.formats.JsonParser;
|
import org.hl7.fhir.dstu2016may.formats.JsonParser;
|
||||||
import org.hl7.fhir.dstu2016may.formats.XmlParser;
|
import org.hl7.fhir.dstu2016may.formats.XmlParser;
|
||||||
import org.hl7.fhir.dstu2016may.model.Resource;
|
import org.hl7.fhir.dstu2016may.model.Resource;
|
||||||
|
@ -54,6 +54,7 @@ import org.hl7.fhir.r4.model.StructureDefinition;
|
||||||
import org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionKind;
|
import org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionKind;
|
||||||
import org.hl7.fhir.r4.model.UriType;
|
import org.hl7.fhir.r4.model.UriType;
|
||||||
import org.hl7.fhir.r4.model.ValueSet;
|
import org.hl7.fhir.r4.model.ValueSet;
|
||||||
|
import org.hl7.fhir.r5.model.FhirPublication;
|
||||||
|
|
||||||
public class R2016MayToR4Loader extends BaseLoaderR4 implements IContextResourceLoader, VersionConvertorAdvisor40 {
|
public class R2016MayToR4Loader extends BaseLoaderR4 implements IContextResourceLoader, VersionConvertorAdvisor40 {
|
||||||
|
|
||||||
|
@ -112,7 +113,7 @@ public class R2016MayToR4Loader extends BaseLoaderR4 implements IContextResource
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(BundleEntryComponent src) {
|
public boolean ignoreEntry(BundleEntryComponent src, FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,25 +37,18 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_14_50;
|
import org.hl7.fhir.convertors.VersionConvertor_14_50;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
||||||
import org.hl7.fhir.dstu2016may.formats.JsonParser;
|
import org.hl7.fhir.dstu2016may.formats.JsonParser;
|
||||||
import org.hl7.fhir.dstu2016may.formats.XmlParser;
|
import org.hl7.fhir.dstu2016may.formats.XmlParser;
|
||||||
import org.hl7.fhir.dstu2016may.model.Resource;
|
import org.hl7.fhir.dstu2016may.model.Resource;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.r5.conformance.ProfileUtilities;
|
import org.hl7.fhir.r5.conformance.ProfileUtilities;
|
||||||
import org.hl7.fhir.r5.model.Bundle;
|
import org.hl7.fhir.r5.model.*;
|
||||||
import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent;
|
import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent;
|
||||||
import org.hl7.fhir.r5.model.Bundle.BundleType;
|
import org.hl7.fhir.r5.model.Bundle.BundleType;
|
||||||
import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent;
|
import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent;
|
||||||
import org.hl7.fhir.r5.model.CanonicalResource;
|
|
||||||
import org.hl7.fhir.r5.model.CanonicalType;
|
|
||||||
import org.hl7.fhir.r5.model.CodeSystem;
|
|
||||||
import org.hl7.fhir.r5.model.ElementDefinition;
|
|
||||||
import org.hl7.fhir.r5.model.StructureDefinition;
|
|
||||||
import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind;
|
import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind;
|
||||||
import org.hl7.fhir.r5.model.UriType;
|
|
||||||
import org.hl7.fhir.r5.model.ValueSet;
|
|
||||||
|
|
||||||
public class R2016MayToR5Loader extends BaseLoaderR5 implements VersionConvertorAdvisor50 {
|
public class R2016MayToR5Loader extends BaseLoaderR5 implements VersionConvertorAdvisor50 {
|
||||||
|
|
||||||
|
@ -155,7 +148,7 @@ public class R2016MayToR5Loader extends BaseLoaderR5 implements VersionConvertor
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(BundleEntryComponent src) {
|
public boolean ignoreEntry(BundleEntryComponent src, FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,8 +36,8 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor30;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_30;
|
import org.hl7.fhir.convertors.VersionConvertor_10_30;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor30;
|
||||||
import org.hl7.fhir.dstu2.formats.JsonParser;
|
import org.hl7.fhir.dstu2.formats.JsonParser;
|
||||||
import org.hl7.fhir.dstu2.formats.XmlParser;
|
import org.hl7.fhir.dstu2.formats.XmlParser;
|
||||||
import org.hl7.fhir.dstu2.model.Resource;
|
import org.hl7.fhir.dstu2.model.Resource;
|
||||||
|
@ -51,6 +51,7 @@ import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind;
|
||||||
import org.hl7.fhir.dstu3.model.UriType;
|
import org.hl7.fhir.dstu3.model.UriType;
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet;
|
import org.hl7.fhir.dstu3.model.ValueSet;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.r5.model.FhirPublication;
|
||||||
|
|
||||||
public class R2ToR3Loader extends BaseLoaderR3 implements VersionConvertorAdvisor30 {
|
public class R2ToR3Loader extends BaseLoaderR3 implements VersionConvertorAdvisor30 {
|
||||||
|
|
||||||
|
@ -107,7 +108,7 @@ public class R2ToR3Loader extends BaseLoaderR3 implements VersionConvertorAdviso
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(BundleEntryComponent src) {
|
public boolean ignoreEntry(BundleEntryComponent src, FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,8 +37,8 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
||||||
import org.hl7.fhir.dstu2.formats.JsonParser;
|
import org.hl7.fhir.dstu2.formats.JsonParser;
|
||||||
import org.hl7.fhir.dstu2.formats.XmlParser;
|
import org.hl7.fhir.dstu2.formats.XmlParser;
|
||||||
import org.hl7.fhir.dstu2.model.Resource;
|
import org.hl7.fhir.dstu2.model.Resource;
|
||||||
|
@ -52,6 +52,7 @@ import org.hl7.fhir.r4.model.StructureDefinition;
|
||||||
import org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionKind;
|
import org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionKind;
|
||||||
import org.hl7.fhir.r4.model.UriType;
|
import org.hl7.fhir.r4.model.UriType;
|
||||||
import org.hl7.fhir.r4.model.ValueSet;
|
import org.hl7.fhir.r4.model.ValueSet;
|
||||||
|
import org.hl7.fhir.r5.model.FhirPublication;
|
||||||
|
|
||||||
public class R2ToR4Loader extends BaseLoaderR4 implements VersionConvertorAdvisor40 {
|
public class R2ToR4Loader extends BaseLoaderR4 implements VersionConvertorAdvisor40 {
|
||||||
|
|
||||||
|
@ -109,7 +110,7 @@ public class R2ToR4Loader extends BaseLoaderR4 implements VersionConvertorAdviso
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(BundleEntryComponent src) {
|
public boolean ignoreEntry(BundleEntryComponent src, FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,25 +37,18 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_50;
|
import org.hl7.fhir.convertors.VersionConvertor_10_50;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
||||||
import org.hl7.fhir.dstu2.formats.JsonParser;
|
import org.hl7.fhir.dstu2.formats.JsonParser;
|
||||||
import org.hl7.fhir.dstu2.formats.XmlParser;
|
import org.hl7.fhir.dstu2.formats.XmlParser;
|
||||||
import org.hl7.fhir.dstu2.model.Resource;
|
import org.hl7.fhir.dstu2.model.Resource;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.r5.context.IWorkerContext.IContextResourceLoader;
|
import org.hl7.fhir.r5.context.IWorkerContext.IContextResourceLoader;
|
||||||
import org.hl7.fhir.r5.model.Bundle;
|
import org.hl7.fhir.r5.model.*;
|
||||||
import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent;
|
import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent;
|
||||||
import org.hl7.fhir.r5.model.Bundle.BundleType;
|
import org.hl7.fhir.r5.model.Bundle.BundleType;
|
||||||
import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent;
|
import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent;
|
||||||
import org.hl7.fhir.r5.model.CanonicalResource;
|
|
||||||
import org.hl7.fhir.r5.model.CanonicalType;
|
|
||||||
import org.hl7.fhir.r5.model.CodeSystem;
|
|
||||||
import org.hl7.fhir.r5.model.ElementDefinition;
|
|
||||||
import org.hl7.fhir.r5.model.StructureDefinition;
|
|
||||||
import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind;
|
import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind;
|
||||||
import org.hl7.fhir.r5.model.UriType;
|
|
||||||
import org.hl7.fhir.r5.model.ValueSet;
|
|
||||||
|
|
||||||
public class R2ToR5Loader extends BaseLoaderR5 implements IContextResourceLoader, VersionConvertorAdvisor50 {
|
public class R2ToR5Loader extends BaseLoaderR5 implements IContextResourceLoader, VersionConvertorAdvisor50 {
|
||||||
|
|
||||||
|
@ -154,7 +147,7 @@ public class R2ToR5Loader extends BaseLoaderR5 implements IContextResourceLoader
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(BundleEntryComponent src) {
|
public boolean ignoreEntry(BundleEntryComponent src, FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,8 +37,8 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_30_40;
|
import org.hl7.fhir.convertors.VersionConvertor_30_40;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
||||||
import org.hl7.fhir.dstu3.formats.JsonParser;
|
import org.hl7.fhir.dstu3.formats.JsonParser;
|
||||||
import org.hl7.fhir.dstu3.formats.XmlParser;
|
import org.hl7.fhir.dstu3.formats.XmlParser;
|
||||||
import org.hl7.fhir.dstu3.model.Resource;
|
import org.hl7.fhir.dstu3.model.Resource;
|
||||||
|
@ -120,7 +120,7 @@ public class R3ToR4Loader extends BaseLoaderR4 implements IContextResourceLoader
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(BundleEntryComponent src) {
|
public boolean ignoreEntry(BundleEntryComponent src, org.hl7.fhir.r5.model.FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,25 +37,18 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_30_50;
|
import org.hl7.fhir.convertors.VersionConvertor_30_50;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
||||||
import org.hl7.fhir.dstu3.formats.JsonParser;
|
import org.hl7.fhir.dstu3.formats.JsonParser;
|
||||||
import org.hl7.fhir.dstu3.formats.XmlParser;
|
import org.hl7.fhir.dstu3.formats.XmlParser;
|
||||||
import org.hl7.fhir.dstu3.model.Resource;
|
import org.hl7.fhir.dstu3.model.Resource;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.r5.context.IWorkerContext.IContextResourceLoader;
|
import org.hl7.fhir.r5.context.IWorkerContext.IContextResourceLoader;
|
||||||
import org.hl7.fhir.r5.model.Bundle;
|
import org.hl7.fhir.r5.model.*;
|
||||||
import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent;
|
import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent;
|
||||||
import org.hl7.fhir.r5.model.Bundle.BundleType;
|
import org.hl7.fhir.r5.model.Bundle.BundleType;
|
||||||
import org.hl7.fhir.r5.model.CanonicalResource;
|
|
||||||
import org.hl7.fhir.r5.model.CanonicalType;
|
|
||||||
import org.hl7.fhir.r5.model.CodeSystem;
|
|
||||||
import org.hl7.fhir.r5.model.ElementDefinition;
|
|
||||||
import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent;
|
import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent;
|
||||||
import org.hl7.fhir.r5.model.StructureDefinition;
|
|
||||||
import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind;
|
import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind;
|
||||||
import org.hl7.fhir.r5.model.UriType;
|
|
||||||
import org.hl7.fhir.r5.model.ValueSet;
|
|
||||||
|
|
||||||
public class R3ToR5Loader extends BaseLoaderR5 implements IContextResourceLoader, VersionConvertorAdvisor50 {
|
public class R3ToR5Loader extends BaseLoaderR5 implements IContextResourceLoader, VersionConvertorAdvisor50 {
|
||||||
|
|
||||||
|
@ -157,7 +150,7 @@ public class R3ToR5Loader extends BaseLoaderR5 implements IContextResourceLoader
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(BundleEntryComponent src) {
|
public boolean ignoreEntry(BundleEntryComponent src, FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,25 +37,18 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_40_50;
|
import org.hl7.fhir.convertors.VersionConvertor_40_50;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.r4.formats.JsonParser;
|
import org.hl7.fhir.r4.formats.JsonParser;
|
||||||
import org.hl7.fhir.r4.formats.XmlParser;
|
import org.hl7.fhir.r4.formats.XmlParser;
|
||||||
import org.hl7.fhir.r4.model.Resource;
|
import org.hl7.fhir.r4.model.Resource;
|
||||||
import org.hl7.fhir.r5.context.IWorkerContext.IContextResourceLoader;
|
import org.hl7.fhir.r5.context.IWorkerContext.IContextResourceLoader;
|
||||||
import org.hl7.fhir.r5.model.Bundle;
|
import org.hl7.fhir.r5.model.*;
|
||||||
import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent;
|
import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent;
|
||||||
import org.hl7.fhir.r5.model.Bundle.BundleType;
|
import org.hl7.fhir.r5.model.Bundle.BundleType;
|
||||||
import org.hl7.fhir.r5.model.CanonicalResource;
|
|
||||||
import org.hl7.fhir.r5.model.CanonicalType;
|
|
||||||
import org.hl7.fhir.r5.model.CodeSystem;
|
|
||||||
import org.hl7.fhir.r5.model.ElementDefinition;
|
|
||||||
import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent;
|
import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent;
|
||||||
import org.hl7.fhir.r5.model.StructureDefinition;
|
|
||||||
import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind;
|
import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind;
|
||||||
import org.hl7.fhir.r5.model.UriType;
|
|
||||||
import org.hl7.fhir.r5.model.ValueSet;
|
|
||||||
|
|
||||||
public class R4ToR5Loader extends BaseLoaderR5 implements IContextResourceLoader, VersionConvertorAdvisor50 {
|
public class R4ToR5Loader extends BaseLoaderR5 implements IContextResourceLoader, VersionConvertorAdvisor50 {
|
||||||
|
|
||||||
|
@ -157,7 +150,7 @@ public class R4ToR5Loader extends BaseLoaderR5 implements IContextResourceLoader
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(BundleEntryComponent src) {
|
public boolean ignoreEntry(BundleEntryComponent src, FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,19 +41,11 @@ import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.r5.formats.JsonParser;
|
import org.hl7.fhir.r5.formats.JsonParser;
|
||||||
import org.hl7.fhir.r5.formats.XmlParser;
|
import org.hl7.fhir.r5.formats.XmlParser;
|
||||||
import org.hl7.fhir.r5.model.Resource;
|
import org.hl7.fhir.r5.model.*;
|
||||||
import org.hl7.fhir.r5.model.Bundle;
|
|
||||||
import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent;
|
import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent;
|
||||||
import org.hl7.fhir.r5.model.Bundle.BundleType;
|
import org.hl7.fhir.r5.model.Bundle.BundleType;
|
||||||
import org.hl7.fhir.r5.model.CanonicalResource;
|
|
||||||
import org.hl7.fhir.r5.model.CanonicalType;
|
|
||||||
import org.hl7.fhir.r5.model.CodeSystem;
|
|
||||||
import org.hl7.fhir.r5.model.ElementDefinition;
|
|
||||||
import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent;
|
import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent;
|
||||||
import org.hl7.fhir.r5.model.StructureDefinition;
|
|
||||||
import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind;
|
import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind;
|
||||||
import org.hl7.fhir.r5.model.UriType;
|
|
||||||
import org.hl7.fhir.r5.model.ValueSet;
|
|
||||||
|
|
||||||
public class R5ToR5Loader extends BaseLoaderR5 implements VersionConvertorAdvisor50 {
|
public class R5ToR5Loader extends BaseLoaderR5 implements VersionConvertorAdvisor50 {
|
||||||
|
|
||||||
|
@ -153,7 +145,7 @@ public class R5ToR5Loader extends BaseLoaderR5 implements VersionConvertorAdviso
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(BundleEntryComponent src) {
|
public boolean ignoreEntry(BundleEntryComponent src, FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,9 +38,8 @@ import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor30;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_30;
|
import org.hl7.fhir.convertors.VersionConvertor_10_30;
|
||||||
import org.hl7.fhir.dstu2.model.Resource;
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor30;
|
||||||
import org.hl7.fhir.dstu3.formats.IParser.OutputStyle;
|
import org.hl7.fhir.dstu3.formats.IParser.OutputStyle;
|
||||||
import org.hl7.fhir.dstu3.model.Bundle;
|
import org.hl7.fhir.dstu3.model.Bundle;
|
||||||
import org.hl7.fhir.dstu3.model.Bundle.BundleEntryComponent;
|
import org.hl7.fhir.dstu3.model.Bundle.BundleEntryComponent;
|
||||||
|
@ -48,6 +47,7 @@ import org.hl7.fhir.dstu3.model.Bundle.BundleType;
|
||||||
import org.hl7.fhir.dstu3.model.CodeSystem;
|
import org.hl7.fhir.dstu3.model.CodeSystem;
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet;
|
import org.hl7.fhir.dstu3.model.ValueSet;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.r5.model.FhirPublication;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
public class IGPackConverter102 implements VersionConvertorAdvisor30 {
|
public class IGPackConverter102 implements VersionConvertorAdvisor30 {
|
||||||
|
@ -85,7 +85,7 @@ public class IGPackConverter102 implements VersionConvertorAdvisor30 {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(BundleEntryComponent src) {
|
public boolean ignoreEntry(BundleEntryComponent src, FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package org.hl7.fhir.convertors.misc;
|
package org.hl7.fhir.convertors.misc;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2011+, HL7, Inc.
|
Copyright (c) 2011+, HL7, Inc.
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
@ -33,16 +31,16 @@ import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import org.hl7.fhir.dstu2.model.Resource;
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
|
||||||
import org.hl7.fhir.r4.model.Bundle.BundleEntryComponent;
|
import org.hl7.fhir.r4.model.Bundle.BundleEntryComponent;
|
||||||
import org.hl7.fhir.r4.model.CodeSystem;
|
import org.hl7.fhir.r4.model.CodeSystem;
|
||||||
import org.hl7.fhir.r4.model.ValueSet;
|
import org.hl7.fhir.r4.model.ValueSet;
|
||||||
|
import org.hl7.fhir.r5.model.FhirPublication;
|
||||||
|
|
||||||
public class IGR2ConvertorAdvisor implements VersionConvertorAdvisor40 {
|
public class IGR2ConvertorAdvisor implements VersionConvertorAdvisor40 {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(BundleEntryComponent src) {
|
public boolean ignoreEntry(BundleEntryComponent src, FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package org.hl7.fhir.convertors.misc;
|
package org.hl7.fhir.convertors.misc;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2011+, HL7, Inc.
|
Copyright (c) 2011+, HL7, Inc.
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
@ -33,16 +31,16 @@ import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import org.hl7.fhir.dstu2.model.Resource;
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
|
||||||
import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent;
|
import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent;
|
||||||
import org.hl7.fhir.r5.model.CodeSystem;
|
import org.hl7.fhir.r5.model.CodeSystem;
|
||||||
|
import org.hl7.fhir.r5.model.FhirPublication;
|
||||||
import org.hl7.fhir.r5.model.ValueSet;
|
import org.hl7.fhir.r5.model.ValueSet;
|
||||||
|
|
||||||
public class IGR2ConvertorAdvisor5 implements VersionConvertorAdvisor50 {
|
public class IGR2ConvertorAdvisor5 implements VersionConvertorAdvisor50 {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(BundleEntryComponent src) {
|
public boolean ignoreEntry(BundleEntryComponent src, FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,11 +5,12 @@ import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.r4.model.Bundle;
|
import org.hl7.fhir.r4.model.Bundle;
|
||||||
import org.hl7.fhir.r4.model.CodeSystem;
|
import org.hl7.fhir.r4.model.CodeSystem;
|
||||||
import org.hl7.fhir.r4.model.ValueSet;
|
import org.hl7.fhir.r4.model.ValueSet;
|
||||||
|
import org.hl7.fhir.r5.model.FhirPublication;
|
||||||
|
|
||||||
class PR2Handler implements VersionConvertorAdvisor40 {
|
class PR2Handler implements VersionConvertorAdvisor40 {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(Bundle.BundleEntryComponent src) {
|
public boolean ignoreEntry(Bundle.BundleEntryComponent src, FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,90 @@
|
||||||
|
package org.hl7.fhir.convertors.advisors
|
||||||
|
|
||||||
|
import org.hl7.fhir.dstu3.model.Bundle
|
||||||
|
import org.hl7.fhir.dstu3.model.CodeSystem
|
||||||
|
import org.hl7.fhir.dstu3.model.ValueSet
|
||||||
|
import org.hl7.fhir.exceptions.FHIRException
|
||||||
|
import org.hl7.fhir.r5.model.FhirPublication
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright (c) 2011+, HL7, Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of HL7 nor the names of its contributors may be used to
|
||||||
|
endorse or promote products derived from this software without specific
|
||||||
|
prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||||
|
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/ /**
|
||||||
|
* This interface is passed into the version conversion routines when on of the
|
||||||
|
* converters is producing or converting R3 resources.
|
||||||
|
*
|
||||||
|
* The interface allows users of the code to
|
||||||
|
* 1. manage the life cycle of new resources created (or needed) during the conversion process
|
||||||
|
* 2. manage how unknown content etc is handled
|
||||||
|
*
|
||||||
|
* @author grahame
|
||||||
|
*/
|
||||||
|
interface VersionConvertorAdvisor30 {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When processing a bundle during conversion, we can choose whether to ignore an entry in the bundle. We return
|
||||||
|
* true when it's a resource that isn't handled, and you don't want to convert.
|
||||||
|
*
|
||||||
|
* Different conversions require differing behaviors, so users can determine how they want to handle conversion
|
||||||
|
* for different target [FhirPublication] versions by switching on the the passed in version.
|
||||||
|
*
|
||||||
|
* If implementing this advisor, by default, always return false unless you have a specific reason not to convert
|
||||||
|
* a [Bundle.BundleEntryComponent].
|
||||||
|
*
|
||||||
|
* @param src [Bundle.BundleEntryComponent] to ignore
|
||||||
|
* @param targetVersion [FhirPublication] of the target version
|
||||||
|
* @return [Boolean] True, if we are going to ignore this [Bundle.BundleEntryComponent] in this conversion operation.
|
||||||
|
*/
|
||||||
|
fun ignoreEntry(src: Bundle.BundleEntryComponent?, targetVersion: FhirPublication): Boolean
|
||||||
|
|
||||||
|
/**
|
||||||
|
* In R2, code systems are internal to value sets, but in subsequent versions, they
|
||||||
|
* exist as separate resources. The convertor will create the code system, and then
|
||||||
|
* call this routine for the host to decide what to do with it
|
||||||
|
*
|
||||||
|
* It can make it a contained resource, or it can put it somewhere else
|
||||||
|
*
|
||||||
|
* @param tgtcs
|
||||||
|
* @param source
|
||||||
|
* @throws FHIRException
|
||||||
|
*/
|
||||||
|
@Throws(FHIRException::class)
|
||||||
|
fun handleCodeSystem(tgtcs: CodeSystem?, source: ValueSet?)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* when converting from R3 to R2, and converting a value set, the convertor will need
|
||||||
|
* to find the code system a value set is referring to, so it can include it inline.
|
||||||
|
*
|
||||||
|
* This routine should find the actual resource
|
||||||
|
*
|
||||||
|
* @param src
|
||||||
|
* @return
|
||||||
|
* @throws FHIRException
|
||||||
|
*/
|
||||||
|
@Throws(FHIRException::class)
|
||||||
|
fun getCodeSystem(src: ValueSet?): CodeSystem?
|
||||||
|
}
|
|
@ -0,0 +1,90 @@
|
||||||
|
package org.hl7.fhir.convertors.advisors
|
||||||
|
|
||||||
|
import org.hl7.fhir.exceptions.FHIRException
|
||||||
|
import org.hl7.fhir.r4.model.Bundle
|
||||||
|
import org.hl7.fhir.r4.model.CodeSystem
|
||||||
|
import org.hl7.fhir.r4.model.ValueSet
|
||||||
|
import org.hl7.fhir.r5.model.FhirPublication
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright (c) 2011+, HL7, Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of HL7 nor the names of its contributors may be used to
|
||||||
|
endorse or promote products derived from this software without specific
|
||||||
|
prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||||
|
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/ /**
|
||||||
|
* This interface is passed into the version conversion routines when on of the
|
||||||
|
* converters is producing or converting R4 resources.
|
||||||
|
*
|
||||||
|
* The interface allows users of the code to
|
||||||
|
* 1. manage the life cycle of new resources created (or needed) during the conversion process
|
||||||
|
* 2. manage how unknown content etc is handled
|
||||||
|
*
|
||||||
|
* @author grahame
|
||||||
|
*/
|
||||||
|
interface VersionConvertorAdvisor40 {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When processing a bundle during conversion, we can choose whether to ignore an entry in the bundle. We return
|
||||||
|
* true when it's a resource that isn't handled, and you don't want to convert.
|
||||||
|
*
|
||||||
|
* Different conversions require differing behaviors, so users can determine how they want to handle conversion
|
||||||
|
* for different target [FhirPublication] versions by switching on the the passed in version.
|
||||||
|
*
|
||||||
|
* If implementing this advisor, by default, always return false unless you have a specific reason not to convert
|
||||||
|
* a [Bundle.BundleEntryComponent].
|
||||||
|
*
|
||||||
|
* @param src [Bundle.BundleEntryComponent] to ignore
|
||||||
|
* @param targetVersion [FhirPublication] of the target version
|
||||||
|
* @return [Boolean] True, if we are going to ignore this [Bundle.BundleEntryComponent] in this conversion operation.
|
||||||
|
*/
|
||||||
|
fun ignoreEntry(src: Bundle.BundleEntryComponent?, targetVersion: FhirPublication): Boolean
|
||||||
|
|
||||||
|
/**
|
||||||
|
* In R2, code systems are internal to value sets, but in subsequent versions, they
|
||||||
|
* exist as separate resources. The convertor will create the code system, and then
|
||||||
|
* call this routine for the host to decide what to do with it
|
||||||
|
*
|
||||||
|
* It can make it a contained resource, or it can put it somewhere else
|
||||||
|
*
|
||||||
|
* @param tgtcs
|
||||||
|
* @param source
|
||||||
|
* @throws FHIRException
|
||||||
|
*/
|
||||||
|
@Throws(FHIRException::class)
|
||||||
|
fun handleCodeSystem(tgtcs: CodeSystem?, source: ValueSet?)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* when converting from R4 to R2, and converting a value set, the convertor will need
|
||||||
|
* to find the code system a value set is referring to, so it can include it inline.
|
||||||
|
*
|
||||||
|
* This routine should find the actual resource
|
||||||
|
*
|
||||||
|
* @param src
|
||||||
|
* @return
|
||||||
|
* @throws FHIRException
|
||||||
|
*/
|
||||||
|
@Throws(FHIRException::class)
|
||||||
|
fun getCodeSystem(src: ValueSet?): CodeSystem?
|
||||||
|
}
|
|
@ -0,0 +1,81 @@
|
||||||
|
package org.hl7.fhir.convertors.advisors
|
||||||
|
|
||||||
|
import org.hl7.fhir.exceptions.FHIRException
|
||||||
|
import org.hl7.fhir.r5.model.Bundle
|
||||||
|
import org.hl7.fhir.r5.model.CodeSystem
|
||||||
|
import org.hl7.fhir.r5.model.FhirPublication
|
||||||
|
import org.hl7.fhir.r5.model.ValueSet
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright (c) 2011+, HL7, Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of HL7 nor the names of its contributors may be used to
|
||||||
|
endorse or promote products derived from this software without specific
|
||||||
|
prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||||
|
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
interface VersionConvertorAdvisor50 {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When processing a bundle during conversion, we can choose whether to ignore an entry in the bundle. We return
|
||||||
|
* true when it's a resource that isn't handled, and you don't want to convert.
|
||||||
|
*
|
||||||
|
* Different conversions require differing behaviors, so users can determine how they want to handle conversion
|
||||||
|
* for different target [FhirPublication] versions by switching on the the passed in version.
|
||||||
|
*
|
||||||
|
* If implementing this advisor, by default, always return false unless you have a specific reason not to convert
|
||||||
|
* a [Bundle.BundleEntryComponent].
|
||||||
|
*
|
||||||
|
* @param src [Bundle.BundleEntryComponent] to ignore
|
||||||
|
* @param targetVersion [FhirPublication] of the target version
|
||||||
|
* @return [Boolean] True, if we are going to ignore this [Bundle.BundleEntryComponent] in this conversion operation.
|
||||||
|
*/
|
||||||
|
fun ignoreEntry(src: Bundle.BundleEntryComponent?, targetVersion: FhirPublication): Boolean
|
||||||
|
|
||||||
|
/**
|
||||||
|
* In R2, code systems are internal to value sets, but in subsequent versions, they
|
||||||
|
* exist as separate resources. The convertor will create the code system, and then
|
||||||
|
* call this routine for the host to decide what to do with it
|
||||||
|
*
|
||||||
|
* It can make it a contained resource, or it can put it somewhere else
|
||||||
|
*
|
||||||
|
* @param tgtcs
|
||||||
|
* @param source
|
||||||
|
* @throws FHIRException
|
||||||
|
*/
|
||||||
|
@Throws(FHIRException::class)
|
||||||
|
fun handleCodeSystem(tgtcs: CodeSystem?, source: ValueSet?)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* when converting from R5 to R2, and converting a value set, the convertor will need
|
||||||
|
* to find the code system a value set is referring to, so it can include it inline.
|
||||||
|
*
|
||||||
|
* This routine should find the actual resource
|
||||||
|
*
|
||||||
|
* @param src
|
||||||
|
* @return
|
||||||
|
* @throws FHIRException
|
||||||
|
*/
|
||||||
|
@Throws(FHIRException::class)
|
||||||
|
fun getCodeSystem(src: ValueSet?): CodeSystem?
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
package org.hl7.fhir.convertors.conv10_30;
|
package org.hl7.fhir.convertors.conv10_30;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor30;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_30;
|
import org.hl7.fhir.convertors.VersionConvertor_10_30;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor30;
|
||||||
import org.hl7.fhir.convertors.loaders.R2ToR3Loader;
|
import org.hl7.fhir.convertors.loaders.R2ToR3Loader;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package org.hl7.fhir.convertors.conv10_30;
|
package org.hl7.fhir.convertors.conv10_30;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor30;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_30;
|
import org.hl7.fhir.convertors.VersionConvertor_10_30;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor30;
|
||||||
import org.hl7.fhir.convertors.loaders.R2ToR3Loader;
|
import org.hl7.fhir.convertors.loaders.R2ToR3Loader;
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package org.hl7.fhir.convertors.conv10_40;
|
package org.hl7.fhir.convertors.conv10_40;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
||||||
import org.hl7.fhir.convertors.misc.IGR2ConvertorAdvisor;
|
import org.hl7.fhir.convertors.misc.IGR2ConvertorAdvisor;
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package org.hl7.fhir.convertors.conv10_40;
|
package org.hl7.fhir.convertors.conv10_40;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
||||||
import org.hl7.fhir.convertors.misc.IGR2ConvertorAdvisor;
|
import org.hl7.fhir.convertors.misc.IGR2ConvertorAdvisor;
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package org.hl7.fhir.convertors.conv10_40;
|
package org.hl7.fhir.convertors.conv10_40;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
||||||
import org.hl7.fhir.convertors.misc.IGR2ConvertorAdvisor;
|
import org.hl7.fhir.convertors.misc.IGR2ConvertorAdvisor;
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package org.hl7.fhir.convertors.conv10_40;
|
package org.hl7.fhir.convertors.conv10_40;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
||||||
import org.hl7.fhir.convertors.misc.IGR2ConvertorAdvisor;
|
import org.hl7.fhir.convertors.misc.IGR2ConvertorAdvisor;
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package org.hl7.fhir.convertors.conv10_40;
|
package org.hl7.fhir.convertors.conv10_40;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
||||||
import org.hl7.fhir.convertors.misc.IGR2ConvertorAdvisor;
|
import org.hl7.fhir.convertors.misc.IGR2ConvertorAdvisor;
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
package org.hl7.fhir.convertors.conv10_40;
|
||||||
|
|
||||||
|
import org.hl7.fhir.convertors.VersionConvertor_10_40;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor40;
|
||||||
|
import org.hl7.fhir.convertors.misc.IGR2ConvertorAdvisor;
|
||||||
|
import org.hl7.fhir.r4.formats.JsonParser;
|
||||||
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
public class ValueSet10_40Test {
|
||||||
|
@Test
|
||||||
|
@DisplayName("Test 10_40 ValueSet conversion")
|
||||||
|
public void testValueSetConversion() throws IOException {
|
||||||
|
InputStream dstu2_input = this.getClass().getResourceAsStream("/0_valueset_vision_base_codes_10.json");
|
||||||
|
InputStream r4_exepected_input = this.getClass().getResourceAsStream("/0_valueset_vision_base_codes_40.json");
|
||||||
|
|
||||||
|
org.hl7.fhir.dstu2.model.ValueSet dstu2 = (org.hl7.fhir.dstu2.model.ValueSet) new org.hl7.fhir.dstu2.formats.JsonParser().parse(dstu2_input);
|
||||||
|
VersionConvertorAdvisor40 advisor = new IGR2ConvertorAdvisor();
|
||||||
|
org.hl7.fhir.r4.model.Resource r4_actual = VersionConvertor_10_40.convertResource(dstu2, advisor);
|
||||||
|
|
||||||
|
org.hl7.fhir.r4.formats.JsonParser r4_parser = new org.hl7.fhir.r4.formats.JsonParser();
|
||||||
|
JsonParser parser = new JsonParser();
|
||||||
|
String composeString = parser.composeString(r4_actual);
|
||||||
|
org.hl7.fhir.r4.model.Resource r4_expected = r4_parser.parse(r4_exepected_input);
|
||||||
|
|
||||||
|
Assertions.assertTrue(r4_expected.equalsDeep(r4_actual),
|
||||||
|
"Failed comparing\n" + r4_parser.composeString(r4_actual) + "\nand\n" + r4_parser.composeString(r4_expected));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,75 @@
|
||||||
|
{
|
||||||
|
"resourceType": "ValueSet",
|
||||||
|
"id": "vision-base-codes",
|
||||||
|
"meta": {
|
||||||
|
"lastUpdated": "2015-10-24T07:41:03.495+11:00",
|
||||||
|
"profile": [
|
||||||
|
"http://hl7.org/fhir/StructureDefinition/valueset-shareable-definition"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"text": {
|
||||||
|
"status": "generated",
|
||||||
|
"div": "<div><h2>VisionBase</h2><p>A coded concept listing the base codes.</p><p>This value set has an inline code system http://hl7.org/fhir/vision-base-codes, which defines the following codes:</p><table class=\"codes\"><tr><td><b>Code</b></td><td><b>Display</b></td><td><b>Definition</b></td></tr><tr><td>up<a name=\"up\"> </a></td><td>Up</td><td>top</td></tr><tr><td>down<a name=\"down\"> </a></td><td>Down</td><td>bottom</td></tr><tr><td>in<a name=\"in\"> </a></td><td>In</td><td>inner edge</td></tr><tr><td>out<a name=\"out\"> </a></td><td>Out</td><td>outer edge</td></tr></table></div>"
|
||||||
|
},
|
||||||
|
"extension": [
|
||||||
|
{
|
||||||
|
"url": "http://hl7.org/fhir/StructureDefinition/valueset-oid",
|
||||||
|
"valueUri": "urn:oid:2.16.840.1.113883.4.642.2.345"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"url": "http://hl7.org/fhir/ValueSet/vision-base-codes",
|
||||||
|
"version": "1.0.2",
|
||||||
|
"name": "VisionBase",
|
||||||
|
"status": "draft",
|
||||||
|
"experimental": false,
|
||||||
|
"publisher": "HL7 (FHIR Project)",
|
||||||
|
"contact": [
|
||||||
|
{
|
||||||
|
"telecom": [
|
||||||
|
{
|
||||||
|
"system": "other",
|
||||||
|
"value": "http://hl7.org/fhir"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"system": "email",
|
||||||
|
"value": "fhir@lists.hl7.org"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"date": "2015-10-24T07:41:03+11:00",
|
||||||
|
"description": "A coded concept listing the base codes.",
|
||||||
|
"codeSystem": {
|
||||||
|
"extension": [
|
||||||
|
{
|
||||||
|
"url": "http://hl7.org/fhir/StructureDefinition/valueset-oid",
|
||||||
|
"valueUri": "urn:oid:2.16.840.1.113883.4.642.1.345"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"system": "http://hl7.org/fhir/vision-base-codes",
|
||||||
|
"version": "1.0.2",
|
||||||
|
"caseSensitive": true,
|
||||||
|
"concept": [
|
||||||
|
{
|
||||||
|
"code": "up",
|
||||||
|
"display": "Up",
|
||||||
|
"definition": "top"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code": "down",
|
||||||
|
"display": "Down",
|
||||||
|
"definition": "bottom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code": "in",
|
||||||
|
"display": "In",
|
||||||
|
"definition": "inner edge"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code": "out",
|
||||||
|
"display": "Out",
|
||||||
|
"definition": "outer edge"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
"resourceType": "ValueSet",
|
||||||
|
"id": "vision-base-codes",
|
||||||
|
"meta": {
|
||||||
|
"lastUpdated": "2015-10-23T16:41:03.495-04:00",
|
||||||
|
"profile": [
|
||||||
|
"http://hl7.org/fhir/StructureDefinition/valueset-shareable-definition"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"text": {
|
||||||
|
"status": "generated",
|
||||||
|
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><h2>VisionBase</h2><p>A coded concept listing the base codes.</p><p>This value set has an inline code system http://hl7.org/fhir/vision-base-codes, which defines the following codes:</p><table class=\"codes\"><tr><td><b>Code</b></td><td><b>Display</b></td><td><b>Definition</b></td></tr><tr><td>up<a name=\"up\"> </a></td><td>Up</td><td>top</td></tr><tr><td>down<a name=\"down\"> </a></td><td>Down</td><td>bottom</td></tr><tr><td>in<a name=\"in\"> </a></td><td>In</td><td>inner edge</td></tr><tr><td>out<a name=\"out\"> </a></td><td>Out</td><td>outer edge</td></tr></table></div>"
|
||||||
|
},
|
||||||
|
"extension": [
|
||||||
|
{
|
||||||
|
"url": "http://hl7.org/fhir/StructureDefinition/valueset-oid",
|
||||||
|
"valueUri": "urn:oid:2.16.840.1.113883.4.642.2.345"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"url": "http://hl7.org/fhir/ValueSet/vision-base-codes",
|
||||||
|
"version": "1.0.2",
|
||||||
|
"name": "VisionBase",
|
||||||
|
"status": "draft",
|
||||||
|
"experimental": false,
|
||||||
|
"date": "2015-10-24T07:41:03+11:00",
|
||||||
|
"publisher": "HL7 (FHIR Project)",
|
||||||
|
"contact": [
|
||||||
|
{
|
||||||
|
"telecom": [
|
||||||
|
{
|
||||||
|
"system": "other",
|
||||||
|
"value": "http://hl7.org/fhir"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"system": "email",
|
||||||
|
"value": "fhir@lists.hl7.org"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A coded concept listing the base codes.",
|
||||||
|
"compose": {
|
||||||
|
"include": [
|
||||||
|
{
|
||||||
|
"system": "http://hl7.org/fhir/vision-base-codes"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -34,11 +34,11 @@ package org.hl7.fhir.validation;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_10_50;
|
import org.hl7.fhir.convertors.VersionConvertor_10_50;
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_14_50;
|
import org.hl7.fhir.convertors.VersionConvertor_14_50;
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_30_50;
|
import org.hl7.fhir.convertors.VersionConvertor_30_50;
|
||||||
import org.hl7.fhir.convertors.VersionConvertor_40_50;
|
import org.hl7.fhir.convertors.VersionConvertor_40_50;
|
||||||
|
import org.hl7.fhir.convertors.advisors.VersionConvertorAdvisor50;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -104,7 +104,7 @@ public class NativeHostServices {
|
||||||
private class NH_10_50_Advisor implements VersionConvertorAdvisor50 {
|
private class NH_10_50_Advisor implements VersionConvertorAdvisor50 {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreEntry(BundleEntryComponent src) {
|
public boolean ignoreEntry(BundleEntryComponent src, FhirPublication publication) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue