This commit is contained in:
Grahame Grieve 2022-03-11 13:10:53 +11:00
commit 084da8b576
4 changed files with 181 additions and 177 deletions

View File

@ -72,7 +72,7 @@ public class TerminologyClientR3 implements TerminologyClient {
@Override @Override
public ValueSet expandValueset(ValueSet vs, Parameters p, Map<String, String> params) throws FHIRException { public ValueSet expandValueset(ValueSet vs, Parameters p, Map<String, String> 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.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 vs2 = client.expandValueset(vs2, p2, params); // todo: second parameter
return (ValueSet) VersionConvertorFactory_30_50.convertResource(vs2); return (ValueSet) VersionConvertorFactory_30_50.convertResource(vs2);
} }

View File

@ -3741,8 +3741,8 @@ public class Enumerations {
*/ */
MEDICATIONREQUEST, 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. 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, MEDICATIONUSAGE,
@ -6874,71 +6874,71 @@ The primary difference between a medicationusage and a medicationadministration
public static FHIRVersion fromCode(String codeString) throws FHIRException { public static FHIRVersion fromCode(String codeString) throws FHIRException {
if (codeString == null || "".equals(codeString)) if (codeString == null || "".equals(codeString))
return null; return null;
if ("0.01".equals(codeString)) if ("0.01".equals(codeString))
return _0_01; return _0_01;
if ("0.05".equals(codeString)) if ("0.05".equals(codeString))
return _0_05; return _0_05;
if ("0.06".equals(codeString)) if ("0.06".equals(codeString))
return _0_06; return _0_06;
if ("0.11".equals(codeString)) if ("0.11".equals(codeString))
return _0_11; return _0_11;
if ("0.0.80".equals(codeString)) if ("0.0.80".equals(codeString))
return _0_0_80; return _0_0_80;
if ("0.0.81".equals(codeString)) if ("0.0.81".equals(codeString))
return _0_0_81; return _0_0_81;
if ("0.0.82".equals(codeString)) if ("0.0.82".equals(codeString))
return _0_0_82; return _0_0_82;
if ("0.4.0".equals(codeString)) if ("0.4.0".equals(codeString))
return _0_4_0; return _0_4_0;
if ("0.5.0".equals(codeString)) if ("0.5.0".equals(codeString))
return _0_5_0; return _0_5_0;
if ("1.0.0".equals(codeString)) if ("1.0.0".equals(codeString))
return _1_0_0; return _1_0_0;
if ("1.0.1".equals(codeString)) if ("1.0.1".equals(codeString))
return _1_0_1; return _1_0_1;
if ("1.0.2".equals(codeString)) if ("1.0.2".equals(codeString))
return _1_0_2; return _1_0_2;
if ("1.1.0".equals(codeString)) if ("1.1.0".equals(codeString))
return _1_1_0; return _1_1_0;
if ("1.4.0".equals(codeString)) if ("1.4.0".equals(codeString))
return _1_4_0; return _1_4_0;
if ("1.6.0".equals(codeString)) if ("1.6.0".equals(codeString))
return _1_6_0; return _1_6_0;
if ("1.8.0".equals(codeString)) if ("1.8.0".equals(codeString))
return _1_8_0; return _1_8_0;
if ("3.0.0".equals(codeString)) if ("3.0.0".equals(codeString))
return _3_0_0; return _3_0_0;
if ("3.0.1".equals(codeString)) if ("3.0.1".equals(codeString))
return _3_0_1; return _3_0_1;
if ("3.0.2".equals(codeString)) if ("3.0.2".equals(codeString))
return _3_0_2; return _3_0_2;
if ("3.3.0".equals(codeString)) if ("3.3.0".equals(codeString))
return _3_3_0; return _3_3_0;
if ("3.5.0".equals(codeString)) if ("3.5.0".equals(codeString))
return _3_5_0; return _3_5_0;
if ("4.0.0".equals(codeString)) if ("4.0.0".equals(codeString))
return _4_0_0; return _4_0_0;
if ("4.0.1".equals(codeString)) if ("4.0.1".equals(codeString))
return _4_0_1; return _4_0_1;
if ("4.1.0".equals(codeString)) if ("4.1.0".equals(codeString))
return _4_1_0; return _4_1_0;
if ("4.2.0".equals(codeString)) if ("4.2.0".equals(codeString))
return _4_2_0; return _4_2_0;
if ("4.3.0-snapshot1".equalsIgnoreCase(codeString)) if ("4.3.0-snapshot1".equalsIgnoreCase(codeString))
return _4_3_0SNAPSHOT1; return _4_3_0SNAPSHOT1;
if ("4.3.0-cibuild".equalsIgnoreCase(codeString)) if ("4.3.0-cibuild".equalsIgnoreCase(codeString))
return _4_3_0CIBUILD; return _4_3_0CIBUILD;
if ("4.4.0".equals(codeString)) if ("4.4.0".equals(codeString))
return _4_4_0; return _4_4_0;
if ("4.5.0".equals(codeString)) if ("4.5.0".equals(codeString))
return _4_5_0; return _4_5_0;
if ("4.6.0".equals(codeString)) if ("4.6.0".equals(codeString))
return _4_6_0; return _4_6_0;
if ("5.0.0-snapshot1".equalsIgnoreCase(codeString)) if ("5.0.0-snapshot1".equalsIgnoreCase(codeString))
return _5_0_0SNAPSHOT1; return _5_0_0SNAPSHOT1;
if ("5.0.0-cibuild".equalsIgnoreCase(codeString)) if ("5.0.0-cibuild".equalsIgnoreCase(codeString))
return _5_0_0CIBUILD; return _5_0_0CIBUILD;
throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'"); throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'");
} }
public String toCode() { public String toCode() {
switch (this) { switch (this) {
@ -7104,51 +7104,51 @@ public String toCode(int len) {
public static boolean isValidCode(String codeString) { public static boolean isValidCode(String codeString) {
if (codeString == null || "".equals(codeString)) if (codeString == null || "".equals(codeString))
return false; return false;
if ("0.01".equals(codeString)) if ("0.01".equals(codeString))
return true; return true;
if ("0.05".equals(codeString)) if ("0.05".equals(codeString))
return true; return true;
if ("0.06".equals(codeString)) if ("0.06".equals(codeString))
return true; return true;
if ("0.11".equals(codeString)) if ("0.11".equals(codeString))
return true; return true;
if ("0.0.80".equals(codeString)) if ("0.0.80".equals(codeString))
return true; return true;
if ("0.0.81".equals(codeString)) if ("0.0.81".equals(codeString))
return true; return true;
if ("0.0.82".equals(codeString)) if ("0.0.82".equals(codeString))
return true; return true;
if ("0.4.0".equals(codeString)) if ("0.4.0".equals(codeString))
return true; return true;
if ("0.5.0".equals(codeString)) if ("0.5.0".equals(codeString))
return true; return true;
if ("1.0.0".equals(codeString)) if ("1.0.0".equals(codeString))
return true; return true;
if ("1.0.1".equals(codeString)) if ("1.0.1".equals(codeString))
return true; return true;
if ("1.0.2".equals(codeString)) if ("1.0.2".equals(codeString))
return true; return true;
if ("1.1.0".equals(codeString)) if ("1.1.0".equals(codeString))
return true; return true;
if ("1.4.0".equals(codeString)) if ("1.4.0".equals(codeString))
return true; return true;
if ("1.6.0".equals(codeString)) if ("1.6.0".equals(codeString))
return true; return true;
if ("1.8.0".equals(codeString)) if ("1.8.0".equals(codeString))
return true; return true;
if ("3.0.0".equals(codeString)) if ("3.0.0".equals(codeString))
return true; return true;
if ("3.0.1".equals(codeString)) if ("3.0.1".equals(codeString))
return true; return true;
if ("3.3.0".equals(codeString)) if ("3.3.0".equals(codeString))
return true; return true;
if ("3.5.0".equals(codeString)) if ("3.5.0".equals(codeString))
return true; return true;
if ("4.0.0".equals(codeString)) if ("4.0.0".equals(codeString))
return true; return true;
if ("4.2.0".equals(codeString)) if ("4.2.0".equals(codeString))
return true; return true;
return false; return false;
} }
@Override @Override
@ -7169,71 +7169,71 @@ public String toCode(int len) {
if (codeString == null || "".equals(codeString)) if (codeString == null || "".equals(codeString))
if (codeString == null || "".equals(codeString)) if (codeString == null || "".equals(codeString))
return null; return null;
if ("0.01".equals(codeString)) if ("0.01".equals(codeString))
return FHIRVersion._0_01; return FHIRVersion._0_01;
if ("0.05".equals(codeString)) if ("0.05".equals(codeString))
return FHIRVersion._0_05; return FHIRVersion._0_05;
if ("0.06".equals(codeString)) if ("0.06".equals(codeString))
return FHIRVersion._0_06; return FHIRVersion._0_06;
if ("0.11".equals(codeString)) if ("0.11".equals(codeString))
return FHIRVersion._0_11; return FHIRVersion._0_11;
if ("0.0.80".equals(codeString)) if ("0.0.80".equals(codeString))
return FHIRVersion._0_0_80; return FHIRVersion._0_0_80;
if ("0.0.81".equals(codeString)) if ("0.0.81".equals(codeString))
return FHIRVersion._0_0_81; return FHIRVersion._0_0_81;
if ("0.0.82".equals(codeString)) if ("0.0.82".equals(codeString))
return FHIRVersion._0_0_82; return FHIRVersion._0_0_82;
if ("0.4.0".equals(codeString)) if ("0.4.0".equals(codeString))
return FHIRVersion._0_4_0; return FHIRVersion._0_4_0;
if ("0.5.0".equals(codeString)) if ("0.5.0".equals(codeString))
return FHIRVersion._0_5_0; return FHIRVersion._0_5_0;
if ("1.0.0".equals(codeString)) if ("1.0.0".equals(codeString))
return FHIRVersion._1_0_0; return FHIRVersion._1_0_0;
if ("1.0.1".equals(codeString)) if ("1.0.1".equals(codeString))
return FHIRVersion._1_0_1; return FHIRVersion._1_0_1;
if ("1.0.2".equals(codeString)) if ("1.0.2".equals(codeString))
return FHIRVersion._1_0_2; return FHIRVersion._1_0_2;
if ("1.1.0".equals(codeString)) if ("1.1.0".equals(codeString))
return FHIRVersion._1_1_0; return FHIRVersion._1_1_0;
if ("1.4.0".equals(codeString)) if ("1.4.0".equals(codeString))
return FHIRVersion._1_4_0; return FHIRVersion._1_4_0;
if ("1.6.0".equals(codeString)) if ("1.6.0".equals(codeString))
return FHIRVersion._1_6_0; return FHIRVersion._1_6_0;
if ("1.8.0".equals(codeString)) if ("1.8.0".equals(codeString))
return FHIRVersion._1_8_0; return FHIRVersion._1_8_0;
if ("3.0.0".equals(codeString)) if ("3.0.0".equals(codeString))
return FHIRVersion._3_0_0; return FHIRVersion._3_0_0;
if ("3.0.1".equals(codeString)) if ("3.0.1".equals(codeString))
return FHIRVersion._3_0_1; return FHIRVersion._3_0_1;
if ("3.0.2".equals(codeString)) if ("3.0.2".equals(codeString))
return FHIRVersion._3_0_2; return FHIRVersion._3_0_2;
if ("3.3.0".equals(codeString)) if ("3.3.0".equals(codeString))
return FHIRVersion._3_3_0; return FHIRVersion._3_3_0;
if ("3.5.0".equals(codeString)) if ("3.5.0".equals(codeString))
return FHIRVersion._3_5_0; return FHIRVersion._3_5_0;
if ("4.0.0".equals(codeString)) if ("4.0.0".equals(codeString))
return FHIRVersion._4_0_0; return FHIRVersion._4_0_0;
if ("4.0.1".equals(codeString)) if ("4.0.1".equals(codeString))
return FHIRVersion._4_0_1; return FHIRVersion._4_0_1;
if ("4.1.0".equals(codeString)) if ("4.1.0".equals(codeString))
return FHIRVersion._4_1_0; return FHIRVersion._4_1_0;
if ("4.2.0".equals(codeString)) if ("4.2.0".equals(codeString))
return FHIRVersion._4_2_0; return FHIRVersion._4_2_0;
if ("4.3.0-snapshot1".equalsIgnoreCase(codeString)) if ("4.3.0-snapshot1".equalsIgnoreCase(codeString))
return FHIRVersion._4_3_0SNAPSHOT1; return FHIRVersion._4_3_0SNAPSHOT1;
if ("4.3.0-cibuild".equalsIgnoreCase(codeString)) if ("4.3.0-cibuild".equalsIgnoreCase(codeString))
return FHIRVersion._4_3_0CIBUILD; return FHIRVersion._4_3_0CIBUILD;
if ("4.4.0".equals(codeString)) if ("4.4.0".equals(codeString))
return FHIRVersion._4_4_0; return FHIRVersion._4_4_0;
if ("4.5.0".equals(codeString)) if ("4.5.0".equals(codeString))
return FHIRVersion._4_5_0; return FHIRVersion._4_5_0;
if ("4.6.0".equals(codeString)) if ("4.6.0".equals(codeString))
return FHIRVersion._4_6_0; return FHIRVersion._4_6_0;
if ("5.0.0-snapshot1".equalsIgnoreCase(codeString)) if ("5.0.0-snapshot1".equalsIgnoreCase(codeString))
return FHIRVersion._5_0_0SNAPSHOT1; return FHIRVersion._5_0_0SNAPSHOT1;
if ("5.0.0-cibuild".equalsIgnoreCase(codeString)) if ("5.0.0-cibuild".equalsIgnoreCase(codeString))
return FHIRVersion._5_0_0CIBUILD; return FHIRVersion._5_0_0CIBUILD;
throw new IllegalArgumentException("Unknown FHIRVersion code '"+codeString+"'"); throw new IllegalArgumentException("Unknown FHIRVersion code '"+codeString+"'");
} }
public Enumeration<FHIRVersion> fromType(Base code) throws FHIRException { public Enumeration<FHIRVersion> fromType(Base code) throws FHIRException {
if (code == null) if (code == null)
@ -9870,8 +9870,8 @@ public String toCode(int len) {
*/ */
MEDICATIONREQUEST, 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. 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, MEDICATIONUSAGE,

View File

@ -132,7 +132,9 @@ public class TypesUtilities {
res.add(new WildcardInformation("Annotation", TypeClassification.DATATYPE)); res.add(new WildcardInformation("Annotation", TypeClassification.DATATYPE));
res.add(new WildcardInformation("Attachment", TypeClassification.DATATYPE)); res.add(new WildcardInformation("Attachment", TypeClassification.DATATYPE));
res.add(new WildcardInformation("CodeableConcept", 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("Coding", TypeClassification.DATATYPE));
res.add(new WildcardInformation("ContactPoint", TypeClassification.DATATYPE)); res.add(new WildcardInformation("ContactPoint", TypeClassification.DATATYPE));
res.add(new WildcardInformation("Count", 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("Quantity", TypeClassification.DATATYPE));
res.add(new WildcardInformation("Range", TypeClassification.DATATYPE)); res.add(new WildcardInformation("Range", TypeClassification.DATATYPE));
res.add(new WildcardInformation("Ratio", 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("Reference", " - a reference to another resource", TypeClassification.DATATYPE));
res.add(new WildcardInformation("SampledData", TypeClassification.DATATYPE)); res.add(new WildcardInformation("SampledData", TypeClassification.DATATYPE));
res.add(new WildcardInformation("Signature", TypeClassification.DATATYPE)); res.add(new WildcardInformation("Signature", TypeClassification.DATATYPE));

View File

@ -273,9 +273,9 @@ public class XMLUtil {
for (int i = 0; i < rawContent.length(); i++) { for (int i = 0; i < rawContent.length(); i++) {
char ch = rawContent.charAt(i); char ch = rawContent.charAt(i);
if (ch == '\'') // We don't escape ' because our code always spits out attributes surrounded by "", which means
sb.append("&#39;"); // it's not necessary to escape ' - and it's *much* less ugly and more bandwidth-efficient when we don't.
else if (ch == '&') if (ch == '&')
sb.append("&amp;"); sb.append("&amp;");
else if (ch == '"') else if (ch == '"')
sb.append("&quot;"); sb.append("&quot;");