Merge remote-tracking branch 'origin/master' into do-i18n-plurals

This commit is contained in:
dotasek 2022-11-07 09:23:36 -05:00
commit ffec2ce1c5
248 changed files with 1922 additions and 1353 deletions

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.core</artifactId>
<version>5.6.76-SNAPSHOT</version>
<version>5.6.77-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -283,6 +283,9 @@ public class ActivityDefinition30_50 {
case SUPPLYREQUEST:
tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.SUPPLYREQUEST);
break;
case TASK:
tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.TASK);
break;
case VISIONPRESCRIPTION:
tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.VISIONPRESCRIPTION);
break;
@ -338,6 +341,9 @@ public class ActivityDefinition30_50 {
case SUPPLYREQUEST:
tgt.setValue(org.hl7.fhir.dstu3.model.ActivityDefinition.ActivityDefinitionKind.SUPPLYREQUEST);
break;
case TASK:
tgt.setValue(org.hl7.fhir.dstu3.model.ActivityDefinition.ActivityDefinitionKind.TASK);
break;
case VISIONPRESCRIPTION:
tgt.setValue(org.hl7.fhir.dstu3.model.ActivityDefinition.ActivityDefinitionKind.VISIONPRESCRIPTION);
break;

View File

@ -295,6 +295,9 @@ public class ActivityDefinition40_50 {
case SUPPLYREQUEST:
tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.SUPPLYREQUEST);
break;
case TASK:
tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.TASK);
break;
case VISIONPRESCRIPTION:
tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.VISIONPRESCRIPTION);
break;
@ -350,6 +353,9 @@ public class ActivityDefinition40_50 {
case SUPPLYREQUEST:
tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.SUPPLYREQUEST);
break;
case TASK:
tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.TASK);
break;
case VISIONPRESCRIPTION:
tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.VISIONPRESCRIPTION);
break;

View File

