diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR3.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR3.java index 27082bd05..b2c8220a7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR3.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR3.java @@ -72,7 +72,7 @@ public class TerminologyClientR3 implements TerminologyClient { @Override public ValueSet expandValueset(ValueSet vs, Parameters p, Map params) throws FHIRException { org.hl7.fhir.dstu3.model.ValueSet vs2 = (org.hl7.fhir.dstu3.model.ValueSet) VersionConvertorFactory_30_50.convertResource(vs); - org.hl7.fhir.dstu3.model.ExpansionProfile p2 = (org.hl7.fhir.dstu3.model.ExpansionProfile) VersionConvertorFactory_30_50.convertResource(p); + org.hl7.fhir.dstu3.model.Parameters p2 = (org.hl7.fhir.dstu3.model.Parameters) VersionConvertorFactory_30_50.convertResource(p); vs2 = client.expandValueset(vs2, p2, params); // todo: second parameter return (ValueSet) VersionConvertorFactory_30_50.convertResource(vs2); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Enumerations.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Enumerations.java index 38d4a4a8b..b45099c66 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Enumerations.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Enumerations.java @@ -3741,8 +3741,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, @@ -6874,71 +6874,71 @@ The primary difference between a medicationusage and a medicationadministration public static FHIRVersion fromCode(String codeString) throws FHIRException { if (codeString == null || "".equals(codeString)) return null; - if ("0.01".equals(codeString)) - return _0_01; - if ("0.05".equals(codeString)) - return _0_05; - if ("0.06".equals(codeString)) - return _0_06; - if ("0.11".equals(codeString)) - return _0_11; - if ("0.0.80".equals(codeString)) - return _0_0_80; - if ("0.0.81".equals(codeString)) - return _0_0_81; - if ("0.0.82".equals(codeString)) - return _0_0_82; - if ("0.4.0".equals(codeString)) - return _0_4_0; - if ("0.5.0".equals(codeString)) - return _0_5_0; - if ("1.0.0".equals(codeString)) - return _1_0_0; - if ("1.0.1".equals(codeString)) - return _1_0_1; - if ("1.0.2".equals(codeString)) - return _1_0_2; - if ("1.1.0".equals(codeString)) - return _1_1_0; - if ("1.4.0".equals(codeString)) - return _1_4_0; - if ("1.6.0".equals(codeString)) - return _1_6_0; - if ("1.8.0".equals(codeString)) - return _1_8_0; - if ("3.0.0".equals(codeString)) - return _3_0_0; - if ("3.0.1".equals(codeString)) - return _3_0_1; - if ("3.0.2".equals(codeString)) - return _3_0_2; - if ("3.3.0".equals(codeString)) - return _3_3_0; - if ("3.5.0".equals(codeString)) - return _3_5_0; - if ("4.0.0".equals(codeString)) - return _4_0_0; - if ("4.0.1".equals(codeString)) - return _4_0_1; - if ("4.1.0".equals(codeString)) - return _4_1_0; - if ("4.2.0".equals(codeString)) - return _4_2_0; + if ("0.01".equals(codeString)) + return _0_01; + if ("0.05".equals(codeString)) + return _0_05; + if ("0.06".equals(codeString)) + return _0_06; + if ("0.11".equals(codeString)) + return _0_11; + if ("0.0.80".equals(codeString)) + return _0_0_80; + if ("0.0.81".equals(codeString)) + return _0_0_81; + if ("0.0.82".equals(codeString)) + return _0_0_82; + if ("0.4.0".equals(codeString)) + return _0_4_0; + if ("0.5.0".equals(codeString)) + return _0_5_0; + if ("1.0.0".equals(codeString)) + return _1_0_0; + if ("1.0.1".equals(codeString)) + return _1_0_1; + if ("1.0.2".equals(codeString)) + return _1_0_2; + if ("1.1.0".equals(codeString)) + return _1_1_0; + if ("1.4.0".equals(codeString)) + return _1_4_0; + if ("1.6.0".equals(codeString)) + return _1_6_0; + if ("1.8.0".equals(codeString)) + return _1_8_0; + if ("3.0.0".equals(codeString)) + return _3_0_0; + if ("3.0.1".equals(codeString)) + return _3_0_1; + if ("3.0.2".equals(codeString)) + return _3_0_2; + if ("3.3.0".equals(codeString)) + return _3_3_0; + if ("3.5.0".equals(codeString)) + return _3_5_0; + if ("4.0.0".equals(codeString)) + return _4_0_0; + if ("4.0.1".equals(codeString)) + return _4_0_1; + if ("4.1.0".equals(codeString)) + return _4_1_0; + if ("4.2.0".equals(codeString)) + return _4_2_0; if ("4.3.0-snapshot1".equalsIgnoreCase(codeString)) - return _4_3_0SNAPSHOT1; + return _4_3_0SNAPSHOT1; if ("4.3.0-cibuild".equalsIgnoreCase(codeString)) - return _4_3_0CIBUILD; - if ("4.4.0".equals(codeString)) - return _4_4_0; - if ("4.5.0".equals(codeString)) - return _4_5_0; - if ("4.6.0".equals(codeString)) - return _4_6_0; + return _4_3_0CIBUILD; + if ("4.4.0".equals(codeString)) + return _4_4_0; + if ("4.5.0".equals(codeString)) + return _4_5_0; + if ("4.6.0".equals(codeString)) + return _4_6_0; if ("5.0.0-snapshot1".equalsIgnoreCase(codeString)) - return _5_0_0SNAPSHOT1; + return _5_0_0SNAPSHOT1; if ("5.0.0-cibuild".equalsIgnoreCase(codeString)) - return _5_0_0CIBUILD; - throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'"); + return _5_0_0CIBUILD; + throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'"); } public String toCode() { switch (this) { @@ -7104,51 +7104,51 @@ public String toCode(int len) { public static boolean isValidCode(String codeString) { if (codeString == null || "".equals(codeString)) return false; - if ("0.01".equals(codeString)) - return true; - if ("0.05".equals(codeString)) - return true; - if ("0.06".equals(codeString)) - return true; - if ("0.11".equals(codeString)) - return true; - if ("0.0.80".equals(codeString)) - return true; - if ("0.0.81".equals(codeString)) - return true; - if ("0.0.82".equals(codeString)) - return true; - if ("0.4.0".equals(codeString)) - return true; - if ("0.5.0".equals(codeString)) - return true; - if ("1.0.0".equals(codeString)) - return true; - if ("1.0.1".equals(codeString)) - return true; - if ("1.0.2".equals(codeString)) - return true; - if ("1.1.0".equals(codeString)) - return true; - if ("1.4.0".equals(codeString)) - return true; - if ("1.6.0".equals(codeString)) - return true; - if ("1.8.0".equals(codeString)) - return true; - if ("3.0.0".equals(codeString)) - return true; - if ("3.0.1".equals(codeString)) - return true; - if ("3.3.0".equals(codeString)) - return true; - if ("3.5.0".equals(codeString)) - return true; - if ("4.0.0".equals(codeString)) - return true; - if ("4.2.0".equals(codeString)) - return true; - return false; + if ("0.01".equals(codeString)) + return true; + if ("0.05".equals(codeString)) + return true; + if ("0.06".equals(codeString)) + return true; + if ("0.11".equals(codeString)) + return true; + if ("0.0.80".equals(codeString)) + return true; + if ("0.0.81".equals(codeString)) + return true; + if ("0.0.82".equals(codeString)) + return true; + if ("0.4.0".equals(codeString)) + return true; + if ("0.5.0".equals(codeString)) + return true; + if ("1.0.0".equals(codeString)) + return true; + if ("1.0.1".equals(codeString)) + return true; + if ("1.0.2".equals(codeString)) + return true; + if ("1.1.0".equals(codeString)) + return true; + if ("1.4.0".equals(codeString)) + return true; + if ("1.6.0".equals(codeString)) + return true; + if ("1.8.0".equals(codeString)) + return true; + if ("3.0.0".equals(codeString)) + return true; + if ("3.0.1".equals(codeString)) + return true; + if ("3.3.0".equals(codeString)) + return true; + if ("3.5.0".equals(codeString)) + return true; + if ("4.0.0".equals(codeString)) + return true; + if ("4.2.0".equals(codeString)) + return true; + return false; } @Override @@ -7169,71 +7169,71 @@ public String toCode(int len) { if (codeString == null || "".equals(codeString)) if (codeString == null || "".equals(codeString)) return null; - if ("0.01".equals(codeString)) - return FHIRVersion._0_01; - if ("0.05".equals(codeString)) - return FHIRVersion._0_05; - if ("0.06".equals(codeString)) - return FHIRVersion._0_06; - if ("0.11".equals(codeString)) - return FHIRVersion._0_11; - if ("0.0.80".equals(codeString)) - return FHIRVersion._0_0_80; - if ("0.0.81".equals(codeString)) - return FHIRVersion._0_0_81; - if ("0.0.82".equals(codeString)) - return FHIRVersion._0_0_82; - if ("0.4.0".equals(codeString)) - return FHIRVersion._0_4_0; - if ("0.5.0".equals(codeString)) - return FHIRVersion._0_5_0; - if ("1.0.0".equals(codeString)) - return FHIRVersion._1_0_0; - if ("1.0.1".equals(codeString)) - return FHIRVersion._1_0_1; - if ("1.0.2".equals(codeString)) - return FHIRVersion._1_0_2; - if ("1.1.0".equals(codeString)) - return FHIRVersion._1_1_0; - if ("1.4.0".equals(codeString)) - return FHIRVersion._1_4_0; - if ("1.6.0".equals(codeString)) - return FHIRVersion._1_6_0; - if ("1.8.0".equals(codeString)) - return FHIRVersion._1_8_0; - if ("3.0.0".equals(codeString)) - return FHIRVersion._3_0_0; - if ("3.0.1".equals(codeString)) - return FHIRVersion._3_0_1; - if ("3.0.2".equals(codeString)) - return FHIRVersion._3_0_2; - if ("3.3.0".equals(codeString)) - return FHIRVersion._3_3_0; - if ("3.5.0".equals(codeString)) - return FHIRVersion._3_5_0; - if ("4.0.0".equals(codeString)) - return FHIRVersion._4_0_0; - if ("4.0.1".equals(codeString)) - return FHIRVersion._4_0_1; - if ("4.1.0".equals(codeString)) - return FHIRVersion._4_1_0; - if ("4.2.0".equals(codeString)) - return FHIRVersion._4_2_0; + if ("0.01".equals(codeString)) + return FHIRVersion._0_01; + if ("0.05".equals(codeString)) + return FHIRVersion._0_05; + if ("0.06".equals(codeString)) + return FHIRVersion._0_06; + if ("0.11".equals(codeString)) + return FHIRVersion._0_11; + if ("0.0.80".equals(codeString)) + return FHIRVersion._0_0_80; + if ("0.0.81".equals(codeString)) + return FHIRVersion._0_0_81; + if ("0.0.82".equals(codeString)) + return FHIRVersion._0_0_82; + if ("0.4.0".equals(codeString)) + return FHIRVersion._0_4_0; + if ("0.5.0".equals(codeString)) + return FHIRVersion._0_5_0; + if ("1.0.0".equals(codeString)) + return FHIRVersion._1_0_0; + if ("1.0.1".equals(codeString)) + return FHIRVersion._1_0_1; + if ("1.0.2".equals(codeString)) + return FHIRVersion._1_0_2; + if ("1.1.0".equals(codeString)) + return FHIRVersion._1_1_0; + if ("1.4.0".equals(codeString)) + return FHIRVersion._1_4_0; + if ("1.6.0".equals(codeString)) + return FHIRVersion._1_6_0; + if ("1.8.0".equals(codeString)) + return FHIRVersion._1_8_0; + if ("3.0.0".equals(codeString)) + return FHIRVersion._3_0_0; + if ("3.0.1".equals(codeString)) + return FHIRVersion._3_0_1; + if ("3.0.2".equals(codeString)) + return FHIRVersion._3_0_2; + if ("3.3.0".equals(codeString)) + return FHIRVersion._3_3_0; + if ("3.5.0".equals(codeString)) + return FHIRVersion._3_5_0; + if ("4.0.0".equals(codeString)) + return FHIRVersion._4_0_0; + if ("4.0.1".equals(codeString)) + return FHIRVersion._4_0_1; + if ("4.1.0".equals(codeString)) + return FHIRVersion._4_1_0; + if ("4.2.0".equals(codeString)) + return FHIRVersion._4_2_0; if ("4.3.0-snapshot1".equalsIgnoreCase(codeString)) - return FHIRVersion._4_3_0SNAPSHOT1; + return FHIRVersion._4_3_0SNAPSHOT1; if ("4.3.0-cibuild".equalsIgnoreCase(codeString)) - return FHIRVersion._4_3_0CIBUILD; - if ("4.4.0".equals(codeString)) - return FHIRVersion._4_4_0; - if ("4.5.0".equals(codeString)) - return FHIRVersion._4_5_0; - if ("4.6.0".equals(codeString)) - return FHIRVersion._4_6_0; + return FHIRVersion._4_3_0CIBUILD; + if ("4.4.0".equals(codeString)) + return FHIRVersion._4_4_0; + if ("4.5.0".equals(codeString)) + return FHIRVersion._4_5_0; + if ("4.6.0".equals(codeString)) + return FHIRVersion._4_6_0; if ("5.0.0-snapshot1".equalsIgnoreCase(codeString)) - return FHIRVersion._5_0_0SNAPSHOT1; + return FHIRVersion._5_0_0SNAPSHOT1; if ("5.0.0-cibuild".equalsIgnoreCase(codeString)) - return FHIRVersion._5_0_0CIBUILD; - throw new IllegalArgumentException("Unknown FHIRVersion code '"+codeString+"'"); + return FHIRVersion._5_0_0CIBUILD; + throw new IllegalArgumentException("Unknown FHIRVersion code '"+codeString+"'"); } public Enumeration fromType(Base code) throws FHIRException { if (code == null) @@ -9870,8 +9870,8 @@ public String toCode(int len) { */ 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, diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/TypesUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/TypesUtilities.java index 22c7f7706..84bd15995 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/TypesUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/TypesUtilities.java @@ -132,7 +132,9 @@ public class TypesUtilities { res.add(new WildcardInformation("Annotation", TypeClassification.DATATYPE)); res.add(new WildcardInformation("Attachment", TypeClassification.DATATYPE)); res.add(new WildcardInformation("CodeableConcept", TypeClassification.DATATYPE)); - res.add(new WildcardInformation("CodeableReference", TypeClassification.DATATYPE)); + if (!VersionUtilities.isR4BVer(version)) { + res.add(new WildcardInformation("CodeableReference", TypeClassification.DATATYPE)); + } res.add(new WildcardInformation("Coding", TypeClassification.DATATYPE)); res.add(new WildcardInformation("ContactPoint", TypeClassification.DATATYPE)); res.add(new WildcardInformation("Count", TypeClassification.DATATYPE)); @@ -145,7 +147,9 @@ public class TypesUtilities { res.add(new WildcardInformation("Quantity", TypeClassification.DATATYPE)); res.add(new WildcardInformation("Range", TypeClassification.DATATYPE)); res.add(new WildcardInformation("Ratio", TypeClassification.DATATYPE)); - res.add(new WildcardInformation("RatioRange", TypeClassification.DATATYPE)); + if (!VersionUtilities.isR4BVer(version)) { + res.add(new WildcardInformation("RatioRange", TypeClassification.DATATYPE)); + } res.add(new WildcardInformation("Reference", " - a reference to another resource", TypeClassification.DATATYPE)); res.add(new WildcardInformation("SampledData", TypeClassification.DATATYPE)); res.add(new WildcardInformation("Signature", TypeClassification.DATATYPE)); diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xml/XMLUtil.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xml/XMLUtil.java index 9e0ad4116..34ba270a5 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xml/XMLUtil.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xml/XMLUtil.java @@ -273,9 +273,9 @@ public class XMLUtil { for (int i = 0; i < rawContent.length(); i++) { char ch = rawContent.charAt(i); - if (ch == '\'') - sb.append("'"); - else if (ch == '&') + // We don't escape ' because our code always spits out attributes surrounded by "", which means + // it's not necessary to escape ' - and it's *much* less ugly and more bandwidth-efficient when we don't. + if (ch == '&') sb.append("&"); else if (ch == '"') sb.append(""");