Merge remote-tracking branch 'origin/master' into do-20240319-languages-dat
This commit is contained in:
commit
65ecbea430
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>org.hl7.fhir.core</artifactId>
|
||||
<version>6.3.3-SNAPSHOT</version>
|
||||
<version>6.3.4-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>org.hl7.fhir.core</artifactId>
|
||||
<version>6.3.3-SNAPSHOT</version>
|
||||
<version>6.3.4-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>org.hl7.fhir.core</artifactId>
|
||||
<version>6.3.3-SNAPSHOT</version>
|
||||
<version>6.3.4-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>org.hl7.fhir.core</artifactId>
|
||||
<version>6.3.3-SNAPSHOT</version>
|
||||
<version>6.3.4-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>org.hl7.fhir.core</artifactId>
|
||||
<version>6.3.3-SNAPSHOT</version>
|
||||
<version>6.3.4-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>org.hl7.fhir.core</artifactId>
|
||||
<version>6.3.3-SNAPSHOT</version>
|
||||
<version>6.3.4-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>org.hl7.fhir.core</artifactId>
|
||||
<version>6.3.3-SNAPSHOT</version>
|
||||
<version>6.3.4-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -1342,6 +1342,23 @@ public class Element extends Base implements NamedItem {
|
|||
children.add(ne);
|
||||
return ne;
|
||||
}
|
||||
// polymorphic support
|
||||
if (p.getName().endsWith("[x]")) {
|
||||
String base = p.getName().substring(0, p.getName().length()-3);
|
||||
|
||||
if (name.startsWith(base)) {
|
||||
String type = name.substring(base.length());
|
||||
if (p.getContextUtils().isPrimitiveType(Utilities.uncapitalize(type))) {
|
||||
type = Utilities.uncapitalize(type);
|
||||
}
|
||||
if (p.canBeType(type)) {
|
||||
Element ne = new Element(name, p).setFormat(format);
|
||||
ne.setType(type);
|
||||
children.add(ne);
|
||||
return ne;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Error("Unrecognised property '"+name+"' on "+this.name);
|
||||
|
@ -1496,7 +1513,7 @@ public class Element extends Base implements NamedItem {
|
|||
ext.addElement("valueCode").setValue(lang);
|
||||
|
||||
ext = t.addElement("extension");
|
||||
ext.addElement("url").setValue("value");
|
||||
ext.addElement("url").setValue("content");
|
||||
ext.addElement("valueString").setValue(translation);
|
||||
}
|
||||
|
||||
|
|
|
@ -24,6 +24,10 @@ import org.hl7.fhir.utilities.i18n.LanguageFileProducer;
|
|||
import org.hl7.fhir.utilities.i18n.LanguageFileProducer.LanguageProducerLanguageSession;
|
||||
import org.hl7.fhir.utilities.i18n.LanguageFileProducer.TextUnit;
|
||||
import org.hl7.fhir.utilities.i18n.LanguageFileProducer.TranslationUnit;
|
||||
import org.hl7.fhir.utilities.validation.ValidationMessage;
|
||||
import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity;
|
||||
import org.hl7.fhir.utilities.validation.ValidationMessage.IssueType;
|
||||
import org.hl7.fhir.utilities.validation.ValidationMessage.Source;
|
||||
|
||||
/**
|
||||
* in here:
|
||||
|
@ -77,7 +81,6 @@ public class LanguageUtils {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private String contextForElement(Element element) {
|
||||
throw new Error("Not done yet");
|
||||
|
@ -110,7 +113,7 @@ public class LanguageUtils {
|
|||
}
|
||||
|
||||
private boolean isTranslatable(Element element) {
|
||||
return element.getProperty().isTranslatable() && !Utilities.existsInList(pathForElement(element), "CanonicalResource.version");
|
||||
return element.getProperty().isTranslatable();
|
||||
}
|
||||
|
||||
private String pathForElement(Element element) {
|
||||
|
@ -132,11 +135,24 @@ public class LanguageUtils {
|
|||
return bp;
|
||||
}
|
||||
|
||||
public int importFromTranslations(Element resource, Set<TranslationUnit> translations) {
|
||||
return importFromTranslations(null, resource, translations);
|
||||
|
||||
public int importFromTranslations(Element resource, List<TranslationUnit> translations) {
|
||||
return importFromTranslations(null, resource, translations, new HashSet<>());
|
||||
}
|
||||
|
||||
private int importFromTranslations(Element parent, Element element, Set<TranslationUnit> translations) {
|
||||
public int importFromTranslations(Element resource, List<TranslationUnit> translations, List<ValidationMessage> messages) {
|
||||
Set<TranslationUnit> usedUnits = new HashSet<>();
|
||||
int r = importFromTranslations(null, resource, translations, usedUnits);
|
||||
for (TranslationUnit t : translations) {
|
||||
if (!usedUnits.contains(t)) {
|
||||
messages.add(new ValidationMessage(Source.Publisher, IssueType.INFORMATIONAL, t.getId(), "Unused '"+t.getLanguage()+"' translation '"+t.getSrcText()+"' -> '"+t.getTgtText()+"'", IssueSeverity.INFORMATION));
|
||||
}
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
private int importFromTranslations(Element parent, Element element, List<TranslationUnit> translations, Set<TranslationUnit> usedUnits) {
|
||||
int t = 0;
|
||||
if (element.isPrimitive() && isTranslatable(element)) {
|
||||
String base = element.primitiveValue();
|
||||
|
@ -146,13 +162,14 @@ public class LanguageUtils {
|
|||
t++;
|
||||
if (!handleAsSpecial(parent, element, translation)) {
|
||||
element.setTranslation(translation.getLanguage(), translation.getTgtText());
|
||||
usedUnits.add(translation);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (Element c: element.getChildren()) {
|
||||
if (!c.getName().equals("designation")) {
|
||||
t = t + importFromTranslations(element, c, translations);
|
||||
t = t + importFromTranslations(element, c, translations, usedUnits);
|
||||
}
|
||||
}
|
||||
return t;
|
||||
|
@ -193,7 +210,7 @@ public class LanguageUtils {
|
|||
return true;
|
||||
}
|
||||
|
||||
private Set<TranslationUnit> findTranslations(String path, String src, Set<TranslationUnit> translations) {
|
||||
private Set<TranslationUnit> findTranslations(String path, String src, List<TranslationUnit> translations) {
|
||||
Set<TranslationUnit> res = new HashSet<>();
|
||||
for (TranslationUnit translation : translations) {
|
||||
if (path.equals(translation.getId()) && src.equals(translation.getSrcText())) {
|
||||
|
@ -294,7 +311,7 @@ public class LanguageUtils {
|
|||
}
|
||||
|
||||
public static boolean handlesAsElement(Element element) {
|
||||
return false; // for now...
|
||||
return true; // for now...
|
||||
}
|
||||
|
||||
public static List<TranslationUnit> generateTranslations(Resource res, String lang) {
|
||||
|
@ -334,4 +351,52 @@ public class LanguageUtils {
|
|||
return cd.getDefinition();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static List<TranslationUnit> generateTranslations(Element e, String lang) {
|
||||
List<TranslationUnit> list = new ArrayList<>();
|
||||
generateTranslations(e, lang, list);
|
||||
return list;
|
||||
}
|
||||
|
||||
private static void generateTranslations(Element e, String lang, List<TranslationUnit> list) {
|
||||
if (e.getProperty().isTranslatable()) {
|
||||
String id = e.getProperty().getDefinition().getPath();
|
||||
String context = e.getProperty().getDefinition().getDefinition();
|
||||
String src = e.primitiveValue();
|
||||
String tgt = getTranslation(e, lang);
|
||||
list.add(new TranslationUnit(lang, id, context, src, tgt));
|
||||
}
|
||||
if (e.hasChildren()) {
|
||||
for (Element c : e.getChildren()) {
|
||||
generateTranslations(c, lang, list);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static String getTranslation(Element e, String lang) {
|
||||
if (!e.hasChildren()) {
|
||||
return null;
|
||||
}
|
||||
for (Element ext : e.getChildren()) {
|
||||
if ("Extension".equals(ext.fhirType()) && "http://hl7.org/fhir/StructureDefinition/translation".equals(ext.getNamedChildValue("url"))) {
|
||||
String l = null;
|
||||
String v = null;
|
||||
for (Element subExt : ext.getChildren()) {
|
||||
if ("Extension".equals(subExt.fhirType()) && "lang".equals(subExt.getNamedChildValue("url"))) {
|
||||
l = subExt.getNamedChildValue("value");
|
||||
}
|
||||
if ("Extension".equals(subExt.fhirType()) && "content".equals(subExt.getNamedChildValue("url"))) {
|
||||
v = subExt.getNamedChildValue("value");
|
||||
}
|
||||
}
|
||||
if (lang.equals(l)) {
|
||||
return v;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -641,14 +641,32 @@ public class Property {
|
|||
|
||||
public boolean isTranslatable() {
|
||||
boolean ok = ToolingExtensions.readBoolExtension(definition, ToolingExtensions.EXT_TRANSLATABLE);
|
||||
if (!ok && !Utilities.existsInList(definition.getBase().getPath(), "Reference.reference", "Coding.version", "Identifier.value", "SampledData.offsets", "SampledData.data", "ContactPoint.value")) {
|
||||
if (!ok && !definition.getPath().endsWith(".id") && !Utilities.existsInList(definition.getBase().getPath(), "Resource.id", "Reference.reference", "Coding.version", "Identifier.value", "SampledData.offsets", "SampledData.data", "ContactPoint.value")) {
|
||||
String t = getType();
|
||||
ok = Utilities.existsInList(t, "string", "markdown");
|
||||
}
|
||||
if (Utilities.existsInList(pathForElement(getStructure().getType(), getDefinition().getBase().getPath()), "CanonicalResource.version")) {
|
||||
return false;
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
|
||||
private String pathForElement(String type, String path) {
|
||||
// special case support for metadata elements prior to R5:
|
||||
if (utils.getCanonicalResourceNames().contains(type)) {
|
||||
String fp = path.replace(type+".", "CanonicalResource.");
|
||||
if (Utilities.existsInList(fp,
|
||||
"CanonicalResource.url", "CanonicalResource.identifier", "CanonicalResource.version", "CanonicalResource.name",
|
||||
"CanonicalResource.title", "CanonicalResource.status", "CanonicalResource.experimental", "CanonicalResource.date",
|
||||
"CanonicalResource.publisher", "CanonicalResource.contact", "CanonicalResource.description", "CanonicalResource.useContext",
|
||||
"CanonicalResource.jurisdiction")) {
|
||||
return fp;
|
||||
}
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getXmlTypeName() {
|
||||
TypeRefComponent tr = type;
|
||||
if (tr == null) {
|
||||
|
@ -677,5 +695,15 @@ public class Property {
|
|||
return Utilities.existsInList(tr.getWorkingCode(), "Reference", "url", "uri", "canonical");
|
||||
}
|
||||
|
||||
|
||||
public boolean canBeType(String type) {
|
||||
for (TypeRefComponent tr : getDefinition().getType()) {
|
||||
if (type.equals(tr.getWorkingCode())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -590,13 +590,14 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
break;
|
||||
}
|
||||
warningMessage = warningMessage + ", so the code has not been validated";
|
||||
if (!inExpansion && cs.getContent() != CodeSystemContentMode.FRAGMENT) { // we're going to give it a go if it's a fragment
|
||||
if (!options.isExampleOK() && !inExpansion && cs.getContent() != CodeSystemContentMode.FRAGMENT) { // we're going to give it a go if it's a fragment
|
||||
throw new VSCheckerException(warningMessage, null, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (cs != null /*&& (cs.getContent() == CodeSystemContentMode.COMPLETE || cs.getContent() == CodeSystemContentMode.FRAGMENT)*/) {
|
||||
if (!(cs.getContent() == CodeSystemContentMode.COMPLETE || cs.getContent() == CodeSystemContentMode.FRAGMENT)) {
|
||||
if (!(cs.getContent() == CodeSystemContentMode.COMPLETE || cs.getContent() == CodeSystemContentMode.FRAGMENT ||
|
||||
(options.isExampleOK() && cs.getContent() == CodeSystemContentMode.EXAMPLE))) {
|
||||
if (inInclude) {
|
||||
ConceptReferenceComponent cc = findInInclude(code);
|
||||
if (cc != null) {
|
||||
|
@ -608,7 +609,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
}
|
||||
}
|
||||
// we can't validate that here.
|
||||
throw new FHIRException("Unable to evaluate based on empty code system");
|
||||
throw new FHIRException("Unable to evaluate based on code system with status = "+cs.getContent().toCode());
|
||||
}
|
||||
res = validateCode(path, code, cs, null, info);
|
||||
res.setIssues(issues);
|
||||
|
|
|
@ -24,7 +24,7 @@ public class ResourceLanguageFileBuilderTests {
|
|||
ctxt.cacheResource(new JsonParser().parse(TestingUtilities.loadTestResourceStream("r5", "languages", "StructureDefinition-ed-translatable.json")));
|
||||
ctxt.cacheResource(new JsonParser().parse(TestingUtilities.loadTestResourceStream("r5", "languages", "StructureDefinition-sd-translatable.json")));
|
||||
lang.setProfile(ctxt.fetchResource(StructureDefinition.class, "http://hl7.org/tests/fhir/StructureDefinition/sd-translatable"));
|
||||
lang.prepare(new XLIFFProducer(Utilities.path("[tmp]", "language")), ctxt, "en", "fr");
|
||||
lang.prepare(new XLIFFProducer("[tmp]", "language", false), ctxt, "en", "fr");
|
||||
lang.build(res);
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>org.hl7.fhir.core</artifactId>
|
||||
<version>6.3.3-SNAPSHOT</version>
|
||||
<version>6.3.4-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>org.hl7.fhir.core</artifactId>
|
||||
<version>6.3.3-SNAPSHOT</version>
|
||||
<version>6.3.4-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -13,8 +13,8 @@ import org.hl7.fhir.utilities.json.parser.JsonParser;
|
|||
|
||||
public class JsonLangFileProducer extends LanguageFileProducer {
|
||||
|
||||
public JsonLangFileProducer(String folder) {
|
||||
super(folder);
|
||||
public JsonLangFileProducer(String rootFolder, String folderName, boolean useLangFolder) {
|
||||
super(rootFolder, folderName, useLangFolder);
|
||||
}
|
||||
|
||||
public JsonLangFileProducer() {
|
||||
|
@ -102,7 +102,7 @@ public class JsonLangFileProducer extends LanguageFileProducer {
|
|||
}
|
||||
|
||||
private String getFileName(String id, String baseLang) throws IOException {
|
||||
return Utilities.path(getFolder(), id+"-"+baseLang+".json");
|
||||
return Utilities.path(getRootFolder(), getFolderName(), id+"-"+baseLang+".json");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -132,7 +132,7 @@ public class JsonLangFileProducer extends LanguageFileProducer {
|
|||
entry.add("source", tu.getSrcText());
|
||||
entry.add("target", tu.getTgtText());
|
||||
}
|
||||
TextFile.stringToFile(JsonParser.compose(json, true), Utilities.path(getFolder(), filename));
|
||||
TextFile.stringToFile(JsonParser.compose(json, true), getTargetFileName(targetLang, filename));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import java.util.Map;
|
|||
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
|
||||
import org.hl7.fhir.utilities.Utilities;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
|
||||
|
@ -143,21 +144,41 @@ public abstract class LanguageFileProducer {
|
|||
public abstract void finish() throws IOException;
|
||||
}
|
||||
|
||||
private String folder;
|
||||
private String rootFolder;
|
||||
private String folderName;
|
||||
private boolean useLangFolder;
|
||||
|
||||
public LanguageFileProducer(String folder) {
|
||||
public LanguageFileProducer(String rootFolder, String folderName, boolean useLangFolder) {
|
||||
super();
|
||||
this.folder = folder;
|
||||
this.rootFolder = rootFolder;
|
||||
this.folderName = folderName;
|
||||
this.useLangFolder = useLangFolder;
|
||||
}
|
||||
|
||||
public LanguageFileProducer() {
|
||||
super();
|
||||
}
|
||||
|
||||
public String getFolder() {
|
||||
return folder;
|
||||
|
||||
public String getRootFolder() {
|
||||
return rootFolder;
|
||||
}
|
||||
|
||||
public String getFolderName() {
|
||||
return folderName;
|
||||
}
|
||||
|
||||
public boolean isUseLangFolder() {
|
||||
return useLangFolder;
|
||||
}
|
||||
|
||||
|
||||
protected String getTargetFileName(String targetLang, String filename) throws IOException {
|
||||
return Utilities.path(getRootFolder(), isUseLangFolder() ? targetLang : ".", getFolderName(), filename);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public abstract LanguageProducerSession startSession(String id, String baseLang) throws IOException;
|
||||
public abstract void finish();
|
||||
|
||||
|
|
|
@ -15,8 +15,8 @@ public class PoGetTextProducer extends LanguageFileProducer {
|
|||
private int filecount;
|
||||
private boolean incLangInFilename;
|
||||
|
||||
public PoGetTextProducer(String folder) {
|
||||
super(folder);
|
||||
public PoGetTextProducer(String rootFolder, String folderName, boolean useLangFolder) {
|
||||
super(rootFolder, folderName, useLangFolder);
|
||||
}
|
||||
|
||||
public PoGetTextProducer() {
|
||||
|
@ -142,7 +142,7 @@ public class PoGetTextProducer extends LanguageFileProducer {
|
|||
}
|
||||
|
||||
private String getFileName(String id, String baseLang, String targetLang) throws IOException {
|
||||
return Utilities.path(getFolder(), id+(incLangInFilename ? "-"+baseLang+"-"+targetLang+".po" : ""));
|
||||
return Utilities.path(getRootFolder(), getFolderName(), id+(incLangInFilename ? "-"+baseLang+"-"+targetLang+".po" : ""));
|
||||
}
|
||||
|
||||
public boolean isIncLangInFilename() {
|
||||
|
@ -167,11 +167,20 @@ public class PoGetTextProducer extends LanguageFileProducer {
|
|||
if (tu.getContext1() != null) {
|
||||
ln(po, "#. "+tu.getContext1());
|
||||
}
|
||||
ln(po, "msgid \""+tu.getSrcText()+"\"");
|
||||
ln(po, "msgstr \""+(tu.getTgtText() == null ? "" : tu.getTgtText())+"\"");
|
||||
ln(po, "msgid \""+stripEoln(tu.getSrcText())+"\"");
|
||||
ln(po, "msgstr \""+(tu.getTgtText() == null ? "" : stripEoln(tu.getTgtText()))+"\"");
|
||||
ln(po, "");
|
||||
}
|
||||
TextFile.stringToFile(po.toString(), Utilities.path(getFolder(), filename));
|
||||
TextFile.stringToFile(po.toString(), getTargetFileName(targetLang, filename));
|
||||
}
|
||||
|
||||
private String stripEoln(String s) {
|
||||
s = s.replace("\r\n\r\n", " ").replace("\n\n", " ").replace("\r\r", " ");
|
||||
s = s.replace("\r\n", " ").replace("\n", " ").replace("\r", " ");
|
||||
// // yes, the double escaping is intentional here - it appears necessary
|
||||
// s = s.replace("\\r\\n\\r\\n", " ").replace("\\n\\n", " ").replace("\\r\\r", " ");
|
||||
// s = s.replace("\\r\\n", " ").replace("\\n", " ").replace("\\r", " ");
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ public class XLIFFProducer extends LanguageFileProducer {
|
|||
ln(" </body>");
|
||||
ln(" </file>");
|
||||
ln("</xliff>");
|
||||
TextFile.stringToFile(xml.toString(), Utilities.path(getFolder(), id+".xliff"));
|
||||
TextFile.stringToFile(xml.toString(), Utilities.path(getRootFolder(), getFolderName(), id+".xliff"));
|
||||
filecount++;
|
||||
}
|
||||
|
||||
|
@ -80,8 +80,8 @@ public class XLIFFProducer extends LanguageFileProducer {
|
|||
|
||||
private int filecount;
|
||||
|
||||
public XLIFFProducer(String folder) {
|
||||
super(folder);
|
||||
public XLIFFProducer(String rootFolder, String folderName, boolean useLangFolder) {
|
||||
super(rootFolder, folderName, useLangFolder);
|
||||
}
|
||||
|
||||
public XLIFFProducer() {
|
||||
|
@ -163,7 +163,7 @@ public class XLIFFProducer extends LanguageFileProducer {
|
|||
ln(xml, " </body>");
|
||||
ln(xml, " </file>");
|
||||
ln(xml, "</xliff>");
|
||||
TextFile.stringToFile(xml.toString(), Utilities.path(getFolder(), filename));
|
||||
TextFile.stringToFile(xml.toString(), getTargetFileName(targetLang, filename));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ public class ValidationOptions {
|
|||
private boolean useValueSetDisplays;
|
||||
private boolean englishOk = true;
|
||||
private boolean activeOnly = false;
|
||||
private boolean exampleOK = false;
|
||||
private FhirPublication fhirVersion;
|
||||
|
||||
public ValidationOptions(FhirPublication fhirVersion) {
|
||||
|
@ -270,6 +271,19 @@ public class ValidationOptions {
|
|||
return this;
|
||||
}
|
||||
|
||||
public boolean isExampleOK() {
|
||||
return exampleOK;
|
||||
}
|
||||
|
||||
public ValidationOptions setExampleOK(boolean exampleOK) {
|
||||
this.exampleOK = exampleOK;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ValidationOptions withExampleOK() {
|
||||
return setExampleOK(true);
|
||||
}
|
||||
|
||||
public ValidationOptions copy() {
|
||||
ValidationOptions n = new ValidationOptions(fhirVersion);
|
||||
n.langs = langs == null ? null : langs.copy();
|
||||
|
@ -282,13 +296,14 @@ public class ValidationOptions {
|
|||
n.membershipOnly = membershipOnly;
|
||||
n.useValueSetDisplays = useValueSetDisplays;
|
||||
n.displayWarningMode = displayWarningMode;
|
||||
n.exampleOK = exampleOK;
|
||||
return n;
|
||||
}
|
||||
|
||||
|
||||
public String toJson() {
|
||||
return "\"langs\":\""+( langs == null ? "" : langs.toString())+"\", \"useServer\":\""+Boolean.toString(useServer)+"\", \"useClient\":\""+Boolean.toString(useClient)+"\", "+
|
||||
"\"guessSystem\":\""+Boolean.toString(guessSystem)+"\", \"activeOnly\":\""+Boolean.toString(activeOnly)+"\", \"membershipOnly\":\""+Boolean.toString(membershipOnly)+"\", \"displayWarningMode\":\""+Boolean.toString(displayWarningMode)+"\", \"versionFlexible\":\""+Boolean.toString(versionFlexible)+"\"";
|
||||
"\"guessSystem\":\""+Boolean.toString(guessSystem)+"\", \"activeOnly\":\""+Boolean.toString(activeOnly)+(exampleOK ? "\", \"exampleOK\":\""+Boolean.toString(exampleOK) : "")+"\", \"membershipOnly\":\""+Boolean.toString(membershipOnly)+"\", \"displayWarningMode\":\""+Boolean.toString(displayWarningMode)+"\", \"versionFlexible\":\""+Boolean.toString(versionFlexible)+"\"";
|
||||
}
|
||||
|
||||
public String langSummary() {
|
||||
|
|
|
@ -577,8 +577,8 @@ SEARCHPARAMETER_TYPE_WRONG = The type {1} is different to the type {0} in the de
|
|||
SEARCHPARAMETER_EXP_WRONG = The expression ''{2}'' is not compatible with the expression ''{1}'' in the derivedFrom SearchParameter {0}, and this likely indicates that the derivation relationship is not valid
|
||||
SEARCHPARAMETER_MISSING_COMPONENTS = When the SearchParameter has a type of 'composite', then the SearchParameter must define two or more components
|
||||
VALUESET_NO_SYSTEM_WARNING = No System specified, so Concepts and Filters can't be checked
|
||||
VALUESET_INCLUDE_INVALID_CONCEPT_CODE = The code ''{1}'' is not valid in the system {0}
|
||||
VALUESET_INCLUDE_INVALID_CONCEPT_CODE_VER = The code ''{2}'' is not valid in the system {0} version {1}
|
||||
VALUESET_INCLUDE_INVALID_CONCEPT_CODE = The code ''{1}'' is not valid in the system {0} ({2})
|
||||
VALUESET_INCLUDE_INVALID_CONCEPT_CODE_VER = The code ''{2}'' is not valid in the system {0} version {1} ({2})
|
||||
VALUESET_EXAMPLE_SYSTEM_HINT = Example System ''{0}'' specified, so Concepts and Filters can''t be checked
|
||||
VALUESET_EXAMPLE_SYSTEM_ERROR = Example System ''{0}'' specified, which is illegal. Concepts and Filters can''t be checked
|
||||
VALUESET_UNC_SYSTEM_WARNING = Unknown System ''{0}'' specified, so Concepts and Filters can''t be checked (Details: {1})
|
||||
|
@ -1137,7 +1137,7 @@ CODESYSTEM_PROPERTY_SYNONYM_CHECK = The synonym ''{0}'' is not also defined in t
|
|||
CODESYSTEM_PROPERTY_DUPLICATE_CODE = A property is already defined with the code ''{0}''
|
||||
CODESYSTEM_PROPERTY_URI_CODE_MISMATCH = The URI ''{0}'' is normally assigned the code ''{1}''. Using the code ''{2}'' will usually create confusion in ValueSet filters etc
|
||||
CODESYSTEM_PROPERTY_URI_TYPE_MISMATCH = Wrong type ''{2}'': The URI ''{0}'' identifies a property that has the type ''{1}''
|
||||
CODESYSTEM_PROPERTY_UNKNOWN_CODE = This property has only (''{0}'') a code and no URI, so it has no clearly defined meaning in the terminology ecosystem
|
||||
CODESYSTEM_PROPERTY_UNKNOWN_CODE = This property has only a code (''{0}'') and not a URI, so it has no clearly defined meaning in the terminology ecosystem
|
||||
CODESYSTEM_PROPERTY_KNOWN_CODE_SUGGESTIVE = This property has only the standard code (''{0}'') but not the standard URI ''{1}'', so it has no clearly defined meaning in the terminology ecosystem
|
||||
CODESYSTEM_PROPERTY_CODE_TYPE_MISMATCH = Wrong type ''{2}'': The code ''{0}'' identifies a property that has the type ''{1}''
|
||||
CODESYSTEM_PROPERTY_UNDEFINED = The property ''{0}'' has no definition in CodeSystem.property. Many terminology tools won''t know what to do with it
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>org.hl7.fhir.core</artifactId>
|
||||
<version>6.3.3-SNAPSHOT</version>
|
||||
<version>6.3.4-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>org.hl7.fhir.core</artifactId>
|
||||
<version>6.3.3-SNAPSHOT</version>
|
||||
<version>6.3.4-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -619,9 +619,9 @@ public class ValidationService {
|
|||
private void transformLangExtract(CliContext cliContext, ValidationEngine validator) throws IOException {
|
||||
String dst = cliContext.getOutput();
|
||||
Utilities.createDirectory(dst);
|
||||
PoGetTextProducer po = new PoGetTextProducer(Utilities.path(dst));
|
||||
XLIFFProducer xliff = new XLIFFProducer(Utilities.path(dst));
|
||||
JsonLangFileProducer jl = new JsonLangFileProducer(Utilities.path(dst));
|
||||
PoGetTextProducer po = new PoGetTextProducer(dst, ".", false);
|
||||
XLIFFProducer xliff = new XLIFFProducer(dst, ".", false);
|
||||
JsonLangFileProducer jl = new JsonLangFileProducer(dst, ".", false);
|
||||
|
||||
List<SourceFile> refs = new ArrayList<>();
|
||||
ValidatorUtils.parseSources(cliContext.getSources(), refs, validator.getContext());
|
||||
|
@ -652,7 +652,7 @@ public class ValidationService {
|
|||
String dst = cliContext.getOutput();
|
||||
Utilities.createDirectory(dst);
|
||||
|
||||
Set<TranslationUnit> translations = new HashSet<>();
|
||||
List<TranslationUnit> translations = new ArrayList<>();
|
||||
for (String input : cliContext.getInputs()) {
|
||||
loadTranslationSource(translations, input);
|
||||
}
|
||||
|
@ -671,7 +671,7 @@ public class ValidationService {
|
|||
System.out.println("Done - imported "+t+" translations into "+refs.size()+ " in "+dst);
|
||||
}
|
||||
|
||||
private void loadTranslationSource(Set<TranslationUnit> translations, String input) {
|
||||
private void loadTranslationSource(List<TranslationUnit> translations, String input) {
|
||||
File f = new File(input);
|
||||
if (f.exists()) {
|
||||
if (f.isDirectory()) {
|
||||
|
|
|
@ -5761,22 +5761,26 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
|
|||
}
|
||||
|
||||
if (rule(errors, "2023-09-15", IssueType.BUSINESSRULE, element.line(), element.col(), stack.getLiteralPath(), wg != null || url.contains("http://hl7.org/fhir/sid"), I18nConstants.VALIDATION_HL7_WG_NEEDED, ToolingExtensions.EXT_WORKGROUP)) {
|
||||
HL7WorkGroup wgd = HL7WorkGroups.find(wg);
|
||||
if (rule(errors, "2023-09-15", IssueType.BUSINESSRULE, element.line(), element.col(), stack.getLiteralPath(), wgd != null, I18nConstants.VALIDATION_HL7_WG_UNKNOWN, wg)) {
|
||||
String rpub = "HL7 International / "+wgd.getName();
|
||||
if (warning(errors, "2023-09-15", IssueType.BUSINESSRULE, element.line(), element.col(), stack.getLiteralPath(), pub != null, I18nConstants.VALIDATION_HL7_PUBLISHER_MISSING, wg, rpub)) {
|
||||
boolean ok = rpub.equals(pub);
|
||||
if (!ok && wgd.getName2() != null) {
|
||||
ok = ("HL7 International / "+wgd.getName2()).equals(pub);
|
||||
warningOrError(pub.contains("/"), errors, "2023-09-15", IssueType.BUSINESSRULE, element.line(), element.col(), stack.getLiteralPath(), ok, I18nConstants.VALIDATION_HL7_PUBLISHER_MISMATCH2, wg, rpub, "HL7 International / "+wgd.getName2(), pub);
|
||||
} else {
|
||||
warningOrError(pub.contains("/"), errors, "2023-09-15", IssueType.BUSINESSRULE, element.line(), element.col(), stack.getLiteralPath(), ok, I18nConstants.VALIDATION_HL7_PUBLISHER_MISMATCH, wg, rpub, pub);
|
||||
if (wg != null) {
|
||||
HL7WorkGroup wgd = HL7WorkGroups.find(wg);
|
||||
if (rule(errors, "2023-09-15", IssueType.BUSINESSRULE, element.line(), element.col(), stack.getLiteralPath(), wgd != null, I18nConstants.VALIDATION_HL7_WG_UNKNOWN, wg)) {
|
||||
String rpub = "HL7 International / "+wgd.getName();
|
||||
if (warning(errors, "2023-09-15", IssueType.BUSINESSRULE, element.line(), element.col(), stack.getLiteralPath(), pub != null, I18nConstants.VALIDATION_HL7_PUBLISHER_MISSING, wg, rpub)) {
|
||||
boolean ok = rpub.equals(pub);
|
||||
if (!ok && wgd.getName2() != null) {
|
||||
ok = ("HL7 International / "+wgd.getName2()).equals(pub);
|
||||
warningOrError(pub.contains("/"), errors, "2023-09-15", IssueType.BUSINESSRULE, element.line(), element.col(), stack.getLiteralPath(), ok, I18nConstants.VALIDATION_HL7_PUBLISHER_MISMATCH2, wg, rpub, "HL7 International / "+wgd.getName2(), pub);
|
||||
} else {
|
||||
warningOrError(pub.contains("/"), errors, "2023-09-15", IssueType.BUSINESSRULE, element.line(), element.col(), stack.getLiteralPath(), ok, I18nConstants.VALIDATION_HL7_PUBLISHER_MISMATCH, wg, rpub, pub);
|
||||
}
|
||||
}
|
||||
}
|
||||
warning(errors, "2023-09-15", IssueType.BUSINESSRULE, element.line(), element.col(), stack.getLiteralPath(),
|
||||
Utilities.startsWithInList( wgd.getLink(), urls), I18nConstants.VALIDATION_HL7_WG_URL, wg, wgd.getLink());
|
||||
return true;
|
||||
}
|
||||
warning(errors, "2023-09-15", IssueType.BUSINESSRULE, element.line(), element.col(), stack.getLiteralPath(),
|
||||
Utilities.startsWithInList( wgd.getLink(), urls), I18nConstants.VALIDATION_HL7_WG_URL, wg, wgd.getLink());
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
return true; // HL7 sid.
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
@ -439,9 +439,9 @@ public class CodeSystemValidator extends BaseValidator {
|
|||
if (uses.isEmpty()) {
|
||||
// if we have no uses, we're kind of implying that it's the base display, so it should be the same
|
||||
if (rlang == null && lang == null) {
|
||||
ok = rule(errors, "2024-03-06", IssueType.BUSINESSRULE, cs.line(), cs.col(), stack.getLiteralPath(), display == null || display.equals(value), I18nConstants.CODESYSTEM_DESIGNATION_DISP_CLASH_NO_LANG, value, display) && ok;
|
||||
warning(errors, "2024-03-06", IssueType.BUSINESSRULE, cs.line(), cs.col(), stack.getLiteralPath(), display == null || display.equals(value), I18nConstants.CODESYSTEM_DESIGNATION_DISP_CLASH_NO_LANG, value, display);
|
||||
} else if (rlang != null && ((lang == null) || rlang.equals(lang))) {
|
||||
ok = rule(errors, "2024-03-06", IssueType.BUSINESSRULE, cs.line(), cs.col(), stack.getLiteralPath(), display == null || display.equals(value), I18nConstants.CODESYSTEM_DESIGNATION_DISP_CLASH_LANG, value, display, rlang) && ok;
|
||||
warning(errors, "2024-03-06", IssueType.BUSINESSRULE, cs.line(), cs.col(), stack.getLiteralPath(), display == null || display.equals(value), I18nConstants.CODESYSTEM_DESIGNATION_DISP_CLASH_LANG, value, display, rlang);
|
||||
}
|
||||
} else {
|
||||
// .... do we care?
|
||||
|
|
|
@ -295,15 +295,15 @@ public class ValueSetValidator extends BaseValidator {
|
|||
System.out.println(" : Validate "+batch.size()+" codes from "+system+" for "+vsid);
|
||||
}
|
||||
try {
|
||||
context.validateCodeBatch(ValidationOptions.defaults(), batch, null);
|
||||
context.validateCodeBatch(ValidationOptions.defaults().withExampleOK(), batch, null);
|
||||
if (parent.isDebug()) {
|
||||
System.out.println(" : .. "+(System.currentTimeMillis()-t)+"ms");
|
||||
}
|
||||
for (VSCodingValidationRequest cv : batch) {
|
||||
if (version == null) {
|
||||
warningOrHint(errors, NO_RULE_DATE, IssueType.BUSINESSRULE, cv.getStack().getLiteralPath(), cv.getResult().isOk(), !retired, I18nConstants.VALUESET_INCLUDE_INVALID_CONCEPT_CODE, system, cv.getCoding().getCode());
|
||||
warningOrHint(errors, NO_RULE_DATE, IssueType.BUSINESSRULE, cv.getStack().getLiteralPath(), cv.getResult().isOk(), !retired, I18nConstants.VALUESET_INCLUDE_INVALID_CONCEPT_CODE, system, cv.getCoding().getCode(), cv.getResult().getMessage());
|
||||
} else {
|
||||
warningOrHint(errors, NO_RULE_DATE, IssueType.BUSINESSRULE, cv.getStack().getLiteralPath(), cv.getResult().isOk(), !retired, I18nConstants.VALUESET_INCLUDE_INVALID_CONCEPT_CODE_VER, system, version, cv.getCoding().getCode());
|
||||
warningOrHint(errors, NO_RULE_DATE, IssueType.BUSINESSRULE, cv.getStack().getLiteralPath(), cv.getResult().isOk(), !retired, I18nConstants.VALUESET_INCLUDE_INVALID_CONCEPT_CODE_VER, system, version, cv.getCoding().getCode(), cv.getResult().getMessage());
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
@ -333,7 +333,7 @@ public class ValueSetValidator extends BaseValidator {
|
|||
slv.checkConcept(code, display);
|
||||
|
||||
if (version == null) {
|
||||
ValidationResult vv = context.validateCode(ValidationOptions.defaults(), new Coding(system, code, null), null);
|
||||
ValidationResult vv = context.validateCode(ValidationOptions.defaults().withExampleOK(), new Coding(system, code, null), null);
|
||||
if (vv.getErrorClass() == TerminologyServiceErrorClass.CODESYSTEM_UNSUPPORTED) {
|
||||
if (isExampleUrl(system)) {
|
||||
if (isAllowExamples()) {
|
||||
|
@ -347,19 +347,19 @@ public class ValueSetValidator extends BaseValidator {
|
|||
return false;
|
||||
} else {
|
||||
boolean ok = vv.isOk();
|
||||
warning(errors, NO_RULE_DATE, IssueType.BUSINESSRULE, stack, ok, I18nConstants.VALUESET_INCLUDE_INVALID_CONCEPT_CODE, system, code);
|
||||
warning(errors, NO_RULE_DATE, IssueType.BUSINESSRULE, stack, ok, I18nConstants.VALUESET_INCLUDE_INVALID_CONCEPT_CODE, system, code, vv.getMessage());
|
||||
if (vv.getMessage() != null) {
|
||||
hint(errors, NO_RULE_DATE, IssueType.BUSINESSRULE, stack, false, vv.getMessage());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ValidationResult vv = context.validateCode(ValidationOptions.defaults(), new Coding(system, code, null).setVersion(version), null);
|
||||
ValidationResult vv = context.validateCode(ValidationOptions.defaults().withExampleOK(), new Coding(system, code, null).setVersion(version), null);
|
||||
if (vv.getErrorClass() == TerminologyServiceErrorClass.CODESYSTEM_UNSUPPORTED) {
|
||||
warning(errors, NO_RULE_DATE, IssueType.BUSINESSRULE, stackInc.getLiteralPath(), false, I18nConstants.VALUESET_UNC_SYSTEM_WARNING_VER, system+"#"+version, vv.getMessage());
|
||||
return false;
|
||||
} else {
|
||||
boolean ok = vv.isOk();
|
||||
warning(errors, NO_RULE_DATE, IssueType.BUSINESSRULE, stack, ok, I18nConstants.VALUESET_INCLUDE_INVALID_CONCEPT_CODE_VER, system, version, code);
|
||||
warning(errors, NO_RULE_DATE, IssueType.BUSINESSRULE, stack, ok, I18nConstants.VALUESET_INCLUDE_INVALID_CONCEPT_CODE_VER, system, version, code, vv.getMessage());
|
||||
if (vv.getMessage() != null) {
|
||||
hint(errors, NO_RULE_DATE, IssueType.BUSINESSRULE, stack, false, vv.getMessage());
|
||||
}
|
||||
|
|
|
@ -19,3 +19,23 @@ v: {
|
|||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://something/something",
|
||||
"code" : "something"
|
||||
}, "valueSet" :null, "langs":"en, en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "exampleOK":"true", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"severity" : "error",
|
||||
"error" : "A definition for CodeSystem 'http://something/something' could not be found, so the code cannot be validated",
|
||||
"class" : "CODESYSTEM_UNSUPPORTED",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
|
|
|
@ -443,6 +443,23 @@ v: {
|
|||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "code-rule"
|
||||
}],
|
||||
"text" : "The code '1419004' is valid but is not active"
|
||||
},
|
||||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
|
@ -731,6 +748,23 @@ v: {
|
|||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "code-rule"
|
||||
}],
|
||||
"text" : "The code '324252006' is valid but is not active"
|
||||
},
|
||||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
|
@ -922,6 +956,23 @@ v: {
|
|||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "code-rule"
|
||||
}],
|
||||
"text" : "The code '602001' is valid but is not active"
|
||||
},
|
||||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
|
@ -1452,6 +1503,23 @@ v: {
|
|||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "code-rule"
|
||||
}],
|
||||
"text" : "The code '1419004' is valid but is not active"
|
||||
},
|
||||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
|
@ -6589,6 +6657,23 @@ v: {
|
|||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "code-rule"
|
||||
}],
|
||||
"text" : "The code '58108001' is valid but is not active"
|
||||
},
|
||||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
|
@ -7136,7 +7221,6 @@ v: {
|
|||
"error" : "Unknown code 'something' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -7193,10 +7277,89 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "1"
|
||||
}, "valueSet" :null, "langs":"en, en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "exampleOK":"true", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"code" : "1",
|
||||
"severity" : "error",
|
||||
"error" : "Unknown code '1' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "error",
|
||||
"code" : "code-invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "invalid-code"
|
||||
}],
|
||||
"text" : "Unknown code '1' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'"
|
||||
},
|
||||
"location" : ["Coding.code"],
|
||||
"expression" : ["Coding.code"]
|
||||
}]
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "2"
|
||||
}, "valueSet" :null, "langs":"en, en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "exampleOK":"true", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"code" : "2",
|
||||
"severity" : "error",
|
||||
"error" : "Unknown code '2' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "error",
|
||||
"code" : "code-invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "invalid-code"
|
||||
}],
|
||||
"text" : "Unknown code '2' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'"
|
||||
},
|
||||
"location" : ["Coding.code"],
|
||||
"expression" : ["Coding.code"]
|
||||
}]
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
|
|
|
@ -15,7 +15,6 @@ v: {
|
|||
"system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9",
|
||||
"version" : "3.0.0",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -53,7 +52,6 @@ v: {
|
|||
"system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9",
|
||||
"version" : "3.0.0",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -91,7 +89,6 @@ v: {
|
|||
"system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9",
|
||||
"version" : "3.0.0",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -123,6 +120,157 @@ v: {
|
|||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Nearly every day",
|
||||
"code" : "Nearly every day",
|
||||
"system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9",
|
||||
"version" : "3.0.0",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "business-rule",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "status-check"
|
||||
}],
|
||||
"text" : "Reference to draft CodeSystem http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9|3.0.0"
|
||||
}
|
||||
}]
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9",
|
||||
"code" : "Not-at-all"
|
||||
}, "valueSet" :null, "langs":"en, en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "exampleOK":"true", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Not at all",
|
||||
"code" : "Not-at-all",
|
||||
"system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9",
|
||||
"version" : "3.0.0",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "business-rule",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "status-check"
|
||||
}],
|
||||
"text" : "Reference to draft CodeSystem http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9|3.0.0"
|
||||
}
|
||||
}]
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9",
|
||||
"code" : "Several-days"
|
||||
}, "valueSet" :null, "langs":"en, en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "exampleOK":"true", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Several days",
|
||||
"code" : "Several-days",
|
||||
"system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9",
|
||||
"version" : "3.0.0",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "business-rule",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "status-check"
|
||||
}],
|
||||
"text" : "Reference to draft CodeSystem http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9|3.0.0"
|
||||
}
|
||||
}]
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9",
|
||||
"code" : "More than half the days"
|
||||
}, "valueSet" :null, "langs":"en, en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "exampleOK":"true", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "More than half the days",
|
||||
"code" : "More than half the days",
|
||||
"system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9",
|
||||
"version" : "3.0.0",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "business-rule",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "status-check"
|
||||
}],
|
||||
"text" : "Reference to draft CodeSystem http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9|3.0.0"
|
||||
}
|
||||
}]
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9",
|
||||
"code" : "Nearly every day"
|
||||
}, "valueSet" :null, "langs":"en, en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "exampleOK":"true", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Nearly every day",
|
||||
"code" : "Nearly every day",
|
||||
|
|
|
@ -469,7 +469,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -493,7 +492,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -561,7 +559,6 @@ v: {
|
|||
"version" : "http://snomed.info/sct/731000124108/version/20230901",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"inactive" : true,
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -580,6 +577,23 @@ v: {
|
|||
},
|
||||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "code-rule"
|
||||
}],
|
||||
"text" : "The code '132037003' is valid but is not active"
|
||||
},
|
||||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
}]
|
||||
}
|
||||
|
||||
|
@ -644,7 +658,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -667,7 +680,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -691,7 +703,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -715,7 +726,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -739,7 +749,6 @@ v: {
|
|||
"error" : "The provided code 'http://snomed.info/sct#106004' was not found in the value set 'http://hl7.org/fhir/ValueSet/clinical-findings--0|5.0.0'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -786,7 +795,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -810,7 +818,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -835,7 +842,6 @@ v: {
|
|||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"inactive" : true,
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -854,6 +860,23 @@ v: {
|
|||
},
|
||||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "code-rule"
|
||||
}],
|
||||
"text" : "The code '58108001' is valid but is not active"
|
||||
},
|
||||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
}]
|
||||
}
|
||||
|
||||
|
@ -876,7 +899,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -900,7 +922,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -924,7 +945,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -948,7 +968,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -972,7 +991,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -996,7 +1014,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1020,7 +1037,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1043,7 +1059,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1066,7 +1081,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1083,6 +1097,74 @@ v: {
|
|||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "No status change",
|
||||
"code" : "260388006",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "230993007"
|
||||
}, "valueSet" :null, "langs":"en, en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "exampleOK":"true", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Worsening",
|
||||
"code" : "230993007",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "385633008"
|
||||
}, "valueSet" :null, "langs":"en, en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "exampleOK":"true", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Improving (qualifier value)",
|
||||
"code" : "385633008",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "260388006"
|
||||
}, "valueSet" :null, "langs":"en, en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "exampleOK":"true", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "No status change",
|
||||
"code" : "260388006",
|
||||
|
|
4
pom.xml
4
pom.xml
|
@ -14,14 +14,14 @@
|
|||
HAPI FHIR
|
||||
-->
|
||||
<artifactId>org.hl7.fhir.core</artifactId>
|
||||
<version>6.3.3-SNAPSHOT</version>
|
||||
<version>6.3.4-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<properties>
|
||||
<commons_compress_version>1.26.0</commons_compress_version>
|
||||
<guava_version>32.0.1-jre</guava_version>
|
||||
<hapi_fhir_version>6.4.1</hapi_fhir_version>
|
||||
<validator_test_case_version>1.5.2</validator_test_case_version>
|
||||
<validator_test_case_version>1.5.3</validator_test_case_version>
|
||||
<jackson_version>2.16.0</jackson_version>
|
||||
<junit_jupiter_version>5.9.2</junit_jupiter_version>
|
||||
<junit_platform_launcher_version>1.8.2</junit_platform_launcher_version>
|
||||
|
|
Loading…
Reference in New Issue