@ -295,6 +295,9 @@ public class ActivityDefinition43_50 {
case SUPPLYREQUEST:
tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.SUPPLYREQUEST);
break;
case TASK:
tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.TASK);
break;
case VISIONPRESCRIPTION:
tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.VISIONPRESCRIPTION);
break;
@ -350,6 +353,9 @@ public class ActivityDefinition43_50 {
case SUPPLYREQUEST:
tgt.setValue(org.hl7.fhir.r4b.model.ActivityDefinition.RequestResourceType.SUPPLYREQUEST);
break;
case TASK:
tgt.setValue(org.hl7.fhir.r4b.model.ActivityDefinition.RequestResourceType.TASK);
break;
case VISIONPRESCRIPTION:
tgt.setValue(org.hl7.fhir.r4b.model.ActivityDefinition.RequestResourceType.VISIONPRESCRIPTION);
break;

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.core</artifactId>
<version>5.6.76-SNAPSHOT</version>
<version>5.6.77-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.core</artifactId>
<version>5.6.76-SNAPSHOT</version>
<version>5.6.77-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.core</artifactId>
<version>5.6.76-SNAPSHOT</version>
<version>5.6.77-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.core</artifactId>
<version>5.6.76-SNAPSHOT</version>
<version>5.6.77-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -1,33 +1,33 @@
package org.hl7.fhir.r4.context;
/*
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.
*/
/*
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.
*/
@ -84,16 +84,88 @@ public class TerminologyCache {
private static final String ENTRY_MARKER = "-------------------------------------------------------------------------------------";
private static final String BREAK = "####";
private SystemNameKeyGenerator systemNameKeyGenerator = new SystemNameKeyGenerator();
protected SystemNameKeyGenerator getSystemNameKeyGenerator() {
return systemNameKeyGenerator;
}
public class SystemNameKeyGenerator {
public static final String SNOMED_SCT_CODESYSTEM_URL = "http://snomed.info/sct";
public static final String RXNORM_CODESYSTEM_URL = "http://www.nlm.nih.gov/research/umls/rxnorm";
public static final String LOINC_CODESYSTEM_URL = "http://loinc.org";
public static final String UCUM_CODESYSTEM_URL = "http://unitsofmeasure.org";
public static final String HL7_TERMINOLOGY_CODESYSTEM_BASE_URL = "http://terminology.hl7.org/CodeSystem/";
public static final String HL7_SID_CODESYSTEM_BASE_URL = "http://hl7.org/fhir/sid/";
public static final String HL7_FHIR_CODESYSTEM_BASE_URL = "http://hl7.org/fhir/";
public static final String ISO_CODESYSTEM_URN = "urn:iso:std:iso:";
public static final String LANG_CODESYSTEM_URN = "urn:ietf:bcp:47";
public static final String MIMETYPES_CODESYSTEM_URN = "urn:ietf:bcp:13";
public static final String _11073_CODESYSTEM_URN = "urn:iso:std:iso:11073:10101";
public static final String DICOM_CODESYSTEM_URL = "http://dicom.nema.org/resources/ontology/DCM";
public String getNameForSystem(String system) {
final int lastPipe = system.lastIndexOf('|');
final String systemBaseName = lastPipe == -1 ? system : system.substring(0,lastPipe);
final String systemVersion = lastPipe == -1 ? null : system.substring(lastPipe + 1);
if (systemBaseName.equals(SNOMED_SCT_CODESYSTEM_URL))
return getVersionedSystem("snomed", systemVersion);
if (systemBaseName.equals(RXNORM_CODESYSTEM_URL))
return getVersionedSystem("rxnorm", systemVersion);
if (systemBaseName.equals(LOINC_CODESYSTEM_URL))
return getVersionedSystem("loinc", systemVersion);
if (systemBaseName.equals(UCUM_CODESYSTEM_URL))
return getVersionedSystem("ucum", systemVersion);
if (systemBaseName.startsWith(HL7_SID_CODESYSTEM_BASE_URL))
return getVersionedSystem(normalizeBaseURL(HL7_SID_CODESYSTEM_BASE_URL, systemBaseName), systemVersion);
if (systemBaseName.equals(_11073_CODESYSTEM_URN))
return getVersionedSystem("11073", systemVersion);
if (systemBaseName.startsWith(ISO_CODESYSTEM_URN))
return getVersionedSystem("iso"+systemBaseName.substring(ISO_CODESYSTEM_URN.length()).replace(":", ""), systemVersion);
if (systemBaseName.startsWith(HL7_TERMINOLOGY_CODESYSTEM_BASE_URL))
return getVersionedSystem(normalizeBaseURL(HL7_TERMINOLOGY_CODESYSTEM_BASE_URL, systemBaseName), systemVersion);
if (systemBaseName.startsWith(HL7_FHIR_CODESYSTEM_BASE_URL))
return getVersionedSystem(normalizeBaseURL(HL7_FHIR_CODESYSTEM_BASE_URL, systemBaseName), systemVersion);
if (systemBaseName.equals(LANG_CODESYSTEM_URN))
return getVersionedSystem("lang", systemVersion);
if (systemBaseName.equals(MIMETYPES_CODESYSTEM_URN))
return getVersionedSystem("mimetypes", systemVersion);
if (systemBaseName.equals(DICOM_CODESYSTEM_URL))
return getVersionedSystem("dicom", systemVersion);
return getVersionedSystem(systemBaseName.replace("/", "_").replace(":", "_").replace("?", "X").replace("#", "X"), systemVersion);
}
public String normalizeBaseURL(String baseUrl, String fullUrl) {
return fullUrl.substring(baseUrl.length()).replace("/", "");
}
public String getVersionedSystem(String baseSystem, String version) {
if (version != null) {
return baseSystem + "_" + version;
}
return baseSystem;
}
}
public class CacheToken {
private String name;
private String key;
private String request;
public void setName(String n) {
String systemName = getSystemNameKeyGenerator().getNameForSystem(n);
if (name == null)
name = n;
else if (!n.equals(name))
name = systemName;
else if (!systemName.equals(name))
name = NAME_FOR_NO_SYSTEM;
}
public String getName() {
return name;
}
}
private class CacheEntry {
@ -126,7 +198,7 @@ public class TerminologyCache {
public CacheToken generateValidationToken(ValidationOptions options, Coding code, ValueSet vs) {
CacheToken ct = new CacheToken();
if (code.hasSystem())
ct.name = getNameForSystem(code.getSystem());
ct.name = getSystemNameKeyGenerator().getNameForSystem(code.getSystem());
else
ct.name = NAME_FOR_NO_SYSTEM;
JsonParser json = new JsonParser();
@ -145,7 +217,7 @@ public class TerminologyCache {
CacheToken ct = new CacheToken();
for (Coding c : code.getCoding()) {
if (c.hasSystem())
ct.setName(getNameForSystem(c.getSystem()));
ct.setName(c.getSystem());
}
JsonParser json = new JsonParser();
json.setOutputStyle(OutputStyle.PRETTY);
@ -176,13 +248,13 @@ public class TerminologyCache {
ValueSet vsc = getVSEssense(vs);
for (ConceptSetComponent inc : vs.getCompose().getInclude())
if (inc.hasSystem())
ct.setName(getNameForSystem(inc.getSystem()));
ct.setName(inc.getSystem());
for (ConceptSetComponent inc : vs.getCompose().getExclude())
if (inc.hasSystem())
ct.setName(getNameForSystem(inc.getSystem()));
ct.setName(inc.getSystem());
for (ValueSetExpansionContainsComponent inc : vs.getExpansion().getContains())
if (inc.hasSystem())
ct.setName(getNameForSystem(inc.getSystem()));
ct.setName(inc.getSystem());
JsonParser json = new JsonParser();
json.setOutputStyle(OutputStyle.PRETTY);
try {
@ -194,34 +266,6 @@ public class TerminologyCache {
return ct;
}
private String getNameForSystem(String system) {
if (system.equals("http://snomed.info/sct"))
return "snomed";
if (system.equals("http://www.nlm.nih.gov/research/umls/rxnorm"))
return "rxnorm";
if (system.equals("http://loinc.org"))
return "loinc";
if (system.equals("http://unitsofmeasure.org"))
return "ucum";
if (system.startsWith("http://hl7.org/fhir/sid/"))
return system.substring(24).replace("/", "");
if (system.startsWith("urn:iso:std:iso:"))
return "iso"+system.substring(16).replace(":", "");
if (system.startsWith("http://terminology.hl7.org/CodeSystem/"))
return system.substring(38).replace("/", "");
if (system.startsWith("http://hl7.org/fhir/"))
return system.substring(20).replace("/", "");
if (system.equals("urn:ietf:bcp:47"))
return "lang";
if (system.equals("urn:ietf:bcp:13"))
return "mimetypes";
if (system.equals("urn:iso:std:iso:11073:10101"))
return "11073";
if (system.equals("http://dicom.nema.org/resources/ontology/DCM"))
return "dicom";
return system.replace("/", "_").replace(":", "_");
}
public NamedCache getNamedCache(CacheToken cacheToken) {
NamedCache nc = caches.get(cacheToken.name);
if (nc == null) {

View File

@ -0,0 +1,8 @@
package org.hl7.fhir.r4.context;
import org.hl7.fhir.utilities.validation.ValidationOptions;
public class CacheTestUtils {
public static final ValidationOptions validationOptions = new ValidationOptions().guessSystem().setVersionFlexible(false);
}

View File

@ -0,0 +1,61 @@
package org.hl7.fhir.r4.context;
import org.hl7.fhir.r4.model.Coding;
import org.hl7.fhir.r4.model.ValueSet;
import org.hl7.fhir.utilities.tests.ResourceLoaderTests;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import java.io.IOException;
import java.net.URISyntaxException;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class TerminologyCacheTests implements ResourceLoaderTests {
private TerminologyCache createTerminologyCache() throws IOException {
Object lock = new Object();
TerminologyCache terminologyCache = new TerminologyCache(lock, null);
return terminologyCache;
}
@ParameterizedTest
@CsvSource({
"http://terminology.hl7.org/CodeSystem/id,id",
"http://hl7.org/fhir/id,id",
"http://hl7.org/fhir/sid/id,id",
"http://www.nlm.nih.gov/research/umls/rxnorm,rxnorm",
"http://snomed.info/sct,snomed",
"http://www.nlm.nih.gov/research/umls/rxnorm,rxnorm",
"http://loinc.org,loinc",
"http://unitsofmeasure.org,ucum",
"urn:iso:std:iso:id,isoid",
"urn:ietf:bcp:47,lang",
"urn:ietf:bcp:13,mimetypes",
"urn:iso:std:iso:11073:10101,11073",
"my://random/system?with#chars,my___random_systemXwithXchars",
"http://dicom.nema.org/resources/ontology/DCM,dicom"
})
public void testCacheTokenGeneration(String system, String expectedName) throws IOException, URISyntaxException {
TerminologyCache terminologyCache = createTerminologyCache();
ValueSet valueSet = new ValueSet();
{
Coding coding = new Coding();
coding.setSystem(system);
TerminologyCache.CacheToken cacheToken = terminologyCache.generateValidationToken(CacheTestUtils.validationOptions,
coding, valueSet);
assertEquals(expectedName, cacheToken.getName());
}
{
Coding coding = new Coding();
coding.setSystem(system + "|dummyVersion");
TerminologyCache.CacheToken cacheToken = terminologyCache.generateValidationToken(CacheTestUtils.validationOptions,
coding, valueSet);
assertEquals(expectedName + "_dummyVersion", cacheToken.getName());
}
}
}

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.core</artifactId>
<version>5.6.76-SNAPSHOT</version>
<version>5.6.77-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -1,33 +1,33 @@
package org.hl7.fhir.r4b.context;
/*
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.
*/
/*
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.
*/
@ -84,16 +84,88 @@ public class TerminologyCache {
private static final String ENTRY_MARKER = "-------------------------------------------------------------------------------------";
private static final String BREAK = "####";
private SystemNameKeyGenerator systemNameKeyGenerator = new SystemNameKeyGenerator();
protected SystemNameKeyGenerator getSystemNameKeyGenerator() {
return systemNameKeyGenerator;
}
public class SystemNameKeyGenerator {
public static final String SNOMED_SCT_CODESYSTEM_URL = "http://snomed.info/sct";
public static final String RXNORM_CODESYSTEM_URL = "http://www.nlm.nih.gov/research/umls/rxnorm";
public static final String LOINC_CODESYSTEM_URL = "http://loinc.org";
public static final String UCUM_CODESYSTEM_URL = "http://unitsofmeasure.org";
public static final String HL7_TERMINOLOGY_CODESYSTEM_BASE_URL = "http://terminology.hl7.org/CodeSystem/";
public static final String HL7_SID_CODESYSTEM_BASE_URL = "http://hl7.org/fhir/sid/";
public static final String HL7_FHIR_CODESYSTEM_BASE_URL = "http://hl7.org/fhir/";
public static final String ISO_CODESYSTEM_URN = "urn:iso:std:iso:";
public static final String LANG_CODESYSTEM_URN = "urn:ietf:bcp:47";
public static final String MIMETYPES_CODESYSTEM_URN = "urn:ietf:bcp:13";
public static final String _11073_CODESYSTEM_URN = "urn:iso:std:iso:11073:10101";
public static final String DICOM_CODESYSTEM_URL = "http://dicom.nema.org/resources/ontology/DCM";
public String getNameForSystem(String system) {
final int lastPipe = system.lastIndexOf('|');
final String systemBaseName = lastPipe == -1 ? system : system.substring(0,lastPipe);
final String systemVersion = lastPipe == -1 ? null : system.substring(lastPipe + 1);
if (systemBaseName.equals(SNOMED_SCT_CODESYSTEM_URL))
return getVersionedSystem("snomed", systemVersion);
if (systemBaseName.equals(RXNORM_CODESYSTEM_URL))
return getVersionedSystem("rxnorm", systemVersion);
if (systemBaseName.equals(LOINC_CODESYSTEM_URL))
return getVersionedSystem("loinc", systemVersion);
if (systemBaseName.equals(UCUM_CODESYSTEM_URL))
return getVersionedSystem("ucum", systemVersion);
if (systemBaseName.startsWith(HL7_SID_CODESYSTEM_BASE_URL))
return getVersionedSystem(normalizeBaseURL(HL7_SID_CODESYSTEM_BASE_URL, systemBaseName), systemVersion);
if (systemBaseName.equals(_11073_CODESYSTEM_URN))
return getVersionedSystem("11073", systemVersion);
if (systemBaseName.startsWith(ISO_CODESYSTEM_URN))
return getVersionedSystem("iso"+systemBaseName.substring(ISO_CODESYSTEM_URN.length()).replace(":", ""), systemVersion);
if (systemBaseName.startsWith(HL7_TERMINOLOGY_CODESYSTEM_BASE_URL))
return getVersionedSystem(normalizeBaseURL(HL7_TERMINOLOGY_CODESYSTEM_BASE_URL, systemBaseName), systemVersion);
if (systemBaseName.startsWith(HL7_FHIR_CODESYSTEM_BASE_URL))
return getVersionedSystem(normalizeBaseURL(HL7_FHIR_CODESYSTEM_BASE_URL, systemBaseName), systemVersion);
if (systemBaseName.equals(LANG_CODESYSTEM_URN))
return getVersionedSystem("lang", systemVersion);
if (systemBaseName.equals(MIMETYPES_CODESYSTEM_URN))
return getVersionedSystem("mimetypes", systemVersion);
if (systemBaseName.equals(DICOM_CODESYSTEM_URL))
return getVersionedSystem("dicom", systemVersion);
return getVersionedSystem(systemBaseName.replace("/", "_").replace(":", "_").replace("?", "X").replace("#", "X"), systemVersion);
}
public String normalizeBaseURL(String baseUrl, String fullUrl) {
return fullUrl.substring(baseUrl.length()).replace("/", "");
}
public String getVersionedSystem(String baseSystem, String version) {
if (version != null) {
return baseSystem + "_" + version;
}
return baseSystem;
}
}
public class CacheToken {
private String name;
private String key;
private String request;
public void setName(String n) {
String systemName = getSystemNameKeyGenerator().getNameForSystem(n);
if (name == null)
name = n;
else if (!n.equals(name))
name = systemName;
else if (!systemName.equals(name))
name = NAME_FOR_NO_SYSTEM;
}
public String getName() {
return name;
}
}
private class CacheEntry {
@ -130,7 +202,7 @@ public class TerminologyCache {
public CacheToken generateValidationToken(ValidationOptions options, Coding code, ValueSet vs) {
CacheToken ct = new CacheToken();
if (code.hasSystem())
ct.name = getNameForSystem(code.getSystem());
ct.name = getSystemNameKeyGenerator().getNameForSystem(code.getSystem());
else
ct.name = NAME_FOR_NO_SYSTEM;
JsonParser json = new JsonParser();
@ -159,7 +231,7 @@ public class TerminologyCache {
CacheToken ct = new CacheToken();
for (Coding c : code.getCoding()) {
if (c.hasSystem())
ct.setName(getNameForSystem(c.getSystem()));
ct.setName(c.getSystem());
}
JsonParser json = new JsonParser();
json.setOutputStyle(OutputStyle.PRETTY);
@ -190,13 +262,13 @@ public class TerminologyCache {
ValueSet vsc = getVSEssense(vs);
for (ConceptSetComponent inc : vs.getCompose().getInclude())
if (inc.hasSystem())
ct.setName(getNameForSystem(inc.getSystem()));
ct.setName(inc.getSystem());
for (ConceptSetComponent inc : vs.getCompose().getExclude())
if (inc.hasSystem())
ct.setName(getNameForSystem(inc.getSystem()));
ct.setName(inc.getSystem());
for (ValueSetExpansionContainsComponent inc : vs.getExpansion().getContains())
if (inc.hasSystem())
ct.setName(getNameForSystem(inc.getSystem()));
ct.setName(inc.getSystem());
JsonParser json = new JsonParser();
json.setOutputStyle(OutputStyle.PRETTY);
try {
@ -208,33 +280,7 @@ public class TerminologyCache {
return ct;
}
private String getNameForSystem(String system) {
if (system.equals("http://snomed.info/sct"))
return "snomed";
if (system.equals("http://www.nlm.nih.gov/research/umls/rxnorm"))
return "rxnorm";
if (system.equals("http://loinc.org"))
return "loinc";
if (system.equals("http://unitsofmeasure.org"))
return "ucum";
if (system.startsWith("http://hl7.org/fhir/sid/"))
return system.substring(24).replace("/", "");
if (system.startsWith("urn:iso:std:iso:"))
return "iso"+system.substring(16).replace(":", "");
if (system.startsWith("http://terminology.hl7.org/CodeSystem/"))
return system.substring(38).replace("/", "");
if (system.startsWith("http://hl7.org/fhir/"))
return system.substring(20).replace("/", "");
if (system.equals("urn:ietf:bcp:47"))
return "lang";
if (system.equals("urn:ietf:bcp:13"))
return "mimetypes";
if (system.equals("urn:iso:std:iso:11073:10101"))
return "11073";
if (system.equals("http://dicom.nema.org/resources/ontology/DCM"))
return "dicom";
return system.replace("/", "_").replace(":", "_").replace("?", "X").replace("#", "X");
}
public NamedCache getNamedCache(CacheToken cacheToken) {
NamedCache nc = caches.get(cacheToken.name);
@ -520,7 +566,7 @@ public class TerminologyCache {
public void removeCS(String url) {
synchronized (lock) {
String name = getNameForSystem(url);
String name = getSystemNameKeyGenerator().getNameForSystem(url);
if (caches.containsKey(name)) {
caches.remove(name);
}

View File

@ -217,7 +217,16 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
}
private String getSDCLink(String path) {
return Utilities.pathURL("http://hl7.org/fhir/uv/sdc", path); // for now?
if (Utilities.isAbsoluteUrl(path)) {
StructureDefinition sd = context.getContext().fetchResource(StructureDefinition.class, path);
if (sd != null) {
return sd.getUserString("path");
} else {
return path.replace("StructureDefinition/", "StructureDefinition-")+".html";
}
} else {
return Utilities.pathURL("http://hl7.org/fhir/uv/sdc", path); // for now?
}
}
private boolean renderTreeItem(HierarchicalTableGenerator gen, List<Row> rows, Questionnaire q, QuestionnaireItemComponent i, boolean hasFlags) throws IOException {
@ -254,7 +263,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-optionalDisplay.html"), null, "Is optional to display").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png"))));
}
if (i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod")) {
flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-observationLinkPeriod"), null, "Is linked to an observation").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png"))));
flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-observationLinkPeriod.html"), null, "Is linked to an observation").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png"))));
}
if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation")) {
String code = ToolingExtensions.readStringExtension(i, "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation");
@ -263,7 +272,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory")) {
CodeableConcept cc = i.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory").getValueCodeableConcept();
String code = cc.getCode("http://hl7.org/fhir/questionnaire-display-category");
flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-displayCategory"), null, "Category: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png"))));
flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-displayCategory.html"), null, "Category: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png"))));
}
}
Cell defn = gen.new Cell();
@ -678,7 +687,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject")) {
hasFlag = true;
flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject", "Can change the subject of the questionnaire").img(Utilities.path(context.getLocalPrefix(), "icon-qi-subject.png"), "icon");
flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject"), "Can change the subject of the questionnaire").img(Utilities.path(context.getLocalPrefix(), "icon-qi-subject.png"), "icon");
}
if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden")) {
hasFlag = true;
@ -687,17 +696,17 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
}
if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay")) {
hasFlag = true;
flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay", "Is optional to display").img(Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png"), "icon");
flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay"), "Is optional to display").img(Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png"), "icon");
}
if (i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod")) {
hasFlag = true;
flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod", "Is linked to an observation").img(Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png"), "icon");
flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod"), "Is linked to an observation").img(Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png"), "icon");
}
if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory")) {
CodeableConcept cc = i.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory").getValueCodeableConcept();
String code = cc.getCode("http://hl7.org/fhir/questionnaire-display-category");
hasFlag = true;
flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-displayCategory", "Category: "+code).img(Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png"), "icon");
flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-displayCategory"), "Category: "+code).img(Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png"), "icon");
}
if (i.hasMaxLength()) {
@ -984,7 +993,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
}
if (qi.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod")) {
XhtmlNode tr = tbl.tr();
tr.td().ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod").tx("Observation Link Period");
tr.td().ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod")).tx("Observation Link Period");
render(tr.td(), qi.getExtensionByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod").getValue());
}

View File

@ -440,7 +440,7 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
//
// if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-isSubject")) {
// hasFlag = true;
// flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-isSubject", "Can change the subject of the QuestionnaireResponse").img(Utilities.path(context.getLocalPrefix(), "icon-qi-subject.png"));
// flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-isSubject", "Can change the subject of the QuestionnaireResponse").img(Utilities.path(context.getLocalPrefix(), "icon-qi-subject.png"));
// }
// if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-hidden")) {
// hasFlag = true;
@ -449,17 +449,17 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
// }
// if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-optionalDisplay")) {
// hasFlag = true;
// flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-optionalDisplay", "Is optional to display").img(Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png"));
// flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-optionalDisplay", "Is optional to display").img(Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png"));
// }
// if (i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-observationLinkPeriod")) {
// hasFlag = true;
// flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-observationLinkPeriod", "Is linked to an observation").img(Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png"));
// flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-observationLinkPeriod", "Is linked to an observation").img(Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png"));
// }
// if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-displayCategory")) {
// CodeableConcept cc = i.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-displayCategory").getValueCodeableConcept();
// String code = cc.getCode("http://hl7.org/fhir/QuestionnaireResponse-display-category");
// hasFlag = true;
// flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-displayCategory", "Category: "+code).img(Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png"));
// flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-displayCategory", "Category: "+code).img(Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png"));
// }
//
// if (i.hasMaxLength()) {

View File

@ -0,0 +1,8 @@
package org.hl7.fhir.r4b.context;
import org.hl7.fhir.utilities.validation.ValidationOptions;
public class CacheTestUtils {
public static final ValidationOptions validationOptions = new ValidationOptions().guessSystem().setVersionFlexible(false);
}

View File

@ -0,0 +1,68 @@
package org.hl7.fhir.r4b.context;
import org.hl7.fhir.r4b.model.Coding;
import org.hl7.fhir.r4b.model.ValueSet;
import org.hl7.fhir.utilities.tests.ResourceLoaderTests;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import java.io.IOException;
import java.net.URISyntaxException;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class TerminologyCacheTests implements ResourceLoaderTests {
private TerminologyCache createTerminologyCache() throws IOException {
Object lock = new Object();
TerminologyCache terminologyCache = new TerminologyCache(lock, null);
return terminologyCache;
}
@ParameterizedTest
@CsvSource({
"http://terminology.hl7.org/CodeSystem/id,id",
"http://hl7.org/fhir/id,id",
"http://hl7.org/fhir/sid/id,id",
"http://www.nlm.nih.gov/research/umls/rxnorm,rxnorm",
"http://snomed.info/sct,snomed",
"http://www.nlm.nih.gov/research/umls/rxnorm,rxnorm",
"http://loinc.org,loinc",
"http://unitsofmeasure.org,ucum",
"urn:iso:std:iso:id,isoid",
"urn:ietf:bcp:47,lang",
"urn:ietf:bcp:13,mimetypes",
"urn:iso:std:iso:11073:10101,11073",
"my://random/system?with#chars,my___random_systemXwithXchars",
"http://dicom.nema.org/resources/ontology/DCM,dicom"
})
public void testCacheTokenGeneration(String system, String expectedName) throws IOException, URISyntaxException {
TerminologyCache terminologyCache = createTerminologyCache();
ValueSet valueSet = new ValueSet();
{
Coding coding = new Coding();
coding.setSystem(system);
TerminologyCache.CacheToken cacheToken = terminologyCache.generateValidationToken(CacheTestUtils.validationOptions,
coding, valueSet);
assertEquals(expectedName, cacheToken.getName());
}
{
Coding coding = new Coding();
coding.setSystem(system + "|dummyVersion");
TerminologyCache.CacheToken cacheToken = terminologyCache.generateValidationToken(CacheTestUtils.validationOptions,
coding, valueSet);
assertEquals(expectedName + "_dummyVersion", cacheToken.getName());
}
}
}

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.core</artifactId>
<version>5.6.76-SNAPSHOT</version>
<version>5.6.77-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -38,7 +38,6 @@ import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
@ -85,6 +84,9 @@ public class TerminologyCache {
private static final String CAPABILITY_STATEMENT_TITLE = ".capabilityStatement";
private static final String TERMINOLOGY_CAPABILITIES_TITLE = ".terminologyCapabilities";
private SystemNameKeyGenerator systemNameKeyGenerator = new SystemNameKeyGenerator();
public class CacheToken {
@Getter
private String name;
@ -96,13 +98,79 @@ public class TerminologyCache {
private boolean hasVersion;
public void setName(String n) {
String systemName = getSystemNameKeyGenerator().getNameForSystem(n);
if (name == null)
name = n;
else if (!n.equals(name))
name = systemName;
else if (!systemName.equals(name))
name = NAME_FOR_NO_SYSTEM;
}
}
protected SystemNameKeyGenerator getSystemNameKeyGenerator() {
return systemNameKeyGenerator;
}
public class SystemNameKeyGenerator {
public static final String SNOMED_SCT_CODESYSTEM_URL = "http://snomed.info/sct";
public static final String RXNORM_CODESYSTEM_URL = "http://www.nlm.nih.gov/research/umls/rxnorm";
public static final String LOINC_CODESYSTEM_URL = "http://loinc.org";
public static final String UCUM_CODESYSTEM_URL = "http://unitsofmeasure.org";
public static final String HL7_TERMINOLOGY_CODESYSTEM_BASE_URL = "http://terminology.hl7.org/CodeSystem/";
public static final String HL7_SID_CODESYSTEM_BASE_URL = "http://hl7.org/fhir/sid/";
public static final String HL7_FHIR_CODESYSTEM_BASE_URL = "http://hl7.org/fhir/";
public static final String ISO_CODESYSTEM_URN = "urn:iso:std:iso:";
public static final String LANG_CODESYSTEM_URN = "urn:ietf:bcp:47";
public static final String MIMETYPES_CODESYSTEM_URN = "urn:ietf:bcp:13";
public static final String _11073_CODESYSTEM_URN = "urn:iso:std:iso:11073:10101";
public static final String DICOM_CODESYSTEM_URL = "http://dicom.nema.org/resources/ontology/DCM";
public String getNameForSystem(String system) {
final int lastPipe = system.lastIndexOf('|');
final String systemBaseName = lastPipe == -1 ? system : system.substring(0,lastPipe);
final String systemVersion = lastPipe == -1 ? null : system.substring(lastPipe + 1);
if (systemBaseName.equals(SNOMED_SCT_CODESYSTEM_URL))
return getVersionedSystem("snomed", systemVersion);
if (systemBaseName.equals(RXNORM_CODESYSTEM_URL))
return getVersionedSystem("rxnorm", systemVersion);
if (systemBaseName.equals(LOINC_CODESYSTEM_URL))
return getVersionedSystem("loinc", systemVersion);
if (systemBaseName.equals(UCUM_CODESYSTEM_URL))
return getVersionedSystem("ucum", systemVersion);
if (systemBaseName.startsWith(HL7_SID_CODESYSTEM_BASE_URL))
return getVersionedSystem(normalizeBaseURL(HL7_SID_CODESYSTEM_BASE_URL, systemBaseName), systemVersion);
if (systemBaseName.equals(_11073_CODESYSTEM_URN))
return getVersionedSystem("11073", systemVersion);
if (systemBaseName.startsWith(ISO_CODESYSTEM_URN))
return getVersionedSystem("iso"+systemBaseName.substring(ISO_CODESYSTEM_URN.length()).replace(":", ""), systemVersion);
if (systemBaseName.startsWith(HL7_TERMINOLOGY_CODESYSTEM_BASE_URL))
return getVersionedSystem(normalizeBaseURL(HL7_TERMINOLOGY_CODESYSTEM_BASE_URL, systemBaseName), systemVersion);
if (systemBaseName.startsWith(HL7_FHIR_CODESYSTEM_BASE_URL))
return getVersionedSystem(normalizeBaseURL(HL7_FHIR_CODESYSTEM_BASE_URL, systemBaseName), systemVersion);
if (systemBaseName.equals(LANG_CODESYSTEM_URN))
return getVersionedSystem("lang", systemVersion);
if (systemBaseName.equals(MIMETYPES_CODESYSTEM_URN))
return getVersionedSystem("mimetypes", systemVersion);
if (systemBaseName.equals(DICOM_CODESYSTEM_URL))
return getVersionedSystem("dicom", systemVersion);
return getVersionedSystem(systemBaseName.replace("/", "_").replace(":", "_").replace("?", "X").replace("#", "X"), systemVersion);
}
public String normalizeBaseURL(String baseUrl, String fullUrl) {
return fullUrl.substring(baseUrl.length()).replace("/", "");
}
public String getVersionedSystem(String baseSystem, String version) {
if (version != null) {
return baseSystem + "_" + version;
}
return baseSystem;
}
}
private class CacheEntry {
private String request;
private boolean persistent;
@ -185,7 +253,7 @@ public class TerminologyCache {
public CacheToken generateValidationToken(ValidationOptions options, Coding code, ValueSet vs) {
CacheToken ct = new CacheToken();
if (code.hasSystem()) {
ct.name = getNameForSystem(code.getSystem());
ct.setName(code.getSystem());
ct.hasVersion = code.hasVersion();
}
else
@ -226,7 +294,7 @@ public class TerminologyCache {
CacheToken ct = new CacheToken();
for (Coding c : code.getCoding()) {
if (c.hasSystem()) {
ct.setName(getNameForSystem(c.getSystem()));
ct.setName(c.getSystem());
ct.hasVersion = c.hasVersion();
}
}
@ -287,53 +355,31 @@ public class TerminologyCache {
if (vs != null) {
for (ConceptSetComponent inc : vs.getCompose().getInclude()) {
if (inc.hasSystem()) {
ct.setName(getNameForSystem(inc.getSystem()));
ct.setName(inc.getSystem());
ct.hasVersion = inc.hasVersion();
}
}
for (ConceptSetComponent inc : vs.getCompose().getExclude()) {
if (inc.hasSystem()) {
ct.setName(getNameForSystem(inc.getSystem()));
ct.setName(inc.getSystem());
ct.hasVersion = inc.hasVersion();
}
}
for (ValueSetExpansionContainsComponent inc : vs.getExpansion().getContains()) {
if (inc.hasSystem()) {
ct.setName(getNameForSystem(inc.getSystem()));
ct.setName(inc.getSystem());
ct.hasVersion = inc.hasVersion();
}
}
}
}
private String getNameForSystem(String system) {
if (system.equals("http://snomed.info/sct"))
return "snomed";
if (system.equals("http://www.nlm.nih.gov/research/umls/rxnorm"))
return "rxnorm";
if (system.equals("http://loinc.org"))
return "loinc";
if (system.equals("http://unitsofmeasure.org"))
return "ucum";
if (system.startsWith("http://hl7.org/fhir/sid/"))
return system.substring(24).replace("/", "");
if (system.startsWith("urn:iso:std:iso:"))
return "iso"+system.substring(16).replace(":", "");
if (system.startsWith("http://terminology.hl7.org/CodeSystem/"))
return system.substring(38).replace("/", "");
if (system.startsWith("http://hl7.org/fhir/"))
return system.substring(20).replace("/", "");
if (system.equals("urn:ietf:bcp:47"))
return "lang";
if (system.equals("urn:ietf:bcp:13"))
return "mimetypes";
if (system.equals("urn:iso:std:iso:11073:10101"))
return "11073";
if (system.equals("http://dicom.nema.org/resources/ontology/DCM"))
return "dicom";
return system.replace("/", "_").replace(":", "_").replace("?", "X").replace("#", "X");
private String normalizeSystemPath(String path) {
return path.replace("/", "").replace('|','X');
}
public NamedCache getNamedCache(CacheToken cacheToken) {
final String cacheName = cacheToken.name == null ? "null" : cacheToken.name;
@ -687,7 +733,7 @@ public class TerminologyCache {
public void removeCS(String url) {
synchronized (lock) {
String name = getNameForSystem(url);
String name = getSystemNameKeyGenerator().getNameForSystem(url);
if (caches.containsKey(name)) {
caches.remove(name);
}

View File

@ -30,7 +30,7 @@ package org.hl7.fhir.r5.formats;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot

View File

@ -31,7 +31,7 @@ package org.hl7.fhir.r5.formats;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot

View File

@ -30,7 +30,7 @@ package org.hl7.fhir.r5.formats;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;
@ -200,8 +200,8 @@ public class Account extends DomainResource {
@Block()
public static class CoverageComponent extends BackboneElement implements IBaseBackboneElement {
/**
* The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay).
* The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay).
A coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing.
*/
@Child(name = "coverage", type = {Coverage.class}, order=1, min=1, max=1, modifier=false, summary=true)
@ -233,8 +233,8 @@ A coverage may only be responsible for specific types of charges, and the sequen
}
/**
* @return {@link #coverage} (The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay).
* @return {@link #coverage} (The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay).
A coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing.)
*/
public Reference getCoverage() {
@ -251,8 +251,8 @@ A coverage may only be responsible for specific types of charges, and the sequen
}
/**
* @param value {@link #coverage} (The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay).
* @param value {@link #coverage} (The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay).
A coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing.)
*/
public CoverageComponent setCoverage(Reference value) {
@ -1340,7 +1340,9 @@ A coverage may only be responsible for specific types of charges, and the sequen
protected CodeableConcept currency;
/**
* The calculated account balances - these are calculated and processed by the finance system. The balances with a `term` that is not current are usually generated/updated by an invoicing or similar process.
* The calculated account balances - these are calculated and processed by the finance system.
The balances with a `term` that is not current are usually generated/updated by an invoicing or similar process.
*/
@Child(name = "balance", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
@Description(shortDefinition="Calculated account balance(s)", formalDefinition="The calculated account balances - these are calculated and processed by the finance system.\r\rThe balances with a `term` that is not current are usually generated/updated by an invoicing or similar process." )
@ -1899,7 +1901,9 @@ A coverage may only be responsible for specific types of charges, and the sequen
}
/**
* @return {@link #balance} (The calculated account balances - these are calculated and processed by the finance system. The balances with a `term` that is not current are usually generated/updated by an invoicing or similar process.)
* @return {@link #balance} (The calculated account balances - these are calculated and processed by the finance system.
The balances with a `term` that is not current are usually generated/updated by an invoicing or similar process.)
*/
public List<AccountBalanceComponent> getBalance() {
if (this.balance == null)

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;
@ -114,6 +114,10 @@ public class ActivityDefinition extends MetadataResource {
* A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting.
*/
SUPPLYREQUEST,
/**
* A task to be performed.
*/
TASK,
/**
* An authorization for the provision of glasses and/or contact lenses to a patient.
*/
@ -155,6 +159,8 @@ public class ActivityDefinition extends MetadataResource {
return SERVICEREQUEST;
if ("SupplyRequest".equals(codeString))
return SUPPLYREQUEST;
if ("Task".equals(codeString))
return TASK;
if ("VisionPrescription".equals(codeString))
return VISIONPRESCRIPTION;
if (Configuration.isAcceptInvalidEnums())
@ -179,6 +185,7 @@ public class ActivityDefinition extends MetadataResource {
case REQUESTORCHESTRATION: return "RequestOrchestration";
case SERVICEREQUEST: return "ServiceRequest";
case SUPPLYREQUEST: return "SupplyRequest";
case TASK: return "Task";
case VISIONPRESCRIPTION: return "VisionPrescription";
case NULL: return null;
default: return "?";
@ -201,6 +208,7 @@ public class ActivityDefinition extends MetadataResource {
case REQUESTORCHESTRATION: return "http://hl7.org/fhir/fhir-types";
case SERVICEREQUEST: return "http://hl7.org/fhir/fhir-types";
case SUPPLYREQUEST: return "http://hl7.org/fhir/fhir-types";
case TASK: return "http://hl7.org/fhir/fhir-types";
case VISIONPRESCRIPTION: return "http://hl7.org/fhir/fhir-types";
case NULL: return null;
default: return "?";
@ -223,6 +231,7 @@ public class ActivityDefinition extends MetadataResource {
case REQUESTORCHESTRATION: return "A set of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\".";
case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
case SUPPLYREQUEST: return "A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting.";
case TASK: return "A task to be performed.";
case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient.";
case NULL: return null;
default: return "?";
@ -245,6 +254,7 @@ public class ActivityDefinition extends MetadataResource {
case REQUESTORCHESTRATION: return "RequestOrchestration";
case SERVICEREQUEST: return "ServiceRequest";
case SUPPLYREQUEST: return "SupplyRequest";
case TASK: return "Task";
case VISIONPRESCRIPTION: return "VisionPrescription";
case NULL: return null;
default: return "?";
@ -287,6 +297,8 @@ public class ActivityDefinition extends MetadataResource {
return RequestResourceTypes.SERVICEREQUEST;
if ("SupplyRequest".equals(codeString))
return RequestResourceTypes.SUPPLYREQUEST;
if ("Task".equals(codeString))
return RequestResourceTypes.TASK;
if ("VisionPrescription".equals(codeString))
return RequestResourceTypes.VISIONPRESCRIPTION;
throw new IllegalArgumentException("Unknown RequestResourceTypes code '"+codeString+"'");
@ -329,6 +341,8 @@ public class ActivityDefinition extends MetadataResource {
return new Enumeration<RequestResourceTypes>(this, RequestResourceTypes.SERVICEREQUEST);
if ("SupplyRequest".equals(codeString))
return new Enumeration<RequestResourceTypes>(this, RequestResourceTypes.SUPPLYREQUEST);
if ("Task".equals(codeString))
return new Enumeration<RequestResourceTypes>(this, RequestResourceTypes.TASK);
if ("VisionPrescription".equals(codeString))
return new Enumeration<RequestResourceTypes>(this, RequestResourceTypes.VISIONPRESCRIPTION);
throw new FHIRException("Unknown RequestResourceTypes code '"+codeString+"'");
@ -364,6 +378,8 @@ public class ActivityDefinition extends MetadataResource {
return "ServiceRequest";
if (code == RequestResourceTypes.SUPPLYREQUEST)
return "SupplyRequest";
if (code == RequestResourceTypes.TASK)
return "Task";
if (code == RequestResourceTypes.VISIONPRESCRIPTION)
return "VisionPrescription";
return "?";

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;
@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Description;
import ca.uhn.fhir.model.api.annotation.Block;
/**
* Address Type: An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world.
* Address Type: An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world.
The ISO21090-codedString may be used to provide a coded representation of the contents of strings in an Address.
*/
@DatatypeDef(name="Address")

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;
@ -1506,7 +1506,9 @@ public class Appointment extends DomainResource {
protected BooleanType sunday;
/**
* The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more. e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.
* The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more.
e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.
*/
@Child(name = "weekInterval", type = {PositiveIntType.class}, order=8, min=0, max=1, modifier=false, summary=false)
@Description(shortDefinition="Recurs every nth week", formalDefinition="The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more.\r\re.g. For recurring every second week this interval would be 2, or every third week the interval would be 3." )
@ -1837,7 +1839,9 @@ public class Appointment extends DomainResource {
}
/**
* @return {@link #weekInterval} (The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more. e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.). This is the underlying object with id, value and extensions. The accessor "getWeekInterval" gives direct access to the value
* @return {@link #weekInterval} (The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more.
e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.). This is the underlying object with id, value and extensions. The accessor "getWeekInterval" gives direct access to the value
*/
public PositiveIntType getWeekIntervalElement() {
if (this.weekInterval == null)
@ -1857,7 +1861,9 @@ public class Appointment extends DomainResource {
}
/**
* @param value {@link #weekInterval} (The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more. e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.). This is the underlying object with id, value and extensions. The accessor "getWeekInterval" gives direct access to the value
* @param value {@link #weekInterval} (The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more.
e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.). This is the underlying object with id, value and extensions. The accessor "getWeekInterval" gives direct access to the value
*/
public AppointmentRecurrenceTemplateWeeklyTemplateComponent setWeekIntervalElement(PositiveIntType value) {
this.weekInterval = value;
@ -1865,14 +1871,18 @@ public class Appointment extends DomainResource {
}
/**
* @return The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more. e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.
* @return The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more.
e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.
*/
public int getWeekInterval() {
return this.weekInterval == null || this.weekInterval.isEmpty() ? 0 : this.weekInterval.getValue();
}
/**
* @param value The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more. e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.
* @param value The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more.
e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.
*/
public AppointmentRecurrenceTemplateWeeklyTemplateComponent setWeekInterval(int value) {
if (this.weekInterval == null)
@ -2825,8 +2835,8 @@ public class Appointment extends DomainResource {
protected List<AppointmentParticipantComponent> participant;
/**
* A set of date ranges (potentially including times) that the appointment is preferred to be scheduled within.
* A set of date ranges (potentially including times) that the appointment is preferred to be scheduled within.
The duration (usually in minutes) could also be provided to indicate the length of the appointment to fill and populate the start/end times for the actual allocated time. However, in other situations the duration may be calculated by the scheduling system.
*/
@Child(name = "requestedPeriod", type = {Period.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
@ -4098,8 +4108,8 @@ The duration (usually in minutes) could also be provided to indicate the length
}
/**
* @return {@link #requestedPeriod} (A set of date ranges (potentially including times) that the appointment is preferred to be scheduled within.
* @return {@link #requestedPeriod} (A set of date ranges (potentially including times) that the appointment is preferred to be scheduled within.
The duration (usually in minutes) could also be provided to indicate the length of the appointment to fill and populate the start/end times for the actual allocated time. However, in other situations the duration may be calculated by the scheduling system.)
*/
public List<Period> getRequestedPeriod() {

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;
@ -52,8 +52,8 @@ import ca.uhn.fhir.model.api.annotation.Block;
public abstract class BackboneElement extends Element implements IBaseBackboneElement {
/**
* May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
* May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
*/
@Child(name = "modifierExtension", type = {Extension.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=true, summary=true)
@ -70,8 +70,8 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
}
/**
* @return {@link #modifierExtension} (May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
* @return {@link #modifierExtension} (May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).)
*/
public List<Extension> getModifierExtension() {

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;
@ -52,8 +52,8 @@ import ca.uhn.fhir.model.api.annotation.Block;
public abstract class BackboneType extends DataType implements IBaseBackboneElement {
/**
* May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
* May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
*/
@Child(name = "modifierExtension", type = {Extension.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=true, summary=true)
@ -70,8 +70,8 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
}
/**
* @return {@link #modifierExtension} (May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
* @return {@link #modifierExtension} (May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).)
*/
public List<Extension> getModifierExtension() {

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;
@ -2798,9 +2798,9 @@ public class Bundle extends Resource implements IBaseBundle {
protected List<BundleLinkComponent> link;
/**
* The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when:
* invoking a create
* invoking or responding to an operation where the body is not a single identified resource
* The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when:
* invoking a create
* invoking or responding to an operation where the body is not a single identified resource
* invoking or returning the results of a search or history operation.
*/
@Child(name = "fullUrl", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=true)
@ -2898,9 +2898,9 @@ public class Bundle extends Resource implements IBaseBundle {
}
/**
* @return {@link #fullUrl} (The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when:
* invoking a create
* invoking or responding to an operation where the body is not a single identified resource
* @return {@link #fullUrl} (The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when:
* invoking a create
* invoking or responding to an operation where the body is not a single identified resource
* invoking or returning the results of a search or history operation.). This is the underlying object with id, value and extensions. The accessor "getFullUrl" gives direct access to the value
*/
public UriType getFullUrlElement() {
@ -2921,9 +2921,9 @@ public class Bundle extends Resource implements IBaseBundle {
}
/**
* @param value {@link #fullUrl} (The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when:
* invoking a create
* invoking or responding to an operation where the body is not a single identified resource
* @param value {@link #fullUrl} (The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when:
* invoking a create
* invoking or responding to an operation where the body is not a single identified resource
* invoking or returning the results of a search or history operation.). This is the underlying object with id, value and extensions. The accessor "getFullUrl" gives direct access to the value
*/
public BundleEntryComponent setFullUrlElement(UriType value) {
@ -2932,9 +2932,9 @@ public class Bundle extends Resource implements IBaseBundle {
}
/**
* @return The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when:
* invoking a create
* invoking or responding to an operation where the body is not a single identified resource
* @return The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when:
* invoking a create
* invoking or responding to an operation where the body is not a single identified resource
* invoking or returning the results of a search or history operation.
*/
public String getFullUrl() {
@ -2942,9 +2942,9 @@ public class Bundle extends Resource implements IBaseBundle {
}
/**
* @param value The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when:
* invoking a create
* invoking or responding to an operation where the body is not a single identified resource
* @param value The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when:
* invoking a create
* invoking or responding to an operation where the body is not a single identified resource
* invoking or returning the results of a search or history operation.
*/
public BundleEntryComponent setFullUrl(String value) {

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,12 +29,11 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.math.*;
import org.hl7.fhir.utilities.Utilities;
import org.hl7.fhir.r5.model.Enumerations.*;
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -30,7 +30,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR v5.0.0-ballot
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
@ -41,6 +41,6 @@ public class Constants {
public final static String VERSION = "5.0.0-ballot";
public final static String VERSION_MM = "5.0";
public final static String DATE = "Mon, Sep 5, 2022 20:11+1000";
public final static String DATE = "Sat, Nov 5, 2022 10:47+1100";
public final static String URI_REGEX = "((http|https)://([A-Za-z0-9\\\\\\.\\:\\%\\$]*\\/)*)?(Account|ActivityDefinition|ActorDefinition|AdministrableProductDefinition|AdverseEvent|AllergyIntolerance|Appointment|AppointmentResponse|ArtifactAssessment|AuditEvent|Basic|Binary|BiologicallyDerivedProduct|BodyStructure|Bundle|CapabilityStatement|CarePlan|CareTeam|ChargeItem|ChargeItemDefinition|Citation|Claim|ClaimResponse|ClinicalImpression|ClinicalUseDefinition|CodeSystem|Communication|CommunicationRequest|CompartmentDefinition|Composition|ConceptMap|Condition|ConditionDefinition|Consent|Contract|Coverage|CoverageEligibilityRequest|CoverageEligibilityResponse|DetectedIssue|Device|DeviceDefinition|DeviceDispense|DeviceMetric|DeviceRequest|DeviceUsage|DiagnosticReport|DocumentManifest|DocumentReference|Encounter|Endpoint|EnrollmentRequest|EnrollmentResponse|EpisodeOfCare|EventDefinition|Evidence|EvidenceReport|EvidenceVariable|ExampleScenario|ExplanationOfBenefit|FamilyMemberHistory|Flag|FormularyItem|GenomicStudy|Goal|GraphDefinition|Group|GuidanceResponse|HealthcareService|ImagingSelection|ImagingStudy|Immunization|ImmunizationEvaluation|ImmunizationRecommendation|ImplementationGuide|Ingredient|InsurancePlan|InventoryReport|Invoice|Library|Linkage|List|Location|ManufacturedItemDefinition|Measure|MeasureReport|Medication|MedicationAdministration|MedicationDispense|MedicationKnowledge|MedicationRequest|MedicationUsage|MedicinalProductDefinition|MessageDefinition|MessageHeader|MolecularSequence|NamingSystem|NutritionIntake|NutritionOrder|NutritionProduct|Observation|ObservationDefinition|OperationDefinition|OperationOutcome|Organization|OrganizationAffiliation|PackagedProductDefinition|Parameters|Patient|PaymentNotice|PaymentReconciliation|Permission|Person|PlanDefinition|Practitioner|PractitionerRole|Procedure|Provenance|Questionnaire|QuestionnaireResponse|RegulatedAuthorization|RelatedPerson|RequestGroup|RequestOrchestration|Requirements|ResearchStudy|ResearchSubject|RiskAssessment|Schedule|SearchParameter|ServiceRequest|Slot|Specimen|SpecimenDefinition|StructureDefinition|StructureMap|Subscription|SubscriptionStatus|SubscriptionTopic|Substance|SubstanceDefinition|SubstanceNucleicAcid|SubstancePolymer|SubstanceProtein|SubstanceReferenceInformation|SubstanceSourceMaterial|SupplyDelivery|SupplyRequest|Task|TerminologyCapabilities|TestReport|TestScript|Transport|ValueSet|VerificationResult|VisionPrescription)\\/[A-Za-z0-9\\-\\.]{1,64}(\\/_history\\/[A-Za-z0-9\\-\\.]{1,64})?";
}

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;
@ -1778,8 +1778,8 @@ public class DataRequirement extends DataType implements ICompositeType {
protected DataType subject;
/**
* Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.
* Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.
The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).
*/
@Child(name = "mustSupport", type = {StringType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
@ -1996,8 +1996,8 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data
}
/**
* @return {@link #mustSupport} (Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.
* @return {@link #mustSupport} (Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.
The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).)
*/
public List<StringType> getMustSupport() {
@ -2024,8 +2024,8 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data
}
/**
* @return {@link #mustSupport} (Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.
* @return {@link #mustSupport} (Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.
The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).)
*/
public StringType addMustSupportElement() {//2
@ -2037,8 +2037,8 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data
}
/**
* @param value {@link #mustSupport} (Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.
* @param value {@link #mustSupport} (Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.
The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).)
*/
public DataRequirement addMustSupport(String value) { //1
@ -2051,8 +2051,8 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data
}
/**
* @param value {@link #mustSupport} (Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.
* @param value {@link #mustSupport} (Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.
The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).)
*/
public boolean hasMustSupport(String value) {

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;
@ -351,10 +351,10 @@ public class Device extends DomainResource {
protected StringType deviceIdentifier;
/**
* Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include:
1) GS1: http://hl7.org/fhir/NamingSystem/gs1-di,
2) HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-diI,
3) ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di,
* Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include:
1) GS1: http://hl7.org/fhir/NamingSystem/gs1-di,
2) HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-diI,
3) ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di,
4) ICCBA for other devices: http://hl7.org/fhir/NamingSystem/iccbba-other-di # Informationsstelle für Arzneispezialitäten (IFA GmbH) (EU only): http://hl7.org/fhir/NamingSystem/ifa-gmbh-di.
*/
@Child(name = "issuer", type = {UriType.class}, order=2, min=1, max=1, modifier=false, summary=true)
@ -454,10 +454,10 @@ public class Device extends DomainResource {
}
/**
* @return {@link #issuer} (Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include:
1) GS1: http://hl7.org/fhir/NamingSystem/gs1-di,
2) HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-diI,
3) ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di,
* @return {@link #issuer} (Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include:
1) GS1: http://hl7.org/fhir/NamingSystem/gs1-di,
2) HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-diI,
3) ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di,
4) ICCBA for other devices: http://hl7.org/fhir/NamingSystem/iccbba-other-di # Informationsstelle für Arzneispezialitäten (IFA GmbH) (EU only): http://hl7.org/fhir/NamingSystem/ifa-gmbh-di.). This is the underlying object with id, value and extensions. The accessor "getIssuer" gives direct access to the value
*/
public UriType getIssuerElement() {
@ -478,10 +478,10 @@ public class Device extends DomainResource {
}
/**
* @param value {@link #issuer} (Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include:
1) GS1: http://hl7.org/fhir/NamingSystem/gs1-di,
2) HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-diI,
3) ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di,
* @param value {@link #issuer} (Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include:
1) GS1: http://hl7.org/fhir/NamingSystem/gs1-di,
2) HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-diI,
3) ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di,
4) ICCBA for other devices: http://hl7.org/fhir/NamingSystem/iccbba-other-di # Informationsstelle für Arzneispezialitäten (IFA GmbH) (EU only): http://hl7.org/fhir/NamingSystem/ifa-gmbh-di.). This is the underlying object with id, value and extensions. The accessor "getIssuer" gives direct access to the value
*/
public DeviceUdiCarrierComponent setIssuerElement(UriType value) {
@ -490,10 +490,10 @@ public class Device extends DomainResource {
}
/**
* @return Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include:
1) GS1: http://hl7.org/fhir/NamingSystem/gs1-di,
2) HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-diI,
3) ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di,
* @return Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include:
1) GS1: http://hl7.org/fhir/NamingSystem/gs1-di,
2) HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-diI,
3) ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di,
4) ICCBA for other devices: http://hl7.org/fhir/NamingSystem/iccbba-other-di # Informationsstelle für Arzneispezialitäten (IFA GmbH) (EU only): http://hl7.org/fhir/NamingSystem/ifa-gmbh-di.
*/
public String getIssuer() {
@ -501,10 +501,10 @@ public class Device extends DomainResource {
}
/**
* @param value Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include:
1) GS1: http://hl7.org/fhir/NamingSystem/gs1-di,
2) HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-diI,
3) ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di,
* @param value Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include:
1) GS1: http://hl7.org/fhir/NamingSystem/gs1-di,
2) HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-diI,
3) ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di,
4) ICCBA for other devices: http://hl7.org/fhir/NamingSystem/iccbba-other-di # Informationsstelle für Arzneispezialitäten (IFA GmbH) (EU only): http://hl7.org/fhir/NamingSystem/ifa-gmbh-di.
*/
public DeviceUdiCarrierComponent setIssuer(String value) {
@ -909,7 +909,7 @@ public class Device extends DomainResource {
protected StringType name;
/**
* The type of deviceName. Note that ManufactureDeviceName means that the name is the name as given by the manufacturer, not the name of the manufacturer.
* The type of deviceName. Note that ManufactureDeviceName means that the name is the name as given by the manufacturer, not the name of the manufacturer.
RegisteredName | UserFriendlyName | PatientReportedName.
*/
@Child(name = "type", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false)
@ -981,7 +981,7 @@ RegisteredName | UserFriendlyName | PatientReportedName.
}
/**
* @return {@link #type} (The type of deviceName. Note that ManufactureDeviceName means that the name is the name as given by the manufacturer, not the name of the manufacturer.
* @return {@link #type} (The type of deviceName. Note that ManufactureDeviceName means that the name is the name as given by the manufacturer, not the name of the manufacturer.
RegisteredName | UserFriendlyName | PatientReportedName.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value
*/
public Enumeration<DeviceNameType> getTypeElement() {
@ -1002,7 +1002,7 @@ RegisteredName | UserFriendlyName | PatientReportedName.). This is the underlyin
}
/**
* @param value {@link #type} (The type of deviceName. Note that ManufactureDeviceName means that the name is the name as given by the manufacturer, not the name of the manufacturer.
* @param value {@link #type} (The type of deviceName. Note that ManufactureDeviceName means that the name is the name as given by the manufacturer, not the name of the manufacturer.
RegisteredName | UserFriendlyName | PatientReportedName.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value
*/
public DeviceDeviceNameComponent setTypeElement(Enumeration<DeviceNameType> value) {
@ -1011,7 +1011,7 @@ RegisteredName | UserFriendlyName | PatientReportedName.). This is the underlyin
}
/**
* @return The type of deviceName. Note that ManufactureDeviceName means that the name is the name as given by the manufacturer, not the name of the manufacturer.
* @return The type of deviceName. Note that ManufactureDeviceName means that the name is the name as given by the manufacturer, not the name of the manufacturer.
RegisteredName | UserFriendlyName | PatientReportedName.
*/
public DeviceNameType getType() {
@ -1019,7 +1019,7 @@ RegisteredName | UserFriendlyName | PatientReportedName.
}
/**
* @param value The type of deviceName. Note that ManufactureDeviceName means that the name is the name as given by the manufacturer, not the name of the manufacturer.
* @param value The type of deviceName. Note that ManufactureDeviceName means that the name is the name as given by the manufacturer, not the name of the manufacturer.
RegisteredName | UserFriendlyName | PatientReportedName.
*/
public DeviceDeviceNameComponent setType(DeviceNameType value) {

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;
@ -1468,7 +1468,7 @@ public class DeviceDefinition extends DomainResource {
protected StringType name;
/**
* The type of deviceName.
* The type of deviceName.
RegisteredName | UserFriendlyName | PatientReportedName.
*/
@Child(name = "type", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false)
@ -1540,7 +1540,7 @@ RegisteredName | UserFriendlyName | PatientReportedName.
}
/**
* @return {@link #type} (The type of deviceName.
* @return {@link #type} (The type of deviceName.
RegisteredName | UserFriendlyName | PatientReportedName.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value
*/
public Enumeration<DeviceNameType> getTypeElement() {
@ -1561,7 +1561,7 @@ RegisteredName | UserFriendlyName | PatientReportedName.). This is the underlyin
}
/**
* @param value {@link #type} (The type of deviceName.
* @param value {@link #type} (The type of deviceName.
RegisteredName | UserFriendlyName | PatientReportedName.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value
*/
public DeviceDefinitionDeviceNameComponent setTypeElement(Enumeration<DeviceNameType> value) {
@ -1570,7 +1570,7 @@ RegisteredName | UserFriendlyName | PatientReportedName.). This is the underlyin
}
/**
* @return The type of deviceName.
* @return The type of deviceName.
RegisteredName | UserFriendlyName | PatientReportedName.
*/
public DeviceNameType getType() {
@ -1578,7 +1578,7 @@ RegisteredName | UserFriendlyName | PatientReportedName.
}
/**
* @param value The type of deviceName.
* @param value The type of deviceName.
RegisteredName | UserFriendlyName | PatientReportedName.
*/
public DeviceDefinitionDeviceNameComponent setType(DeviceNameType value) {

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;
@ -79,8 +79,8 @@ public abstract class DomainResource extends Resource implements IBaseHasExtensi
protected List<Extension> extension;
/**
* May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
* May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
*/
@Child(name = "modifierExtension", type = {Extension.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=true, summary=true)
@ -199,8 +199,8 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
}
/**
* @return {@link #modifierExtension} (May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
* @return {@link #modifierExtension} (May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).)
*/
public List<Extension> getModifierExtension() {

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;
@ -2507,7 +2507,9 @@ public class Encounter extends DomainResource {
protected DateTimeType plannedEndDate;
/**
* Actual quantity of time the encounter lasted. This excludes the time during leaves of absence. When missing it is the time in between the start and end values.
* Actual quantity of time the encounter lasted. This excludes the time during leaves of absence.
When missing it is the time in between the start and end values.
*/
@Child(name = "length", type = {Duration.class}, order=21, min=0, max=1, modifier=false, summary=false)
@Description(shortDefinition="Actual quantity of time the encounter lasted (less time absent)", formalDefinition="Actual quantity of time the encounter lasted. This excludes the time during leaves of absence.\r\rWhen missing it is the time in between the start and end values." )
@ -3490,7 +3492,9 @@ public class Encounter extends DomainResource {
}
/**
* @return {@link #length} (Actual quantity of time the encounter lasted. This excludes the time during leaves of absence. When missing it is the time in between the start and end values.)
* @return {@link #length} (Actual quantity of time the encounter lasted. This excludes the time during leaves of absence.
When missing it is the time in between the start and end values.)
*/
public Duration getLength() {
if (this.length == null)
@ -3506,7 +3510,9 @@ public class Encounter extends DomainResource {
}
/**
* @param value {@link #length} (Actual quantity of time the encounter lasted. This excludes the time during leaves of absence. When missing it is the time in between the start and end values.)
* @param value {@link #length} (Actual quantity of time the encounter lasted. This excludes the time during leaves of absence.
When missing it is the time in between the start and end values.)
*/
public Encounter setLength(Duration value) {
this.length = value;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import org.hl7.fhir.instance.model.api.*;
@ -1677,8 +1677,8 @@ public class Enumerations {
*/
MEDICATIONREQUEST,
/**
* A record of a medication that is being consumed by a patient. A MedicationUsage may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains.
* A record of a medication that is being consumed by a patient. A MedicationUsage may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains.
The primary difference between a medicationusage and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medicationusage is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the Medication Usage information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information.
*/
MEDICATIONUSAGE,
@ -8783,7 +8783,7 @@ The primary difference between a medicationusage and a medicationadministration
*/
DATATYPE,
/**
* Address Type: An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world.
* Address Type: An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world.
The ISO21090-codedString may be used to provide a coded representation of the contents of strings in an Address.
*/
ADDRESS,
@ -9420,8 +9420,8 @@ The ISO21090-codedString may be used to provide a coded representation of the co
*/
MEDICATIONREQUEST,
/**
* A record of a medication that is being consumed by a patient. A MedicationUsage may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains.
* A record of a medication that is being consumed by a patient. A MedicationUsage may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains.
The primary difference between a medicationusage and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medicationusage is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the Medication Usage information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information.
*/
MEDICATIONUSAGE,
@ -12628,7 +12628,7 @@ The primary difference between a medicationusage and a medicationadministration
* R4B Ballot #1 + Connectathon 27 (Virtual).
*/
_4_1_0,
_4_3_0_SNAPSHOT1,
_4_3_0_SNAPSHOT1,
_4_3_0_CIBUILD,
/**
* R5 Preview #1 version.
@ -12775,10 +12775,10 @@ The primary difference between a medicationusage and a medicationadministration
return _4_1;
if ("4.1.0".equals(codeString))
return _4_1_0;
if ("4.3.0-snapshot1".equals(codeString))
return _4_3_0_SNAPSHOT1;
if ("4.3.0-cibuild".equals(codeString))
return _4_3_0_CIBUILD;
if ("4.3.0-snapshot1".equals(codeString))
return _4_3_0_SNAPSHOT1;
if ("4.3.0-cibuild".equals(codeString))
return _4_3_0_CIBUILD;
if ("4.2".equals(codeString))
return _4_2;
if ("4.2.0".equals(codeString))
@ -12964,8 +12964,8 @@ The primary difference between a medicationusage and a medicationadministration
case _4_0_1: return "4.0.1";
case _4_1: return "4.1";
case _4_1_0: return "4.1.0";
case _4_3_0_SNAPSHOT1: return "4.3.0-snapshot1";
case _4_3_0_CIBUILD: return "4.3.0-cibuild";
case _4_3_0_SNAPSHOT1: return "4.3.0-snapshot1";
case _4_3_0_CIBUILD: return "4.3.0-cibuild";
case _4_2: return "4.2";
case _4_2_0: return "4.2.0";
case _4_3: return "4.3";
@ -13025,8 +13025,8 @@ The primary difference between a medicationusage and a medicationadministration
case _4_0_1: return "http://hl7.org/fhir/FHIR-version";
case _4_1: return "http://hl7.org/fhir/FHIR-version";
case _4_1_0: return "http://hl7.org/fhir/FHIR-version";
case _4_3_0_SNAPSHOT1: return "http://hl7.org/fhir/FHIR-version";
case _4_3_0_CIBUILD: return "http://hl7.org/fhir/FHIR-version";
case _4_3_0_SNAPSHOT1: return "http://hl7.org/fhir/FHIR-version";
case _4_3_0_CIBUILD: return "http://hl7.org/fhir/FHIR-version";
case _4_2: return "http://hl7.org/fhir/FHIR-version";
case _4_2_0: return "http://hl7.org/fhir/FHIR-version";
case _4_3: return "http://hl7.org/fhir/FHIR-version";
@ -13088,8 +13088,8 @@ The primary difference between a medicationusage and a medicationadministration
case _4_1_0: return "R4B Ballot #1 + Connectathon 27 (Virtual).";
case _4_2: return "R5 Preview #1 version.";
case _4_2_0: return "R5 Preview #1 + Connectathon 23 (Sydney).";
case _4_3_0_SNAPSHOT1: return "FHIR Release 4B Snapshot #1";
case _4_3_0_CIBUILD: return "FHIR Release 4B CI-Builld";
case _4_3_0_SNAPSHOT1: return "FHIR Release 4B Snapshot #1";
case _4_3_0_CIBUILD: return "FHIR Release 4B CI-Builld";
case _4_3: return "R4B version.";
case _4_3_0: return "FHIR Release 4B (Normative + STU).";
case _4_4: return "R5 Preview #2 version.";
@ -13150,8 +13150,8 @@ The primary difference between a medicationusage and a medicationadministration
case _4_2: return "4.2";
case _4_2_0: return "4.2.0";
case _4_3: return "4.3";
case _4_3_0_SNAPSHOT1: return "4.3.0-snapshot";
case _4_3_0_CIBUILD: return "4.3.0-cibuild";
case _4_3_0_SNAPSHOT1: return "4.3.0-snapshot";
case _4_3_0_CIBUILD: return "4.3.0-cibuild";
case _4_3_0: return "4.3.0";
case _4_4: return "4.4";
case _4_4_0: return "4.4.0";
@ -13254,10 +13254,10 @@ The primary difference between a medicationusage and a medicationadministration
return FHIRVersion._4_2;
if ("4.2.0".equals(codeString))
return FHIRVersion._4_2_0;
if ("4.3.0-snapshot1".equalsIgnoreCase(codeString))
return FHIRVersion._4_3_0_SNAPSHOT1;
if ("4.3.0-cibuild".equalsIgnoreCase(codeString))
return FHIRVersion._4_3_0_CIBUILD;
if ("4.3.0-snapshot1".equalsIgnoreCase(codeString))
return FHIRVersion._4_3_0_SNAPSHOT1;
if ("4.3.0-cibuild".equalsIgnoreCase(codeString))
return FHIRVersion._4_3_0_CIBUILD;
if ("4.3".equals(codeString))
return FHIRVersion._4_3;
if ("4.3.0".equals(codeString))
@ -13374,10 +13374,10 @@ The primary difference between a medicationusage and a medicationadministration
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_2);
if ("4.2.0".equals(codeString))
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_2_0);
if ("4.3.0-snapshot1".equals(codeString))
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3_0_SNAPSHOT1);
if ("4.3.0-cibuild".equals(codeString))
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3_0_CIBUILD);
if ("4.3.0-snapshot1".equals(codeString))
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3_0_SNAPSHOT1);
if ("4.3.0-cibuild".equals(codeString))
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3_0_CIBUILD);
if ("4.3".equals(codeString))
return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3);
if ("4.3.0".equals(codeString))
@ -13489,10 +13489,10 @@ The primary difference between a medicationusage and a medicationadministration
return "4.2.0";
if (code == FHIRVersion._4_3)
return "4.3";
if (code == FHIRVersion._4_3_0_SNAPSHOT1)
return "4.3.0-snapshot1";
if (code == FHIRVersion._4_3_0_CIBUILD)
return "4.3.0-cibuild";
if (code == FHIRVersion._4_3_0_SNAPSHOT1)
return "4.3.0-snapshot1";
if (code == FHIRVersion._4_3_0_CIBUILD)
return "4.3.0-cibuild";
if (code == FHIRVersion._4_3_0)
return "4.3.0";
if (code == FHIRVersion._4_4)
@ -15798,8 +15798,8 @@ The primary difference between a medicationusage and a medicationadministration
*/
MEDICATIONREQUEST,
/**
* A record of a medication that is being consumed by a patient. A MedicationUsage may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains.
* A record of a medication that is being consumed by a patient. A MedicationUsage may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains.
The primary difference between a medicationusage and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medicationusage is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the Medication Usage information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information.
*/
MEDICATIONUSAGE,

View File

@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model;
POSSIBILITY OF SUCH DAMAGE.
*/
// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent
// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot
import java.util.ArrayList;
import java.util.Date;

Some files were not shown because too many files have changed in this diff Show More